¿Es posible crear una nueva clave para el cifrado simétrico de cada mensaje en lugar de negociar una sesión de larga duración?

2

El método normal de proporcionar un canal encriptado parece ser negociar una clave de sesión (usando Diffie Hellman o similar), luego usar esta clave para una sesión de larga duración. Incluso la IPSec que está basada en mensajes negocia primero una clave que luego se usa para muchos mensajes individuales.

¿Cuáles son las razones en contra de que cada mensaje individual sea cifrado usando un cifrado simétrico, con su única clave de cifrado derivada del mensaje, utilizando Diffie Hellman, cifrada usando RSA, etc. ¿Se debe simplemente a una mayor complejidad computacional al derivar esta clave frente a descifrar el cifrado simétrico utilizando una clave conocida, o existen otras razones para ello?

    
pregunta Amanda West 07.01.2015 - 23:40
fuente

1 respuesta

1

La razón principal es que no es necesario: no hay ninguna razón real por la que crearía una nueva clave para cada mensaje, porque usar una clave para todos los mensajes es perfectamente seguro con los algoritmos de cifrado modernos. . Si bien no puede usar una clave para demasiados datos, con AES "demasiado" es 256 exabytes (eso es alrededor de 256 millones de terabytes), que es mucho más información de la que realmente usa una sesión clave para. El uso de una tecla para una sesión completa no hace que sea más fácil para un atacante recuperar la clave para sesiones realistas.

No estoy seguro de qué quiere decir con "derivar una clave usando Diffie-Hellman" o "encriptado usando RSA", pero supongo que quiere decir renegociar la clave que envían todos los mensajes (es decir, ambas partes se comunican para negociar una nueva clave, "derivar" es una palabra extraña para usar, porque generalmente se refiere a algo computado en un extremo sin tener que hablar con el otro. La renegociación de una clave para cada mensaje no se realiza porque es una pérdida de tiempo. La negociación de claves lleva unos pocos mensajes de ida y vuelta, y es algo lenta (implica al menos un algoritmo asimétrico, y un rasgo común de los algoritmos asimétricos es que son lentos).

Para las derivaciones , si bien es posible, realmente no hay necesidad de hacerlo y, de nuevo, agrega complejidad. No puede derivar su clave para un mensaje del texto sin formato de ese mensaje por razones obvias (el otro extremo no sabe ese texto sin formato hasta que lo descifra con la clave). Puede derivar una clave única para cada mensaje de una clave maestra (esto es común en los sistemas de procesamiento de pagos), pero no es necesario en las comunicaciones típicas, y no se hace para dificultar la recuperación de una clave de transacción (así se hace que recuperar una clave de transacción no le permite descifrar todas las transacciones).

    
respondido por el cpast 08.01.2015 - 00:26
fuente

Lea otras preguntas en las etiquetas