암호문에 대해 공격하는 과정을 Cryptanalysis라고 한다. 이러한 암호문에 대한 공격은 암호문을 생성하는 알고리즘과 평문과 암호문에 대해 알고 있는 지식에 따라 공격의 강도와 암호문 해독에 걸리는 시간이 달라질 것이다. 암호문에 대해 알고 있는 정보에 따라 암호문을 구분하면 다음과 같다.
암호문 공격(COA, Ciphertext-Only Attack)
공격자가 암호문들의 집합에만 오직 접근 가능하다는 것을 가정한 상태에서의 공격 방법이다. 이 공격은 암호문에 상응하는 평문 혹은 더 나아가서 키를 추론할 수 있으면 완벽하게 성공할 수 있다. 이러한 공격이 성공하기 위해서는 잠재적인 평문에 대해서 조금이나마 어떠한 정보라도 얻을 수 있는 능력이 필요하다. 상대방이 Traffic-Flow Security를 유지하기 위해서 계속해서 암호문을 보낼 경우, 무의미한 내용(정보)에서 실제의 메시지를 구별하는데 매우 유용한 방법이다. 심지어 실제 메시지의 존재를 정보에 근거하여 추측하는 것은 Traffic Analysis를 용이하게 할 수 있을 것이다.
알려진 평문 공격(KPA, Know-Plaintext Attack)
공격자가 평문과 그 평문의 암호문에 대한 샘플들을 가지고 있고, 비밀정보(비밀키)들을 더 나타내기 위해 자유로이 그것(평문과 그 평문의 암호문)을 사용할 수 있는 공격 방법이다.
ZIP과 같은 암호화된 파일들은 이러한 공격에 공격당하기 쉬운 방법으로 암호화된 ZIP 파일을 가진 공격자는 오직 '알려진 평문'의 형식인 아카이브(Archive)로부터 복호화된 파일만을 필요로 한다. 그다음으로 몇몇 공개적으로 사용 가능한 소프트웨어를 이용하여 공격자는 전체 아카이브를 복호화하기 위하여 즉시 요구되는 키를 계산 가능하다. 또한, 공격자가 임의의 평문을 선택할 수 있고 그와 대응되는 암호문을 생성할 수 있다. 생성한 평문과 암호문의 쌍을 기반으로 암호 시스템의 키를 알아내는 공격 방법이다.
선택된 평문 공격(CPA, Chosen Plaintext Attack)
공격자가 암호화되는 임의의 평문을 선택할 수 있고, 그와 일치하는 암호문을 얻을 수 있는 능력을 갖췄다는 가정하에서의 공격 방법이다. 목표는 암호 스킴의 보안을 약화시키기 위해 더 많은 정보를 얻는 것으로, 최악에는 선택된 평문 공격은 스킴의 비밀 키를 찾아낼 수도 있다.
선택된 암호문 공격(CCA, Chosen-Ciphertext Attack)
암호분석가가 암호문을 선택하고 알려지지 않은 키로 복호화되는 것을 가능하게 하는 암호분석 공격 모델이다. 공격자가 무인의 복호화 기계에 접근할 수 있는 권한을 가지고 있는 상황에서 이루어진다. 선택된 암호문(임의의 암호문이거나 계획에 의한 암호문 모두)에 대해서 복호화를 할 수 있는 능력을 갖추고 있는 이 기계는 일반적으로 'Decryption Oracle'이라고 불린다.
선택된 메시지를 복호화할 수 있는 공격자는 Decryption oracle을 사용하여 암호 스킴의 기밀성을 간단하게 제거할 수 있다. 그러나 선택된 암호문 공격은 몇몇 암호시스템에서 더욱 중요한 의미가 있을 수 있다. 예를 들어, 극단적인 상황에서 공격자는 선택된 암호문과 복호화된 결과를 분석함으로써 스킴의 비밀 키를 알아낼 수 있다. 성공적인 선택된 암호문 공격은 Decryption orable을 사용할 수 없어도 스킴의 보안을 위협할 수 있다. 공격에 대한 대안은 목표한 암호문에 대해서 Decryption oracle을 이용하여 직접 복호화할 수 없게 하는 것이다.
'IT' 카테고리의 다른 글
접근통제 메커니즘과 유형 (0) | 2023.03.12 |
---|---|
정보보안 아키텍처의 개요 (0) | 2023.03.11 |
비대칭 알고리즘에 대해 알아보자 (0) | 2023.03.11 |
대칭 알고리즘의 종류와 설명 (0) | 2023.03.11 |
블록기반 암호화 모드의 종류 (0) | 2023.03.11 |
댓글