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 serverem RADIUS je autentizována pomocí sdíleného tajemství, které není nikdy posíláno přes síť. Pouze uživatelská hesla jsou přes síť zasílána šifrovaně. Uživatelská jména, účtování apod. mohou byt odposlechnuta třetí osobou, protože tato data nejsou přenášena šifrovaně.
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 serveru RADIUS 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–5krát.
Pokud není splněna některá z podmínek, server RADIUS 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, server RADIUS 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
Paket protokolu RADIUS je zabalen do datové části segmentu UDP 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 paketu RADIUS, identifikátor (8 b), Délka (16 b) určuje velikost paketu RADIUS od HEAD po atributy, minimálně 20 bitů, maximálně 4096 bitů, 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 paketu RADIUS.
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 server RADIUS pomocí protokolu RADIUS. Server RADIUS 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 a RFC 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áhrada 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 Cisco nebo Juniper)[zdroj?]
Standardy
RADIUS protocol je v současnosti definován v:
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