[OWASP 시리즈] OWASP Top10 2025 A04, 암호 기술을 넘어 ‘암호 사용 실패’를 묻다
- '암호 기술을 적용했는가?'보다 중요한 건 '암호 기술을 어떻게 사용했는가?'
- 보다 높은 보안성을 위한 암호 알고리즘 사용 방법 고민 필요
OWASP Top10 2025에서 A04로 분류된 Cryptographic Failures는 2021년 A02와 동일한 명칭을 유지하고 있지만, 그 내부를 들여다보면 문제를 바라보는 시선이 달라졌음을 알 수 있다. 더 이상 이 항목은 “취약한 암호 알고리즘을 사용했는가”에 머무르지 않는다. OWASP는 2025년을 기점으로 암호화 기술이 충분히 성숙했고, 그러므로 문제는 기술의 부재가 아니라 그 기술을 어떻게 사용하고, 관리하고, 강제했는가를 더 중요하게 여기기 시작했다.
2021 A02 vs. 2025 A04
OWASP Top10 2025 A04 Cryptographic Failures는 OWASP Top10 2021 A02와 외형적으로는 유사해 보이지만, 문제에 대한 정의와 분류 기준에 변화가 있다. 표면적으로 CWE 내용의 변화가 많지 않으므로 큰 차이가 없다고 할 수 있지만 OWASP Top10 2025 A04에 관한 설명을 살펴보면 그렇지 않음이 분명해진다. 이전에는 약한 해시 함수, 부적절한 난수 생성과 같은 암호 기술 자체의 결함을 중점적으로 살폈다면, 이번 OWASP Top10 2025 A04는 암호 기술이 존재함에도 불구하고 그 보호 목적이 실제로 달성되지 못한 경우를 Cryptographic Failures로 판단했다는 것을 알 수 있다.
OWASP Top10 2025 에서는 “모든 전송 데이터는 OSI 4계층에서 암호화되어야 한다”라고 전제하면서, 과거 암호화 적용을 가로막던 성능 문제와 운영 복잡성은 더 이상 유효한 이유가 아님을 분명히 한다. 2025년 기준, 대부분의 서버 CPU는 AES-NI와 같은 암호 가속 명령어를 기본 지원하며, Let’s Encrypt와 주요 클라우드 사업자의 관리형 TLS 서비스는 인증서 발급·갱신·폐기를 자동화했다. 그 결과, CWE-319 Cleartext Transmission of Sensitive Information이나 CWE-523 Unprotected Transport of Credentials이 여전히 A04에 포함된 것은 “기술적 한계”가 아니라 설계와 선택의 실패로 간주하는 것으로 보인다.
Previous hurdles such as CPU performance and private key/certificate management are now handled…
또 하나 주목할 변화는 암호 보호의 범위가 통산 상에서 일어나는 것을 넘어 데이터 보호 체계 전반으로 확장되었다는 점이다. OWASP Top10 2021 A02는 HTTPS 미사용, 약한 TLS 설정, 취약한 해시/암호 알고리즘 중심의 문제를 다루었으며 이는 통신 상에서의 암호화에 관한 내용 위주라 할 수 있다. 하지만 OWASP Top10 2025 A04에서는 암호화 대상의 예시(비밀번호, 결제 정보, 건강 정보, 개인 식별 정보, 기업 기밀 등)를 제시하며 법·규제의 보호 대상이 되는 데이터는 전송 중 암호화뿐 아니라 저장 시 암호화, 경우에 따라 애플리케이션 계층(OSI Layer7)에서의 추가 암호화를 통해 보호하는 것을 언급하고 있다. GDPR, PCI DSS와 같은 규제 환경이 OWASP Top10 분류 체계에 직접 반영되었다는 것을 의미하는 것으로 보인다.
결국 OWASP Top10 2025 A04는 “암호를 사용했는가”라는 질문을 더 이상 던지지 않는다. 대신 “암호화가 실질적 보호 효과를 발휘했는가”, “키와 난수는 수명 주기를 갖고 관리되는가”, “암호 정책은 협상이나 설정 오류로 우회될 수 없는가”등의 질문을 던지고 있다. 결국 OWASP Top10 2021 A02가 암호 기술의 선택과 구현에 대한 경고였다면, OWASP Top10 2025 A04는 암호를 둘러싼 설계·운영·책임 전반에 대한 경고라고 평가할 수 있다. 이는 Cryptographic Failures가 더 이상 개발자의 코드 한 줄 문제가 아니라, 조직 전체의 보안 성숙도를 드러내는 지표로 활용될 수 있다는 것을 의미한다.
OWASP Top10 2025 A04 분석
OWASP Top10 2021에서 A02와 A07에, 동시에 매핑되던 CWE-259 Use of Hard-coded Password는 2025에서 OWASP Top10 2025 A04에서 제외되고, 인증 실패 영역(A07)에만 남았다. 반면 CWE-321 Use of Hard-coded Cryptographic Key은 A04에 유지된다. 이는 비밀번호와 암호키를 명확히 구분하겠다는 의지로 해석할 수 있다. 비밀번호는 여전히 인증 로직의 문제로 다뤄지지만, 암호키는 암호 보호 체계의 핵심 구성 요소이므로 Cryptographic Failures의 중심에 놓겠다고 판단한 것으로 보인다.
다만 모든 매핑이 명확한 것은 아니다. 예를 들어 CWE-320 Key Management Errors는 2025 A04에 포함되어 있으나, CWE 공식 문서에서는 해당 ID를 실제 취약점 매핑에 사용하지 말 것을 명시하고 있다. CWE-320은 개별 취약점이 아니라 범주(Category)를 의미하는 항목이기 때문이다. 이미 CWE-322, CWE-323, CWE-324 등 하위 항목들이 A04에 포함된 상황에서 CWE-320까지 포함한 것은 중복 해석의 여지를 남긴다. 이 부분은 2021년 A02에서 유지하던 매핑 방식을 그대로 유지했어도 무리가 없었을 것으로 보인다.
이번 OWASP Top10 2025 A04에서 특히 눈에 띄는 변화는 난수(Randomness)와 엔트로피(Entropy) 관련 CWE들이다. CWE-332 Insufficient Entropy in PRNG는 OWASP 2021 Top10 A02에 등장하지 않았으며, CWE-331 Insufficient Entropy와 함께 포함되었다. 이는 단순히 “난수가 약하다”는 선언이 아니라, 실제 취약점 분석 과정에서 PRNG의 엔트로피 부족이 공격 성공으로 이어진 사례가 다수 식별되었음을 시사한다. 이를 풀이하면 공격자들이 더 이상 랜덤이라는 이름에 속지 않고 랜덤으로 보이는 값이 어느 정도의 랜덤성을 가지는지, 무작위 대입 공격(브루트포스)가 가능한 범위인지 계산하고 공격을 시도한다.
CWE-334 Small Space of Random Values의 추가 역시 같은 맥락이다. 이 CWE는 “무작위 값의 공간이 제품이 요구하는 수준보다 작다”라고 설명한다. 여기서 중요한 점은 이 공간이 터무니없이 작다는 의미가 아니라, 현대의 연산 능력 기준에서는 충분히 브루트 포스 가능한 수준이라는 점이다. 개인이 보유한 GPU, 클라우드 기반 연산 자원만으로도 과거에는 현실적으로 불가능했던 공격이 가능해졌고, OWASP는 이를 Cryptographic Failures의 핵심 요소로 끌어올렸다.
CWE-342 Predictable Exact Value from Previous Values 역시 PRNG 계열 취약점의 연장선상에 있다. 이전 값들을 통해 다음 값을 예측할 수 있다는 점을 지적하며, 대응 방안으로 “PRNG 시드에 사용되는 엔트로피를 증가시킬 것”을 명시한다. 이는 단순한 이론적 문제라기보다는, 실제 취약점 수집 과정에서 이러한 예측 가능성이 공격으로 이어진 사례가 존재했음을 암시한다.
반면 CWE-720 OWASP Top Ten 2007 Category A9 - Insecure Communications과 CWE-818 Insufficient Transport Layer Protection은 OWASP Top10 2025 A04에 매핑되지 않았다. 이들 CWE는 Category 성격의 CWE로, 실제 취약점 매핑에 사용하지 말 것을 권고하고 있기 때문이다. CWE-320과의 일관성 측면에서 보면, OWASP의 선택이 다소 아쉽게 느껴지는 지점이기도 하다.
반드시 짚고 넘어가야 할 A04 핵심 CWE들
OWASP Top10 2025 A04에서 실무적으로 가장 중요한 CWE 중 하나는 CWE-329 Not Using a Random IV with CBC Mode다. 국내외에서 여전히 “충분한 키 길이 + CBC 모드”면 안전하다는 인식이 널리 퍼져 있지만, CWE-329는 Chosen Plaintext Attack(CPA) 환경에서 IV 재사용 또는 예측 가능한 IV가 치명적인 취약점으로 이어질 수 있음을 분명히 지적한다. 이는 암호 알고리즘 선택 이전에, 운영 모드와 파라미터 사용 방식까지 검토해야 한다는 경고다.
CWE-321 Use of Hard-coded Cryptographic Key 역시 여전히 현실적인 문제다. 키가 코드에 하드코딩 되는 순간, 그 키는 교체 불가능한 단일 실패 지점이 된다. CWE-259 Use of Hard-coded Password의 대응 방안을 키 관리 관점으로 확장해 보면, 키는 자동 생성·회전되어야 하며, 사용 기간이 명확히 정의되어야 하고, 가능하다면 HSM이나 클라우드 KMS와 같은 보호된 환경에 저장되어야 한다. 불가피하게 하드코딩이 필요한 경우에도 접근 통제와 추가적인 방어 계층이 반드시 수반되어야 한다.
CWE-322 Key Exchange without Entity Authentication는 Cryptographic Failures의 본질을 잘 드러내는 항목 중 하나다. 암호 알고리즘 자체에는 문제가 없더라도, 키 교환 과정에서 통신 상대를 인증하지 않는다면 암호화는 무의미해진다. SSL/TLS가 서버 인증과 클라이언트 인증을 모두 지원함에도, 실제 환경에서 상호 인증(Mutual Authentication)이 거의 사용되지 않는 현실을 OWASP는 지적하고 있다.
PRNG 관련 CWE들(CWE-335, 336, 337, 338, 340, 1241)은 개발자 교육의 필요성을 다시 한번 상기시킨다. Python의 random, Java의 java.util.Random, C#의 System.Random는 암호학적으로 안전하지 않음에도 여전히 예제 코드로 널리 사용된다. OWASP가 이러한 CWE를 대거 포함한 것은, API 선택 하나가 Cryptographic Failures로 직결될 수 있음을 강조하는 신호다.
마지막으로 CWE-780 Use of RSA Algorithm without OAEP은 암호 알고리즘 “사용법”의 문제를 정확히 짚는다. 이 부분에 대해 깊이 있게 살펴볼 필요가 있다고 판단하는데, 이는 암호 알고리즘의 사용만으로 안전하다는 인식을 바꾸어야 하기 때문이다. CWE-780이 지적하는 “OAEP 없이 RSA 암호화를 사용하는 문제”는 단순한 구현 실수가 아니라, 암호학이 추구해 온 가장 근본적인 목표와 직접적으로 연결된다.
현대 정보 이론과 디지털 통신의 아버지로 불리는 클로드 섀넌(Claude Shannon)은 1949년 「Communication Theory of Secrecy Systems」에서 Perfect Secrecy라는 개념을 제시하며, 이상적인 암호 시스템은 암호문이 평문에 대해 어떠한 정보도 누설하지 않아야 한다고 정의했다. 이는 공격자가 무한한 계산 능력을 갖추고 있더라도, 암호문만으로는 평문에 대한 어떠한 통계적 정보도 얻을 수 없어야 한다는 의미다. 이 조건이 성립하려면 암호문과 평문은 통계적으로 완전히 독립적이어야 하며, 이론적으로는 원타임 패드(OTP, One-Time Pad)와 같이 평문 길이 이상인 완전한 난수 키를 단 한 번만 사용하는 방식에서만 달성할 수 있다. 안전한 패딩 기법 없이 RSA를 사용할 경우, 암호문은 평문의 구조적 정보를 그대로 반영하게 되며, 공격자는 암호문을 비교하거나 조작함으로써 평문에 대한 부분적인 정보를 유추할 수 있다. 이는 암호문이 평문에 대해 “완전히 독립적이지 않다”라는 의미이다.
OAEP(Optimal Asymmetric Encryption Padding)는 이러한 이론적 한계를 현실적인 수준에서 보완하기 위한 장치다. OAEP는 암호화 과정에 충분한 랜덤성을 주입함으로써, 동일한 평문이라도 매번 다른 암호문이 생성되도록 만든다. 이를 통해 RSA 암호문은 통계적 패턴을 잃게 되고, 선택 암호문 공격(CCA)이나 평문 구조 분석과 같은 공격에 대한 내성이 크게 향상된다. 완전한 Perfect Secrecy에는 도달할 수 없지만, 적어도 암호문이 평문에 대한 추가적인 정보를 노출하지 않도록 설계된 것이다. CWE-780은 바로 이 지점을 경고한다. RSA를 사용하고 있다는 사실만으로는 충분하지 않으며, 암호문이 평문에 대해 어떤 정보를 누설하는지까지 고려하지 않는다면, 암호학이 추구해 온 기본 원칙을 정면으로 위배하게 된다. 섀넌의 Perfect Secrecy가 이상적인 기준점이라면, OAEP 없는 RSA는 그 기준에서 불필요하게 멀어지는 선택이다. OWASP가 CWE-780을 Cryptographic Failures에 추가하고 있는 이유가 암호 알고리즘의 존재 여부가 아니라, 암호문이 평문으로부터 얼마나 독립적인지를 보장했는가가 현대 암호 사용의 중요한 기준이 되어야 하기 때문이라고 생각해 볼 수 있을 것이다.
OWASP Top10 2025 A04가 요구하는 대응 전략
OWASP Top10 2025 A04는 대응 방안에서도 분명한 방향성을 제시한다. 먼저, 애플리케이션이 처리·저장·전송하는 데이터를 분류하고, 개인정보 보호법이나 PCI DSS와 같은 규제 기준에 따라 민감도를 정의해야 한다. 가장 민감한 키는 HSM 또는 클라우드 기반 KMS에 저장하고, 검증된 암호 알고리즘만을 사용해야 한다.
불필요한 민감 데이터는 저장하지 않는 것이 최선의 방어다. 저장하지 않은 데이터는 유출될 수 없기 때문이다. 저장이 불가피하다면 반드시 저장 시 암호화를 적용해야 하며, 전송 중 데이터는 TLS와 같은 안전한 프로토콜로 암호화해야 한다.
IV와 Nonce는 절대 재사용되어서는 안 되며, 가능한 가장 최신의 가장 안전한 암호화 알고리즘을 사용해야 한다. 키는 암호학적으로 안전한 방식으로 생성·관리되어야 하고, PRNG는 예측 불가능한 엔트로피를 기반으로 해야 한다. MD5, SHA-1, CBC, PKCS#1 v1.5와 같은 구식 기법은 더 이상 선택지가 아니다.
OWASP Top10 2025 A04는 결국 하나의 메시지로 귀결된다. "암호를 사용했는지가 아니라, 암호가 실제로 보호 역할을 수행했는가, 그것이 진짜 문제로다!" Cryptographic Failures는 더 이상 특정 알고리즘의 문제가 아니다. 그것은 설계, 구현, 운영 전반에 걸친 신뢰 체계의 실패다.
Related Materials
- Status Report on the Fourth Round of the NIST Post-Quantum Cryptography Standardization Process , 2025년
- The State of Crypto Agility 2025 - Sectigo , 2025년
- Cryptographic algorithms for UNCLASSIFIED, PROTECTED A, and PROTECTED B information (ITSP.40.111) - Communications Security Establishment Canada , 2025년
- Analyzing cryptographic algorithm efficiency within graph-based encryption models - Frontiers in Computer Science , 2025년
- NIST Selects HQC as Fifth Algorithm for Post-Quantum Encryption , 2025년

