La chiave privata dell'utente viene utilizzata solo per l'autenticazione?


8

Ho una semplice domanda per quanto riguarda il protocollo OpenVPN. Supponiamo di avere due utenti diversi, con chiavi diverse per lo stesso server ed entrambe le chiavi a 1024 bit. Se questi due utenti fanno esattamente la stessa richiesta e qualcuno sta annusando i dati sul server, questa persona (lo sniffer) vedrà gli stessi dati per entrambi gli utenti o dati diversi? La domanda è sapere se la chiave privata dell'utente interferisce nella crittografia DOPO l'autenticazione o se viene utilizzata solo al momento dell'autenticazione. Grazie.


Con qualsiasi crittografia semanticamente sicura, i dati crittografati saranno diversi anche se sia la chiave che i dati sono identici. Quindi la tua domanda potrebbe essere riaffermata in modo più preciso poiché "Il protocollo OpenVPN utilizza la crittografia semanticamente sicura?". Inoltre, con alcune modalità di crittografia, tutti i dati trasferiti influenzeranno la crittografia dei dati inviati in un secondo momento. Pertanto, anche se la chiave viene utilizzata solo inizialmente, influenzerebbe comunque l'aspetto dei dati crittografati durante la connessione.
— Kasperd,

Risposte:


10

Se questi due utenti fanno esattamente la stessa richiesta e qualcuno sta annusando i dati sul server, questa persona (lo sniffer) vedrà gli stessi dati per entrambi gli utenti o dati diversi?

Dati diversi.

La domanda è sapere se la chiave privata dell'utente interferisce nella crittografia DOPO l'autenticazione o se viene utilizzata solo al momento dell'autenticazione.

Le chiavi pubbliche / private vengono utilizzate solo durante la negoziazione di autenticazione / chiave.


OpenVPN può operare in una delle due modalità , una chiave pre-condivisa o l'utilizzo di TLS con certificati. La chiave precondivisa è statica, costante, ma ti stai chiedendo della modalità certificato.

Non entrerò in troppi dettagli e puoi cercare tu stesso TLS, ma fondamentalmente TLS usa i certificati (e le chiavi private) per l'autenticazione e durante la fase di negoziazione delle chiavi. Genera una chiave di crittografia simmetrica (ad esempio BlowFish, AES, ecc.) E utilizza la crittografia a chiave pubblica per condividerla in modo sicuro.

I messaggi effettivi vengono quindi crittografati con crittografia simmetrica. Ogni sessione ha una propria chiave di crittografia indipendente (quindi se ti disconnetti e riconnetti effettivamente finisci con una chiave diversa). Allo stesso modo, ogni utente avrà sessioni diverse e quindi chiavi diverse.

Ci sono due ragioni per farlo. La crittografia simmetrica è notevolmente più veloce della crittografia asimmetrica, quindi è preferita per un throughput elevato (la difficoltà è la condivisione delle chiavi, che la fase di negoziazione risolve). Inoltre, generando una nuova chiave ogni volta, è più difficile per le chiavi compromesse rivelare i dati di altre sessioni ( FS ).


Ah, eccoci: la risposta che stavo scrivendo, espressa solo molto più chiaramente. +1 da me.
— MadHatter,

+1 e accettato come risposta. La tua risposta è stata molto preziosa e ha chiarito le mie domande. Grazie
— user2864778

1

Ogni client crittograferà i propri dati con la chiave negoziata tra client e server, quindi i dati ricevuti sul gateway VPN saranno diversi per entrambi gli utenti.


2
La prima parte non è corretta. OpenVPN utilizza TLS , che non utilizza la crittografia a chiave pubblica per crittografare i messaggi.
— Bob,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.