# Extensible Authentication Protocol

Extensible Authentication Protocol (EAP) è un framework di autenticazione utilizzato spesso sugli access point e nelle connessioni PPP. L'utilizzo di EAP all'interno di una rete wireless, ad esempio, prevede che non sia l'access point ad autenticare il client: esso redirige la richiesta di autenticazione avanzata dal client ad uno specifico server, configurato per questo scopo come un RADIUS.
Definito nella Request for Comments (RFC) 2284 e aggiornato nella RFC 3748 e nella RFC 4017, è uno standard altamente flessibile che può essere implementato in numerose differenti modalità; 802.1x ha ereditato tale flessibilità per raggiungere svariati obiettivi di sicurezza.
802.1x racchiude un range di metodi di autenticazione EAP, inclusi MD5, TLS, TTLS, LEAP, PEAP, SecurID, SIM, AKA e AKA' . Ciascuno di questi metodi EAP ha vantaggi e svantaggi a seconda dell'ambiente.

## Metodi di autenticazione
### EAP-MD5

MD5 è l'equivalente del CHAP in cui un algoritmo di hash a senso unico è utilizzato in combinazione con un segreto condiviso e una richiesta di identificazione per verificare che il richiedente sia a conoscenza del segreto condiviso. MD5 è considerato un metodo di autenticazione di livello base e generalmente non appropriato in caso sia necessario un alto livello di sicurezza per la protezione di beni di grande valore. Questo accade per diverse ragioni. Come ogni metodo che utilizza richieste random e un algoritmo hash, è vulnerabile agli attacchi basati su dizionario. Se un attaccante riesce ad ottenere la richiesta e la risposta hash, è in seguito possibile eseguire un programma off-line con lo stesso algoritmo del richiedente, inserendo parole contenute in un dizionario fino a quando la risposta hash coincide con quella del richiedente. A questo punto l'attaccante conoscerà la password del richiedente e potrà sottrarne l'identità per ottenere l'accesso alla rete. Questo procedimento risulta ancora più semplice nelle wireless LAN, dove la richiesta e la risposta "viaggiano" nell'etere. Questo è il motivo per cui è importante scegliere password che non siano parole di senso compiuto. In aggiunta, EAP-MD5 offre soltanto l'autenticazione lato client (ovvero, il client viene autenticato alla rete). Altri metodi EAP offrono mutua autenticazione per cui il client è autenticato alla rete e la rete è autenticata al client.

### EAP-TLS

Il Transport Layer Security (TLS) offre un processo di autenticazione particolarmente sicuro, che sostituisce le semplici password con certificati lato client e lato server tramite l'utilizzo della infrastruttura a chiave pubblica (Public Key Infrastructure o PKI). Un certificato è un record di informazioni relative ad un'entità (ad esempio una persona, un'azienda, ecc.) verificato tramite un algoritmo matematico asimmetrico. È supportata la mutua autenticazione, e le chiavi di sessione dinamiche. TLS è una buona scelta quando si richiede un elevato livello di autenticazione e sicurezza ed è presente una infrastruttura a chiave pubblica. Comunque, l'utilizzo di una PKI, in cui ciascun client ha il suo proprio certificato, è oneroso se comparato ai sistemi basati su password. Tale onere deriva dagli strumenti software richiesti affinché il sistema sia efficace.

### EAP-TTLS

Tunnelled Transport Layer Security (TTLS) è un'estensione del TLS ed è stato sviluppato per superare la necessità, generata dal TLS, di certificati lato client (sono invece richiesti certificati lato server). Così come l'altro dei due metodi attualmente disponibili di autenticazione tramite tunnel (l'altro è il PEAP), TTLS è un metodo a due passaggi. Nel primo, un algoritmo asimmetrico basato sulle chiavi del server è utilizzato per verificare l'identità del server e per creare il tunnel di crittazione simmetrica. Il secondo passaggio riguarda la verifica dell'identità del client utilizzando un secondo metodo di autenticazione tramite il tunnel di crittazione simmetrica per l'attuale negoziazione dell'autenticazione. Questo secondo metodo di autenticazione utilizzato con il tunnel può essere un tipo di EAP (spesso MD5) o un metodo di vecchio tipo come PAP, CHAP, MS-CHAP, o MS-CHAP V2. Il tunnel a crittazione simmetrica del TTLS è utilizzato solo per proteggere il metodo di autenticazione del client. Una volta verificato, il tunnel collassa.

### EAP-LEAP

Lightweight Extensible Authentication Protocol sviluppato dalla Cisco, deriva da EAP. LEAP si basa su un protocollo di autenticazione chiamato "reciproco consenso" che in poche parole significa che sia il client sia l'access point a cui il client richiede la connessione devono autenticarsi prima di avere accesso all'interno della rete. In questo modo si previene l'accesso non autorizzato di access point estranei alla rete.

### EAP Authentication and Key Agreement (EAP-AKA)

Extensible Authentication Protocol Method per Universal Mobile Telecommunications System (UMTS) Authentication and Key Agreement (EAP-AKA), è un meccanismo EAP per l'autenticazione e la distribuzione delle chiavi usando la sim UMTS (USIM). EAP-AKA è definita nella RFC 4187.

### EAP Authentication and Key Agreement prime (EAP-AKA')

il protocollo EAP-AKA' è una variante del protocollo EAP-AKA, definito nella RFC 5448, è usato per l'accesso via mezzi di trasporto non-3GPP ad una rete 3GPP. Per esempio via EVDO, WiFi, o WiMax.

### Altri

* PEAP
* EAP-FAST
* EAP-SIM
* EAP-SecurID
* EAP-SRP

### Tabella comparativa

| Metodo | Chiave dinamica | Mutua autenticazione | UserID e password | Metodi di attacco | Commenti |
| MD5 | No | No | Sì | Attacco basato su dizionario Man in the middle Dirottamento di sessione | Facile da implementare Supportato su molti server Insicuro Richiede database con testo in chiaro |
| TLS | Sì | Sì | No | Offre un'elevata sicurezza | Richiede certificati del client Innalza i costi di manutenzione Autenticazione a due fattori con smart-card |
| SRP | Sì | Sì | Sì | Attacco basato su dizionario | Assenza di certificati Attacco su dizionario per le credenziali Diritti di proprietà intellettuale |
| LEAP | Sì | Sì | Sì | Attacco basato su dizionario | Soluzione proprietaria Gli access point devono supportarlo |
| SIM | Sì | Sì | No | Vulnerabile allo spoofing | Infrastruttura basata sul roaming GSM Autenticazione a due fattori |
| AKA | Sì | Sì | No | Elevata sicurezza per ambienti cellulari | Infrastruttura basata sul roaming GSM Autenticazione a due fattori |
| SecurID | No | No | No | Man in the middle Dirottamento di sessione | Richiede autenticazione sotto tunnel Autenticazione a due fattori |
| TTLS | Sì | Sì | No | Elevata sicurezza | Creazione di un tunnel TLS (SSL) sicuro Supporta i tradizionali metodi di autenticazione: PAP, CHAP, MS-CHAP, MS-CHAP V2 L'identità dell'utente è protetta (crittata) |
| PEAP | Sì | Sì | Sì | Media sicurezza | Simile all'EAP-TTLS Creazione di un tunnel TLS (SSL) sicuro L'identità dell'utente è protetta (crittata) Attacco su dizionario per le credenziali |