상세 컨텐츠

본문 제목

Introduction to Information Security and Cryptography

정보보호이론

by 후추리 2025. 4. 17. 15:50

본문

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

관련글 더보기