암호학적 약점
1. 개요
1. 개요
암호학적 약점은 암호 시스템이나 암호 알고리즘에서 발견되어 기밀성, 무결성, 가용성과 같은 정보 보안의 핵심 요소를 저해하는 결함 또는 취약점을 의미한다. 이러한 약점은 설계 단계의 이론적 결함, 구현 과정에서의 오류, 또는 키 관리의 실수 등 다양한 원인에서 비롯될 수 있다.
주요 원인으로는 알고리즘 설계 자체의 결함, 소프트웨어나 하드웨어 구현 시 발생하는 오류, 그리고 특정 환경에 맞지 않는 암호 알고리즘의 부적절한 선택 등이 있다. 예를 들어, 취약한 난수 생성기 사용이나 패딩 방식의 오류는 구현 오류에 의한 대표적인 약점이다.
이러한 약점이 존재할 경우, 암호문이 공격자에 의해 해독되거나 시스템이 부채널 공격에 노출될 수 있어, 보호하려는 정보가 유출되거나 조작될 위험이 크게 증가한다. 따라서 정보보호 실무에서는 AES, SHA-256과 같이 공인된 강력한 알고리즘을 사용하고, 정기적인 보안 업데이트와 코드 감사를 통해 암호학적 약점을 사전에 예방하는 것이 필수적이다.
2. 암호학적 약점의 유형
2. 암호학적 약점의 유형
2.1. 알고리즘 설계 결함
2.1. 알고리즘 설계 결함
알고리즘 설계 결함은 암호 시스템의 핵심 수학적 구조나 논리 자체에 존재하는 근본적인 문제를 가리킨다. 이는 암호 알고리즘이 설계 단계에서부터 충분한 혼돈과 확산의 성질을 갖추지 못하거나, 예측 가능한 패턴을 내포하고 있어 암호 해독 공격에 취약해지는 경우를 포함한다. 이러한 결함은 해당 알고리즘을 사용하는 모든 구현체에 영향을 미치며, 단순한 구현 오류를 수정하는 것만으로는 해결할 수 없다.
대표적인 사례로는 DES 알고리즘의 짧은 키 길이가 있다. 이는 전수 키 탐색 공격에 대한 저항력을 시간이 지남에 따라 크게 약화시켰다. 또한, MD5나 SHA-1과 같은 해시 함수에서 발견된 충돌 저항성의 결함은 데이터 무결성 검증의 신뢰성을 근본적으로 훼손시켰다. 이러한 알고리즘들은 현재 보안상 사용이 권장되지 않는다.
알고리즘 설계 결함을 방지하기 위해서는 공개적이고 엄격한 검증 과정을 거친 표준 알고리즘을 선택하는 것이 필수적이다. AES, SHA-256과 같이 널리 분석되고 검증된 알고리즘을 사용해야 하며, 한국인터넷진흥원과 같은 기관에서 제공하는 가이드라인을 참고하여 상황에 맞는 안전한 알고리즘을 신중하게 선택해야 한다.
2.2. 구현 오류
2.2. 구현 오류
구현 오류는 암호 알고리즘의 설계 자체는 안전하지만, 이를 소프트웨어나 하드웨어로 구체화하는 과정에서 발생하는 실수나 결함을 의미한다. 이는 암호 시스템의 보안성을 심각하게 저해할 수 있는 주요 암호학적 약점 중 하나이다. 설계된 알고리즘을 코드나 회로로 옮기는 과정에서 발생하는 논리적 오류, 부주의, 또는 최적화 과정에서의 실수가 원인이 된다.
대표적인 구현 오류의 사례로는 패딩 오라클 공격에 취약한 코드 작성, 암호화에 필요한 의사 난수 생성기의 결함, 부채널 공격에 노출되는 방식의 구현 등이 있다. 예를 들어, AES나 RSA와 같은 안전한 알고리즘을 사용하더라도, 키를 메모리에 불안정하게 저장하거나 연산 시간 차이를 통해 정보가 유출될 수 있는 방식으로 구현하면 공격에 취약해진다. 또한, 암호화와 복호화 로직을 정확히 구현하지 못하거나, 초기화 벡터(IV)를 재사용하는 등의 실수도 흔히 발생한다.
이러한 오류를 방지하기 위해서는 코드 감사와 철저한 테스트가 필수적이다. 정적 분석 도구를 활용하거나, 화이트박스 테스트 및 블랙박스 테스트를 통해 구현의 정확성과 안전성을 검증해야 한다. 또한, 검증된 암호화 라이브러리를 사용하고, 보안 업데이트를 정기적으로 적용하여 알려진 구현 상의 취약점을 패치하는 것이 중요하다. 결국, 안전한 알고리즘 선택만큼이나 올바른 구현과 지속적인 점검이 정보보호의 핵심 요소이다.
2.3. 키 관리 취약점
2.3. 키 관리 취약점
키 관리 취약점은 암호 시스템에서 암호화와 복호화에 사용되는 키를 생성, 저장, 교환, 사용, 폐기하는 과정에서 발생하는 보안 결함이다. 암호 알고리즘 자체가 안전하더라도 키 관리가 취약하면 전체 시스템의 보안이 무너질 수 있다.
주요 취약점으로는 약한 키 생성 알고리즘 사용, 키 저장소의 불충분한 보호, 안전하지 않은 키 교환 프로토콜, 키 사용 주기 관리 미흡 등이 있다. 예를 들어, 예측 가능한 난수 생성기를 사용하면 공격자가 키를 추측하기 쉬워지며, 하드 디스크나 설정 파일에 평문으로 키를 저장하는 것은 심각한 위험을 초래한다. 또한, 대칭키 암호 시스템에서 키를 안전하게 교환하지 못하거나, 비대칭키 암호 시스템에서 개인키가 유출되는 경우도 해당된다.
이러한 취약점은 중간자 공격(MITM)이나 키 로깅 같은 공격으로 이어져, 암호화된 데이터의 기밀성과 무결성을 완전히 침해할 수 있다. 따라서 강력한 난수 생성기 사용, 하드웨어 보안 모듈(HSM)과 같은 안전한 저장 매체 활용, 키 관리 시스템(KMS) 도입, 그리고 정기적인 키 순환 정책을 수립하는 것이 필수적인 대응 방안이다.
2.4. 부채널 공격
2.4. 부채널 공격
부채널 공격은 암호 시스템의 물리적 구현을 공격 대상으로 삼는 기법이다. 이 공격은 암호 알고리즘 자체의 수학적 취약점을 공략하는 대신, 알고리즘이 실행되는 동안 발생하는 부수적인 정보를 측정하고 분석하여 비밀 키를 유추한다. 주요 부채널 정보로는 전력 소비, 전자기파 방사, 소음, 소프트웨어 실행 시간 등이 있다.
공격 유형은 다양하다. 단순 전력 분석은 전력 소비 곡선의 패턴을 직접 관찰하여 키를 추측한다. 차분 전력 분석은 여러 암호화 연산에서 수집된 전력 소비 데이터를 통계적으로 분석하여 더 정교하게 키를 찾아낸다. 타이밍 공격은 암호 연산에 소요되는 시간의 미세한 차이를 측정하여 비밀 정보를 유출한다. 오류 주입 공격은 암호 장치에 물리적 간섭을 가해 오류를 유발하고, 그 결과를 분석하여 내부 데이터를 알아낸다.
이러한 공격은 스마트카드, TPM, 하드웨어 보안 모듈과 같은 임베디드 보안 장치에 특히 위협적이다. 대응 방안으로는 알고리즘 구현 시 전력 소비를 균일하게 만드는 전력 분석 대응 기술, 연산 시간을 일정하게 유지하는 코드 작성, 불필요한 정보 노출을 방지하는 메모리 보호 기법 등이 있다. 또한, 물리적 난수 생성기를 통해 예측 불가능한 노이즈를 추가하거나, 중요한 연산을 보호된 환경에서 수행하는 것도 효과적이다.
3. 주요 사례
3. 주요 사례
3.1. 취약한 암호 알고리즘
3.1. 취약한 암호 알고리즘
취약한 암호 알고리즘은 설계 단계부터 내재된 결함으로 인해 보안성이 떨어져, 공격자가 암호화된 정보를 비교적 쉽게 해독하거나 변조할 수 있게 만드는 알고리즘을 의미한다. 이러한 알고리즘은 시간이 지남에 따라 암호학 연구의 진전이나 컴퓨팅 성능의 향상으로 인해 그 취약성이 드러나게 된다. 대표적으로 MD5나 SHA-1과 같은 해시 함수는 충돌 저항성이 깨져 데이터 무결성 검증에 사용하기에 더 이상 안전하지 않으며, DES와 같은 블록 암호는 짧은 키 길이로 인해 전수 조사 공격에 취약해졌다.
이러한 취약한 알고리즘의 사용은 심각한 보안 사고로 이어질 수 있다. 예를 들어, SSL/TLS 프로토콜의 초기 버전에서 사용된 RC4 스트림 암호나 CBC 모드의 특정 구현은 패딩 오라클 공격이나 중간자 공격에 취약한 것으로 밝혀졌다. 또한, 랜덤성이 부족한 의사 난수 생성기를 사용하면 예측 가능한 암호화 키가 생성되어 시스템 전체가 위험에 빠질 수 있다.
현대의 안전한 정보보호 체계를 구축하기 위해서는 이러한 취약한 역사적 알고리즘의 사용을 지양하고, AES(고급 암호화 표준), SHA-256, RSA (적절한 키 길이와 함께)와 같이 공인된 강력한 알고리즘을 선택해야 한다. 한국인터넷진흥원(KISA)을 비롯한 각국 보안 기관들은 주기적으로 암호 알고리즘 및 키 길이 이용 가이드라인을 갱신하여 취약한 알고리즘의 사용을 금지하고 있다.
3.2. 랜덤성 부족
3.2. 랜덤성 부족
랜덤성 부족은 암호 시스템에서 예측 가능한 값이 생성되거나 사용될 때 발생하는 주요 암호학적 약점이다. 암호학에서 랜덛한 값은 키 생성, 초기화 벡터(IV), 솔트(Salt), 논스(Nonce) 생성 등 여러 핵심 과정에서 필수적이다. 이러한 값들이 충분히 예측 불가능하지 않으면, 공격자가 이를 추측하거나 재현하여 시스템의 보안을 무너뜨릴 수 있다.
대표적인 사례로는 취약한 의사 난수 생성기(PRNG)의 사용을 들 수 있다. 많은 시스템이 암호학적으로 안전한 난수 생성기(CSPRNG) 대신 예측 가능한 시드(예: 시스템 시간)를 사용하는 일반적인 PRNG를 활용한다. 이 경우 생성되는 키나 초기화 벡터의 패턴을 공격자가 분석하여 미래 값을 예측할 수 있다. 또한, 키를 하드코딩하거나 너무 짧은 키를 사용하는 것도 랜덤성 부족에 해당하며, 무차별 대입 공격에 취약해진다.
이러한 약점을 방지하기 위해서는 암호학적으로 안전한 난수 생성기를 사용하고, 키 길이를 충분히 길게 설정하며, 초기화 벡터나 솔트를 재사용하지 않는 것이 중요하다. 또한, 키 관리 정책을 수립하여 안전한 키 생성, 저장, 교체 주기를 준수해야 한다.
3.3. 패딩 오라클 공격
3.3. 패딩 오라클 공격
패딩 오라클 공격은 블록 암호의 암호화 모드 중 하나인 CBC 모드에서 발생할 수 있는 공격 기법이다. 이 공격은 암호화된 데이터를 복호화하는 서버가 잘못된 패딩에 대해 특정한 오류 메시지를 반환할 때, 이를 이용해 암호문을 차례로 해독해 나가는 방식으로 작동한다. 공격자는 서버가 보내는 오류 응답을 '오라클'처럼 활용하여, 평문의 마지막 바이트부터 시작해 앞쪽 바이트를 하나씩 추측할 수 있다.
이 공격이 성공하기 위한 주요 조건은 두 가지이다. 첫째, 공격자가 암호문을 서버에 전송하고 그 결과를 관찰할 수 있어야 한다. 둘째, 서버가 패딩 검증 실패와 같은 암호학적 오류를 구체적으로 알리는 오류 메시지를 반환해야 한다. 공격자는 정상적인 암호문 블록을 조작한 뒤 서버에 보내고, 서버의 반응을 통해 패딩의 유효성을 판단한다. 이를 반복하면 최종적으로 원본 평문을 복원할 수 있게 된다.
패딩 오라클 공격에 대한 대응 방안은 명확하다. 가장 효과적인 방법은 서버가 암호학적 처리 중 발생하는 모든 오류(패딩 오류, MAC 검증 오류 등)를 구분하지 않고 동일한 일반적인 오류 메시지로 처리하는 것이다. 이렇게 하면 공격자가 유용한 정보를 얻을 수 있는 통로가 차단된다. 또한, GCM 모드나 CCM 모드와 같이 인증된 암호 방식을 사용하면 암호화와 동시에 무결성 검증이 이루어져 패딩 오라클 공격 자체가 발생할 수 없는 환경을 조성할 수 있다.
4. 발생 원인
4. 발생 원인
4.1. 암호학 지식 부족
4.1. 암호학 지식 부족
암호학적 약점이 발생하는 주요 원인 중 하나는 시스템 설계자, 개발자, 운영자 등이 암호학에 대한 충분한 지식을 갖추지 못한 데 있다. 암호학은 수학을 기반으로 한 복잡한 분야로, 기본 개념에 대한 이해 없이 암호 기술을 적용하면 심각한 보안 취약점을 초래할 수 있다. 예를 들어, 암호화의 기본 목적인 기밀성, 무결성, 인증의 차이를 명확히 이해하지 못하면, 데이터 보호에 적합하지 않은 알고리즘을 선택할 위험이 있다.
구체적으로, 일방향 암호화인 해시 함수는 복호화가 불가능해 주로 패스워드 저장이나 데이터 무결성 검증에 사용된다. 반면, 양방향 암호화는 대칭키 암호화와 비대칭키 암호화로 나뉘며, 각각 다른 용도와 특성을 가진다. 이러한 기본 개념과 알고리즘의 적절한 적용 범위에 대한 지식이 부족하면, 이미 취약점이 알려진 오래된 알고리즘(예: MD5, SHA-1)을 사용하거나, 전자서명에 대칭키 방식을 잘못 적용하는 등의 실수를 범할 수 있다.
이러한 지식 부족은 단순히 알고리즘 선택의 오류를 넘어, 키 관리의 중요성을 간과하거나, 랜덤수 생성의 취약점, 부채널 공격에 대한 대비 부재 등으로 이어질 수 있다. 따라서 효과적인 정보보호를 위해서는 관련 실무자들이 암호학의 기본 원리와 최신 보안 동향에 대한 지속적인 학습이 필수적이다. 한국인터넷진흥원과 같은 기관에서 제공하는 가이드라인을 참고하는 것도 실무에서 흔히 발생할 수 있는 오류를 방지하는 데 도움이 된다.
4.2. 부적절한 알고리즘 선택
4.2. 부적절한 알고리즘 선택
부적절한 알고리즘 선택은 암호 시스템의 보안을 심각하게 약화시키는 주요 원인 중 하나이다. 이는 보호하려는 데이터의 특성이나 사용 환경에 맞지 않는 암호 알고리즘을 채택함으로써 발생한다. 예를 들어, 대량의 데이터를 빠르게 암호화해야 하는 상황에서 연산 속도가 느린 비대칭키 암호화 알고리즘을 사용하거나, 데이터 무결성 검증이 필요한 곳에 해시 함수 대신 대칭키 암호화를 사용하는 경우가 해당된다. 또한, 이미 알려진 취약점이 있거나 더 이상 안전하지 않은 오래된 알고리즘(예: DES, MD5, SHA-1)을 신규 시스템에 도입하는 것도 심각한 위험을 초래한다.
이러한 선택 오류는 주로 설계자나 개발자의 암호학에 대한 이해 부족에서 비롯된다. 각 암호 원시 기술은 고유한 목적과 적합한 사용 사례가 있다. 일방향 암호화인 해시 함수는 패스워드 저장이나 데이터 무결성 검증에, 양방향 암호화는 데이터의 기밀성 보호에 사용된다. 대칭키 암호화는 속도가 빠르나 키 관리가 복잡하고, 비대칭키 암호화는 키 교환이 용이하나 상대적으로 느리다. 이러한 기본 개념을 간과하고 임의로 알고리즘을 선택하면, 외관상으로는 암호화가 적용된 것처럼 보이지만 실제로는 효과적인 보호를 제공하지 못하는 시스템이 만들어질 수 있다.
따라서 안전한 시스템 구축을 위해서는 한국인터넷진흥원(KISA)이 발간하는 '암호 알고리즘 및 키 길이 이용 안내서'와 같은 공식 가이드라인을 참고하여, 검증된 현대 암호 알고리즘을 상황에 맞게 신중하게 선택해야 한다. 데이터 기밀성 보호에는 AES나 ARIA와 같은 강력한 블록 암호를, 전자서명이나 키 교환에는 RSA나 타원곡선 암호와 같은 알고리즘을, 데이터 무결성에는 SHA-256 이상의 해시 함수를 사용하는 것이 바람직하다. 알고리즘 선택은 단순한 기술적 결정이 아닌, 시스템 전체의 보안 수준을 결정하는 핵심 설계 요소로 간주되어야 한다.
4.3. 테스트 및 검증 미흡
4.3. 테스트 및 검증 미흡
암호 시스템에서 테스트 및 검증 미흡은 설계나 구현 단계에서 놓친 결함이 실제 환경에서 취약점으로 드러나게 하는 주요 원인이다. 암호 알고리즘의 안전성은 수학적 검증과 철저한 테스트를 통해 입증되어야 하지만, 이 과정이 생략되거나 부실하게 이루어지면 예상치 못한 공격 경로가 남게 된다. 특히, 구현 오류는 알고리즘 자체의 이론적 안전성과 무관하게 시스템 전체를 위험에 빠뜨릴 수 있다. 따라서, 암호 모듈의 정확한 동작을 검증하는 코드 감사와 다양한 공격 시나리오를 가정한 침투 테스트는 필수적인 과정이다.
테스트 부족은 랜덤성 생성과 같은 암호학적 기본 요소에서도 치명적 결함을 초래한다. 암호화에 사용되는 난수의 품질이 낮거나 예측 가능하면, 전체 암호 시스템의 기밀성이 무너질 수 있다. 또한, 패딩 오라클 공격과 같은 정교한 공격 기법은 특정 구현 방식의 미세한 동작 차이를 이용하므로, 표준화된 테스트 스위트만으로는 탐지하기 어렵다. 이는 공식 암호 알고리즘 표준을 준수하더라도, 구현체에 대한 독립적이고 지속적인 검증이 필요함을 보여준다.
테스트 유형 | 주요 목적 | 관련 취약점 예시 |
|---|---|---|
정적 분석 | 소스 코드 상의 논리 오류, 버퍼 오버플로우 등 탐지 | |
동적 분석/퍼징 | 비정상 입력 시 시스템 동작 검증, 충돌 유발 | |
독립적 검증 | 표준 준수 여부 및 이론적 안전성 재평가 | 취약한 알고리즘 선택, 설계 결함 |
이러한 테스트와 검증 절차를 소홀히 하는 것은, 마치 강력한 자물쇠를 달았지만 문틈이 비정상적으로 넓은 집을 지키는 것과 같다. 암호학의 복잡성으로 인해 내부 개발자만의 검토로는 모든 취약점을 발견하기 어렵기 때문에, 외부 전문가를 통한 보안 감사와 침투 테스트를 정기적으로 수행하는 것이 최선의 대응 방안이다.
5. 대응 방안
5. 대응 방안
5.1. 안전한 알고리즘 사용
5.1. 안전한 알고리즘 사용
암호 시스템에서 암호학적 약점을 방지하는 가장 근본적인 방법은 안전한 암호 알고리즘을 사용하는 것이다. 이는 공인된 표준 알고리즘을 선택하고, 사용 목적에 맞는 적절한 알고리즘을 신중하게 선정하는 것을 포함한다.
정보보호 실무에서는 수학적 연산을 직접 설계하기보다는, 이미 검증된 암호화 알고리즘을 상황에 맞게 적용하는 것이 핵심이다. 예를 들어, 데이터의 무결성을 보장해야 하는 경우 복호화가 불가능한 해시 함수를 사용하며, SHA-256과 같은 안전한 알고리즘이 권장된다. 대량의 데이터를 빠르게 암호화해야 할 때는 AES나 SEED, ARIA와 같은 대칭키 암호를, 키 교환이나 디지털 서명이 필요할 때는 RSA와 같은 비대칭키 암호를 선택한다. 한국인터넷진흥원(KISA)는 '암호 알고리즘 및 키 길이 이용 안내서'를 통해 이러한 선택을 위한 가이드라인을 제공한다.
반면, MD5나 SHA-1과 같이 이미 취약점이 알려진 오래된 알고리즘은 사용을 지양해야 한다. 또한, 블록 암호를 사용할 때는 적절한 운용 모드와 패딩 방식을 함께 고려해야 하며, 키 관리를 포함한 전체 시스템의 보안 강도는 가장 약한 부분에 의해 결정된다는 점을 인지해야 한다. 따라서 알고리즘 선택은 단순히 이름만 따르는 것이 아니라, 해당 알고리즘의 최신 보안 상태와 권장 키 길이, 구현 환경 등을 종합적으로 평가하여 이루어져야 한다.
5.2. 정기적인 보안 업데이트
5.2. 정기적인 보안 업데이트
정기적인 보안 업데이트는 암호 시스템의 취약점을 지속적으로 관리하고 보완하는 핵심적인 유지보수 활동이다. 암호학적 약점은 시간이 지남에 따라 새롭게 발견되거나, 공격 기법이 진화함에 따라 기존에 안전하다고 여겨지던 알고리즘과 구현이 위협에 노출될 수 있다. 따라서 소프트웨어, 라이브러리, 펌웨어, 그리고 사용 중인 암호 알고리즘 자체에 대한 주기적인 점검과 패치 적용이 필수적이다.
이 과정에는 운영체제, 미들웨어, 암호 모듈을 포함한 모든 소프트웨어 구성 요소의 최신 보안 패치를 적용하는 것이 포함된다. 특히 오픈소스 암호 라이브러리나 암호화 프로토콜을 사용하는 경우, 해당 커뮤니티에서 공개한 취약점 정보와 업데이트를 신속하게 반영해야 한다. 또한, 한국인터넷진흥원(KISA)이나 국가보안기술연구소와 같은 기관에서 발표하는 암호 알고리즘 이용 가이드라인의 변경 사항을 확인하고, 더 이상 안전하지 않다고 권고된 알고리즘(예: MD5, SHA-1)은 사용 중단하고 AES, SHA-256 등 안전한 대체제로 전환해야 한다.
자동화된 취약점 관리 시스템을 도입하여 새로운 취약점 정보를 실시간으로 모니터링하고, 정기적인 보안 감사 및 침투 테스트를 수행하는 것도 효과적인 방법이다. 이를 통해 시스템에 잠재된 암호학적 구현 오류나 키 관리의 문제점을 사전에 발견할 수 있다. 궁극적으로 정기적인 보안 업데이트는 단순한 패치 적용을 넘어, 전체 암호 시스템의 생명주기를 관리하고 사이버 위협에 대한 방어 체계를 강화하는 지속적인 과정으로 이해되어야 한다.
5.3. 코드 감사 및 테스트
5.3. 코드 감사 및 테스트
코드 감사 및 테스트는 암호 시스템의 구현 단계에서 발생할 수 있는 취약점을 사전에 발견하고 제거하기 위한 핵심적인 대응 방안이다. 이는 암호 알고리즘 자체의 설계 결함이 아닌, 해당 알고리즘을 실제 소프트웨어나 하드웨어로 구현하는 과정에서 발생하는 오류를 찾아내는 데 중점을 둔다.
구현 오류는 암호학적으로 안전한 알고리즘을 사용하더라도 시스템 전체의 보안을 무너뜨릴 수 있다. 대표적인 예로는 패딩 오라클 공격에 취약한 구현, 암호화에 사용되는 의사난수 생성기의 결함, 또는 부채널 공격에 노출될 수 있는 코드 경로가 있다. 따라서 정기적인 코드 감사를 통해 소스 코드를 직접 검토하고, 정적 분석 도구를 활용하여 잠재적인 보안 버그를 찾는 것이 중요하다. 또한, 침투 테스트나 퍼징과 같은 동적 테스트 기법을 통해 실제 공격 시나리오를 모방하여 시스템의 취약점을 탐지할 수 있다.
이러한 과정은 정보보호 수명 주기의 필수 부분으로, 특히 금융, 의료, 정부와 같은 고위험 분야에서 표준화된 절차로 자리 잡고 있다. 효과적인 코드 감사와 테스트를 위해서는 암호학에 대한 깊은 이해와 함께 최신 공격 기법에 대한 지식이 요구된다. 이를 통해 설계 단계의 이론적 안전성과 구현 단계의 실질적 안전성 간의 격차를 줄이고, 암호학적 약점으로 인한 실제 피해를 예방할 수 있다.
