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).