암호화 알고리즘 안전한 모드와 패딩 스키마
Encryption Algorithms Should Be Used with Secure Mode and Padding Scheme
설명
암호화 알고리즘을 사용할 때는 안전한 모드와 패딩 스키마를 함께 사용해야 합니다. 안전하지 않은 모드나 패딩 스키마를 사용할 경우, 암호화된 데이터가 공격에 취약해질 수 있습니다. 예를 들어, 전자 코드북 모드(ECB)는 동일한 평문 블록을 동일한 암호문 블록으로 변환하기 때문에 패턴을 노출시킬 수 있습니다. 안전한 모드(GCM 등)와 패딩 스키마(OAEP 등)를 사용하여 암호화 강도를 높여야 합니다.
잠재적 영향
데이터 유출: 공격자가 암호화된 데이터의 패턴을 분석하여 평문을 유추할 수 있습니다.
데이터 변조: 안전하지 않은 모드나 패딩을 사용할 경우, 데이터 변조가 용이해질 수 있습니다.
암호화 우회: 안전하지 않은 설정을 통해 암호화 메커니즘이 우회될 수 있습니다.
해결 방법
안전한 모드 사용: CCM, GCM 등과 같은 안전한 모드를 사용합니다.
안전한 패딩 스킴 사용: Optimal Asymmetric Encryption Padding scheme (OAEP)와 같은 안전한 패딩 스키마를 사용합니다.
최신 보안 지침 준수: 최신 보안 지침을 따라 안전한 암호화 설정을 적용합니다.
취약한 코드 및 안전한 코드 예시
AES ECB / GCM
취약한 코드
안전한 코드
설명:
취약한 코드: AES ECB 모드는 동일한 평문 블록을 동일한 암호문 블록으로 변환하여 패턴을 노출시킵니다.
안전한 코드: AES GCM 모드를 사용하여 데이터 무결성을 보장하고 암호화 강도를 높입니다.
RSA RSAES-PKCS1-v1_5 / OAEP
취약한 코드
안전한 코드
설명:
취약한 코드: PKCS#1 v1.5 경우 시간차 공격(Bleichenbacher’s attack)에 취약한 합니다.
안전한 코드: PKCS#1 OAEP(RSA)를 대신 사용하여 암호화 강도를 높이도록 합니다.
참조
Last updated