반응형

이 글은 국민대학교 윤명근 교수님의 정보보호와 시스템보안 수업 내용을 정리한 것입니다.
보안의 목적
1. Confidentiality (기밀성)
- 정보가 허가되지 않은 상태에서 유출되는 것 방지.
2. Integrity (무결성)
- 값이 임의로 변질되지 않은 속성
- 중간에 정보가 변질될 우려 없이 보존
3. Availability (가용성)
- 권한이 있는 사람이 매번 정보에 접근하고 수정할 수 있는 특성
- 서비스가 지속적으로 유지될 수 있는 속성
Confidentiality Tools
- Encryption
- Access Control
- 기밀 정보에 대한 접근을 알 필요가 있는 사람이나 시스템으로 제한하는 규칙과 정책
- Authentication (인증)
- 누군가의 정체성이나 역할을 결정하는 것 (비밀번호, 지문 등)
- Authorization (권한)
- 접근 제어 정책에 기반하여 개인이나 시스템이 자원에 접근할 수 있는지 결정
Integrity Tools
- Backup : 데이터를 미리 복제하여 따로 저장해두는 것.
- Ckecksum : 데이터가 변질되었는지 확인하기 위한 bit 값
- Data correcting code
Availability Tools
- Physical protections : 물리적 방어 (ex> 인증서)
- Computational redundancies : 여분 과잉 (여러 개 서버 구축)
Security Concepts
- Authenticity (확실성)
- 데이터 또는 통신의 출처가 신뢰할 수 있고, 그것을 제공한 주체가 진짜임을 보장
- Assurance (보증)
- 컴퓨터 시스템에서 신뢰가 어떻게 제공되고 관리되는지 알려줌
- Anonymity (익명성)
- 특정 주체가 누구인지 알 수 없도록 함으로써, 그 개인을 보호함.
Theats and Attacks
- Eavesdropping (도청) : 누군가에게 정보를 가로채짐.
- Alternation (변조) : 허가되지 않은 정보의 변형
- ex> man-in-the-middle attack
- Denial of service (서비스 거부) : 데이터 서비스 또는 정보 접근의 중단 또는 성능 저하 [Availability 해침]
- ex> DDoS
- Masquerading (가면 무도회) : 실제로 작성자가 아닌 사람이 작성한 것처럼 보이게 정보 조작
- Repudiation (부정) : 약속 또는 데이터 수신 거부
- Non-Repudiation 보안 기법 적용 (Private Key를 사용하므로써 본인이 서명한 것을 알리는 것)
- Social Engineering : 사람에 의한 해킹
- Pretexting : 개인정보를 넘기도록 유도
- Baiting : 위험한 행동을 유도하는 선물 제공
- Quid Pro quo : 어떠한 서비스를 제공한 뒤 뭐가 돌아올 지 예상하는 것.
Security Principles
- Economy of mechanism (메커니즘의 경제성)
- 보안 시스템은 가능한 한 단순하게 설계!
- Fail-safe defaults (안전한 기본값)
- 기본적으로 “허가되지 않음”이 원칙
- Complete mediation (완전한 중재)
- 모든 접근 시도는 매번 검증되어야 함
- Open design (개방형 설계)
- 보안 시스템 설계는 공개적으로 이용가능해야 한다.
- Seperation of privilege (특권의 분리)
- 중요한 작업을 수행 시 둘 이상의 권한이나 인증 필요.
- Least privilege (최소 권한)
- 각 프로그램이나 사용자는 최소한의 필요한 권한만을 가져야 한다.
- Least common mechanism (최소 공통 메커니즘)
- 여러 사용자가 있는 시스템에서, 두 명 이상의 사용자가 리소스를 공유할 수 있는 메커니즘을 최소화해야 한다.
- Psychological acceptability (심리적 수용성)
- 보안 시스템은 직관적으로 설계되어야 한다.
- Work Factor (보안을 뚫기 위한 노력이나 자원)
- 보안 체계를 설계할 때 보안 메커니즘을 우회하는 데 드는 비용을 공격자의 리소스와 비교해야 한다.
- Compromise recording (타협 기록)
- 보안 침해, 시스템 손상 정도를 기록,추적하는 메커니즘
Access Control
- Role-based Access Control
역할에 기반한 접근 제어
Caeser Cipher
알파벳을 세 칸씩 미뤄서 암호화하는 것.
- ex> “abc” → “def”
위 방식은 결국 알파벳 개수 제한에 의해 보안이 뚫리기 쉽다.
암호화 방식
1. Symmetric Key Algorithm
통신하는 호스트끼리 서로 같은 키를 공유하는 것
각 호스트끼리만 키를 가지고있어야 하므로, 호스트 수가 늘어날 수록 키를 생성하는 시간이 오래걸린다 [ $O(n^2)$ ]
2. Asymmetric(Public) Key Algorithm
각 호스트는 공개키와 비밀키를 가지고 통신하는 것.
3. Cryptographic Hash Function
해시 함수와 같이 보내고자 하는 메시지를 암호화하여 전송하는 것.
4. Message Authentication codes (MAC)
5. 암호화하려는 메시지에 MAC을 붙여서 암호화하는 것.
6. Digital Certificates (디지털 인증서)
CA (인증기관)에서 발급해주는 인증서를 사용하여 암호화하는 것.
7. Password
반응형
'Computer Science > 정보 보호와 시스템 보안' 카테고리의 다른 글
Chapter 6 - Security Protocol (TLS) (1) | 2024.10.24 |
---|---|
Chapter 5 - Cryptography (Applied Cryptography) (0) | 2024.10.24 |
Chapter 4 - Cryptography (Public key algorithm) (3) | 2024.10.24 |
Chapter 3 - Cryptography (Hash Function) (0) | 2024.10.24 |
Chapter 2 - Cryptography (Symmetric Key) (0) | 2024.10.24 |