La clé privée de l'utilisateur est utilisée pour l'authentification uniquement?

8

J'ai une question simple concernant le protocole OpenVPN. Supposons que nous ayons deux utilisateurs différents, avec des clés différentes pour le même serveur, et les deux clés 1024bits. Si ces deux utilisateurs font exactement la même demande et que quelqu'un renifle les données sur le serveur, cette personne (le renifleur) verra les mêmes données pour les deux utilisateurs ou des données différentes? La question est de savoir si la clé privée de l'utilisateur interfère dans la cryptographie APRÈS l'authentification ou si elle n'est utilisée qu'en temps d'authentification. Je vous remercie.

user2864778
la source
Avec tout cryptage sémantiquement sécurisé, les données cryptées seront différentes même si la clé et les données sont identiques. Donc, votre question pourrait être reformulée plus précisément comme "Le protocole OpenVPN utilise-t-il un cryptage sémantiquement sécurisé?". De plus, avec certains modes de cryptage, toutes les données que vous transférez auront une influence sur le cryptage des données envoyées ultérieurement. Ainsi, même si la clé n'est utilisée que dans un premier temps, cela influera toujours sur l'apparence des données chiffrées tout au long de la connexion.
kasperd

Réponses:

10

Si ces deux utilisateurs font exactement la même demande et que quelqu'un renifle les données sur le serveur, cette personne (le renifleur) verra les mêmes données pour les deux utilisateurs ou des données différentes?

Différentes données.

La question est de savoir si la clé privée de l'utilisateur interfère dans la cryptographie APRÈS l'authentification ou si elle n'est utilisée qu'en temps d'authentification.

Les clés publiques / privées sont utilisées uniquement lors de la négociation d'authentification / clé.


OpenVPN peut fonctionner dans l' un des deux modes , une clé pré-partagée ou en utilisant TLS avec des certificats. La clé pré-partagée est statique, constante, mais vous vous interrogez sur le mode de certificat.

Je ne vais pas entrer dans trop de détails, et vous pouvez rechercher TLS vous-même, mais essentiellement TLS utilise les certificats (et les clés privées) pour l'authentification et pendant la phase de négociation des clés. Il génère une clé de chiffrement symétrique (par exemple BlowFish, AES, etc.) et utilise la cryptographie à clé publique pour partager cette clé en toute sécurité.

Les messages réels sont ensuite chiffrés avec un chiffrement symétrique. Chaque session a sa propre clé de cryptage indépendante (donc si vous vous déconnectez et vous reconnectez, vous vous retrouvez avec une clé différente). De même, chaque utilisateur aura des sessions différentes et donc des clés différentes.

Il y a deux raisons à cela. Le chiffrement symétrique est considérablement plus rapide que le chiffrement asymétrique, il est donc préférable pour un débit élevé (la difficulté est le partage de clés, que la phase de négociation résout). De plus, en générant une nouvelle clé à chaque fois, il est plus difficile pour les clés compromises de révéler les données d'autres sessions ( FS ).

Bob
la source
Ah, nous y voilà - la réponse que j'étais en train d'écrire, seulement beaucoup plus clairement exprimée. +1 de moi.
MadHatter
+1 et accepté comme réponse. Votre réponse a été très précieuse et a effacé mes questions. Merci
user2864778
1

Chaque client chiffrera ses données avec la clé négociée entre le client et le serveur, de sorte que les données reçues sur la passerelle VPN seront différentes pour les deux utilisateurs.

denisvm
la source
2
La première partie n'est pas correcte. OpenVPN utilise TLS , qui n'utilise pas de cryptographie à clé publique pour crypter les messages.
Bob