암호화 공격 모델과 방어 설계의 기준

COA, KPA, CPA, CCA, CTA 공격 모델의 차이와 암호 시스템 설계·구현에서 고려할 방어 전략을 정리한다.

2026-08-14 · 최초 발행 2025-06-04

공격자의 권한이 암호 분석의 범위를 정한다

암호화 공격은 암호 알고리즘, 구현 방식, 키 관리 체계, 프로토콜의 약점을 찾아 암호화된 정보에 접근하려는 시도다. 목표는 기밀성 침해에만 머물지 않는다. 무결성을 훼손하거나 인증을 우회하는 경로도 공격 대상이 된다.

공격 모델을 나누는 기준은 공격자가 무엇을 알고 있고, 암호화 또는 복호화 기능에 어디까지 접근할 수 있는지다. 이 차이를 구분해야 시스템 설계에서 필요한 방어 수준도 판단할 수 있다.

암호문만으로 단서를 찾는 COA

COA(Ciphertext-Only Attack)는 공격자가 암호문만 가진 상태에서 평문 복구나 암호화 키 발견을 시도하는 모델이다. 현대 암호화 알고리즘에서는 성공 확률이 매우 낮지만, 통계적 분석·패턴 인식·빈도 분석이 활용될 수 있다.

카이사르 암호(Caesar Cipher)와 단일 치환 암호(Simple Substitution Cipher)는 COA에 취약한 고전 암호다. 영어 텍스트에서는 E, T, A 등의 문자 빈도를 분석해 해독을 시도할 수 있다.

YesNo암호문빈도 분석패턴 인식가능한 추측평문 복구 시도성공?평문 획득

알려진 쌍을 이용하는 KPA

KPA(Known-Plaintext Attack)는 일부 평문과 그에 대응하는 암호문을 이미 알고 있을 때 수행한다. 공격자는 이 평문-암호문 쌍을 바탕으로 키를 추론하거나 다른 암호문의 해독을 시도한다. COA보다 공격 조건이 유리하며, 암호화 함수의 역산과 패턴 매칭이 사용될 수 있다.

제2차 세계대전 당시 독일의 에니그마(Enigma) 암호 해독은 KPA의 역사적 사례다. 영국의 블레츨리 파크 팀은 예상 가능한 기상 보고서 같은 표준 메시지 형식을 이용해 에니그마 설정을 추론했다.

알려진 평문암호화알려진 암호문비교 분석 추론다른 암호문 해독

입력을 선택할 수 있을 때의 CPA

CPA(Chosen-Plaintext Attack)는 공격자가 임의로 고른 평문을 암호화할 수 있는 환경을 전제로 한다. 선택한 입력의 결과를 비교하면서 암호 시스템의 패턴을 분석하거나 키 정보를 찾는 방식이다. 차분 분석, 선형 분석, 관련 키 공격이 이 모델에서 언급된다.

AES(Advanced Encryption Standard) 이전의 DES(Data Encryption Standard)는 차분 암호분석(Differential Cryptanalysis)이라는 CPA 기법에 취약했다. 이 공격은 특별히 선택한 평문 쌍의 암호화 결과 차이를 분석해 키 정보를 추출한다.

선택된 평문 1암호화선택된 평문 2암호화암호문 1암호문 2차분 분석 비트 추론전체 복구

복호화 응답을 악용하는 CCA

CCA(Chosen-Ciphertext Attack)는 임의의 암호문을 선택해 복호화할 수 있는 환경에서 성립한다. 목표는 키를 찾거나 특정 암호문의 평문을 알아내는 것이며, 공격자는 복호화 시스템의 응답을 분석한다. 오라클 공격과 패딩 오라클 공격이 대표적으로 언급된다.

RSA 암호화의 블라인드 서명 공격은 CCA 사례다. 공격자는 목표 암호문을 수정해 복호화 오라클에 제출하고, 그 결과로 원본 암호문의 평문을 추론한다. PKCS#1 v1.5 패딩을 사용하는 TLS 구현을 겨냥한 Bleichenbacher의 패딩 오라클 공격도 잘 알려진 사례다.

목표 암호문수정수정된 암호문복호화 오라클오라클 응답분석원본 평문 추론

암호화와 복호화를 모두 선택할 수 있는 CTA

CTA(Chosen-Text Attack)는 CPA와 CCA의 기능을 함께 가진 강력한 공격 모델이다. 공격자는 임의의 평문을 암호화하고 임의의 암호문을 복호화할 수 있으며, 두 경로에서 얻은 정보를 결합해 암호 시스템의 완전한 파괴를 시도한다.

양자 컴퓨팅 환경에서 Shor의 알고리즘은 RSA 같은 공개키 암호 시스템에 대한 CTA로 볼 수 있다. 이 알고리즘은 큰 수의 소인수 분해 문제를 효율적으로 해결할 수 있어, 충분히 강력한 양자 컴퓨터가 개발되면 현재의 많은 암호 시스템이 취약해질 수 있다.

공격자암호화 능력복호화 능력CPA 기법CCA 기법정보 결합 발견시스템 파괴

방어는 알고리즘 밖의 경계까지 포함한다

현대 암호 시스템은 이런 공격 모델을 전제로 설계된다. 전수 공격을 막기 위한 충분한 키 길이, 패턴 분석을 어렵게 하는 난수, 패딩 오라클 공격을 줄이기 위한 적절한 패딩 방식이 필요하다. 메시지 인증 코드(MAC)를 함께 사용하는 인증된 암호화는 무결성을 보장하는 수단이 된다.

암호화·복호화 시스템에 대한 접근을 제한하면 CPA와 CCA의 가능성을 낮출 수 있다. 검증된 최신 암호화 알고리즘과 프로토콜을 선택하는 일도 같은 맥락에 있다.

구현에서는 AES-256, ChaCha20 같은 현대적 대칭 암호 알고리즘과 RSA-2048 이상, ECC, 포스트 양자 암호화 같은 공개키 암호 사용을 고려할 수 있다. TLS 1.3 같은 최신 보안 프로토콜을 채택하고, 하드웨어 보안 모듈(HSM)로 키를 관리하며, 정기적인 보안 감사와 취약점 평가를 수행하는 방식도 함께 검토해야 한다.

암호 알고리즘이 공격 저항성을 갖도록 설계됐더라도 구현 실수나 부적절한 사용은 취약점이 될 수 있다. 따라서 이론적 공격 모델, 실제 공격 사례, 최신 연구 동향을 지속적으로 확인해야 하며, 양자 컴퓨팅의 발전으로 인한 변화도 포스트 양자 암호화(Post-Quantum Cryptography) 연구와 적용 관점에서 고려할 필요가 있다.

암호화 공격암호 분석정보보안접근 제어포스트 양자 암호