Está en la página 1de 8

UNIVERSIDAD TECNOLGICA DE NAYARIT

TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN

PROTOCOLO SSL Y SSL


HANDSHAKE
PRACTICA 2.5

Objetivo de la prctica
Por medio de prelectio los alumnos identifican las funciones de SSL. Y el
proceso para establecer la comunicacin entre el cliente y el servidor usando
SSL Handshake
-Por medio de una prctica de laboratorio se configurar el protocolo SSL.

Elementos y / o material utilizado


1.
2.
3.
4.
5.

Microsoft Word
Laptop
SW(Windows Server)
Internet
Video tutorial

Desarrollo de la prctica (ventanas y definiciones)


Definiciones:
1. SSL:
Secure Sockets Layer es un protocolo diseado para permitir que las
aplicaciones para transmitir informacin de ida y de manera segura hacia atrs
las aplicaciones que se utilizan en el protocolo si se sabe cmo dar y recibir
claves descifrado con otras aplicaciones as como la manera de cifrar y
descifrar los datos enviados entre los dos. Utiliza una combinacin de cifrado
de clave simtrica y de clave pblica.
En espaol capa de puertos seguros es un protocolo criptogrfico que
proporciona comunicaciones seguras por una red, comnmente Internet. Fue
diseado con el objeto de proveer privacidad y confiabilidad a la comunicacin
entre dos aplicaciones. Este se compone de dos capas: SSL Record Protocol y
SSL Handshake Protocol. SSL proporciona autenticacin y privacidad de la
informacin entre extremos sobre Internet mediante el uso de criptografa.
Habitualmente, slo el servidor es autenticado (es decir, se garantiza su
identidad) mientras que el cliente se mantiene sin autenticar.
SSL implica una serie de fases bsicas:

Negociar entre las partes el algoritmo que se usar en la


comunicacin
Intercambio de claves pblicas y autenticacin basada en
certificados digitales
Cifrado del trfico basado en cifrado simtrico
2. SSL Handshake:
Es uno de los posibles protocolos que pueden encapsularse sobre la capa
anterior y permite al cliente y al servidor autenticarse mutuamente, negociar
un algoritmo de cifrado e intercambiar llaves de acceso.
3. Cundo y para qu son usados?
SSL: Para establecer una conexin segura SSL, sin embargo, su aplicacin
debe tener una clave de cifrado que le asigna una autoridad de certificacin en
la forma de un Certificado. Una vez que haya una nica clave de su cuenta,
usted puede establecer una conexin segura utilizando el protocolo SSL. En
cada capa se le agregan a los mensajes campos con distintos tipos de
contenido, como el largo de los mismos, algn tipo de descripcin y la
informacin propiamente dicha. ste toma los mensajes a transmitir, los
fragmenta en bloques de un tamao conveniente, los comprime en caso de ser
necesario, les aplica una MAC, los cifra y el resultante de todo esto lo transmite
al otro extremo. El proceso inverso implica el descifrado, verificacin,
descompresin, rearmado y entrega a los clientes de las capas superiores de
los datos recibidos.
Una sesin SSL posee diferentes estados y es responsabilidad del SSL
Hanshake Protocol la coordinacin de los mismos entre el cliente y el servidor
para que ambos funcionen en forma consistente, a pesar del hecho que no
estn exactamente en paralelo. Adems, cada sesin SSL puede tener
mltiples conexiones seguras y cada parte puede tener mltiples sesiones
seguras.
SSL Handshake: Los parmetros de cifrado del estado de una sesin son
generados por el protocolo SSL Handshake Protocol, el cual funciona por
encima del SSL Record Layer. Cuando un cliente y un servidor inician una
conexin, se ponen de acuerdo en la versin del protocolo y el algoritmo de
cifrado, en ocasiones se autentican entre s, y usan tcnicas de cifrado de clave
pblica para generar los secrets compartidos. Estos procesos son llevados a
cabo por el protocolo de hanshake, el cual puede ser resumido como: El cliente
enva un mensaje Client Hello al cual el servidor debe responder con un
mensaje Server Hello, en caso contrario ocurrir un error fatal y la conexin
fallar.
4. Caractersticas principales:
SSL:

SSL implementa un protocolo de negociacin para establecer una


comunicain segura a nivel de socked (nombre de mquina ms puerto),
de forma transparente al usuario y a las aplicaciones que lo usan.
La identidad del servidor web seguro (y a veces tambin del usuario
cliente) se consigue mediante el Certificado Digital correspondiente, del
que se comprueba su validez antes de iniciar el intercambio de datos
sensibles (Autenticacin), mientras que de la seguridad de Integridad de
los datos intercambiados se encarga la Firma Digital mediante funciones
hash y la comprobacin de resmenes de todos los datos enviados y
recibidos.
SSL proporciona servicios de seguridad a la pila de protocolos,
encriptando los datos salientes de la capa de Aplicacin antes de que
estos sean segmentados en la capa de Transporte y encapsulados y
enviados por las capas inferiores. Es ms, tambin puede aplicar
algoritmos de compresin a los datos a enviar y fragmentar los bloques
de tamao mayor a 214 bytes, volviendolos a reensamblarlos en el
receptor.
La identidad del servidor web seguro (y a veces tambin del usuario
cliente) se consigue mediante el Certificado Digital correspondiente, del
que se comprueba su validez antes de iniciar el intercambio de datos
sensibles (Autenticacin), mientras que de la seguridad de Integridad de
los datos intercambiados se encarga la Firma Digital mediante funciones
hash y la comprobacin de resmenes de todos los datos enviados y
recibidos.
Su implementacin en los modelos de referencia OSI y TCP/IP, SSL se
introduce como una especie de nivel o capa adicional, situada entre la
capa de Aplicacin y la capa de Transporte, sustituyendo los sockets del
sistema operativo, lo que hace que sea independiente de la aplicacin
que lo utilice, y se implementa generalmente en el puerto 443. (NOTA:
Los puertos son las intefaces que hay entre las aplicacoines y la pila de
protocolos TCP/IP del sistema operativo).

SSL Handshake:

Autenticacin e intercambio de claves: cuando el servidor es


autenticado, el canal debe ser lo suficientemente seguro para evitar los
ataques del tipo man-in-the-midle, pero las sesiones annimas son de
por s vulnerables a este tipo de ataques. Para evitarlas, ambos deben
verificar que los certificados sean vlidos. El objetivo de un proceso de
intercambio de claves es crear un pre_master_secret conocido por las
partes intervinientes y no por los atacantes. Este ser usado para
generar el master_secret, que a su vez se utilizar para generar los
mensajes de finalizacin, claves de cifrado y los mensajes MAC secrets.
Enviando un mensaje de finalizacin correcto, ambas partes prueban
que conocen la pre_master_secret correcta.
Ataques de cambio de versin: dado que la versin 3.0 incluye mejoras
sustanciales con respecto a la versin 2.0 y que existe compatibilidad

hacia atrs entre ambas, es probable que los atacantes intenten que
clientes y servidores capaces de comprender mensajes versin 3.0
comiencen a funcionar en versin 2.0. Este ataque puede ocurrir si y
solo si dos partes que soporten SSL versin 3.0 realizan un handshake
versin 2.0. Aunque usar padding de mensajes con bloques no aleatorios
PKCS #1 (Public Key Criptography Standard #1 - Norma de Cifrado con
Clave Pblica n°1 de los laboratorios RSA) del tipo 2 no es una
solucin elegante, provee una forma segura para detectar los ataques a
los servidores version 3.0. Esta solucin no es buena contra atacantes
que puedan obtener con fuerza bruta la clave y substituir con un nuevo
ENCRYPTED-KEY-DATA conteniendo la misma clave (pero con padding
normal) antes que el lmite de espera especificado para la aplicacin
expire. Partes que estn enteradas de estos tipos de ataques no deben
usar claves de cifrado de 40 bits de ninguna manera. Alterar el padding
de los 8 bytes menos significativos del PKCS no impacta en la seguridad,
ya que es lo mismo que aumentar el tamao de bloque de entrada en 8
bytes.

Ataques contra el protocolo de handshake: un atacante puede tratar de


influir el proceso de handshake de modo que las partes elijan algoritmos
de cifrado diferente a los que normalmente elegiran. Dado que muchas
implementaciones soportan cifrado de 40 bits y algunos soportan cifrado
nulo o algoritmos MAC, este tipo de ataque es de importancia. Para este
realizarlo, el atacante debe cambiar en forma activa uno o mas
mensajes de handshake. Si esto ocurre, el cliente y el servidor
computaran valores diferentes para los hashes de los mensajes de
handshake. Como resultado, las partes no aceptarn los mensajes de
finalizacin enviados entre s. Sin el master_secret, el atacante no puede
reparar los mensajes de finalizacin, por lo que el atacante es
descubierto.

Retomando sesiones: cuando una conexin es establecida por medio de


la retoma de una anterior, a los nuevos ClientHello.random y
ServerHello.random se les aplica el master_secret de la sesin. Sabiendo
que el master_secret no se encuentra comprometido y que las
operaciones realizadas para producir las claves de cifrado y los MAC
secrets son seguras, entonces la conexin debe ser segura y
efectivamente independiente de conexiones previas. Los atacantes no
pueden usar claves de cifrado o MAC secrets para comprometer el
master_secret sin romper las operaciones realizadas con los protocolos
de hashing (las cuales usan SHA y MD5). Las sesiones no pueden ser
retomadas a menos que ambas partes estn de acuerdo. Si alguna de
las partes sospecha que la sesin ha sido comprometida, o que los
certificados han expirado o han sido revocados, pueden forzar un nuevo

handshake completo. Un lmite superior de 24 horas es el sugerido para


el de la vida de un sessionID, pues un atacante que obtenga una
master_secret puede impersonarse como la parte comprometida hasta
que la correspondiente sessionID es retirada. Aplicaciones que pueden
correr en ambientes relativamente inseguros no deben escribir los
sessionID en almacenamiento persistente.

MD5 y SHA: SSL usa las funciones de hashing en forma muy


conservadora. Cuando es posible, ambos MD5 y SHA son usados en
tandem para asegurar que fallas en uno de los protocolos rompan el
funcionamiento de todo el protocolo.

Ventanas
AQU VA LO TUYO MOJICA, EL PROCESO PUE

Resultados (ventanas)
AQU LOS RESULTADOS DE LA CONFIG

Conclusiones
La seguridad es un aspecto fundamental para muchas aplicaciones clienteservidor, siendo un ejemplo muy importante, por su gran proyeccin en los
ltimos tiempos, el negocio electrnico.
Aunque no hay que olvidar que los ataques pueden ser mltiples y cada vez
ms sofisticados, lo que obliga a una permanente investigacin de mejora de
los diferentes protocolos de seguridad, se puede decir que un uso correcto de
estos protocolos nos proporciona hoy en da un nivel de seguridad "bastante
aceptable".
HTTP no es un protocolo seguro, ya que es simple y no se establece un estado
cliente/servidor. HTTPS es un canal de comunicaciones seguro que se utiliza
para intercambiar informacin entre un equipo cliente y un servidor. Es de
suma importancia utilizar Secure Sockets Layer (SSL).

Debemos aclarar que las claves pblicas y privadas del servidor no estn
amenazadas por esta vulnerabilidad y que un intruso slo puede recuperar
datos desde una sesin nica por cada ataque. Comprometer una sesin no le
da al intruso habilidades adicionales para comprometer secuencias
subsiguientes.
Gracias a esta prctica se logr conocer la funcionalidad del protocolo SSL as
como sus capas, tambin se obtuvo el conocimiento de los pasos a realizar
para llevar a cabo dicha configuracin en Windows Server.