Lo standard IEEE 802.1x, introdotto nel 2001, viene adoperato molto spesso nell’ambito delle reti wireless, ma può essere “adattato” anche alle reti wired. In particolare, tale standard riconosce 3 elementi distinti:
1. Il supplicante, ovvero la macchina che chiede di essere autenticata;
2. L’autenticatore, ovvero il dispositivo che fa da tramite tra supplicante e server di autenticazione;
3. Il server di autenticazione, il cui compito è quello di ricevere le credenziali inviate dal supplicante ed eventualmente garantirne l’accesso alla rete.
Ora, occorre precisare che il traffico generato tra l’autenticatore ed il server di autenticazione risulta cifrato. Ciò si rende necessario poiché si vuole evitare che eventuali operazioni di sniffing possano consentire ad un attaccante di ottenere credenziali valide per l’accesso al network.
Il protocollo utilizzato per l’invio delle credenziali di accesso prende il nome di EAP (Extensible Authentication Protocol), appartenente al layer 2 della pila ISO/OSI. Esso consente di utilizzare diversi metodi di autenticazione, tra cui one time password, Kerberos, certificati digitali, smartcard, ecc.
Nella fattispecie, esistono le seguenti sotto tipologie di EAP:
• EAP-TLS (Transport Layer Security): sfrutta i certificati digitali per valutare l’identità del supplicante. Ovviamente, anche sul server di autenticazione deve essere installato un certificato X.509 con finalità di autenticazione. Tale approccio presenta però un punto debole, ovvero risulta poco scalabile.
• EAP-TTLS (Tunnel Transport Layer Security): variante dell’EAP-TLS, richiede la presenza di un certificato di autenticazione solo sul server di autenticazione e si avvale di un tunnel cifrato per lo scambio delle informazioni tra supplicante e server di autenticazione stesso.
• EAP-LEAP (Lightweight Extensible Authentication Protocol): standard proprietario Cisco, veniva utilizzato nell’ambito degli AP Aironet che sfruttavano il WEP come algoritmo di cifratura. Ovviamente, essendo il WEP vulnerabile, lo è di riflesso anche lo standard in questione.
• EAP-PEAP (Protected Extensible Authentication Protocol): sviluppato da Cisco, Microsoft ed RSA Security.
Autenticazione passo dopo passo
Appena la macchina viene allacciata allo switch (o viene accesa), la sua interfaccia di rete (NIC) invierà al commutatore un messaggio di EAP-Start, in modo da mettere in piedi una sessione tra il supplicante e l’autenticatore.
A questo punto lo switch risponderà con un EAP Request Identity, richiedendo sostanzialmente al supplicante le sue credenziali.
Successivamente, il supplicante invierà allo switch tali credenziali, le quali verranno incapsulate da quest’ultimo all’interno di un pacchetto IP ed inoltrate al server di autenticazione (solitamente di tipo RADIUS). Durante questa fase, il supplicante non ha ancora accesso al network a livello IP, ma l’unico traffico consentito è quello EAP.
Dopo che il server di autenticazione avrà valutato le credenziali di accesso inoltrategli dall’autenticatore, esso risponderà con un messaggio di Accept o Reject.
Infine, lo switch inoltrerà tale risposta al supplicante, nella forma di EAP Success o EAP Reject. Nel primo caso verrà consentito il traffico IP da e verso il supplicante, mentre nel secondo caso la porta a cui è allacciato il supplicante verrà bloccata oppure piazzata su una VLAN creata ad hoc e con accesso ristretto.
Nei prossimi post vedremo come abilitare tale protocollo sugli switch Cisco Catalyst 3750. A presto.