선택평문공격
선택 평문 공격(Chosen Plaintext Attack)이란 평문을 선택하면 대응하는 암호문을 얻을 수 있는 상황에서의 공격이다. 공격자가 한꺼번에 선택한 평문들에 대한 암호문이 주어진다는 가정 하에 복호화 키를 찾는 공격이다.
개요
공격자가 암호장치에 얼마든지 접근할 수 있어서 선택된 평문을 입력하고 그에 대한 암호문을 얻을 수 있는 상황에서 복호화 키를 찾아내거나 선택된 암호문에 대한 평문을 찾아내고자 한다. 암호 알고리즘이 하드웨어로 구현되어 있고 키는 내부에 내장된 암호장치를 공격자가 가지고 있다고 가정해보면 공격자는 원하는 만큼 선택한 평문을 입력시켜보고 그에 대한 암호문을 얻을 수 있다. 공개키 암호 알고리즘의 경우 공개키가 알려져 있으므로 공격자는 선택한 어떤 평문도 암호화하여 암호문을 얻을 수 있다. 이런 평문/암호문 쌍에 대한 지식을 기반으로 공격자는 좀 더 유리한 환경에서 암호 시스템을 공격할 수 있다.[1]
종류
적응적 선택 평문 공격
적응적 선택 평문 공격에서 공격자는 공격 하면서 원하는 평문과 암호문 쌍을 계속 얻을 수 있다. 따라서 지금까지 소개한 공격 중 공격자의 능력이 가장 크다. 선택 암호문 공격은 기존 선택 평문 공격과 달리 공격자가 원하는 평문을 선택하면 대응되는 암호문을 얻을 수 있는 것이 아니라 반대로 암호문을 선택하면 그것에 대응되는 평문을 얻을 수 있는 공격을 말한다. 선택 암호문 공격은 주로 공개키 암호알고리즘의 안전성 분석할 때 사용된다.[2]
차분 공격
차분 공격(Differential Cryptanalysis)은 선택 평문 공격에서 사용할 수 있는 공격 기법이다. 현대 암호의 경우 평문을 작은 데이터 단위로 나눈 후 치환과 순열을 반복 적용해 해독을 어렵게 만든다. 이 치환 과정이 비선형적이기 때문에 차분 공격이 나오기 전까지는 키에 대한 전수조사 이외에는 마땅한 공격 방법을 찾지 못했지만, 치환이 취약하게 설계되었을 경우 키의 XOR 여부와 관계없이 차분은 유지된다는 성질을 이용해 키를 전수조사보다 효과적으로 유추할 수 있다.[3]
일반적인 차분 공격의 과정은 다음과 같다.
n비트 평문Χ 및 그 평문과 비슷한 다른 평문 Χ'을 준비하고, 이들의 XOR 차이를 ΔΧ라고 둔다. 그리고 Χ, Χ' 를 각각 암호화한 결과를 Υ,Υ'라고 정의하며 이들의 XOR 차이를 ΔΥ로 둔다. 이상적인 경우, 어떤 ΔΧ에 대해 특정ΔΥ 가 나타날 확률은 1/2^{n}이다. 하지만 암호에 취약점이 존재하는 경우 이 확률은 더 크게 나타날 수 있다. 이때 (ΔΧ,ΔΥ 를 차분(differential)이라고 부른다. 차분 공격은 이러한 차분 쌍을 찾아내는 것을 목표로 한다.
차분 쌍을 이용하여 블록 암호의 암호 키를 찾는 공격이 가능할 수도 있다. 가령 블록 암호가 대입-치환 네트워크(substitution-permutation network) 구조를 가질 때 마지막 라운드를 제외한 나머지 과정에서 차분 현상이 일어났다면, 마지막 라운드에 입력되는 값의 차이를 일정 확률로 알 수 있고, 출력값의 차이를 관측할 수 있으므로 마지막 라운드에 더해지는 키의 일부도 알 수 있기 때문이다.[4]
각주
- ↑ 중부대학교 정보보호학과 이병천 교수, 〈02 암호, 쉽게 이해하기〉, 《중부대학교》
- ↑ index-of, 〈제 1 장 암호알고리즘 개요〉, 《개인 웹 사이트》
- ↑ blisstoner, 〈차분 공격의 이해〉, 《삼성 소프트웨어 멤버십》,2109-04-08
- ↑ 〈차분 공격〉,《위키백과》
참고자료
- 중부대학교 정보보호학과 이병천 교수,〈02 암호, 쉽게 이해하기〉, 《중부대학교》
- index-of, 〈제 1 장 암호알고리즘 개요〉, 《개인 웹 사이트》
- blisstoner, 〈차분 공격의 이해〉, 《삼성 소프트웨어 멤버십》,2109-04-08
- index-of, 〈제 1 장 암호알고리즘 개요〉, 《개인 웹 사이트》
- 〈차분 공격〉,《위키백과》