Come si ottiene la chiave quando effettuo l'accesso tramite VPN?

0

Quindi, configuro la mia VPN (diciamo quale usa il protocollo PPTP), inserisci il nome del server, il nome utente e la password. Quindi, visito un sito Web. Prima di ciò, la mia richiesta è crittografata usando AES con qualche chiave. Quella richiesta viene inviata alla VPN. In che modo la VPN decodifica i dati? Come può sapere qual è la chiave? Come viene ottenuta la chiave tra due parti? Oppure viene inviata la prima richiesta con il mio nome utente e password, VPN verifica se l'utente esiste, genera la chiave e la invia all'utente? Ma sarebbe insicuro farlo. Inoltre, quando effettuo l'accesso tramite cellulare, è necessario creare una chiave diversa.

    
posta evening 28.08.2013 - 02:03
fonte

2 risposte

2

I dettagli precisi dipendono dallo specifico software VPN che si utilizza, ma in generale, la stessa chiave crittografica verrà precaricata in entrambe le estremità della VPN. Può essere specificato in un file di configurazione o derivato da una passphrase o in qualche altro modo reso disponibile per entrambi gli endpoint. Ecco come il software VPN sulla tua macchina crittografa i dati e in che modo il software VPN sull'end end può decrittografare i dati crittografati.

    
risposta data 29.08.2013 - 09:19
fonte
1

PPTP stesso, come specificato, non include alcuna crittografia; ma l'implementazione PPTP più diffusa, fornita con Windows, include un livello di crittografia non standard, che si è rivelato essere piuttosto mal fatto e quindi crackable in molti modi, alcuni di loro genericamente mortale . In questo caso specifico, la chiave utilizzata per la crittografia è stata calcolata in modo deterministico (tramite una semplice invocazione della funzione hash) sulla concatenazione della password utente con hash e un nonce casuale che è stato scambiato (come testo chiaro) durante la fase di autenticazione iniziale.

In generale , perché una chiave simmetrica sia condivisa tra due sistemi, ci sono due scelte:

  • La chiave deriva da un segreto condiviso iniziale, che è stato impostato tramite una procedura di inizializzazione. Questo è ciò che Microsoft stava facendo con PPTP, il "segreto iniziale" essendo la (l'hash della) password dell'utente. La derivazione può includere alcuni valori casuali (che devono essere inviati da un sistema all'altro) in modo che ogni volta venga generata una chiave diversa.

  • Una chiave viene generata dinamicamente con un protocollo dell'accordo chiave . Questo è il modello di SSL e, in effetti, esistono implementazioni VPN che utilizzano SSL (ad esempio OpenVPN ) . Al fine di prevenire attacchi Man-in-the-Middle , deve verificarsi una sorta di autenticazione; SSL utilizza certificati X.509 . Vedi questa risposta per alcune spiegazioni su come una cosa del genere abbia creato un segreto condiviso dal nulla può effettivamente funzionare. Le differenze tra una VPN e una connessione HTTPS da browser a server Web non sono rilevanti qui: si applicano gli stessi concetti.

risposta data 30.08.2013 - 00:42
fonte

Leggi altre domande sui tag