Password Authentication Protocol, o PAP, e Challenge Handshake Authentication Protocol, o CHAP, sono entrambi utilizzati per autenticare le sessioni PPP e possono essere utilizzati con molte VPN.
PAP funziona come una procedura di accesso standard. Il sistema remoto si autentica utilizzando una combinazione statica di nome utente e password. La password può passare attraverso un tunnel crittografato stabilito per una maggiore sicurezza, ma PAP è soggetto a numerosi attacchi. Poiché le informazioni sono statiche, sono vulnerabili alla supposizione e allo snooping della password.
CHAP adotta un approccio più sofisticato e sicuro all’autenticazione. Crea una frase di sfida unica per ogni autenticazione generando una stringa casuale. Questa frase di sfida è combinata con i nomi host dei dispositivi che utilizzano funzioni hash unidirezionali. Con questo processo, CHAP può autenticarsi in modo tale che le informazioni segrete statiche non vengano inviate via cavo.
Tuffiamoci più in profondità le differenze tra PAP e CAP e come possono lavorare insieme.
Che cos’è il PAP?
Dei due metodi di autenticazione PPP (Point-to-Point Protocol), PAP è più vecchio. È stato standardizzato nel 1992 mediante richiesta di osservazioni da parte dell’ETf 1334. PAP è un client-server, protocollo di autenticazione basato su password. L’autenticazione viene eseguita una sola volta all’inizio di un processo di creazione della sessione.
PAP utilizza un processo di handshake bidirezionale per l’autenticazione utilizzando i passaggi seguenti.
Punto 1. Il client invia nome utente e password al server.
Il client che desidera stabilire una sessione PPP con un server invia una combinazione di nome utente e password al server. Questo viene eseguito attraverso un pacchetto di richiesta di autenticazione.
Punto 2. Server accetta le credenziali e verifica.
Se il server sta ascoltando le richieste di autenticazione, accetterà le credenziali di nome utente e password e verificherà che corrispondano.
Se le credenziali vengono inviate correttamente, il server invierà un pacchetto di risposta authentication-ack al client. Il server stabilirà quindi la sessione PPP tra il client e il server.
Se le credenziali vengono inviate in modo errato, il server invierà un pacchetto di risposta authentication-nak al client. Il server non stabilirà una risposta basata sul riconoscimento negativo.
PAP è un meccanismo di autenticazione semplice e facile da implementare, ma presenta gravi inconvenienti al suo utilizzo in ambienti reali. Il più grande svantaggio è che PAP invia nomi utente e password statici dai client ai server in testo normale. Se i cattivi attori intercettavano questa comunicazione, usando strumenti come uno sniffer di pacchetti, potevano autenticarsi e stabilire una sessione PPP per conto del cliente.
È possibile inviare richieste di autenticazione PAP attraverso tunnel crittografati esistenti. Tuttavia, se sono disponibili altre opzioni di autenticazione, come CHAP, i team dovrebbero utilizzare un metodo alternativo.
Che cos’è il CAP?
CHAP utilizza un processo di handshake a tre vie per proteggere la password di autenticazione da cattivi attori. Funziona come segue.
Punto 1. Dopo aver stabilito il collegamento, l’autenticatore invia una sfida di autenticazione.
Il server di accesso alla rete esegue una ricerca del nome host sul client e avvia l’autenticazione CHAP inviando un “ask challenge” all’utente remoto. Questa sfida include una stringa di sfida generata casualmente.
Punto 2. Il client esegue la ricerca del nome host.
Il client utilizza la password che sia il client che il server conoscono per creare un hash crittografato a senso unico basato sulla stringa di sfida.
Punto 3. Server decifra hash e verifica.
Il server decrittograferà l’hash e verificherà che corrisponda alla stringa di sfida iniziale. Se le stringhe corrispondono, il server risponde con un pacchetto di autenticazione-successo. Se le stringhe non corrispondono, il server invia una risposta al messaggio di errore di autenticazione e la sessione viene terminata.
Quali sono le differenze tra PAP vs CHAP?
Il CAP è arrivato nel 1996 in gran parte come risposta alle debolezze di autenticazione inerenti al PAP. Invece di una stretta di mano a due vie, CHAP utilizza una stretta di mano a tre vie e non invia la password attraverso la rete. CHAP utilizza un hash crittografato per il quale sia il client che il server conoscono la chiave segreta condivisa. Questo passaggio aggiuntivo aiuta a eliminare le debolezze di sicurezza riscontrate in PAP.
Un’altra differenza è che CHAP può essere impostato per eseguire autenticazioni ripetute a metà sessione. Questo è utile per alcune sessioni PPP che lasciano una porta aperta anche se il dispositivo remoto è disconnesso. In tal caso, qualcun altro potrebbe prendere la metà della sessione di connessione stabilendo la connettività fisica.
Come possono PAP e CAP lavorare insieme?
PAP e CAP non possono lavorare insieme di per sé. Ma i protocolli che utilizzano PAP o CHAP possono interagire con entrambi i metodi di autenticazione, se lo si desidera.
Ad esempio, PPP può utilizzare PAP o CHAP per l’autenticazione. Quindi, gli amministratori potrebbero configurare il protocollo di comunicazione per provare ad autenticarsi prima tramite l’handshake a tre vie sicuro di CHAP e poi tornare al processo di autenticazione a due vie meno sicuro trovato in PAP.