Compartir a través de


Protocolo de protocolo de enlace TLS

El protocolo de enlacede seguridad de la capa de transporte (TLS)es responsable de la autenticación y el intercambio de claves necesarios para establecer o reanudar sesiones seguras. Al establecer una sesión de segura, el protocolo de protocolo de enlace administra lo siguiente:

  • Negociación del conjunto de cifrado
  • Autenticación del servidor y, opcionalmente, el cliente
  • Intercambio de información de clave de sesión.

Negociación del conjunto de cifrado

El cliente y el servidor hacen contacto y eligen el conjunto de cifrado que se usará a lo largo de su intercambio de mensajes.

Autenticación

En TLS, un servidor demuestra su identidad al cliente. Es posible que el cliente también tenga que demostrar su identidad en el servidor. PKI, el uso de pares de claves públicas y privadas, es la base de esta autenticación. El método exacto utilizado para la autenticación viene determinado por el conjunto de cifrado negociado.

Intercambio de claves

El cliente y el servidor intercambian números aleatorios y un número especial denominado Secreto premaestro. Estos números se combinan con datos adicionales que permiten al cliente y al servidor crear su secreto compartido, denominado Secreto maestro. El cliente y el servidor usan el secreto maestro para generar el secreto MAC de escritura, que es la clave de sesión que se usa para hash y la clave de escritura, que es la clave de sesión que se usa para el cifrado.

Establecimiento de una sesión segura mediante TLS

El protocolo de protocolo de enlace TLS implica los pasos siguientes:

  1. El cliente envía un mensaje "Client hello" al servidor, junto con el valor aleatorio del cliente y los conjuntos de cifrado admitidos.
  2. El servidor responde enviando un mensaje "Server hello" al cliente, junto con el valor aleatorio del servidor.
  3. El servidor envía su certificado al cliente para la autenticación y puede solicitar un certificado del cliente. El servidor envía el mensaje "Server hello done".
  4. Si el servidor ha solicitado un certificado del cliente, el cliente lo envía.
  5. El cliente crea un secreto premaestro aleatorio y lo cifra con la clave pública desde el certificado del servidor, enviando el secreto premaestro cifrado al servidor.
  6. El servidor recibe el secreto premaestro. Cada servidor y cliente generan el secreto maestro y las claves de sesión de en función del secreto premaestro.
  7. El cliente envía la notificación "Cambiar especificación de cifrado" al servidor para indicar que el cliente empezará a usar las nuevas claves de sesión de para hashing y cifrar mensajes. El cliente también envía el mensaje "Cliente terminado".
  8. El servidor recibe "Cambiar especificación de cifrado" y cambia su estado de seguridad de capa de registro para cifrado simétrico mediante las claves de sesión de . El servidor envía el mensaje "Server finished" al cliente.
  9. El cliente y el servidor ahora pueden intercambiar datos de aplicación a través del canal protegido que han establecido. Todos los mensajes enviados desde el cliente al servidor y desde el servidor al cliente se cifran mediante la clave de sesión.

Reanudación de una sesión segura mediante TLS

  1. El cliente envía un mensaje "Client hello" mediante el identificador de sesión de la sesión que se va a reanudar.

  2. El servidor comprueba su caché de sesión para obtener un identificador de sesión coincidente. Si se encuentra una coincidencia y el servidor puede reanudar la sesión, envía un mensaje "Server hello" con el identificador de sesión.

    Nota

    Si no se encuentra una coincidencia de identificador de sesión, el servidor genera un nuevo identificador de sesión y el cliente TLS y el servidor realizan un protocolo de enlace completo.

     

  3. El cliente y el servidor deben intercambiar mensajes de "Cambiar especificación de cifrado" y enviar mensajes "El cliente finalizó" y "El servidor finalizó".

  4. El cliente y el servidor ahora pueden reanudar el intercambio de datos de la aplicación a través del canal seguro.