¿La clave privada del usuario se usa solo para autenticación?


8

Tengo una pregunta simple sobre el protocolo OpenVPN. Supongamos que tenemos dos usuarios diferentes, con diferentes claves para el mismo servidor, y ambas claves 1024 bits. Si estos dos usuarios hacen exactamente la misma solicitud, y alguien está olfateando los datos en el servidor, ¿esta persona (el rastreador) verá los mismos datos para ambos usuarios o datos diferentes? La pregunta es saber si la clave privada del usuario interfiere en la criptografía DESPUÉS de la autenticación o si se usa solo en el tiempo de autenticación. Gracias.


Con cualquier cifrado semánticamente seguro, los datos cifrados serán diferentes incluso si la clave y los datos son idénticos. Por lo tanto, su pregunta podría reformularse con mayor precisión como "¿El protocolo OpenVPN utiliza cifrado semánticamente seguro?". Además, con algunos modos de cifrado, cualquier dato que transfiera influirá en el cifrado de los datos enviados más tarde. Por lo tanto, incluso si la clave solo se usa inicialmente, aún influiría en el aspecto de los datos cifrados en toda la conexión.
Kasperd

Respuestas:


10

Si estos dos usuarios hacen exactamente la misma solicitud, y alguien está olfateando los datos en el servidor, ¿esta persona (el rastreador) verá los mismos datos para ambos usuarios o datos diferentes?

Datos diferentes

La pregunta es saber si la clave privada del usuario interfiere en la criptografía DESPUÉS de la autenticación o si se usa solo en el tiempo de autenticación.

Las claves públicas / privadas solo se utilizan durante la autenticación / negociación de claves.


OpenVPN puede operar en uno de dos modos , una clave previamente compartida o usar TLS con certificados. La clave precompartida es estática, constante, pero está preguntando sobre el modo de certificado.

No voy a entrar en demasiados detalles, y puede buscar TLS usted mismo, pero básicamente TLS usa los certificados (y claves privadas) para la autenticación y durante la fase de negociación de claves. Genera una clave de cifrado simétrica (por ejemplo, BlowFish, AES, etc.) y utiliza criptografía de clave pública para compartir esa clave de forma segura.

Los mensajes reales se cifran con cifrado simétrico. Cada sesión tiene su propia clave de cifrado independiente (por lo que si desconecta y vuelve a conectar, en realidad terminará con una clave diferente). Del mismo modo, cada usuario tendrá diferentes sesiones y, por lo tanto, diferentes claves.

hay dos razones para hacer esto. El cifrado simétrico es considerablemente más rápido que el cifrado asimétrico, por lo que se prefiere para un alto rendimiento (la dificultad es compartir claves, lo que resuelve la fase de negociación). Además, al generar una nueva clave cada vez, es más difícil para las claves comprometidas revelar los datos de otras sesiones ( FS ).


Ah, ahí vamos: la respuesta de que estaba en proceso de escritura, solo que mucho más claramente expresada. +1 de mi parte
MadHatter

+1 y aceptado como respuesta. Su respuesta fue muy valiosa y aclaró mis preguntas. Gracias
user2864778

1

Cada cliente cifrará sus datos con la clave negociada entre el cliente y el servidor, por lo que los datos recibidos en la puerta de enlace VPN serán diferentes para ambos usuarios.


2
La primera parte no es correcta. OpenVPN usa TLS , que no usa criptografía de clave pública para encriptar mensajes.
Bob
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.