하드코딩된 암호화 키 사용

Use of Hardcoded Cryptographic Key

설명

하드코딩된 암호화 키 사용(Use of Hardcoded Cryptographic Key)은 암호화 키를 소스 코드에 직접 포함하는 취약성입니다. 이는 소스 코드가 유출될 경우 심각한 보안 위험을 초래할 수 있습니다. 암호화 키가 하드코딩되면, 키를 변경하기 어렵고 여러 시스템에서 동일한 키를 사용하게 되어 보안이 약화됩니다.

잠재적 영향

  • 키 유출: 하드코딩된 키가 유출되어 공격자가 암호화된 데이터를 복호화할 수 있습니다.

  • 데이터 유출: 민감한 데이터가 공격자에게 노출될 수 있습니다.

  • 보안 약화: 동일한 키를 여러 시스템에서 사용하면 전체 보안이 약화됩니다.

해결 방법

  • 환경 변수 사용: 암호화 키를 소스 코드에 하드코딩하지 않고 환경 변수로 설정합니다.

  • 안전한 키 관리: 암호화 키는 안전하게 저장하고 접근을 제한합니다.

  • 보안 라이브러리 사용: 검증된 보안 라이브러리를 사용하여 암호화 키를 안전하게 관리합니다.

취약한 코드 및 안전한 코드 예시

AES encryption

취약한 코드

안전한 코드

설명:

  • 취약한 코드: 암호화 키가 하드코딩되어 있어 키 유출 시 심각한 보안 위험이 있습니다.

  • 안전한 코드: 환경 변수에서 키를 가져와 암호화에 사용하여 키 유출 위험을 줄입니다.

RSA encryption

취약한 코드

안전한 코드

설명:

  • 취약한 코드: RSA 개인 키가 하드코딩되어 있어 키 유출 시 심각한 보안 위험이 있습니다.

  • 안전한 코드: 환경 변수에서 키를 가져와 암호화에 사용하여 키 유출 위험을 줄입니다.

참조

Last updated