Crytanalysis


암호분석(Crytanalysis)은 암호문을 가지고 원래의 평문을 알아내거나 암호화하는데 쓰인 알고리즘이나 키를 알아내는 것이다. 하지만 최근에는 암호화에 사용되는 알고리즘은 거의 공개되어 있다. 알고리즘의 공개와 비공개에 대해서 아직도 많은 이견이 존재하지만 알고리즘을 공개하는 것이 좀 더 완벽한 알고리즘으로 바뀔 가능성이 더 크다.

공개되지 않는 알고리즘을 가지고 암호화를 하는 경우, 먄약 알고리즘만 획득한다면 취약점이 더 크게 들어나기 때문이다. 따라서, 최근에 암호분석은 알고리즘을 찾기보다는 알고리즘에 사용된 키를 찾거나 암호화 하기 이전의 평문(Plaintext)을 찾는 것이라고 말할 수 있다.

암호학 분야에서는 암호분석을 하는 방법을 주어진 정보에 따라 여러 분류로 나누고 있다.

1. Ciphertext-only Attack(COA) ; 암호문 단독 공격
공격자가 같은 알고리즘에 의해 생성된 암호문만을 가지고 있다고 할때 그에 대응되는 평문을 유추하거나 키를 찾는 공격방법을 의미한다. 일정한 패턴을 가지고 있지 않으면 상당히 어려운 공격방법이다.


2. Known-plaintext attack(KPA) ; 알려진 평문 공격
공격자자 암호문 뿐만아니라 그에 대응되는 평문도 가지고 있는 경우이다. 공격자가 가진 암호문은 해독하고자 하는 암호문과 같은 알고리즘으로 암호화 된것이다. 이 공격법 또한 COA와 같은 목적으로 해독하고자 하는 암호문의 평문을 알아내거나 키를 찾는 방법이다.


3. Chosen-plaintext attack(CPA) ; 선택적 평문 공격
이것은 공격자가 일부 메시지에 대해 평문과 암호문의 쌍을 알고 있을 뿐만아니라 평문을 선택해서 암호화 할 수 있다는 것을 의미한다. 언듯 보면 KPA와 크게 다를게 없을지 모르겠지만 알려진 평문 공격은 어떤 정보가 주어져 있지만 선택적 평문공격은 내 의지에 따라 내가 원하는 정보를 알 수 있는 경우다. 이 경우는 KPA에 비해 강력한 공격방법으로 공개키(Public-Key) 시스템을 공격하는데 많이 사용된다.


4. Adaptive-chosen-plaintext attack(ACPA) ; 적응형 선택적 평문 공격
이것은 공격자가 선택한 평문에 따라 대응되는 암호문을 알고 있을 뿐만아니라 이전에 선택한 결과를 바탕으로 다음 선택에 반영할 수 있는 것이다. CPA와 다른 점은 CPA는 공격자가 선택해야 하는 평문의 양이 많으나 ACPA는 선택한 평문에 대응되는 암호문에 따라 다음 평문을 선택하므로 CPA에 비해 선택하는 평문의 양이 적다. 이 또한 평문 또는 키를 추론하는 방법이다.


5. Chosen-ciphertext attack(CCA or CCA1) ; 선택적 암호문 공격
이 방식은 공격자가 해독하는고자 하는 암호문을 제외한 암호문과 대응되는 평문을 알고 있는 경우이다. 선택적 암호문 공격 역시 평문 또는 키를 추론하는 방법이다.


6. Adaptive-chosen-ciphertext attack(ACCA or CCA2) ; 적응형 선택적 암호문 공격
이 방식은 공격자가 해독하고자 하는 암호문을 제외한 암호문과 대응되는 평문을 알고 있는 경우로 평문 또는 키를 추론하는 방법이다. CCA와 다른점은 일정 평문의 집합이 있다고 할 때 CCA는 선택해야 하는 암호문의 양 많지만 ACCA는 이전 선택의 결과를 바탕으로 다음 암호문을 선택하므로 선택해야 하는 암호문의 양이 적다.


7. Adaptive Chosen Plaintext-Ciphertext Attack(ACPCA) ; 적응형 선택적 평문-암호문 공격
이는  ACPA와 ACCA를 혼합한 방법으로 이전 결과를 바탕으로 선택할 때 암호문 또는 평문을 선택하여 그에 따른 결과를 바탕으로 반복적으로 적용하여 공격하는 방법이다.


8. Chosen-Key attack(CKA) ; 선택적 키 공격
이것은 키를 선택할 수 있다는 것을 의미하는 것이 아니라 상이한 키간의 관계에 대한 지식을 가지고 이를 바탕으로 공격하는 방식이다.


9. Rubber-hose cryptanalysis ; 고무호스 암호분석
Cryptanalyst가 키를 얻을 때까지 키를 가진 사람을 공갈, 협박, 고문을 통해 키를 획득하는 방법이다. Schneier의 'Applied Cryptography'에 따르면 이 방법이 가장 강력한 공격이라고 소개하고 있다.



Reference : 블록암호 알고리즘설계 및 안전성분석 모델 개발(정보통신부)
                 Applied Cryptography(Schneier)

'Basic Security > _Cryptography' 카테고리의 다른 글

Crytanalysis ; 암호분석  (0) 2008.03.16
Posted by Proneer

댓글을 달아 주세요


티스토리 툴바