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.