Estaba leyendo sobre el encadenamiento de bloques de cifrado basado en nonce (CBC), y el autor observó cómo en la historia de TLS, el nonce no estaba cifrado antes de convertirse en un vector de inicialización (IV), lo que lleva a una IV predecible y, por tanto, liderando importante ataque en TLS.
También se observó que, dado que SSL podía confiar en TCP para entregar los paquetes en orden, el nonce también se podía dejar fuera de la carga útil, dejado como implícito del estado de la conexión, dejándolo no elegido. Ataque de texto sin formato ( CPA) seguro.
Leer más sobre cómo TLS usa un nonce me llevó a la pregunta titulada nonce in SSL/TLS handshake
. Donde encontré un comentario interesante de @Lekensteyn:
En TLS 1.2 y anteriores, el campo Aleatorio de los mensajes de saludo del cliente y del servidor tiene una parte de bytes aleatoria y una marca de tiempo. El propósito de la marca de tiempo es aumentar la posibilidad de tener un valor único incluso si el generador de números aleatorios tiene fallas y produce bytes aleatorios duplicados.
Sin embargo, esta no es la práctica actual, las implementaciones modernas de TLS simplemente envían una secuencia completamente aleatoria debido a problemas de privacidad (pérdida de la hora local). Por esta razón, la parte de tiempo se ha eliminado en el borrador de TLS 1.3.
Me gustaría saber un poco más sobre esta historia de este problema anterior, y quizás filtrar la hora local. Busqué el repositorio de github ( enlace ) para el borrador de TLS 1.3, pero no encontré ninguna discusión sobre este tema. Si sabe más o puede citar dónde específicamente en un logro podría leer más, me encantaría escucharlo aquí.