11

Entiendo que a través de SSL, el navegador obtiene la clave pública del sitio web protegido y mediante el algoritmo de encriptación de clave pública, estos 2 establecen la clave de sesión y luego continúan la comunicación a través de algún algoritmo simétrico, porque el cifrado/descifrado de clave simétrica es más rápido. ¿Qué algoritmo de clave simétrica usa SSL? DES? AES? ¿o algo mas?¿Qué algoritmo de clave simétrica usa SSL?

+0

http://en.wikipedia.org/wiki/Secure_Sockets_Layer#TLS_handshake_in_detail –

+0

Para resumir lo que otros han dicho: hay varias opciones; lo que se usa en una conexión depende del cliente y servidor en particular. – Jumbogram

Respuesta

19

Cuando el cliente se conecta al servidor, se negocia un llamado conjunto de cifrado (combinación de cifrado, intercambio de claves, algoritmos de autenticación) para usar. Cada cliente o servidor SSL tiene una lista de conjuntos de cifrado permitidos y durante el protocolo de enlace, el cliente y el servidor negocian en qué sistema de cifrado se debe utilizar. A veces puede suceder que no haya un denominador común (los conjuntos de conjuntos de cifrado no se cruzan) y no se puede establecer la conexión.

Los algoritmos simétricos admitidos en SSL son DES, 3DES, ARCFOUR, AES, Camelia, RC2, IDEA, SEED, NULL (sin encriptación).

+0

has olvidado ARIA: http://tools.ietf.org/html/rfc6209 – Jumbogram

+0

@jumbogram gracias por señalar este RFC, de alguna manera me lo perdí. Debo señalar, sin embargo, que estrictamente hablando no es parte de TLS. El RFC es "informativo" en lugar de Sstandards Track y tiene un uso muy localizado (un país). También podría mencionar el GOST, popular en la antigua URSS, pero no se usa en ningún otro lado. –

5

Durante el establecimiento de la conexión (el "handshake"), el cliente y el servidor deciden sobre un "conjunto de cifrado" para usar. El conjunto de cifrado establece los algoritmos que se utilizan (acuerdo de clave asimétrica, cifrado simétrico y comprobación de integridad). En detalles, el cliente envía una lista de las suites de cifrado que admite, y el servidor selecciona una de ellas, que también es compatible. Normalmente, el servidor selecciona la primera suite que admite entre las enviadas por el cliente (en otras palabras, el orden de las suites en el mensaje del cliente es su "orden de preferencia" y el servidor generalmente respeta las preferencias del cliente).

Por ejemplo, la suite de cifrado TLS_RSA_WITH_3DES_EDE_CBC_SHA significa que la clave de sesión se transmitirá con RSA (cifrado asimétrico, utilizando la clave pública RSA del certificado del servidor), los datos se cifrarán simétricamente con 3DES y la comprobación de integridad se realizará usa la función hash SHA-1. Consulte el TLS specification para ver la lista de suites de cifrado estándar (otras suites se agregaron más adelante, en particular algunas con AES).

Cuestiones relacionadas