# PEAP

PEAP (Protected Extensible Authentication Protocol) is een protocol om informatie (inclusief wachtwoorden) veilig over een draadloos netwerk te transporteren. Er wordt gebruikgemaakt van een geëncrypteerde tunnel op basis van Secure Sockets Layer en Transport Layer Security.

## Definitie

PEAP is een lid van de protocolfamilie Extensible Authentication Protocol. PEAP gebruikt TLS voor het maken van een gecodeerd kanaal tussen een geverifieerde PEAP-client, bijvoorbeeld een draadloze computer, en een PEAP-verificator, bijvoorbeeld een IAS- of RADIUS-server (Remote Authentication Dial-In User Service). PEAP geeft geen verificatiemethode aan, maar voorziet in aanvullende beveiliging voor andere EAP-verificatieprotocollen, die kunnen gebruikmaken van het gecodeerde kanaal dat door PEAP met TLS is gemaakt. PEAP wordt gebruikt als verificatiemethode voor draadloze 802.11-clientcomputers, maar wordt niet ondersteund voor VPN- of andere RAS-clients.
PEAP voorziet op de volgende manieren in uitbreiding van de EAP-protocollen en betere netwerkbeveiliging:
* Beveiliging van de onderhandeling over een EAP-methode die via een TLS-kanaal plaatsvindt tussen client en server.
* Ondersteuning voor het fragmenteren en opnieuw samenstellen van berichten, waardoor er EAP-typen kunnen worden gebruikt die deze voorziening niet bieden.
* Draadloze clients met de mogelijkheid om de IAS- of RADIUS-server te verifiëren, ook de server verifieert de client dus is er sprake van wederzijdse verificatie.
* Beveiliging tegen de implementatie van een niet-geverifieerd draadloos toegangspunt (Wireless Access Point of WAP) wanneer de EAP-client het certificaat van de IAS-server verifieert.
* Snel opnieuw verbinding maken, waardoor er minder vertraging optreedt tussen een verificatieaanvraag van een client en het antwoord van de IAS- of RADIUS-server, en draadloze clients verschillende toegangspunten kunnen gebruiken zonder herhaling van verificatieaanvragen.

## Eigenschappen
### Verificatieprocess

Het PEAP-verificatieproces tussen de PEAP-client en de -verificator verloopt in twee fasen. In de eerste fase wordt er een beveiligd kanaal tussen de PEAP-client en de verificatieserver tot stand gebracht. In de tweede fase zorgen de EAP-client en de -verificator voor EAP-verificatie.

### Gecodeerd TLS-kanaal

De draadloze client brengt een koppeling met een draadloos toegangspunt tot stand. Bij een op IEEE 802.11 gebaseerde koppeling wordt er een Open System- of Shared Key-verificatie(R) uitgevoerd voordat er een beveiligde koppeling wordt gemaakt tussen de client en het toegangspunt. Wanneer de op IEEE 802.11 gebaseerde koppeling tussen de client en het toegangspunt tot stand is gekomen, wordt met het toegangspunt onderhandeld over de TLS-sessie. Als de verificatie succesvol is verlopen voor de draadloze client en de server (bijvoorbeeld een IAS-server), wordt er tussen deze twee onderhandeld over de TLS-sessie. De sleutel die tijdens de onderhandeling wordt afgeleid, wordt gebruikt voor de codering van alle gegevens die vervolgens worden uitgewisseld.

### Communicatie met EAP-verificatie

De volledige EAP-communicatie, waaronder EAP-onderhandeling, vindt plaats via het TLS-kanaal. De IAS-server verifieert de gebruiker en clientcomputer met de methode die wordt bepaald door het EAP-type en is geselecteerd in PEAP. Het toegangspunt stuurt berichten uitsluitend door van de draadloze client naar de RADIUS-server en omgekeerd. Het toegangspunt (of degene die het beheert) kan de berichten niet decoderen, aangezien het geen TLS-eindpunt betreft.

### Snel opnieuw verbinding maken van PEAP

Snel opnieuw verbinding maken van PEAP maakt het mogelijk dat draadloze clients verschillende draadloze toegangspunten in hetzelfde netwerk gebruiken zonder steeds opnieuw te worden geverifieerd.
Draadloze toegangspunten worden geconfigureerd als RADIUS-clients van RADIUS-servers. Wanneer een draadloze client gebruikmaakt van verschillende toegangspunten die zijn geconfigureerd als clients van dezelfde RADIUS-server, hoeft de client niet bij elke nieuwe koppeling met een toegangspunt opnieuw te worden geverifieerd. Als een client een koppeling maakt met een toegangspunt dat is geconfigureerd als RADIUS-client van een andere RADIUS-server, wordt de client weliswaar opnieuw geverifieerd, maar dit proces verloopt veel efficiënter.
Snel opnieuw verbinding maken van PEAP verkort de reactietijd tijdens de verificatie door de client en de verificator, doordat de verificatieaanvraag wordt doorgestuurd van de nieuwe server naar de oorspronkelijke server. Aangezien zowel de PEAP-client als de verificator TLS-verbindingseigenschappen gebruiken die eerder in de cache zijn opgeslagen (de TLS-ingang), kan de verificator snel vaststellen dat de clientverbinding een opnieuw gemaakte verbinding is.
Als de oorspronkelijke PEAP-verificator niet beschikbaar is, moeten de client en de nieuwe verificator een volledige verificatie uitvoeren. De TLS-ingang van de nieuwe PEAP-verificator wordt in de cache opgeslagen door de client. De client kan TLS-ingangen voor meerdere PEAP-verificatoren in de cache opslaan. Bij smartcards of wordt de gebruiker gevraagd om respectievelijk pincode of referenties op te geven.
Bij smartcards geldt het volgende:
| AP van dezelfde RADIUS-server | AP van nieuwe RADIUS-server |
| De gebruiker wordt niet elke keer dat de clientcomputer een koppeling maakt met een nieuw toegangspunt gevraagd om referenties. | De gebruiker wordt bij de eerste koppeling om referenties gevraagd. De eerstvolgende keer dat de clientcomputer een koppeling tot stand brengt met een toegangspunt dat een client van deze server is, zijn er geen gebruikersreferenties vereist. |
| De RADIUS-server hoeft geen certificaat te leveren. | De RADIUS-server levert een certificaat bij de eerste koppeling, zodat de draadloze client kan worden geverifieerd voor de RADIUS-server. De eerstvolgende keer dat de clientcomputer een koppeling tot stand brengt met een toegangspunt dat een client van deze server is, hoeft de server niet te worden geverifieerd. |
Bij PEAP-EAP-TLS-verificatie geldt het volgende:
| AP van dezelfde RADIUS-server | AP van nieuwe RADIUS-server |
| De client en server hoeven geen certificaten uit te wisselen. | De client en server wisselen bij de eerste koppeling certificaten uit. De eerstvolgende keer dat de clientcomputer een koppeling tot stand brengt met een toegangspunt dat een client van deze server is, worden er geen certificaten uitgewisseld. |
| De gebruiker wordt niet elke keer dat de clientcomputer een koppeling maakt met een nieuw toegangspunt, gevraagd om de pincode van een smartcard. | De gebruiker wordt bij de eerste koppeling om de pincode van een smartcard gevraagd. De eerstvolgende keer dat de clientcomputer een koppeling tot stand brengt met een toegangspunt dat een client van deze server is, wordt de gebruiker niet om de pincode gevraagd. |

## Opmerkingen

* Als de verificatiemethoden PEAP-EAP-TLS en EAP-TLS worden gebruikt met certificaten, maakt TLS gebruik van certificaateigenschappen in de cache in plaats van het certificaat in het certificaatarchief. Als een certificaat wordt gewijzigd of verwijderd en vervangen door een nieuw certificaat, blijft TLS achterhaalde certificaatgegevens uit de cache gebruiken totdat de cache is verlopen of wordt vernieuwd. Als een gebruiker een certificaat wijzigt of vervangt, kan hij de TLS-cache vernieuwen door de servercomputer opnieuw op te starten.
* PEAP biedt geen ondersteuning voor gastverificatie (blanco gebruikersnaam en wachtwoord).
* Wanneer een gebruiker zowel PEAP als EAP onbeveiligd implementeert met PEAP, moet hij niet hetzelfde EAP-verificatietype gebruiken met en zonder PEAP. Als een gebruiker bijvoorbeeld PEAP implementeert met EAP-TLS (PEAP-EAP-TLS), moet hij niet ook EAP-TLS implementeren zonder PEAP. Verificatiemethoden implementeren met hetzelfde type, de een met en de ander zonder PEAP-beveiliging, brengt beveiligingsrisico's met zich mee.