domingo, 8 de octubre de 2017

PROTOCOLO TLS


El protocolo TLS (Transport Layer Security) es una evolución del protocolo SSL (Secure Sockets Layer), es un protocolo mediante el cual se establece una conexión segura por medio de un canal cifrado entre el cliente y servidor.
Normalmente el servidor es el único que es autenticado, garantizando así su identidad, pero el cliente se mantiene sin autenticar, ya que para la autenticación mútua se necesita una infraestructura de claves públicas (o PKI) para los clientes.
Estos protocolos permiten prevenir escuchas (eavesdropping), evitar la falsificación de la identidad del remitente y mantener la integridad del mensaje en una aplicación cliente-servidor.

DESCRIPCIÓN DEL PROTOCOLO
El protocolo SSL/TSL se basa en tres fases básicas:
Negociación: Los dos extremos de la comunicación (cliente y servidor) negocian que algoritmos criptográficos utilizarán para autenticarse y cifrar la información. Actualmente existen diferentes opciones:
Para criptografía de clave pública: RSA, Diffie-Hellman, DSA (Digital Signature Algorithm).
Para cifrado simétrico: RC2, RC4, IDEA (International Data Encryption Algorithm), DES (Data Encryption Standard), Triple DES o AES (Advanced Encryption Standard).
Con funciones hash: MD5 o de la familia SHA.
Autenticación y Claves: Los extremos se autentican mediante certificados digitales e intercambian las claves para el cifrado, según la negociación.
Transmisión Segura: los extremos pueden iniciar el tráfico de información cifrada y autentica.


OBJETIVOS DEL PROTOCOLO TLS
Los objetivos del protocolo son varios:
Seguridad criptográfica. El protocolo se debe emplear para establecer una conexión segura entre dos partes.
Interoperabilidad. Aplicaciones distintas deben poder intercambiar parámetros criptográficos sin necesidad de que ninguna de las dos conozca el código de la otra.
Extensibilidad. El protocolo permite la incorporación de nuevos algoritmos criptográficos.
Eficiencia. Los algoritmos criptográficos son costosos computacionalmente, por lo que el protocolo incluye un esquema de cache de sesionespara reducir el número de sesiones que deben inicializarse desde cero (usando criptografía de clave pública).


FUNCIONAMIENTO DEL PROTOCOLO TLS

El protocolo está dividido en dos niveles:

1. Protocolo de registro TLS (TLS Record Protocol).
2. Protocolo de mutuo acuerdo TLS (TLS Handshake Protocol).


El de más bajo nivel es el Protocolo de Registro, que se implementa sobre un protocolo de transporte fiable como el TCP. El protocolo proporciona seguridad en la conexión con dos propiedades fundamentales:

La conexión es privada. Para encriptar los datos se usan algoritmos de cifrado simétrico. Las claves se generan para cada conexión y se basan en un secreto negociado por otro protocolo (como el de mutuo acuerdo). El protocolo también se puede usar sin encriptación.
La conexión es fiable. El transporte de mensajes incluye una verificación de integridad.
El Protocolo de mutuo acuerdo, proporciona seguridad en la conexión con tres propiedades básicas:
La identidad del interlocutor puede ser autentificada usando criptografía de clave pública. Esta autentificación puede ser opcional, pero generalmente es necesaria al menos para uno de los interlocutores.
La negociación de un secreto compartido es segura.
La negociación es fiable, nadie puede modificar la negociación sin ser detectado por los interlocutores.
Esquema de operación del protocolo de mutuo acuerdo (TLS Handshake Protocol)
Informacion Segura

La comunicación entre los nodos CLIENTE SERVIDOR está basada en el intercambio de mensajes. En cada mensaje existe un campo (content_type) donde se especifica el protocolo de nivel superior utilizado. Estos mensajes pueden ser comprimidos, cifrados y empaquetados con un código de autentificación del mensaje (MAC).

PROTOCOLO TLS El protocolo TLS (Transport Layer Security) es una evolución del protocolo SSL (Secure Sockets Layer), es un protocolo ...