다음을 통해 공유


HardcodedIVCNG(Windows 드라이버 CodeQL 쿼리)

개요

IV(초기화 벡터)는 초기 상태를 제공하는 데 사용되는 암호화 기본 형식에 대한 입력입니다. IV는 일반적으로 임의 또는 의사(임의 체계)여야 하지만 경우에 따라 IV는 예측할 수 없거나 고유해야 합니다(상태 저장 체계).

임의화는 의미 체계 보안을 달성하기 위해 일부 암호화 체계에 매우 중요하며, 동일한 키에서 체계를 반복적으로 사용하면 공격자가 암호화된 메시지의 (잠재적으로 유사한) 세그먼트 간의 관계를 유추할 수 없는 속성입니다.

권장

모든 대칭 블록 암호화는 사용 중인 작업 모드에 따라 적절한 IV(초기화 벡터)와 함께 사용해야 합니다.

CBC와 같은 임의 체계를 사용하는 경우 BCryptGenRandom과 같은 암호화적으로 안전한 의사 난수 생성기를 사용하는 것이 좋습니다.

추가 정보

이 쿼리는 Microsoft GitHub CodeQL 리포지토리에서 찾을 수 있습니다. Windows 드라이버 개발자가 CodeQL을 다운로드하고 실행하는 방법에 대한 자세한 내용은 CodeQL 및 정적 도구 로고 테스트 페이지를 참조하세요.

추가 참조: