RADIUS
RADIUS (Remote Authentication Dial In User Service, česky Uživatelská vytáčená služba pro vzdálenou autentizaci) je AAA protokol (authentication, authorization and accounting, česky autentizace, autorizace a účtování) používaný pro přístup k síti nebo pro IP mobilitu. Může pracovat jak lokálně tak i v roamingu.
Mezi nejdůležitější vlastnosti patří jeho vysoká síťová bezpečnost, neboť transakce mezi klientem a RADIUS serverem je autentizována pomocí sdíleného tajemství, které není nikdy posíláno přes síť. Všechny uživatelská jména jsou přes síť zasílána šifrovaně. Uživatelské heslo je ukryto metodou založenou na RSA Message Digest algoritmu MD5.
Postup autentizace
Postup autentizace je následující: uživatel vydá klientovi Požadavek na autentizaci, klient vytvoří Požadavek na přístup (Access Request) obsahující uživatelské jméno, heslo a ID portu, přes který je uživatel připojen. Požadavek na přístup je odeslán RADIUS serveru a čeká se na odpověď. Pokud nepřijde do určeného času (timeoutu) žádná odezva, Požadavek na přístup se opakuje, zpravidla 3 až 5 krát.
Pokud není splněna některá z podmínek, RADIUS server odešle Zamítnutí přístupu (Access Reject). Do datové oblasti paketu je dovoleno umístit maximálně textovou zprávu, která smí být zobrazena pomocí klienta uživateli. Žádné další atributy nejsou v odpovědi Access Reject povoleny.
Jestliže jsou všechny podmínky splněny, RADIUS server odešle Povolení přístupu (Access Accept), kde v datové oblasti paketu jsou uloženy všechny potřebné konfigurační informace (IP adresa, maska sítě, login uživatele a vše, co je potřeba předat požadované službě).
Formát RADIUS paketu
RADIUS paket je zabalen do datové části UDP segmentu s hodnotou cílového portu 1812 - oficiálně přidělené číslo portu pro RADIUS je 1812. Skládá se z HEAD (8 bitů) identifikuje typ RADIUS paketu, identifikátor (8 b), Délka (16 b) určuje velikost RADIUS paketu od HEAD po atributy, minimálně 20 bytů, maximálně 4096 bytů, Datová oblast - Authenticator (128 bitů, je náhodně vygenerované číslo, které je použito na ověřování správné autentizace - viz níže) a oblast atributy, které nesou specifické autentizační, konfigurační nebo autorizační detaily pro požadavky či odpovědi. Konec seznamu atributů je určen délkou RADIUS paketu.
Ověření správnosti Autentizace: na sdílené tajemství (šifru) a Request Authenticator (128 bitů) je aplikována jednocestná hashovací funkce MD5, pomocí které je vytvořena 128 bitů velká hodnota, která je dále xorována s uživatelským heslem.
Příklad použití
Při připojení k poskytovateli Internetu pomocí vytáčeného připojení, DSL, nebo Wi-Fi je u některých poskytovatelů vyžadováno přihlašovací uživatelské jméno a heslo. Tato informace je poslána do takzvaného Network Access Server (NAS) zařízení přes Point-to-Point Protocol (PPP). Poté je předána RADIUS serveru přes RADIUS protokol. RADIUS server ověří pravost informace použitím autentizačních schémat jako PAP, CHAP nebo EAP. Pokud je uživatelské jméno a heslo přijato, server autorizuje přístup k poskytovateli internetu a vybere IP adresu (popřípadě rozsah adres) a další parametry spojení, což mohou být např. L2TP přihlašovací údaje, doba, po kterou může být uživatel připojen, rychlost připojení, kterou může uživatel používat, nebo jiná omezení. RADIUS protokol neposílá hesla mezi NAS a RADIUS serverem v čistém textu (ani při použití s PAP protokolem), používá se MD5 hašování.
RADIUS server bude také upozorněn na spuštění nebo ukončení sezení, takže uživatel může platit přesně podle těchto RADIUS informací nebo mohou být tyto použity pro statistické účely. Tyto údaje mohou sloužit (při použití SIP přihlašovacích údajů z koncového VoIP zařízení) k účtování hovorů.
Historie
RADIUS byl původně vyvinut společností Livingston Enterprises pro jejich PortMaster série Network Access Servers a později (1997) zveřejněny jako RFC 2058 aRFC 2059 (současné verze jsou RFC 2865 a RFC 2866). Nyní existuje několik komerčních a open-source RADIUS serverů. Vlastnosti se liší, ale většina umožňuje dohledávat uživatele v textových souborech, LDAP serverech, různých databázích a podobně. Účtovací informace se mohou zapisovat do textových souborů, různých databází, přeposílat na externí servery a podobně. SNMP je často používáno pro vzdálené monitorování. RADIUS proxy servery jsou používány pro centrální správu a mohou přepisovat RADIUS pakety za běhu (z bezpečnostních důvodů, nebo pro překlady mezi dialekty jednotlivých výrobců).
RADIUS je jako autentizační protokol běžně používán v IEEE 802.1x bezpečnostním standardu (často používán v bezdrátových sítích). I když nebyl RADIUS původně vytvořen pro autentizační metody v bezdrátových sítích, vylepšuje WEP zabezpečení ve spojení s ostatními bezpečnostními metodami jako EAP-PEAP.
RADIUS je rozšiřitelný a většina výrobců zařízení a software používají vlastní RADIUS dialekty.
DIAMETER protokol je plánován jako nádhrada RADIUS. DIAMETER používá jako transportní vrstvu TCP zatímco RADIUS používá UDP.
Oficiálně přidělené čísla UDP portů pro RADIUS protokol jsou pro autentizaci 1812 a pro účtování 1813. Přesto některé implementace používají jako výchozí UDP porty 1645 resp. 1646 (například Cisconebo Juniper)
Standardy
RADIUS protocol je v současnosti definován v:
RFC 2865 Remote Authentication Dial In User Service (RADIUS)
RFC 2866 RADIUS Accounting
Další příbuzné RFC standardy jsou:
RFC 2548 Microsoft Vendor-specific RADIUS Attributes
RFC 2607 Proxy Chaining and Policy Implementation in Roaming
RFC 2618 RADIUS Authentication Client MIB
RFC 2619 RADIUS Authentication Server MIB
RFC 2620 RADIUS Accounting Client MIB
RFC 2621 RADIUS Accounting Server MIB
RFC 2809 Implementation of L2TP Compulsory Tunneling via RADIUS
RFC 2867 RADIUS Accounting Modifications for Tunnel Protocol Support
RFC 2868 RADIUS Attributes for Tunnel Protocol Support
RFC 2869 RADIUS Extensions
RFC 2882 Network Access Servers Requirements: Extended RADIUS Practices
RFC 3162 RADIUS and IPv6
RFC 3575 IANA Considerations for RADIUS
RFC 3579 RADIUS Support for EAP
RFC 3580 IEEE 802.1X RADIUS Usage Guidelines
RFC 3748 Extensible Authentication Protocol (EAP)
RFC 4014 RADIUS Attributes Suboption for the DHCP Relay Agent Information Option
RFC 4590 RADIUS Extension for Digest Authentication
RFC 4603 Additional Values for the NAS-Port-Type Attribute
RFC 4668 RADIUS Authentication Client MIB for IPv6
RFC 4669 RADIUS Authentication Server MIB for IPv6
RFC 4670 RADIUS Accounting Client MIB for IPv6
RFC 4671 RADIUS Accounting Server MIB for IPv6
RFC 4672 RADIUS Dynamic Authorization Client MIB
RFC 4673 RADIUS Dynamic Authorization Server MIB
RFC 4675 RADIUS Attributes for Virtual LAN and Priority Support
RFC 4679 DSL Forum Vendor-Specific RADIUS Attributes
RFC 4818 RADIUS Delegated-IPv6-Prefix Attribute
RFC 4849 RADIUS Filter Rule Attribute
RFC 5030 Mobile IPv4 RADIUS Requirements
RFC 5080 Common RADIUS Implementation Issues and Suggested Fixes
RFC 5090 RADIUS Extension for Digest Authentication
RFC 5176 Dynamic Authorization Extensions to RADIUS
RFC 5580 Carrying Location Objects in RADIUS and Diameter
RFC 5607 RADIUS Authorization for Network Access Server (NAS) Management
RFC 5608 RADIUS Usage for SNMP Transport Models
RFC 5904 RADIUS Attributes for IEEE 802.16 Privacy Key Management Version 1 (PKMv1) Protocol Support