elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Java [Guía] Patrones de diseño - Parte 1


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Seguridad
| | |-+  Criptografía (Moderador: kub0x)
| | | |-+  SSL/TLS y clave privada
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: SSL/TLS y clave privada  (Leído 421 veces)
ace99

Desconectado Desconectado

Mensajes: 51



Ver Perfil
SSL/TLS y clave privada
« en: 6 Mayo 2020, 02:20 »

Es una pregunta rápida acerca de la que creo que conozco la respuesta, pero es para asegurarme.

En SSL/TLS si tengo la clave privada del cliente de una conexión no puedo descifrar el tráfico, pues la clave privada del cliente sólo se usa para firmar en caso de que sea necesario.

Esto es porque en SSL (a groso modo):

El cliente ofrece algoritmos al servidor => el servidor le responde con el que quiere.
El cliente envía un PMS (Pre-Master-Secret) cifrado con la PÚBLICA del servidor => el servidor recibe clave, y se genera a la vez que el cliente las claves definitivas.

A partir de este punto la sesión transcurre cifrada con estas claves que son simétricas (es más rápido).

Bueno, como aquí hay gente que de verdad sabe, espero que me ratifiquen o me corrijan.

Muchas gracias de antemano. Un saludo.


En línea

kub0x
Enlightenment Seeker
Moderador
***
Desconectado Desconectado

Mensajes: 1.351


S3C M4NI4C


Ver Perfil
Re: SSL/TLS y clave privada
« Respuesta #1 en: 6 Mayo 2020, 11:45 »

En SSL/TLS si tengo la clave privada del cliente de una conexión no puedo descifrar el tráfico, pues la clave privada del cliente sólo se usa para firmar en caso de que sea necesario.

Es opcional que el cliente disponga de su propio par pub/privkey asociado a un certificado en el handshake TLS. En cambio es obligatorio que el servidor tenga dicho certificado + par de claves. Hasta aquí bien, supongo.

 Si el servidor, en este caso, tú, tuvieras la clave privada del cliente, podrías impersonarlo. Es decir, serías capaz de suplantarlo dentro de la organización a la que el cliente pertenece. En este caso, si tu alojas el servidor y sabes su privada, podrías registrar en un log que negociaste una password simétrica derivada de una PMK (pre-master key) con firma digital X, pero realmente lo hiciste con otra PMK y otra signature Y. Es decir, podrías forgear o engañar a tus supervisores sobre las negociaciones con el cliente al que pertenece dicha clave etc. También, si esa clave privada se utiliza en otros medios, como para autenticar firmas sobre archivos o mensajes, no hace falta que diga lo que puede pasar jejeje game over.

El cliente ofrece algoritmos al servidor => el servidor le responde con el que quiere.
El cliente envía un PMS (Pre-Master-Secret) cifrado con la PÚBLICA del servidor => el servidor recibe clave, y se genera a la vez que el cliente las claves definitivas.

Bueno, depende de la cipher suite. Con RSA seguro que sí, cogiendo la pública del certificado y envíando la PMS bajo la exponencial modular. En los algoritmos que cumplen PFS (perfect forward secrecy), el servidor, envía una firma digital sobre los parámetros ephemeral en cada handshake, el cliente válida con la pubkey del certificado si esos datos fueron firmados por el server. Si fuera así, entonces genera un valor público y un privado, no cifra con la pública ni nada, sino que transforma el valor público de B en la PMS y B transforma el público de A en la PMS. A partir de aquí, A y B tienen la misma PMS y derivan la PMK. Entonces, se ve perfectamente como B no descifra para conseguir la PMS de A, sino que ambos llegan a la misma conclusion transformando valores públicos. Esta propiedad caracteriza la función del key exchange, por ejemeplo si es PMS_B=(g^x)^y y  PMS_A=(g^y)^x vemos como conmuta en el grupo de los enteros multiplicativos mod p (falta el operador mod primo, y eso, al conmutar, se consiguen los mismos valores en PMS_A y PMS_B.

Imagina que en vez de tener una clave RSA fija en el certificado, pudieras tener una distinta en cada handshake, eso es PFS, pero sin utilizar RSA claro, en vez, RSA se usa para firmas digitales y el resto viene a ser ECDHE. ES DECIR, en los algoritmos de intercambio de claves (key-exchange) no se cifra ni se descifra a no ser que el algoritmo criptográfico subyacente sea un criptosistema.


En línea

Viejos siempre viejos,
Ellos tienen el poder,
Y la juventud,
¡En el ataúd! Criaturas Al poder.

ace99

Desconectado Desconectado

Mensajes: 51



Ver Perfil
Re: SSL/TLS y clave privada
« Respuesta #2 en: 6 Mayo 2020, 12:02 »

La verdad es que habiendo estudiado la base de com funciona el sistema de clave simétrica y asimétrica y como funciona RSA pensé que sabía bastante, pero es que este mundo es inmenso.

Y luego la infinidad de posibilidades que hay.

Si el servidor, en este caso, tú, tuvieras la clave privada del cliente, podrías impersonarlo. Es decir, serías capaz de suplantarlo dentro de la organización a la que el cliente pertenece. En este caso, si tu alojas el servidor y sabes su privada, podrías registrar en un log que negociaste una password simétrica derivada de una PMK (pre-master key) con firma digital X, pero realmente lo hiciste con otra PMK y otra signature Y. Es decir, podrías forgear o engañar a tus supervisores sobre las negociaciones con el cliente al que pertenece dicha clave etc. También, si esa clave privada se utiliza en otros medios, como para autenticar firmas sobre archivos o mensajes, no hace falta que diga lo que puede pasar jejeje game over.

En el momento en el que tu clave privada, deja de ser privada estás perdido jajajaj.

Bueno muchas gracias por la respuesta y la info adicional. ;D
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
La navegación privada no es tan privada
Noticias
Novlucker 4 5,563 Último mensaje 22 Agosto 2010, 16:33
por R33B0T
Tamaño de la clave del cifrado simétrico y de la clave público
Criptografía
czsoler 2 3,893 Último mensaje 5 Febrero 2012, 00:23
por ELIAS EL INMORTAL
Obtener clave privada a partir de clave publica
Ingeniería Inversa
BigByte 1 2,849 Último mensaje 28 Febrero 2015, 17:55
por engel lex
RSA, obteniendo clave privada
Criptografía
LaiaxanIV 1 1,532 Último mensaje 29 Abril 2016, 23:53
por kub0x
Extracción de clave privada del almacén vía hardware de Qualcomm
Noticias
wolfbcn 1 250 Último mensaje 26 Abril 2019, 05:18
por WHK
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines