Usando ChaCha20 sin Poly1305

0

Haciendo algunas conferencias para elegir una buena configuración para mi certificado SSL para mi sitio web (usando una configuración LAMP regular), me pregunto ¿cuáles son las alternativas posibles y seguras a poly1305 usando el cifrado de flujo ChaCha20?

¿Y por qué no puedo oír hablar de ChaCha20 sin Poly1305?

    
pregunta NSA 26.07.2016 - 17:08
fuente

1 respuesta

1

ChaCha20 y Salsa20 son cifrados de flujo. Su propósito es proporcionar confidencialidad siempre que la clave utilizada para sembrarlos permanezca secreta. Sin embargo, Poly1305 es un Código de autenticación de mensajes (MAC), que se supone que proporciona integridad y autenticidad para los mensajes enviados.

En general, debería ser posible usarlos por separado, ya que no parecen depender uno del otro (Poly1305 puede, y, en lo que respecta a TLS, usar ChaCha20 como un cifrado subyacente, sin embargo). Por ejemplo, la biblioteca criptográfica NaCl le permite realizar el cifrado utilizando Salsa20, la autenticación utilizando Poly1305 o el cifrado autenticado utilizando ambos esquemas.

Sin embargo, no es posible usarlos por separado con TLS. La razón de esto es que TLS usa un esquema para identificar las combinaciones de algoritmo de intercambio de clave / cifrado / MAC llamado "conjuntos de cifrado". Como un cliente siempre envía todos los conjuntos de cifrado que admite en cada paquete "Cliente Hola" (el primer paquete necesario para establecer una conexión TLS), todos los conjuntos de cifrado posibles están predefinidos, por lo que un ID de 2 bytes es suficiente para representar un solo cifrado suite.

Como indica el RFC7539, las razones principales para incluir la posibilidad de usar ChaCha20 y Poly1305 son tener una alternativa a AES en caso de que se encuentren puntos débiles y tener una alternativa rápida para usar en hardware lento [Página 2].

Puede ver todas las suites de cifrado definidas y sus representaciones en IANA Especificación del parámetro TLS . O bien, eche un vistazo a RFC7539 (enlace al comentario de schroeder en su publicación), que especifica todos los conjuntos de cifrado posibles usando ChaCha / Poly.

    
respondido por el Marco H. 27.07.2016 - 09:50
fuente

Lea otras preguntas en las etiquetas