취약한 암호화 알고리즘 사용
Use of a Broken or Risky Cryptographic Algorithm
설명
취약하거나 위험한 암호화 알고리즘(Use of a Broken or Risky Cryptographic Algorithm)은 알려진 취약점이 있는 암호화 알고리즘을 사용하는 경우 발생하는 취약성입니다. 이는 공격자가 암호화된 데이터를 쉽게 해독하거나 무결성을 손상시킬 수 있는 위험을 초래합니다.
잠재적 영향
데이터 유출: 공격자가 암호화된 데이터를 해독하여 민감한 정보에 접근할 수 있습니다.
데이터 변조: 무결성이 손상되어 데이터가 변조될 수 있습니다.
인증 우회: 암호화된 인증 정보가 해독되어 인증 메커니즘이 우회될 수 있습니다.
해결 방법
강력한 암호화 알고리즘 사용: 최신의 강력한 암호화 알고리즘(AES, RSA 등)을 사용합니다.
알고리즘 업데이트: 사용 중인 암호화 알고리즘이 안전하지 않은 경우 최신 알고리즘으로 업데이트합니다.
보안 지침 준수: OWASP, NIST 등의 최신 보안 지침을 따릅니다.
취약한 코드 및 안전한 코드 예시
취약한 코드
# Unsafe DES encryption
from Crypto.Cipher import DES
key = b'8bytekey' # 56비트 DES 키
cipher = DES.new(key, DES.MODE_ECB)
plaintext = b'This is a secret message.'
ciphertext = cipher.encrypt(plaintext)안전한 코드
설명:
취약한 코드: DES는 56비트 키를 사용하여 암호화 강도가 매우 낮고, 현대의 공격에 쉽게 해독될 수 있습니다.
안전한 코드: AES는 256비트 키를 사용하여 강력한 암호화 강도를 제공합니다.
참조
OWASP: Cryptographic Storage
Last updated