Contenido principal
Principios de ciencias de la computación avanzados (AP Computer Science Principles)
Curso: Principios de ciencias de la computación avanzados (AP Computer Science Principles) > Unidad 7
Lección 6: Protocolos seguros de InternetSeguridad de la capa de transporte (TLS)
Las computadoras envían paquetes de datos a través de Internet. Estos paquetes son como cartas en un sobre: un fisgón puede leer fácilmente los datos dentro de ellos. Si esos datos son información pública como un artículo de noticias, no es ningún problema. Pero si esos datos son una contraseña, un número de tarjeta de crédito o un correo electrónico confidencial, entonces sí es arriesgado permitir que cualquiera vea esos datos.
El protocolo Transport Layer Security (TLS) añade una capa de seguridad sobre los protocolos de transporte TCP/IP. TLS usa cifrado simétrico y cifrado de llave pública para enviar datos privados de forma segura, y añade características de seguridad adicionales, como autenticación y detección de manipulación de mensajes.
TLS agrega más pasos al proceso de enviar datos con TCP/IP, lo que aumenta la en las comunicaciones de Internet. Sin embargo, la latencia adicional vale la pena por los beneficios de seguridad resultantes
(Observa que TLS sustituyó a un protocolo antiguo llamado SSL, por lo que los términos TLS y SSL se utilizan a menudo de forma intercambiable.)
De principio a fin
Vayamos paso a paso por el proceso de envío seguro de datos con TLS de una computadora a otra. Llamaremos a la computadora que envía el cliente y a la computadora receptora el servidor.
Apretón de manos de TCP
Dado que TLS está construido sobre TCP/IP, el cliente primero debe completar el apretón de manos de 3 vías de TCP con el servidor.
Iniciación de TLS
El cliente debe notificar al servidor que desea una conexión TLS en vez de la conexión no segura estándar, así que envía un mensaje para describir qué versión del protocolo TLS y qué técnicas de cifrado quiere usar.
Confirmación del protocolo por el servidor
Si el servidor no provee las tecnologías solicitadas por el cliente, abortará la conexión. Esto puede suceder si un cliente moderno está tratando de comunicarse con un servidor antiguo.
Mientras que el servidor sea compatible con la versión de protocolo TLS y otras opciones, responderá con una confirmación, junto con un certificado digital que contiene su llave pública.
Verificación de certificado
El certificado digital del servidor es la manera de decir: "Sí, realmente soy quien piensas que soy". Si el cliente no cree que el certificado es legal, abortará la conexión, ya que no quiere enviar datos privados a un impostor.
De lo contrario, si el cliente puede verificar el certificado, continuará al siguiente paso.
Generación de llaves compartidas
El cliente ahora conoce la llave pública del servidor, y teóricamente puede usar cifrado de llave pública para cifrar datos que el servidor puede entonces descifrar con su correspondiente llave privada.
Sin embargo, el cifrado de llave pública toma mucho más tiempo que el cifrado simétrico debido a las operaciones aritméticas más difíciles involucradas. Cuando sea posible, las computadoras prefieren usar cifrado simétrico para ahorrar tiempo.
¡Afortunadamente, sí pueden! Las computadoras pueden primero usar cifrado de llave pública para generar una llave compartida privadamente, y entonces pueden usar el cifrado simétrico con esa llave en mensajes futuros.
El cliente comienza ese proceso enviando un mensaje al servidor con una llave pre-master cifrada con la llave pública del servidor. El cliente calcula la llave compartida basada en esa llave pre-master (lo que es más seguro que enviar la llave compartida) y recuerda localmente la llave compartida.
El cliente también envía un mensaje "Finished" cuyo contenido está cifrado con la llave compartida.
Confirmación por el servidor de la llave compartida
El servidor ahora puede calcular la llave compartida basada en la llave pre-master e intentar descifrar el mensaje "Finished" con esa llave. Si falla, aborta la conexión.
Siempre que el servidor pueda descifrar con éxito el mensaje del cliente con la llave compartida, envía un mensaje de confirmación y su propio mensaje "Finished" con contenido cifrado.
Envío seguro de datos
Finalmente, el cliente envía de manera segura los datos privados al servidor, con cifrado simétrico y la llave compartida.
A menudo, el mismo cliente necesita enviar datos a un servidor varias veces, como cuando un usuario llena formas en múltiples páginas de un sitio web. En ese caso, las computadoras pueden usar un proceso abreviado para establecer la sesión segura.
TLS en todos lados
TLS se usa para muchas formas de comunicación segura en Internet, como el envío seguro de correo electrónico y la carga segura de archivos. Sin embargo, es más conocido por su uso en la navegación segura de sitios web (HTTPS).
TLS proporciona una capa segura sobre TCP/IP, gracias al uso de la llave pública y el cifrado simétrico, y es cada vez más necesario para proteger los datos privados que vuelan a través de Internet.
🙋🏽🙋🏻♀️🙋🏿♂️¿TIenes alguna pregunta sobre este tema? ¡Nos encantaría responderte; tan solo pregunta en el área de preguntas más abajo!
¿Quieres unirte a la conversación?
- Nota: TLS o seguridad de la capa de transporte, es una capa mas para los protocolos TCP/IP, en base a seguridad de datos en linea, manteniendo un cifrado simétrico y de llave publica.
El proceso va así:
1. El cliente y el servidor tienen un apretón de manos.
2. El cliente especifica la versión TLS que se quiere usar.
3. El servidor manda el certificado digital.
4. El cliente revisa el certificado.
5. Ambos generan una llave compartida.
6. El cliente manda datos cifrados con la llave.(4 votos)