Come funziona la crittografia VPN?

4

Ho cercato e cercato, ma non riesco a trovare una spiegazione tecnica abbastanza buona. Da quello che ho raccolto, ci sono due "cose" in grado di proteggere le VPN:

1) Chiave pre-condivisa: gestisce l'autenticazione, poiché ciascuna parte deve avere la stessa chiave. Tuttavia, in che modo vengono crittografati i pacchetti effettivi e in che modo l'appliance VPN sa come decrittografarli? Il PSK non è una chiave simmetrica (spero, visto che è breve), quindi ..

2) Certificati: questo per me ha un senso concettuale: il certificato del server viene utilizzato per crittografare i dati e il certificato client viene utilizzato per autenticare il client. Destra? Quindi il client fornisce in anticipo il proprio certificato pubblico al server per poterli identificare (o stabilire un trust di catena?), E ogni pacchetto viene crittografato e quindi firmato e quindi incapsulato in un altro pacchetto per il viaggio?

Comprendo concettualmente il concetto di tunneling, ma sto cercando di capire i dettagli effettivi dell'implementazione della crittografia e ho difficoltà. Se qualcuno potesse fornire delle risposte o indicarmi alcune risorse che potrei leggere, lo apprezzerei molto.

Alcune note aggiuntive:

  • Non ho in mente nessun particolare dispositivo VPN.

  • La VPN dovrebbe mitigare gli attacchi MITM, dal momento che i dati dovrebbero essere crittografati in modo tale che solo l'appliance finale possa decodificarli, giusto? O solo il client e l'appliance finale possono, nel caso di una chiave simmetrica.

  • Sono stati menzionati SSTP e IPSec, ma non riesco a trovare i dettagli rilevanti per rispondere alle mie domande precedenti.

posta zimdanen 19.07.2012 - 02:41
fonte

2 risposte

6
  • La chiave di crittografia simmetrica viene derivata utilizzando uno scambio di chiavi, anche nel caso di utilizzo di una chiave pre-condivisa (vedere RFC 2409 sezione 5, in particolare alla fine di pagina 8 e quindi alla sezione 5.4).
  • Nel caso dei certificati, le chiavi pubbliche vengono utilizzate per lo scambio delle chiavi per negoziare una chiave di crittografia simmetrica (consultare nuovamente la sezione 5 della RFC 2409). Il client e il server (o peer) devono conoscere i reciproci certificati in anticipo o stabilire un trust di coppia; hai ragione. Il certificato del server non viene utilizzato per crittografare i dati; la chiave simmetrica negoziata durante lo scambio di chiavi è
  • Hai ragione sulla mitigazione degli attacchi MITM. Lo scambio di chiavi autenticato stabilisce una chiave simmetrica nota solo ai due peer (client e appliance), impedendo in tal modo a un utente malintenzionato di modificare i pacchetti di scambio delle chiavi o di decrittografare / modificare i pacchetti incapsulati.
risposta data 19.07.2012 - 04:24
fonte
3

I concetti astratti che stai cercando sono Secure Channel e Hybrid Encryption. Le VPN usano entrambi i concetti per stabilire un tunnel sicuro. Le pagine di Wikipedia su questo sono sorprendentemente brevi, quindi ecco una breve spiegazione con alcuni termini per google:

Per prima cosa hai una fase di scambio di chiavi, che in genere coinvolge qualche forma di autenticazione Diffie-Hellman, per generare una chiave di sessione simmetrica. Questa chiave viene quindi utilizzata per proteggere una quantità limitata di dati. Il motivo di questa costruzione è che la crittografia asimmetrica è lenta, mentre la crittografia simmetrica ha alcune debolezze intrinseche quando si considerano molti partecipanti che vogliono comunicare senza già condividere un segreto.

Ci sono molti aspetti da considerare in entrambi, la fase di scambio chiave e l'effettiva protezione dei dati. Tuttavia, gli attuali protocolli all'avanguardia come IPsec e TLS sono ben studiati ed esaminati. Per IPsec, la migliore pratica è utilizzare IKEv2 con certificati per lo scambio di chiavi e ESP con crittografia autenticata, come le modalità AES-CCM o AES-GCM.

Lo stesso tunneling è per lo più solo un dettaglio di implementazione, ma ci possono essere problemi di sicurezza con (1) frammenti IP, (2) strane combinazioni di AH / ESP quando si usa IPsec o (3) combinando UDP con TLS o (4) ) perdita di informazioni a causa dei requisiti di compatibilità / prestazioni del processo di tunneling.

    
risposta data 19.07.2012 - 11:11
fonte

Leggi altre domande sui tag