Security

보안 기본 개념 및 공격모델

oxdjww 2023. 9. 26. 20:58
728x90
반응형

Intro

본 포스팅에서는 보안 기본 개념 및 네가지 암호문 공격모델에 대해 다룬다.

암호학 (Cryptology)

보안 시스템의 가장 중요한 부분이지만 그 자체로는 쓸모가 없다.

  • 웹 해킹에서는 암호 자체를 공격하지 않고도, BOF(버퍼오버플로우) 등을 이용하여 공격한다.

하지만, 다양한 암호 프리미티브들을 통해 공격자의 행위를 제한하는 일은 필수적이다.

암호학의 분류

암호학은 크게 암호 기법 / 암호 해독으로 나뉜다.
이 중 암호해독은 수학적인 분야로, 암호 시스템의 흐름을 파악하는 분야이다.

암호 시스템은 또 세부적으로는 대칭키/공개키(비대칭키) 암호로 나뉜다.

Symmetric (대칭키) : k1 = k2
Asymmetric (공개키) : k1 ≠ k2

암호기법 (Cryptography)

  • 의미즉, 메시지의 기밀성을 제공하기 위하여 사용한다.Key : uniformly distributed random string

  • 현재는 메시지를 공격자로부터 안전하게 보호하기 위하여 메시지를 변화하는 과학이나 기술을 의미이다.

  • 그리스어로 비밀을 뜻하는 “kryptos”와 쓰다를 의미하는 “grapho”의 합성어이다.


암호학 용어 정리

  • Plaintext (평문) : 암호화되기 전의 메시지를 의미한다.
  • Encryption algorithm (암호화 알고리즘)
  • Secret key (암호화 키) : 암호 알고리즘의 안정성은 암호화 키에 의존한다.
  • Ciphertext (암호문) : 암호화 된 후의 메시지를 의미한다.
  • Decryption algorithm (복호화 알고리즘)

대칭키와 공개키

  • Symmetric vs Public Key Algorithms
    • 대칭키 k를 활용하여 보안 통신을 하고자 할 때
      • Alice → Bob : $E_{k}(m)=c$
      • Bob : $D_{k}(c)=p$
    • Alice와 Bob은 어떻게 k를 공유할까?
      • 공개키 암호가 해결가능하다.
      • k를 Bob의 공개키로 암호화하여 보내면 Bob은 개인키로 복호화하여 k 확인.
      • 공개키암호는 수학적 연산(인수분해, 지수승)에 근거하기에 속도가 느리다.

Kerckhoff’s Priciple

  • Kerckhoff의 원리 (케르크호프스의 원리)
    • 짧은 길이의 키를 안전하게 보관하는 것은 키 보다 수천배의 사이즈인 암호 알고리즘 전체를 안전하게 보관하는 것 보다 용이하다. 또한 암호시스템은 역공학 등으로 노출될 수 있다.
    • 키가 노출되었을 때 키를 변경하는 것이 새로운 암호시스템을 설계하는 것보다 훨씬 용이하다.
    • 암호시스템은 보통 다수의 사용자를 위하여 운영되며, 모든 사용자는 동일한 암호 알고리즘을 사용한다. 이 경우 암호 통신을 하는 당사자들마다 상이한 암호시스템을 사용하는 것 보다는 동일한 암호시스템을 사용하면서 키만 다르게 설정하는 것이 실용적이고, 표준화된 방법이다.
  • : 암호 알고리즘은 알고리즘의 모든 내용이 공개되어도 키가 노출되지 않으면 안전해야 한다.
  • 암호화 알고리즘 : 공개된 국제표준
    • 키를 보호하는 것이 핵심이다.
    • 예외
      • 군사적 기밀 관련된 것은 알고리즘도 공개하지 않는다.
      • 따라서, 비공개 암호를 쓰기 때문에 수학자들이 검증하지 않아 안전성이 조금 떨어질 수 있다.

암호시스템의

공격유형 (Type of Attack)

참고 : 딥웹(deep web)의 경우에는 트래픽 분석도 어렵다.

공격모델 (Attack Model)


암호문 공격모델
1. 암호문 단독 공격 (COA)
2. 알려진 평문 공격 (KPA)
3. 선택 평문 공격 (CPA)
4. 선택 암호문 공격 (CCA)

암호문 단독 공격(Ciphertext Only Attack, COA)


단순 네트워크 채널을 도청하는 것과 같다.
많은 암호문을 수집하고, 이 암호문을 무작정 분석하는 것이다.

알려진 평문 공격(Known Plaintext Attack, KPA)


공격자가 암호문에 매칭되는 평문까지 습득한 상황이다.

선택 평문 공격(Chosen Plaintext Attack, CPA)


공격자가 선택한 평문에 대응되는 암호문까지 획득할 수 있는 상황이다.

선택 암호문 공격(Chosen Ciphertext Attack, CCA)


공격자가 선택한 암호문에 대응되는 평문까지 획득할 수 있는 상황이다.

암호문의 안전성


  • 안전성 : 1비트라도 암호문의 정보가 노출되지 않는 것
  • 암호시스템에서 key에 관한 정보를 얻을 수 있다면, 그 암호시스템은 완전히 파괴되었다고 말할 수 있다.
  • 검증방법암호화시스템은 평문1, 평문2 중 하나를 랜덤으로 선택하여 암호화를 해서 반환한다.정답률이 1/2 (자연확률)에 수렴할 수록 안전한 암호라고 판단할 수 있다.
  • 그래서 암호 시스템을 만드는 사람의 입장에서 해커들의 능력이 더 부여된 여러 상황들을 가정해 보자
    -> 이것이 바로 위에서 설명한 암호문 공격 모델 4가지이다.
  • 해커가 어느 평문(1,2 중)이 암호화 된 것인지 맞힌다.
  • 해커가 평문 2개를 암호화시스템에 넣는다.

감사합니다.

Ref

보안프로그래밍(2023), 숭실대학교 소프트웨어학부 조효진 교수님

Beginning Cryptography with Java/David Hook/Wrox press/2005

728x90
반응형

'Security' 카테고리의 다른 글

대칭키 암호 시스템  (0) 2023.10.02
메시지 변조 감지 코드(MDC)  (0) 2023.09.29
암호학적 해시 함수  (0) 2023.09.28
정보보안의 이해  (0) 2023.09.26
About ARP Spoofing  (1) 2023.09.24