Subido por Orlando Escribano Baigorri

SSL/TLS: Ejemplo de diálogo cliente-servidor

Anuncio
SSL/TLS
Ejemplo de diálogo cliente-servidor
SSL/TLS
Ejemplo de diálogo cliente-servidor
Índice
1 Escenario.....................................................................................................................................................1
2 Resumen......................................................................................................................................................2
3 El diálogo al detalle...................................................................................................................................3
1 HTTPS – Inicio de la conexión.............................................................................................4
2 SSL – Saludo del cliente – Client Hello...............................................................................4
3 SSL – Saludo del servidor – Server Hello...........................................................................5
4 SSL – Certificado del servidor – Certificate .......................................................................6
5 SSL – Intercambio de clave del cliente - Client Key Exchange.........................................7
6 SSL – Datos de aplicación - Application Data....................................................................8
4 Fuentes........................................................................................................................................................8
1 Escenario
Utilizando el navegador, accedemos a una página web mediante HTTPS.
Cliente 192.168.1.109:55224
← HTTPS →
Servidor 216.58.214.174:443
En realidad, más que una conversación completa, veremos los registros/mensajes más relevantes
de una conversación SSL/TLS
R.19.3
@aula30x
1/8
SSL/TLS
Ejemplo de diálogo cliente-servidor
2 Resumen
2/8
SSL/TLS
Ejemplo de diálogo cliente-servidor
3 El diálogo al detalle
Accedemos a un servidor HTTPS y capturamos los paquetes con Wireshark.
3/8
SSL/TLS
1
Ejemplo de diálogo cliente-servidor
HTTPS – Inicio de la conexión
Conexión típica TCP de tres segmentos.
2
SSL – Saludo del cliente – Client Hello
El cliente envía información de cifrado: versión SSL/TLS, suites de cifrado que soporta, etc.
Version: TLS 1.2
Cipher Suites (18 suites) - Listado de suites de cifrado soportadas
4/8
SSL/TLS
3
Ejemplo de diálogo cliente-servidor
SSL – Saludo del servidor – Server Hello
El servidor responde al saludo informando de la suite de cifrado escogida.
Cipher Suite: TLS_ECHDE_ECDSA... - Suite de cifrado escogida
5/8
SSL/TLS
4
Ejemplo de diálogo cliente-servidor
SSL – Certificado del servidor – Certificate
Lo habitual es que el servidor deba ser autenticado, por lo que envía su certificado inmediatamente
después del Server Hello.
En este caso, el mensaje incluye varios registros:
•
Certificate
•
Server Key Exchange
•
Server Hello Done
Certificate
En este caso, envía dos certificados:
- Certificate (id-at-commonName=*.google.com, …)
- Certificate (id-at commonName=Google Internet Authority …
El certificado incluye la clave pública:
SubjectPublicKeyInfo
- SubjectPublicKey: 0432a2ce95....
Server Key Exchange
Normalmente utilizado cuando el servidor no tiene certificado. En este caso,
posiblemente esté vacío.
Server Hello Done
El servidor ha terminado la fase de saludo.
6/8
SSL/TLS
5
Ejemplo de diálogo cliente-servidor
SSL – Intercambio de clave del cliente - Client Key Exchange
Depende del algoritmo de clave pública utilizado. Por ejemplo, en RSA, el cliente genera una precontraseña que encripta usando la clave pública del servidor y se la envía al servidor. A partir de
ahí, ambas partes obtienen la contraseña maestra.
En este caso, el mensaje incluye varios registros:
•
Client Key Exchange
•
Change Cipher Spec
•
Hello Request
Client Key Exchange
El objetivo es intercambiar una pre-contraseña maestra a partir de la cual, ambas
partes puedan obtener la contraseña maestra.
Change Cipher Spec
Mensajes para informar del cambio de estrategia de cifrado, según la negociación
cerrada anteriormente.
A partir de aquí, los datos ya irán cifrados.
7/8
SSL/TLS
6
Ejemplo de diálogo cliente-servidor
SSL – Datos de aplicación - Application Data
Los datos en sí de la aplicación; en este caso, HTTPS.
Encrypted Application Data: 0000000000000001caddfc...
Los datos cifrados
4 Fuentes
SSL Introduction with Sample Transaction and Packet Exchange
https://www.cisco.com/c/en/us/support/docs/security-vpn/secure-socket-layer-ssl/116181-technoteproduct-00.html
An overview of the SSL or TLS handshake
https://www.ibm.com/support/knowledgecenter/en/SSFKSJ_7.1.0/com.ibm.mq.doc/sy10660_.htm
8/8
Descargar