Está en la página 1de 51

ANÁLISIS DE TRÁFICO DE LOS

PROTOCOLOS HTTPS y SSH

Alumna: Yulissa Torres Quezada


Materia: Teoría de Telecomunicaciones
Docente: Ing. Mario Cueva
Objetivos

• Describir el funcionamiento de la herramienta


Wireshark.
• Conceptualizar los protocolos HTTPS y SSH.
• Describir cada una de las partes que conforman los
protocolos HTTPS y SSH.
• Capturar los protocolos HTTPS y SSH con la
herramienta Wireshark.

2
Whireshark

3
¿Qué es Whireshark?
• Wireshark es una herramienta de
captura de tráfico y lo convierte en un
formato legible para el entendimiento
de las personas. Esto hace que sea
más fácil identificar qué tráfico está
cruzando la red.
• Esta herramienta permite el filtro de
protocolos para un mayor análisis de
datos y ubicación de lo que se
necesita inspeccionar

4
Funcionamiento

Zona 1: Es el área de
definición de filtros,
permite definir patrones
de búsqueda para
visualizar aquellos
paquetes o protocolos
que nos interesen.

5
Zona 2: Se corresponde
con la lista de
visualización de todos
los paquetes que se
están capturando en
tiempo real.

6
Zona 3: Permite
desglosar por capas cada
una de las cabeceras de
los paquetes
seleccionados en la zona
2.

7
Zona 4: Presenta, en
formato hexadecimal, el
paquete en bruto, es
decir, tal y como fue
capturado por nuestra
tarjeta de red.

8
1.
HTTPS
HYPERTEXT TRANSFER PROTOCOL SECURE
(PROTOCOLO DE TRANSFERENCIA DE HIPERTEXTO).

9
HTTP + SSL/TLS = HTTPS
(Secure Socket
(Hypertext Transfer Layer/Transport Layer (Hypertext Transfer
Protocol) Security ) Protocol Secure)

Define como se Cifra la información Cifra la información


trasmiten los mensajes enviada entre el enviada entre el
entre el navegador del navegador y el servidor navegador y el servidor.
visitantes y el servidor
del sitio web.

HTTPS dificulta a los piratas informáticos romper conexión y robar


información personal como números de tarjetas de crédito, direcciones,
contraseñas, etc.

10
¿Qué es HTTPS?

• Es un protocolo de aplicación
que permite establecer una
conexión segura entre el
cliente y el servidor, que no
puede ser interceptada por
personas no autorizadas, este
protocolo es la versión segura
del protocolo http.

11
Características
• HTTPS es una combinación de dos
protocolos (HTTP + SSl/TLS)
• De este modo se consigue que la
información sensible, no pueda ser
usada por un atacante que haya
conseguido interceptar la transferencia
de datos de la conexión, ya que lo único
que obtendrá será un flujo de datos
cifrados que le resultará imposible de
descifrar.
• Mayor confianza.

12
¿Cómo funciona?

• Se basa en uno de los dos tipos de


Protocolos de Encriptación: Secure
Sockets Layer (SSL) o Transport
Layer Security (TLS).
• Tanto TLS como SSL usan una
Infraestructura Asimétrica de Clave
Pública, en la que una clave
‘pública’ y una clave ‘privada’ se
emplean para encriptar los datos.

13
PROTOCOLO SSL

¿Qué es SSL? Juego de llaves


• Es un protocolo de seguridad el • La página web podrá enviar su
cual se basa en un certificado clave pública al servidor del
estándar que usan muchas navegador del usuario para
páginas web para proteger la informarle que en ese sitio podrá
información intercambiada entre confiar su información, enviar y
usuarios y web. Básicamente usa recibir el mensaje y el servidor
una encriptación fuerte: dota al podrá mantener una clave
servidor web de unas claves: una privada para que se pueda
pública y otra privada. encriptar y desencriptar.

14
Establecimiento de conexión SSL

15
PROTOCOLO TLS

¿Qué es TLS? ¿Qué permite TLS?


• Es un protocolo criptográfico, que • La confidencialidad del
proporciona comunicaciones dato/mensaje, códigos de
seguras por una red, autenticación de mensajes para
comúnmente Internet. integridad y como un producto
lateral, autenticación del
• Se usan certificados X.509 y por lo
mensaje.
tanto criptografía asimétrica para
autentificar a la contraparte con
quien se están comunicando, y
para intercambiar una llave
simétrica. Es la versión 3.1 de SSL.

16
Establecimiento de conexión TLS

17
TLSv1.2

El protocolo TLS se compone de tres protocolos: el TLS Record Protocol, el TLS


Handshake Protocol y el protocolo Change Cipher Spec

18
Record Layer

El protocolo de registro TLS proporciona seguridad de conexión que tiene dos


propiedades básicas:

La conexión es privada La conexión es confiable


La criptografía simétrica se utiliza para el El transporte de mensajes incluye una
cifrado de datos. verificación de integridad de mensajes

El protocolo de registro TLS se utiliza para la encapsulación de varios protocolos de


nivel. Dos de estos protocolos son el protocolo Handshake y protocolo Change Cipher
Spec.

19
Protocolo Change Cipher Spec

El protocolo de cambio de especificación de cifrado existe para señalar las transiciones


en las estrategias de cifrado. El protocolo consta de un solo mensaje, que se cifra y se
comprime bajo el estado de conexión actual. El mensaje consta de un solo byte de valor
1.

El cliente y el servidor envían el mensaje Change Cipher Spec para notificar a la parte
receptora que los registros posteriores estarán protegidos por las claves.
Protocolo Handshake

Permite que el servidor y el cliente se autentiquen entre sí y negocien un algoritmo de


cifrado y claves criptográficas antes de que el protocolo de la aplicación transmita o
reciba su primer byte de datos. El protocolo Handshake proporciona seguridad de
conexión que tiene tres propiedades básicas:

La identidad del par La negociación secreta La negociación es


puede autenticarse compartida es segura. confiable.
mediante criptografía El negociado secreto no Ningún atacante puede
asimétrica o de clave está disponible para los modificar la
pública. espías, no puede ser comunicación de
obtenido, incluso por un negociación sin ser
atacante que pueda detectado por las partes
colocarse en el medio de en la comunicación.
la conexión. 21
El Protocolo TLS Handshake implica los
siguientes pasos:

• Intercambiar mensajes de saludo para acordar algoritmos, intercambiar valores


aleatorios y verificar la reanudación de la sesión.
• Intercambiar los parámetros criptográficos necesarios para permitir que el cliente y
el servidor acuerden un premaster.
• Intercambie certificados e información criptográfica para permitir que el cliente y el
servidor se autentiquen.
• Generar un master secret a partir del premaster e intercambia valores aleatorios.
• Proporcionar parámetros de seguridad a la capa de registro.
• Permitir que el cliente y el servidor verifiquen que sus pares hayan calculado los
mismos parámetros de seguridad y que el Handshake se haya producido sin la
manipulación de un atacante.

22
• ClientHello y ServerHello se utilizan para establecer capacidades de mejora de seguridad entre cliente
y servidor. Establecen los siguientes atributos: Versión de protocolo, ID de sesión, Conjunto de cifrado y
Método de compresión.
• El intercambio de claves real utiliza hasta cuatro mensajes: el Certificate, el Certificate Status, el
Server Key Exchange, el Certificate Request.
• A continuación, el servidor enviará el mensaje ServerHelloDone, indicando que la fase de mensaje de
saludo está completa.
• El mensaje ClientKeyExchange ahora se envía, y el contenido de ese mensaje dependerá del algoritmo
de clave pública seleccionado entre ClientHello y ServerHello.
• El cliente envía un mensaje ChangeCipherSpec y el cliente copia la especificación de cifrado pendiente
en la especificación de cifrado actual. El cliente envía inmediatamente el mensaje Finalizado con los
nuevos algoritmos, claves y secretos.
• En respuesta, el servidor enviará su propio mensaje ChangeCipherSpec, transferirá la especificación de
cifrado actual y enviará su mensaje Finalizado bajo el nuevo Especificación de cifrado.
Client Hello
Cuando se enviará este mensaje
Cuando un cliente se conecta por primera vez a un servidor, es necesario enviar ClientHello
como primer mensaje para negociar los parámetros de seguridad en una conexión
existente.
Version: La versión del protocolo
TLS mediante la cual el cliente
desea comunicarse durante esta
sesión.
Random: Una estructura
aleatoria generada por el cliente.
Gmt Unix Time: La hora y fecha
actuales en formato UNIX
estándar.
Random Bytes: 28 bytes
generados por un generador
seguro de números aleatorios. 24
Session ID: El ID de una sesión que
el cliente desea usar para esta
conexión.
Cipher Suites: Esta es una lista de
las opciones criptográficas
admitidas por el cliente.
Compression Methods: El
algoritmo utilizado para comprimir
datos antes del cifrado. Esta es una
lista de los métodos de compresión
admitidos por el cliente, ordenado
por preferencia del cliente.
Extensions: Los clientes pueden
solicitar una funcionalidad
extendida de los servidores
enviando datos en el campo de
extensiones.
25
Server Hello
Cuando se enviará este mensaje
El servidor enviará este mensaje en respuesta a un ClientHello mensaje cuando pudo
encontrar un conjunto aceptable de algoritmos.
Version: La versión del protocolo
TLS mediante la cual el cliente
desea comunicarse durante esta
sesión.
Random: Una estructura
aleatoria generada por el
servidor.
Gmt Unix Time: La hora y fecha
actuales en formato UNIX
estándar.
Random Bytes: 28 bytes
generados por un generador 26
seguro de números aleatorios.
Session ID: Esta es la identidad de la
sesión correspondiente a esta conexión.
Cipher Suite: El conjunto de cifrado
único seleccionado por el servidor de la
lista de opciones de Chiper Suites en
ClientHello.
Compression Methods: El algoritmo de
compresión único seleccionado por el
servidor de la lista en ClientHello.
Extensions: Una lista de extensiones.
Tenga en cuenta que solo las
extensiones ofrecidas por el cliente
pueden aparecer en la lista del servidor

27
Server Certificate
Cuando se enviará este mensaje
El servidor debe enviar un mensaje de Certificado siempre que el método de intercambio de
claves utiliza certificados para la autenticación.
Significado de este mensaje:
Este mensaje transmite la cadena de certificados del servidor al cliente.

Certificates: Esta es una


secuencia (cadena) de
certificados. El remitente
certificado debe ser el primero en
la lista. El siguiente certificado
debe certificar directamente el
que lo precede.

28
Server Key Exchange
Cuando se enviará este mensaje
Este mensaje se enviará inmediatamente después del certificado del servidor mensaje.
Significado de este mensaje:
Este mensaje transmite información criptográfica para permitir al cliente comunicar el secreto
premaster: una clave pública de Diffie-Hellman con el que el cliente puede completar un
intercambio de claves (o una clave pública para algún otro algoritmo).

29
Certificate Request
Cuando se enviará este mensaje
Un servidor no anónimo puede solicitar opcionalmente un certificado al cliente, si corresponde
para el conjunto de cifrado seleccionado.

Certificates types: Una lista de


los tipos de certificados que el
cliente puede ofrecer.
RSA Sign un certificado que
contiene una clave RSA
DSS Sign un certificado que
contiene una clave DSA
ECDSA Sign un certificado que
contiene una clave DH estática.

30
Tipo de certificado de cliente Tipo de certificado clave
rsa_sign Clave pública RSA; el certificado debe permitir que la clave
que se utilizará para firmar con la firma y algoritmo hash que
será empleado en el mensaje de verificación del certificado.

dss_sign DSA public key; el certificado debe permitir que la clave que
se utilizará para firmar con el algoritmo hash que se
empleará en el certificado verificar mensaje.

ecdsa_sign Clave pública compatible con ECDSA; el certificado debe


permitir que la clave se use para firmar con el algoritmo hash
que se empleará en el certificado verifica mensaje; la clave
pública debe utilizar un formato compatible con el servidor.

rsa_fixed_dh Clave pública de Diffie-Hellman; debe usar lo mismo


dss_fixed_dh parámetros como clave del servidor.
rsa_fixed_ecdh Clave pública compatible con ECDH; debe usar el misma
ecdsa_fixed_ecdh curva que la clave del servidor, y debe usar un formato de
punto admitido por el servidor.
Signature Hash Algorithms: Una
lista de los pares de algoritmos de
hash / firma que el servidor es
capaz de verificar, en orden
descendente de preferencia..

32
Server Hello Done
Cuando se enviará este mensaje
El servidor envía el mensaje para indicar el fin del ServerHello y mensajes asociados.
Significado de este mensaje:
Este mensaje significa que el servidor ha terminado de enviar mensajes para apoyar el intercambio
de claves, y el cliente puede proceder a subfase del intercambio de claves.

33
Client Certificate
Cuando se enviará este mensaje
Este es el primer mensaje que el cliente puede enviar después de recibir un mensaje
ServerHelloDone. Este mensaje solo se envía si el servidor solicita un certificado
Significado de este mensaje:
Este mensaje transmite la cadena de certificados del cliente al servidor

34
Client Key Exchange
Cuando se enviará este mensaje
Este mensaje siempre es enviado por el cliente. Debe inmediatamente seguir al mensaje del
certificado del cliente, si se envía.
Significado de este mensaje:
Con este mensaje, se establece el secret premaster, ya sea por directa transmisión del secrett
cifrado por RSA o por la transmisión de parámetros de Diffie-Hellman que permitirán que cada
parte acuerde el mismo secret premaster.

35
Change Cipher Spec
Cuando se enviará este mensaje
El mensaje ChangeCipherSpec se envía durante el protocolo de enlace después de que se hayan
acordado los parámetros de seguridad, pero antes de que se envíe el mensaje Finalizado de
verificación.

36
Computaciones criptográficas
Para comenzar la protección de la conexión, el protocolo de registro TLS requiere la especificación
de un conjunto de algoritmos, un master secret y los valores aleatorios del cliente y el servidor.
master secret
El master secret siempre tiene exactamente 48 bytes de longitud. La longitud del secreto
premaster variará según el método de intercambio de claves.
RSA
Cuando se utiliza RSA para la autenticación del servidor y el intercambio de claves, un
pre_master_secret de 48 bytes es generado por el cliente, encriptado bajo la clave pública
del servidor y se envía al servidor. El servidor usa su clave privada para descifrar el
pre_master_secret. Ambas partes entonces convierte pre_master_secret en master_secret.
Diffie-Hellman
La clave negociada se utiliza como pre_master_secret y se convierte en master_secret.

37
38
Intercambio de claves Alg. Tipo de clave de certificado
RSA Clave pública RSA; el certificado debe permitir que
RSA_PSK la clave se use para el cifrado.
DHE_DSS Clave pública DSA; el certificado debe permitir que
la clave que se utilizará para firmar con el algoritmo
hash que se empleará en el servidor de intercambio
de claves.
DH_DSS Clave pública de Diffie-Hellman; debe establecerse
DH_RSA si la extensión de uso de la clave está presente.
ECDH_ECDSA Clave pública con capacidad ECDH; la clave pública
ECDH_RSA debe utilizar un formato de curva y punto
compatible con el cliente.
ECDHE_ECDSA Clave pública compatible con ECDSA; el certificado
debe permitir que la clave se use para firmar con el
algoritmo hash que se empleará en el mensaje de
intercambio de clave del servidor. La clave pública
debe utilizar un formato de curva y punto
compatible con el cliente
39
2.
SSH
Secure Shell Protocol
(PROTOCOLO SEGURO DE SHELL)

40
¿Qué es SSH?

• Es un protocolo de
administración remota que le
permite a los usuarios
controlar y modificar sus
servidores remotos a través de
Internet a través de un
mecanismo de autenticación.

41
Características
• Proporciona un mecanismo para
autenticar un usuario remoto, transferir
entradas desde el cliente al host y
retransmitir la salida de vuelta al cliente.
• El servicio se creó como un reemplazo
seguro para el Telnet sin cifrar y utiliza
técnicas criptográficas para garantizar
que todas las comunicaciones hacia y
desde el servidor remoto sucedan de
manera encriptada.
• Proporciona varias opciones para la
autenticación, y protege la seguridad e
integridad de las comunicaciones con un
cifrado fuerte
42
Características
• Al tratarse de un protocolo de
autentificación el servidor impulsa la
autenticación diciéndole al cliente qué
métodos de autenticación se pueden
usar para continuar el intercambio en un
momento dado.
• El cliente tiene la libertad de probar los
métodos enumerados por el servidor en
cualquier orden. Si lo desea, esto le da al
servidor un control completo sobre el
proceso de autenticación, pero también
le da suficiente flexibilidad para que el
cliente use los métodos que admite o
que son más convenientes para el
usuario, cuando el servidor ofrece varios
métodos.
43
• El 'user name' y el 'server name' se repiten en cada nuevo intento de autenticación.
Cifrado Aimétrico
• El cifrado simétrico es una forma de cifrado en la que se utiliza una clave secreta
tanto para el cifrado como para el descifrado de un mensaje, tanto por el cliente
como por el host.
• Efectivamente, cualquiera que tenga la clave puede descifrar el mensaje que se
transfiere.

45
Cifrado Asimétrico
• El cifrado asimétrico utiliza dos claves separadas para el cifrado y el descifrado.
• Estas dos claves se conocen como la clave pública (public key) y la clave privada
(private key). Juntas, estas claves forman el par de claves pública-privada

46
Autenticación del usuario

• La etapa final antes de que se conceda al usuario acceso al servidor es la


autenticación de sus credenciales. Para ello, la mayoría de los usuarios de SSH
utilizan una contraseña.
• Se le pide al usuario que introduzca el nombre de usuario, seguido de la contraseña.
Estas credenciales pasan con seguridad a través del túnel cifrado simétricamente,
así que no hay ninguna posibilidad de que sean capturadas por un tercero

47
Conclusiones

• El uso de herramientas analizadoras de paquetes como


Wireshark, es muy útil para la comprensión del
funcionamiento de los protocolos, ya que muestra de
manera explícita toda la información que se envía y recibe,
esto puede aplicarse para solucionar problemas en una red.
• El protocolo HTTPS, cambia lo dicho por HTTP al utilizar un
cifrado, en el que los infiltrados podrán tal vez capturar los
datos trasmitidos pero lo que no podrán es descifrar la
información ya que esta se encuentra encriptada.

48
Conclusiones

• Mediante la herramienta Wireshark se pudo visualizar cual


es la estructura del Protocolo HandShake que actúa en la
comunicación segura de un cliente/servidor mediante el
protocolo TLS.
• Si se quiere mantener seguridad en la conexión a servidores
de acceso remoto para el envio de información la opción
más segura es SSH ya que este encripta los datos al
momento de establecer la comunicación.

49
Conclusiones

• Gracias a la utilización de algoritmos criptográficos y


certificados digitales se puede garantizar la
confidencialidad y la integridad de la información
transmitida, así como la autenticidad de los servidores.

50

También podría gustarte