Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Protección Del Nivel de Transporte: SSL/TLS/WTLS
Protección Del Nivel de Transporte: SSL/TLS/WTLS
P03/75070/02123
FUOC
XP04/90789/00892
58
Mecanismos de proteccin
En este apartado hablaremos de les caractersticas comunes a SSL 3.0 y TLS 1.0,
con algn detalle particular a las diferencias entre ellos. La mayora de referencias a los protocolos SSL/TLS se deben entender aplicables tambin a
WTLS.
FUOC
P03/75070/02123
FUOC
XP04/90789/00892
59
Mecanismos de proteccin
Datagramas en WTLS
Una caracterstica
distintiva del WTLS es
que no solamente permite
proteger conexiones TCP,
como hacen SSL y TLS, si
no que tambin define un
mecanismo de proteccin
para las comunicaciones
en modo datagrama,
usadas en diversas
aplicaciones mviles.
FUOC
P03/75070/02123
FUOC
XP04/90789/00892
60
Mecanismos de proteccin
consiste en intercambiar paquetes con datos cifrados mediante claves simtricas (por motivos de eficiencia y rapidez). Al inicio de cada sesin, cliente
y servidor se ponen de acuerdo en que claves utilizarn para cifrar los datos.
Siempre se utilizan dos claves distintas: una para los paquetes enviados del
cliente al servidor, y la otra para los paquetes enviados en sentido contrario.
Para evitar que un intruso que est escuchando el dilogo inicial pueda saber
cuales son las claves acordadas, se sigue un mecanismo seguro de intercambio
de claves, basado en criptografa de clave pblica. El algoritmo concreto para
este intercambio tambin se negocia durante el establecimiento de la conexin.
Autenticacin de entidad. Con un protocolo de reto-respuesta basado en firmas digitales el cliente pude confirmar la identidad del servidor al cual se ha
conectado. Para validar las firmas el cliente necesita conocer la clave pblica
del servidor, y esto normalmente se realiza a travs de certificados digitales.
SSL/TLS tambin prev la autenticacin del cliente frente al servidor. Esta
posibilidad, pero, no se usa tan a menudo porque muchas veces, en lugar de
autenticar automticamente el cliente a nivel de transporte, las mismas aplicaciones utilizan su propio mtodo de autenticacin.
Autenticacin de cliente
Un ejemplo de
autenticacin de cliente a
nivel de aplicacin son las
contraseas que pueden
introducir los usuarios en
formularios HTML. Si la
aplicacin utiliza este
mtodo, al servidor ya no
le hace falta autenticar al
cliente a nivel de
transporte.
Si el cliente pide dos o ms conexiones simultneas o muy seguidas, en lugar de repetir la autenticacin y el intercambio de claves (operaciones computacionalmente costosas porque intervienen algoritmos de clave pblica),
hay la opcin de reutilizar los parmetros previamente acordados. Si se
hace uso de esta opcin, se considera que la nueva conexin pertenece a
la misma sesin que la anterior. En el establecimiento de cada conexin
se especifica un identificador de sesin, que permite saber si la conexin
empieza una sesin nueva o es continuacin de otra.
Extensibilidad. Al inicio de cada sesin, cliente y servidor negocian los algoritmos que utilizarn para el intercambio de claves, la autenticacin y el cifrado (a ms del algoritmo de compresin). Las especificaciones de los protocolos incluyen unas combinaciones predefinidas de algoritmos criptogrficos,
Conexiones consecutivas
o simultneas
Una situacin tpica en
que se utiliza SSL/TLS es
la de un navegador web
que accede a una pgina
HTML que contiene
imgenes: con HTTP no
persistente (el nico
modo definido en
HTTP 1.0), esto requiere
una primera conexin
para la pgina y a
continuacin tantas
conexiones como
imgenes haya. Si las
conexiones pertenecen a
la misma sesin SSL/TLS,
slo hace falta realizar la
negociacin una vez.
FUOC
P03/75070/02123
FUOC
XP04/90789/00892
61
El protocolo de registros SSL/TLS es el que permite que los datos protegidos sean convenientemente codificados por el emisor y interpretados por el
receptor. Los parmetros necesarios para la proteccin, como pueden ser los
algoritmos y las claves, se establecen de forma segura al inicio de la conexin
mediante el protocolo de negociacin SSL/TLS. A continuacin veremos las
caractersticas de cada uno de estos dos protocolos.
Mecanismos de proteccin
FUOC
P03/75070/02123
FUOC
XP04/90789/00892
62
Mecanismos de proteccin
Datos de un registro
SSL/TLS
Normalmente los datos de
un registro corresponden
a un mensaje de la
subcapa superior, pero
tambin es posible juntar
en un mismo registro dos
o ms mensajes, siempre
que todos pertenecen al
tipo indicado por el primer
campo. Tambin puede
pasar que un mensaje se
fragmente en diversos
registros, si su longitud es
superior a un cierto
mximo (16384 bytes
antes de comprimir).
FUOC
P03/75070/02123
FUOC
XP04/90789/00892
63
Como todos los mensajes SSL/TLS, los mensajes del protocolo de negociacin
se incluyen dentro del campo de datos de los registros SSL/TLS para ser transmitidos al destinatario. La estructura de un mensaje de negociacin es la siguiente:
Mecanismos de proteccin
FUOC
P03/75070/02123
FUOC
XP04/90789/00892
64
Mecanismos de proteccin
Bytes aleatorios
De los 32 bytes aleatorios
que se envan en los
mensajes de saludo, los
4 primeros deben ser una
marca de tiempo, con
precisin de segundos.
La lista de los algoritmos de compresin ofrecidos, por orden de preferencia (como mnimo debe haber uno, aunque sea el algoritmo nulo).
Algoritmos de
compresin
El nico algoritmo de
compresin previsto en
SSL/TLS es el algoritmo
nulo, es decir, sin
compresin.
FUOC
P03/75070/02123
FUOC
XP04/90789/00892
65
Mecanismos de proteccin
El identificador de la sesin actual. Si el cliente envi uno y el servidor quiere reprender la sesin correspondiente, debe responder con el
mismo identificador. Si el servidor no quiere reemprender la sesin
(o no puede porque ya no guarda la informacin necesaria), el identificador enviado ser diferente. Opcionalmente, el servidor puede no
enviar ningn identificador para indicar que la sesin actual nunca no
podr ser reemprendida.
La combinacin de algoritmos criptogrficos escogida por el servidor de
entre la lista de las enviadas por el cliente. Si se reemprende una sesin
anterior, esta combinacin debe ser la misma que se utiliz entonces.
El algoritmo de compresin escogido por el servidor, o el que se utiliz
en la sesin que se reemprende.
Tipo de certificados
En SSL/TLS estn
contemplados los
certificados de clave
pblica RSA, DSA o
FORTEZZA KEA (este
ltimo tipo solamente en
SSL 3.0).
FUOC
P03/75070/02123
FUOC
XP04/90789/00892
66
Mecanismos de proteccin
Verificacin de
autenticidad en SSL y
TLS
Una de las principales
diferencias entre SSL 3.0
y TLS 1.0 est en la
tcnica usada para
obtener los cdigos de
verificacin de los
mensajes Finished, y
tambin para calcular el
secreto maestro y para
obtener las claves a partir
de este secreto (en SSL
se utilizan funciones hash
directamente, y en TLS se
utilizan cdigos HMAC).
FUOC
P03/75070/02123
FUOC
XP04/90789/00892
67
Mecanismos de proteccin
FUOC
P03/75070/02123
FUOC
XP04/90789/00892
68
Mecanismos de proteccin
FUOC
P03/75070/02123
FUOC
XP04/90789/00892
69
Mecanismos de proteccin
FUOC
P03/75070/02123
FUOC
XP04/90789/00892
70
Como consideracin final, cabe destacar que la fortaleza de los protocolos seguros recae no solamente en su diseo si no en el de las implementaciones.
Si una implementacin solamente soporta algoritmos criptogrficos dbiles
(con pocos bits de clave), o genera nmeros pseudoaleatrios fcilmente predecibles, o guarda los valores secretos en almacenamiento (memoria o disco)
accesible por atacantes, etc., no estar garantizando la seguridad del protocolo.
Estas aplicaciones con SSL/TLS funcionan exactamente igual que las originales. Las nicas diferencias son el uso de la capa de transporte seguro que
proporciona SSL/TLS y la asignacin de nmeros de puerto TCP propios: 443
para HTTPS y 563 para NNTPS.
En muchos otros casos, pero, es preferible aprovechar los mecanismos de extensin previstos en el propio protocolo de aplicacin, si hay, para negociar el
uso de SSL/TLS, a fin de evitar la utilizacin innecesaria de nuevos puertos
TCP. As lo hacen aplicaciones como:
TELNET, usando la opcin de autenticacin (RFC 1416).
FTP, usando las extensiones de seguridad (RFC 2228).
SMTP, usando sus extensiones para SSL/TLS (RFC 2487).
POP3 y IMAP, tambin usando comandos especficos para SSL/TLS (RFC 2595).
Mecanismos de proteccin