Documentos de Académico
Documentos de Profesional
Documentos de Cultura
FUOC ·
• XP04/90789/00892
P03/75070/02123 58 Mecanismos de protección
En este apartado hablaremos de les características comunes a SSL 3.0 y TLS 1.0,
con algún detalle particular a las diferencias entre ellos. La mayoría de ref-
erencias a los “protocolos SSL/TLS” se deben entender aplicables también a
WTLS.
FUOC
FUOC ·
• XP04/90789/00892
P03/75070/02123 59 Mecanismos de protección
El objetivo inicial del diseño del protocolo SSL fue proteger las conexiones
entre clientes y servidores web con el protocolo HTTP. Esta protección debía
permitir al cliente asegurarse que se había conectado al servidor auténtico,
y enviarle datos confidenciales, como por ejemplo un número de tarjeta de
crédito, con la confianza que nadie más que el servidor sería capaz de ver
estos datos.
Con este fin se desarrolló una interfaz de acceso a los servicios del nivel de
Datagramas en WTLS
transporte basada en la interfaz estándar de los sockets. En esta nueva inter-
faz, funciones como connect, accept, send o recv fueron sustituidas Una característica
distintiva del WTLS es
por otras equivalentes pero que utilizaban un protocolo de transporte seguro: que no solamente permite
SSL_connect, SSL_accept, SSL_send, SSL_recv, etc. El diseño se proteger conexiones TCP,
como hacen SSL y TLS, si
realizó de tal modo que cualquier aplicación que utilizara TCP a través de las no que también define un
mecanismo de protección
llamadas de los sockets podía hacer uso del protocolo SSL solamente cam- para las comunicaciones
biando estas llamadas. De aquí proviene el nombre del protocolo. en modo datagrama,
usadas en diversas
aplicaciones móviles.
Para evitar que un intruso que esté escuchando el diálogo inicial pueda saber
cuales son las claves acordadas, se sigue un mecanismo seguro de intercambio
de claves, basado en criptografía de clave pública. El algoritmo concreto para
este intercambio también se negocia durante el establecimiento de la conexión.
Autenticación de entidad. Con un protocolo de reto-respuesta basado en fir-
mas digitales el cliente pude confirmar la identidad del servidor al cual se ha
conectado. Para validar las firmas el cliente necesita conocer la clave pública
del servidor, y esto normalmente se realiza a través de certificados digitales.
• El primer campo indica cual es el tipo de contenido de los datos, que puede
ser:
Datos de un registro
– un mensaje del protocolo de negociación, SSL/TLS
Como todos los mensajes SSL/TLS, los mensajes del protocolo de negociación
se incluyen dentro del campo de datos de los registros SSL/TLS para ser trans-
mitidos al destinatario. La estructura de un mensaje de negociación es la sigu-
iente:
– Cifrado: RC4, DES, Triple DES, RC2, IDEA y FORTEZZA (este último sólo
en SSL 3.0).
– MAC: MD5 y SHA-1.
– Intercambio de claves: RSA, Diffie-Hellman y FORTEZZA KEA (este último
sólo en SSL 3.0).
Algoritmos de
3) Saludo de servidor (Server Hello) compresión
Como respuesta, el servidor envía un mensaje Server Hello, que contiene El único algoritmo de
compresión previsto en
esta información: SSL/TLS es el algoritmo
nulo, es decir, sin
compresión.
• La versión del protocolo que se usará en la conexión. La versión será
igual a la que envió el cliente, o inferior si esta no es soportada por el
servidor.
• Otra cadena de 32 bytes aleatorios.
FUOC
FUOC ·
• XP04/90789/00892
P03/75070/02123 65 Mecanismos de protección
Para terminar esta primera fase del diálogo, el servidor envía un mensaje
Server Hello Done. Cliente sin certificado
7) Certificado de cliente (Certificate) Si el cliente recibe una
petición de certificado
Una vez el servidor ha mandado sus mensajes iniciales, el cliente ya sabe pero no tiene ninguno
apropiado, en SSL 3.0
como continuar el protocolo de negociación. En primer lugar, si el servidor debe enviar un mensaje
de aviso, pero en TLS 1.0
le ha pedido un certificado y el cliente tiene alguno de las características debe enviar un mensaje
Certificate vacío. En
solicitadas, lo envía en un mensaje Certificate. cualquier caso, el servidor
puede responder con un
8) Intercambio de claves de cliente (Client Key Exchange) error fatal, o bien
continuar sin autenticar el
cliente.
El cliente envía un mensaje Client Key Exchange, el contenido del cual
FUOC
FUOC ·
• XP04/90789/00892
P03/75070/02123 66 Mecanismos de protección
Los protocolos SSL/TLS están diseñados para resistir los siguientes ataques:
Lectura de los paquetes enviados por el cliente y servidor. Cuando los datos
se envían cifrados, un atacante que pueda leer los paquetes, por ejemplo uti-
lizando técnicas de sniffing, se enfrenta al problema de romper el cifrado si
quiere interpretar su contenido. Las claves que se utilizan para el cifrado se
intercambian con métodos de clave pública, que el atacante tendría que romper
si quiere saber cuales son los valores acordados.
FUOC
FUOC ·
• XP04/90789/00892
P03/75070/02123 69 Mecanismos de protección
Como consideración final, cabe destacar que la fortaleza de los protocolos se-
guros recae no solamente en su diseño si no en el de las implementaciones.
Si una implementación solamente soporta algoritmos criptográficos débiles
(con pocos bits de clave), o genera números pseudoaleatórios fácilmente pre-
decibles, o guarda los valores secretos en almacenamiento (memoria o disco)
accesible por atacantes, etc., no estará garantizando la seguridad del protocolo.
Como hemos visto al inicio de este apartado, los protocolos SSL/TLS fueron
diseñados para permitir la protección de cualquier aplicación basada en un
protocolo de transporte como TCP. Algunas aplicaciones que utilizan esta
característica son:
Estas aplicaciones con SSL/TLS funcionan exactamente igual que las origi-
nales. Las únicas diferencias son el uso de la capa de transporte seguro que
proporciona SSL/TLS y la asignación de números de puerto TCP propios: 443
para HTTPS y 563 para NNTPS.