AWS Encryption SDK referência vetorial de inicialização - AWS Encryption SDK

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

AWS Encryption SDK referência vetorial de inicialização

As informações nesta página são uma referência para criar sua própria biblioteca de criptografia compatível com o AWS Encryption SDK. Se você não estiver criando sua própria biblioteca de criptografia compatível, provavelmente não precisará dessas informações.

Para usar o AWS Encryption SDK em uma das linguagens de programação suportadas, consulteLinguagens de programação.

Para a especificação que define os elementos de uma AWS Encryption SDK implementação adequada, consulte a AWS Encryption SDK Especificação em GitHub.

O AWS Encryption SDK fornece os vetores de inicialização (IVs) que são exigidos por todos os conjuntos de algoritmos compatíveis. O SDK usa números sequenciais de molduras para construir um IV, de forma que duas molduras na mesma mensagem não podem ter o mesmo IV.

Cada IV de 96 bits (12 bytes) é construído a partir de duas matrizes de bytes big-endian concatenadas na seguinte ordem:

  • 64 bits: 0 (reservado para uso futuro)

  • 32 bits: o número sequencial da moldura. Para a tag de autenticação de cabeçalho, esse valor é todo de zeros.

Antes da introdução do armazenamento em cache de chaves de dados, AWS Encryption SDK sempre usavam uma nova chave de dados para criptografar cada mensagem e ela gerava tudo IVs aleatoriamente. Gerados aleatoriamente IVs eram criptograficamente seguros porque as chaves de dados nunca eram reutilizadas. Quando o SDK introduziu o armazenamento em cache de chaves de dados, que reutiliza intencionalmente as chaves de dados, mudamos a forma como o SDK é gerado. IVs

Usar determinística IVs que não pode ser repetida em uma mensagem aumenta significativamente o número de invocações que podem ser executadas com segurança em uma única chave de dados. Além disso, as chaves de dados que são armazenadas em cache sempre usam um pacote de algoritmos com uma função de derivação de chaves. Usar um IV determinístico com uma função de derivação de chave pseudo-aleatória para derivar chaves de criptografia de uma chave de dados permite AWS Encryption SDK criptografar 2^32 mensagens sem exceder os limites criptográficos.