Se fornecermos uma tradução da versão em inglês do guia, a versão em inglês prevalecerá caso haja qualquer conflito entre as versões. A tradução é fornecida com o uso de tradução por máquina.
Referência do vetor de inicialização do SDK de criptografia da AWS
As informações nesta página são uma referência para criar sua própria biblioteca de criptografia compatível com o SDK de criptografia da AWS. Se você não está criando sua própria biblioteca de criptografia compatível, você provavelmente não precisa dessas informações. Para usar o SDK de criptografia da AWS em uma das linguagens de programação compatíveis, consulte Linguagens de programação. Para a especificação que define os elementos de uma implementação adequada do SDK
de criptografia da AWS, consulte a Especificação do SDK de criptografia da AWS no repositório aws-encryption-sdk-specification |
O SDK de criptografia da AWS fornece os vetores de inicialização
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 Número de sequência do quadro. Para a tag de autenticação de cabeçalho, esse valor é todo de zeros.
Antes da apresentação do armazenamento em cache de chaves de dados, o SDK de criptografia da AWS sempre usava uma nova chave de dados para criptografar cada mensagem e gerava todos os IVs aleatoriamente. Os IVs gerados aleatoriamente eram seguros criptograficamente porque as chaves de dados nunca eram reutilizadas. Quando o SDK apresentou o armazenamento em cache da chave de dados, que reutiliza intencionalmente as chaves de dados, alteramos a maneira como o SDK gera IVs.
O uso de IVs determinísticos que não podem ser repetidos em uma mensagem aumenta significativamente
o número de chamadas que podem ser executadas com segurança sob 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