AWS Encryption SDK referencia vectorial de inicialización - AWS Encryption SDK

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

AWS Encryption SDK referencia vectorial de inicialización

La información de esta página le servirá de referencia para crear su propia biblioteca de cifrado compatible con el AWS Encryption SDK. Si no está creando su propia biblioteca de cifrado compatible, es probable que no necesite esta información.

Para utilizarla AWS Encryption SDK en uno de los lenguajes de programación compatibles, consulteLenguajes de programación.

Para ver la especificación que define los elementos de una AWS Encryption SDK implementación adecuada, consulte la AWS Encryption SDK especificación en GitHub.

AWS Encryption SDK Proporciona los vectores de inicialización (IV) que requieren todos los conjuntos de algoritmos compatibles. El SDK utiliza números secuenciales con trama para construir un IV de tal forma que no puede haber dos tramas en el mismo mensaje que tengan el mismo IV.

Cada IV de 96 bits (12 bytes) se crea a partir de dos matrices de bytes big-endian concatenadas en el orden que se indica a continuación:

  • 64 bits: 0 (reservado para uso futuro)

  • 32 bits: número secuencial de la trama. Para la etiqueta de autenticación del encabezado, este valor es todo ceros.

Antes de la introducción del almacenamiento en caché de claves de datos, el AWS Encryption SDK utilizaba siempre una clave de datos nueva para cifrar cada mensaje y generaba los IV de forma aleatoria. Los IV generados de forma aleatoria eran seguros desde el punto de vista criptográfico porque nunca se reutilizaban las claves de datos. Cuando el SDK introdujo de almacenamiento en caché de claves de datos, que reutiliza deliberadamente las claves de datos, se modificó la manera de generar los IV en el SDK.

El uso de IV deterministas que no se pueden repetir dentro de un mismo mensaje aumenta de manera significativa el número de invocaciones que pueden ejecutarse de forma segura con una sola clave de datos. Además, las claves de datos que se almacenan en caché siempre utilizan un conjunto de algoritmos con una función de derivación de clave. El uso de un IV determinista con una función de derivación de claves pseudoaleatorias para obtener claves de cifrado a partir de una clave de datos permite cifrar 2^32 mensajes sin AWS Encryption SDK sobrepasar los límites criptográficos.