¿AES usa el mismo riesgo de seguridad de Nonce?

4

Si uso AES-GCM y cifro los datos con una clave de 128 bits y siempre uso el mismo Nonce.

¿Está utilizando el mismo riesgo un riesgo de seguridad? ¿Puede un hacker adivinar la clave? ¿O es el Nonce solo para verificar que el mensaje no fue dañado?

Especialmente si cifro / almaceno pequeñas cantidades de texto como en un diccionario:

a
aa
b 
bb
c
cc
...

Gracias

    
pregunta John Smith 13.09.2016 - 22:37
fuente

3 respuestas

20

Cuando se usa AES-GCM, usar el mismo nonce y el mismo par de teclas para múltiples mensajes es catastrófico. Pierde todas las garantías de seguridad que AES debe proporcionar. Este es el peor escenario posible que podrías crear. Es crítico cuando se usa AES-GCM que el nonce nunca se repita para cualquier clave dada. La mejor manera de garantizar esto es utilizar un PRNG criptográficamente sólido para generar un nuevo nonce de 96 bits para cada mensaje y volver a teclear a intervalos razonablemente regulares, donde "razonablemente regular" se define por la cantidad de datos y cuántos mensajes. estas encriptando

    
respondido por el Xander 13.09.2016 - 22:49
fuente
3

Consulte NIST publicaton SP 800-38A para obtener información sobre las mejores prácticas. para usar un 'nonce' como IV.

  

Hay dos métodos recomendados para generar IV impredecibles.   El primer método es aplicar la función de cifrado directo, bajo la   La misma clave que se utiliza para el cifrado del texto plano, a un nonce.   El nonce debe ser un bloque de datos que sea único para cada ejecución del   Operación de encriptación. Por ejemplo, el nonce puede ser un contador, como   descrito en el Apéndice B, o un número de mensaje. El segundo método es   generar un bloque de datos aleatorios utilizando un número aleatorio aprobado por FIPS   generador.

En lo que respecta al modo AES-GCM (modo Galois / contador); como se cita en el artículo publicado por NIST de David A McGrew & John Viega.

  

El propósito principal de la IV es ser un nonce, es decir, ser   distinta para cada invocación de la operación de cifrado para un fijo   llave. Es aceptable que la IV se genere de forma aleatoria, siempre que   la distinción de los valores IV es muy probable.

Y, por supuesto, la obvia definición obligatoria de un nonce .

    
respondido por el jas- 14.09.2016 - 02:21
fuente
3

AES-GCM es un cifrado de flujo autenticado.

El nonce se usará para la clave del cifrado de flujo, y la primera regla de los cifrados de flujo es que no hable de cifrado de flujo nunca use la misma clave / IV dos veces.

Ignorar esta regla lleva a fallas catastróficas en cifrado.

Por otra parte, el nonce también se utilizará para evitar ataques de "repetición" en la parte de autenticación del cifrado. Así que incluso si mágicamente evitó debilitar directamente el cifrado reutilizando el nonce, todavía estaría debilitando la autenticación y, en consecuencia, el cifrado.

    
respondido por el GnP 14.09.2016 - 01:06
fuente

Lea otras preguntas en las etiquetas