# Authentication, Authorization en Accounting

Authentication, Authorization en Accounting zijn Engelse termen en worden ook wel AAA of triple-A genoemd. Een AAA wordt gebruikt in elektronische systemen en netwerken om de toegang te controleren, gedefinieerde regels te hanteren en het gebruik te auditeren. De AAA is een functionaliteit die met verschillende protocollen gerealiseerd kan worden.

## Termen

* Authenticatie: Proces waarbij wordt nagegaan wat de identiteit is van diegene die gebruik wil maken van een bepaalde dienst. In dit proces worden gegevens uitgewisseld om de identiteit van de gebruiker te kunnen verifiëren (bijvoorbeeld: wachtwoorden, gebruikersnaam, telefoonnummers, digitale certificaten enzovoort).
* Autorisatie: Proces waarin wordt beslist of een gebruiker rechten krijgt om de door hem aangevraagde dienst te mogen gebruiken. Hierbij wordt de vastgestelde identiteit (zie authenticatie) gebruikt om te bepalen welke rechten deze gebruiker heeft (bijvoorbeeld aan de hand van afgesloten abonnement, banksaldo, tijdstip, geografische locatie enzovoort). Bij het toewijzen van de rechten kunnen ook andere gegevens worden vastgelegd. Voorbeelden hiervan zijn: toewijzing IP-adres, IP-filtering, kwaliteit (QoS), bandbreedte, tijdslimiteringen enzovoort.
* Accounting (Engels, vertaald: boekhouden): Proces waarin wordt bijgehouden hoe de gebruiker het netwerk gebruikt. Deze informatie kan worden gebruikt voor het management, de planning, de rekening of andere doeleinden. Typische informatie die wordt verzameld, is de identiteit van de gebruikers, welke dienst gebruikt is, vanaf wanneer en tot wanneer.

## Standaardisatie

De AAA is gestandaardiseerd door de IETF. Hieronder een lijst van AAA gerelateerde RFC-documenten.
* 2194: Reviews van roamingimplementaties
* 2477: Criteria voor de evaluatie van de roamingprotocollen
* 2881: Eisen voor de volgende generatie Network Access Server
* 2903: Algemene AAA-architectuur
* 2904: AAA-autorisatieframework
* 2905: Voorbeelden van AAA-autorisatieapplicaties
* 2906: Eisen voor AAA-autorisatie
* 3169: Criteria voor de evaluatie van de 'Network Access Server'protocollen
* 3539: AAA-transportprofiel
* 3588: Diameter Base Protocol

## Protocollen

Voor de realisering van de AAA-functionaliteit zijn volgende protocollen ontworpen: RADIUS, DIAMETER, TACACS en TACACS+.
Voor de AAA-functie worden in de praktijk meestal RADIUS en DIAMETER gebruikt. De beperkte mogelijkheden van RADIUS hebben mede tot de ontwikkelingen van DIAMETER geleid. Andere protocollen die in combinatie met bovenstaande kunnen worden gebruikt, zijn:
* PPP
* PAP
* Challenge-Handshake Authentication Protocol (CHAP)
* EAP
* Protected Extensible Authentication Protocol (PEAP)
* LDAP

## Toepassingen

In de praktijk krijgen de AAA-systemen, naast de standaard functionaliteit, steeds meer toepassingen.
Een AAA-systeem houdt intern bij welke gebruikers online zijn. Het AAA systeem heeft de klanten geautoriseerd en een IP-adres toegewezen. Tijdens de duur van de sessie wordt zulke informatie opgeslagen in een interne sessiedatabank.
Deze sessie-informatie kan worden gebruikt voor andere externe systemen. Een e-mail- of proxyserver kan bijvoorbeeld de klantengegevens bij een AAA opvragen die bij een bepaald (online) IP-adres horen. Een website kan opvragen met welke bandbreedte en kwaliteit een specifieke gebruiker met een netwerk verbonden is en kan met deze informatie de diensten dynamisch aanpassen (de mogelijkheden voor een ADSL2+ klant zijn immers anders dan een GPRS-klant). Om toegang tot de AAA sessie databank te krijgen, worden veel leverancierspecifieke protocollen gebruikt maar ook SOAP, LDAP en DNS.
De AAA-systemen worden vaak specifiek aangepast naar wens van een klant. Zo kan de authenticatie in mobiele netwerken bijvoorbeeld verlopen gebaseerd op de simkaarten. Een bestaande sessie kan ook dynamisch worden gestuurd.

## Externe link

* (en) IETF pagina van AAA-werkgroepen
* ↑ RFC 2194
* ↑ RFC 2477
* ↑ RFC 2881
* ↑ RFC 2903
* ↑ RFC 2904
* ↑ RFC 2905
* ↑ RFC 2906
* ↑ RFC 3169
* ↑ RFC 3539
* ↑ RFC 3588