[Anterior]

[Tabla de Contenidos]

[Siguiente]

Conceptos basicos de TLS

 

El Protocolo de TLS se compone de dos capas:

 

El Record Protocol

Se encuentra a un nivel más bajo sobre un protocolo de transporte fiable (por ejemplo : TCP), proporcionando una conexión segura y privada. Usa criptografía simétrica para la encriptación de los datos (por ejemplo : DES, RC4, etc.), pero puede utilizarse sin la encriptación.
El transporte del mensaje usa un mensaje de chequeo de integridad que utiliza un MAC (Message Authentication Code) con clave, usando funciones de hash seguras como SHA y MD5, pero puede operar sin usarla.
Este protocolo se usa para la encapsulación de varios protocolos de más alto nivel : HandShake Protocol y el protocolo de la aplicación.
Fundamentalmente se encarga de tomar los mensajes a ser transmitidos, fragmenta los datos en bloques manejables, opcionalmente comprime los datos, aplica una MAC, encripta y transmite el resultado. El dato recibido es desencriptado, verificado, descomprimido y reensamblado, entregándose a los clientes en niveles más altos. Este proceso se lleva a cabo mediante el uso de cuatro estados posibles de conexión : el estado de lectura actual, el estado de escritura actual, el estado pendiente de lectura y el estado pendiente de escritura. Cada estado especifica el algoritmo de compresión, el algoritmo de encriptación y el algoritmo de MAC, junto con el MAC con clave, el tamaño de las claves de encriptación y los IVs (Initialization Vector).

 

El Handshake Protocol

Este protocolo involucra el uso del Record Protocol de TLS para intercambiar una serie de mensajes entre un servidor TLS-enabled y un cliente TLS-enabled al comienzo de una conexión TLS. Este intercambio de mensajes se diseñó para permitir las siguientes acciones:

La autenticación del servidor por parte del cliente.
Permitir que el cliente y el servidor seleccionen los algoritmos criptográficos, o ciphers, que ambos puedan soportar.
La autenticación opcional del cliente por parte del servidor.
Usar técnicas de encriptación de clave pública para generar secretos compartidos.
Establecer una conexión TLS encriptada.

 

Varias operaciones en el Record Protocol de TLS y el Handshake Protocol requieren el uso de un MAC con clave. Intentar falsificar el MAC es imposible sin conocer el secreto del MAC. La construcción que usa el protocolo para estas operaciones es conocida como HMAC [2]. TLS lo usa en el Handshake Protocol con dos algoritmos de hash diferentes: MD5 y SHA.

Además, se requiere una construcción para hacer expansión del secreto en los bloques de datos con el proposito de hacer generación o validación de claves. En este sentido el protocolo define una Pseudo-Random Function (PRF).

Para encriptar los datos, el Record Protocol utiliza alguno de los siguientes algoritmos de criptografia simétrica: RC4, DES, IDEA,.

Para realizar el intercambio de claves, el Record Protocol utiliza los siguientes algoritmos: RSA, Diffie Hellman.


[Anterior]

[Tabla de Contenidos]

[Siguiente]
1