Computer >> 컴퓨터 >  >> 네트워킹 >> 네트워크 보안

CPA 공격(선택 평문 공격)이란? 네트워크 보안의 핵심 개념 총정리

CPA 공격(선택 평문 공격)이란?

CPA(Chosen-Plaintext Attack, 선택 평문 공격)는 암호학에서 널리 사용되는 공격 모델 중 하나로, 공격자가 자신이 원하는 임의의 평문을 암호화 오라클에 전달하고 그 결과로 생성되는 암호문을 확인할 수 있는 환경을 전제로 합니다. 공격자는 이렇게 얻은 평문-암호문 쌍을 분석하여 암호 체계의 비밀 키 정보나 구조상의 취약점을 추론하려 시도합니다.

이 공격 모델이 중요한 이유는, 현실에서도 공격자가 피해자의 암호화 시스템에 데이터를 입력하고 그 출력을 관찰할 수 있는 상황이 얼마든지 발생할 수 있기 때문입니다. 따라서 안전한 암호 체계는 CPA 환경에서도 비밀성을 유지할 수 있어야 하며, 이를 IND-CPA 보안이라고 부릅니다.

CPA 보안과 CCA 보안의 차이

두 개념은 공격자가 오라클에 접근하는 방식에서 차이가 있습니다.

- CPA 공격: 공격자가 자신이 준비한 평문을 오라클에 보내고, 그에 해당하는 암호문을 되돌려받습니다.
- CCA 공격(선택 암호문 공격): 공격자가 자신이 조작한 암호문을 복호화 오라클에 보내고, 그 결과 얻어지는 평문 정보를 이용해 암호 체계를 무너뜨립니다.

즉, CPA가 '암호화' 권한을 활용하는 공격이라면, CCA는 '복호화' 권한까지 활용하는 더 강력한 공격 모델입니다.

선택 평문 공격의 작동 원리

선택 평문 공격에서는 공격자가 짝을 이루는 평문들을 직접 선택하여 암호화하고, 그에 대응하는 암호문들을 확보할 수 있다고 가정합니다. 공격자는 이렇게 수집한 평문-암호문 쌍을 바탕으로 비밀 키 유추에 도움이 되는 정보를 얻어, 해당 암호 체계의 보안성을 낮추는 것을 목표로 삼습니다.

공격자는 미리 정교하게 설계된 평문을 입력함으로써, 무작정 암호문을 모으는 것보다 훨씬 효율적으로 알고리즘의 내부 동작을 들여다볼 수 있습니다.

알려진 평문 공격(KPA)과 선택 평문 공격의 차이

두 공격은 공격자가 확보하는 정보의 성격이 다릅니다.

- 알려진 평문 공격(Known-Plaintext Attack): 공격자가 이미 존재하는 평문과 그에 대응하는 암호문 쌍을 입수한 상황에서 출발합니다. 어떤 평문이 암호화될지 공격자가 결정하지 못합니다.
- 선택 평문 공격(CPA): 공격자가 원하는 메시지를 직접 골라 표적의 키로 암호화시키고, 그 결과 암호문을 자유롭게 확인할 수 있습니다.

선택 평문 공격이 공격자에게 훨씬 유리한 조건을 주기 때문에, CPA 환경에서 안전하다는 것은 더 높은 수준의 보안 요구 사항입니다.

암호 해독 공격(Cryptanalytic Attack)이란?

암호 해독 공격이란 코드, 암호, 암호 프로토콜, 키 관리 시스템 등 암호 시스템의 약점을 찾아내어 보안을 우회하는 행위 전반을 의미하며, 이러한 분석 과정을 암호 해독학(cryptanalysis)이라고 부릅니다.

대표적인 기법 중 하나인 차분 암호 해독법(differential cryptanalysis)은 블록 암호에 대한 선택 평문 공격으로, 단일 평문이 아닌 평문 '쌍(pair)'을 비교 분석함으로써 알고리즘이 서로 다른 입력 데이터에 어떻게 반응하는지 파악합니다.

선택 평문 공격의 대표적인 예

현대 암호학에서 선택 평문 공격의 전형적인 사례로는 차분 암호 해독법키 문구 리스트(key-phrase list) 방식이 꼽힙니다. 또한 이 기법은 특정 조건에서 선택 평문 공격을 알려진 평문 공격으로 변환할 수 있는 몇 안 되는 방법이기도 합니다.

CCA 보안은 CPA 보안을 함축하는가?

네, 그렇습니다. 보안 정의 간에는 명확한 위계 관계가 성립합니다.

- IND-CCA1 보안을 만족하는 체계는 IND-CPA 보안도 만족합니다.
- IND-CCA2(적응형 선택 암호문 공격) 보안을 만족하는 체계는 IND-CCA1과 IND-CPA 보안을 모두 만족합니다.

즉, 세 가지 정의 중 IND-CCA2가 가장 강력한 보안 수준을 요구하는 정의이며, 이를 만족하는 암호 체계가 가장 견고하다고 할 수 있습니다.

선택 암호문 공격(CCA)이란?

CCA(Chosen-Ciphertext Attack)는 암호 해독 공격의 한 유형으로, 공격자가 선택한 암호문을 복호화하여 그 결과를 얻어냄으로써 숨겨진 정보를 수집하는 방식입니다. 선택 암호문 공격에 대한 보안성은 Michael Luby, Mihir Bellare 등의 연구자들에 의해 형식화되었으며, 오늘날 공개 키 암호 설계의 핵심 기준이 되었습니다.

AES는 IND-CPA 보안성을 갖는가?

AES를 CBC 모드처럼 무작위 IV와 함께 사용하거나, CTR 모드처럼 고유한 논스(nonce)를 사용하는 구성에서는 일반적으로 CPA 보안성을 갖는다고 평가됩니다. 다만 키 길이 자체는 CPA 보안과 별개의 요소이며, 각 운영 모드마다 요구되는 키 규격이 정해져 있습니다.

AES 회로를 노리는 CPA 사이드 채널 공격

흥미롭게도 'CPA'는 암호학 이론 외에 전력 상관 분석(Correlation Power Analysis)이라는 사이드 채널 공격(SCA) 기법을 가리키기도 합니다. 이 공격에서는 적이 칩의 전류 소비 신호나 전자기파(EM) 방출 패턴을 관찰하여, AES 같은 암호 회로 내부에 내장된 비밀 키 값을 추출해낼 수 있습니다. 즉, 수학적 취약점이 아닌 물리적 구현 특성을 공략하는 공격입니다.

평문(plaintext)이란?

평문이란 암호화되지 않은 원본 정보를 뜻하며, 일반적으로 암호화 알고리즘에 입력되기 전의 데이터를 의미합니다. 한편 "in clear(평문 상태)"라는 표현은 암호화 없이 그대로 전송되거나 저장되는 정보를 가리킬 때 사용합니다.

알려진 평문 공격의 대표 사례: 선형 암호 해독법

현대 암호학에서 선형 암호 해독법(linear cryptanalysis)은 알려진 평문 공격을 활용하는 표준적인 기법으로 자리 잡았습니다. 공격자는 평문, 암호문, 비밀 키 사이의 확률적 선형 관계(선형 근사식)를 분석하여 평문 정보를 확보하거나 키를 추정할 수 있습니다.

선택 평문과 선택 암호문의 차이

선택 평문 공격에서는 공격자가 임의의 평문을 지정하면 그에 대응하는 암호화된 결과를 받게 됩니다. 즉, 어떤 메시지든 공격자 마음대로 암호화할 수 있는 상황이라는 점에서, 단순히 평문-암호문 쌍을 우연히 얻는 경우와는 본질적으로 다른 능동적 공격입니다.

알려진 평문 공격의 작동 방식

알려진 평문 공격은 이미 확보된 평문-암호문 쌍을 이용해 새로운 암호문을 해독하거나 비밀 키를 추측하는 공격입니다. 공격자의 최종 목표는 비밀 키를 알아내거나, 향후 도착하는 메시지까지 복호화할 수 있는 알고리즘을 개발하는 것입니다.

DES에 대한 알려진 평문 공격: 중간자 공격

DES는 평문을 이용해 데이터를 암호화하는 대표적인 대칭 키 알고리즘입니다. 평문을 하나의 DES 키로 암호화한 뒤 다시 두 번째 키로 암호화하는 이중 DES 구조에는 중간자 공격(meet-in-the-middle attack)이 유효합니다. 이 공격은 두 키를 사용하더라도 단일 키 대비 실질적인 보안 강화 효과가 크게 떨어짐을 보여주며, 공격자가 암호화 경로와 복호화 경로가 '중간'에서 만나는 지점을 역추적하는 방식으로 진행됩니다.

마무리

CPA 공격은 암호 체계의 보안성을 평가하는 기본 모델로, 현대 암호 설계가 반드시 통과해야 하는 최소한의 보안 기준입니다. 여기에 복호화 권한까지 허용하는 CCA 공격, 물리적 신호를 이용하는 사이드 채널 공격까지 고려하면 안전한 암호 시스템 설계가 얼마나 복잡한 과제인지 알 수 있습니다. AES-CBC, AES-CTR처럼 검증된 구성을 사용하고, 무작위 IV와 고유한 논스를 올바르게 적용하는 것이 CPA 계열 공격으로부터 시스템을 지키는 첫걸음입니다.