1. Computer Security
- 정보보호란 자동화된 정보 시스템에 대해 제공되는 보호로서, 정보 자원의 무결성(Integrity), 가용성(Availability), 기밀성(Confidentiality)을 유지하는 것이 목적
- Confidentiality : 인가되지 않은 사용자에게 정보가 노출되지 않도록 보호
- Integrity : 정보가 허가되지 않은 방식으로 변경되지 않도록 보장
- Availability : 인가된 사용자가 필요할 때 시스템이나 데이터를 사용할 수 있도록 보장
- 추가적인 보안 요구사항에는 Authenticity (진위성), Accountability (책임추적성) 등이 있음
- Adversary : 시스템을 공격하려는 주체
- System Resource : 보호해야 할 데이터, 서비스, 기능, 장비 등
- Vulnerability :
1) Corrupted : 데이터가 변조됨 → 무결성(Integrity) 손실
2) Leaky : 데이터가 유출됨 → 기밀성(Confidentiality) 손실
3) Unavailable/Slow : 시스템이 느리거나 사용할 수 없음 → 가용성(Availability) 손실
- Attack : 취약점을 이용해서 자산을 손상시키는 행위
1.1) Passive : 시스템에 영향을 주지 않고 정보를 몰래 가로챔
1.2) Active : 데이터를 변경하거나 시스템을 파괴
2.1) Insider : 시스템에 접근 권한이 있는 내부 인원이 공격
2.2) Outsider : 외부에서 비인가 접근을 시도하는 공격자
- Countermeasure (대응책) : 위협을 줄이거나 방지하기 위한 기술/조치
1) Prevent : 공격이 발생하지 않도록 사전에 막음
2) Detect : 공격이 발생했는지 식별함
3) Recover : 공격으로 손상된 자산을 복구함
- Attack Surfaces : 시스템에서 공격자가 접근하고 이용할 수 있는 모든 취약점의 집합(Network, Software, Human)
2. Cryptography
- 고전 암호학 : 간단한 수준의 암호 작성 혹은 해독의 기술
- 현대 암호학 : 디지털 정보, 거래, 분산 계산을 보호하는 과학적 기술을 연구하는 분야
- 현대 암호학의 범위 :
1) Primitives : 데이터 무결성 검증을 위한 Hash function, Random number generator
2) Schemes : Encryption, Digital Signature
3) Protocols : 암호 프로토콜
4) Cryptographic Applications : 응용 분야
3. Encryption(암호화)
- 데이터의 기밀성(confidentiality)을 보장하기 위한 기술
- Symmetric Key Encryption : 암호화와 복호화에 같은 키를 사용
- Asymmetric Key Encryption : 암호화와 복호화에 서로 다른 키를 사용
- 암호 시스템의 구성 요소 :
1) Setup : Setup(λ) → (KEnc, KDec), 암호화/복호화 키 생성
2) Encryption : Enc(KEnc, M) → CT, 메시지 M을 암호문 CT로 암호화
3) Decryption : Dec(KDec, CT) → M, 암호문 CT를 다시 원본 메시지 M으로 복호화
- Plaintext: 암호화되기 전의 원래 메시지
- Ciphertext: 암호화 알고리즘을 거친 뒤의 결과물, 읽을 수 없는 형태
- 암호 알고리즘은 공개되어도 보안이 유지되어야 함,
즉 비밀로 유지해야 하는 요소는 key(Open Design 원칙과 관련됨)
4. Symmetric Key Encryption
- sender와 receiver가 같은 키를 사용
- ex. Classical encryption, Block cipher, Stream cipher
- 장점 : 처리 속도가 빠르고 구현이 간단함
- 단점 :
1) 키를 사전에 안전하게 공유해야하고,
2) 사용자가 많아질수록 키 관리 복잡도 증가(n명의 사용자가 있을 때, nC2 개의 key가 필요)
5. Asymmetric Key Encryption
- 암호화와 복호화에 서로 다른 키를 사용
- Public key encryption이라고도 함
- 공개키(Public key): 모두에게 공개
- 개인키(Private key): 사용자만 보관
- 공개키로 암호화된 데이터는 해당 개인키로만 복호화 가능
- ex. RSA, EIGamal, NTRU
- 장점 : 키 교환이 용이하고, 사용자 수가 늘어나도 키 수는 2n으로 단순함
- 단점 : 연산 속도가 느림(암호가 더 복잡함)
6. Basic Types of Attacks against Encryption
- Brute-force Attack : 가능한 모든 키를 하나씩 시도하며 암호문을 복호화하는 방식
대책 : key사이즈를 충분히 길게 설정
- Ciphertext-only attack : 공격자는 암호문만 가지고 있음
- Known-plaintext attack : 공격자는 원문과 그에 대응하는 암호문을 가지고 있음
- Chosen-plaintext attack : 공격자는 원하는 원문을 암호화할 수 있음
- Chosen-ciphertext attack : 공격자는 원하는 암호문을 복호화할 수 있음
Diffie-Hellman Key Exchange (0) | 2025.06.11 |
---|---|
Discrete Logarithm Problem (0) | 2025.06.11 |
Symmetric Encryption(2) (0) | 2025.04.21 |
Symmetric Encryption(1) (0) | 2025.04.21 |
Classical Encryption (0) | 2025.04.17 |