Partilhar via


HardcodedIVCNG (Consulta CodeQL do Driver do Windows)

Visão geral

Um vetor de inicialização (IV) é uma entrada para uma primitiva criptográfica que está sendo usada para fornecer o estado inicial. O IV é tipicamente necessário ser aleatório ou pseudoaleatório (esquema randomizado), mas às vezes um IV só precisa ser imprevisível ou único (esquema stateful).

A aleatorização é crucial para alguns esquemas de encriptação alcançarem segurança semântica, uma propriedade em que a utilização repetida do esquema sob a mesma chave não permite que um atacante infera relações entre segmentos (potencialmente semelhantes) da mensagem encriptada.

Recomendação

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

Se estiver usando um esquema randomizado como o CBC, recomenda-se usar um gerador de números pseudoaleatórios criptograficamente seguro, como BCryptGenRandom.

Detalhes Adicionais

Esta consulta pode ser encontrada no repositório Microsoft GitHub CodeQL. Consulte a página CodeQL e Teste de logotipo de ferramentas estáticas para obter detalhes sobre como os desenvolvedores de drivers do Windows podem baixar e executar o CodeQL.

Referências Adicionais: