Escogiendo conjuntos de cifrado para HTTPS

7

Estoy tratando de encontrar el mejor enfoque para elegir qué conjuntos de cifrado proporcionar y cuáles podrían ser los problemas.

Tengo entendido que durante el protocolo de enlace SSL, el cliente (normalmente) elegirá los algoritmos más seguros que son compatibles con ambos extremos. ¿Pero cuáles son las implicaciones de hacer que los algoritmos de baja resistencia estén disponibles? La negociación seguramente no se puede cifrar, por lo tanto, ¿podría un MITM forzar una conexión con el conjunto de cifrado común más débil?

    
pregunta symcbean 11.09.2012 - 15:11
fuente

2 respuestas

11

El cliente sugiere pero el servidor elige . El cliente envía una lista de las suites de cifrado que admite (y está dispuesta a usar). Se supone que esta lista debe ordenarse por preferencia. El servidor responde eligiendo un conjunto de cifrado en esta lista. Los servidores de buen comportamiento intentan seguir las preferencias de los clientes, pero eso no es realmente obligatorio. En última instancia, el servidor elige.

Al final del protocolo de enlace, se envían los mensajes Finished , que están encriptados y en MAC con los secretos negociados. El contenido de estos mensajes son valores hash calculados sobre los mensajes completos de intercambio, incluida la lista de conjuntos de cifrado admitidos por el cliente. Esto significa que un MitM no puede alterar esa lista sin ser atrapado en algún momento.

(Sin embargo, esto no es del todo cierto en presencia de TLS FalseStart : se podría convencer al cliente de que envíe su solicitud con la suite de cifrado más débil que admite. Pero la verdadera debilidad aquí es que el cliente está dispuesto a admitir una suite de cifrado débil, no que un atacante MitM tenga algún nivel de control. en la elección de la suite de cifrado. Incluso con FalseStart, la alteración externa por parte del atacante será detectada por el servidor y la solicitud no se cumplirá, y mucho menos se responderá a).

(SSLv2 no incluyó la lista de suites de cifrado en sus mensajes finalizados y se ha considerado como uno de los "grandes defectos" de SSLv2).

    
respondido por el Thomas Pornin 11.09.2012 - 15:56
fuente
0

Si está preocupado por el uso de recursos y no tiene una CPU habilitada para AES-NI junto con el software compatible, use RC4. Google usa RC4 para la mayoría si no todos los servicios. Si tiene soporte AES-NI a lo largo de la cadena de hardware y software, entonces use AES-256.

    
respondido por el Matrix 11.09.2012 - 18:32
fuente

Lea otras preguntas en las etiquetas