Compartilhar via


HardcodedIVCNG (Consulta CodeQL de driver do Windows)

Visão geral

Um IV (vetor de inicialização) é uma entrada para um primitivo criptográfico que está sendo usado para fornecer o estado inicial. O IV é normalmente necessário que seja aleatório ou pseudorrandômico (esquema randomizado), mas às vezes um IV só precisa ser imprevisível ou único (esquema com estado).

A randomização é crucial para que alguns esquemas de criptografia obtenham segurança semântica, uma propriedade pela qual o uso repetido do esquema sob a mesma chave não permite que um invasor infera relações entre segmentos (potencialmente semelhantes) da mensagem criptografada.

Recomendação

Todas as criptografias de bloco simétrico também devem ser usadas com um IV (vetor de inicialização) apropriado de acordo com o modo de operação que está sendo usado.

Se estiver usando um esquema aleatório como CBC, é recomendável usar um gerador de número pseudorandom criptograficamente seguro, como BCryptGenRandom.

Detalhes adicionais

Essa consulta pode ser encontrada no repositório CodeQL do Microsoft GitHub. Consulte a página CodeQL e o Teste do Logotipo das Ferramentas Estáticas para obter detalhes sobre como os desenvolvedores de Drivers do Windows podem baixar e executar o CodeQL.

Referências Adicionais: