2012/28 – 19. 4. 2012
Řízení přístupu v počítačových sítích Karel Burda Fakulta elektrotechniky a komunikačních technologií VUT v Brně Email:
[email protected]
Abstrakt – Článek rozšiřuje teorii řízení přístupu. Je v něm upřesněna terminologie a jsou zavedeny pojmy systém řízení přístupu, subsystém řízení přístupu a síť řízení přístupu. Dále je v článku navržena taxonomie, která usnadňuje popis a bezpečnostní analýzu složitých systémů a sítí řízení přístupu. Praktická použitelnost navržené terminologie a taxonomie je ilustrována na popisu reprezentativní sady prakticky používaných systémů a sítí řízení přístupu. V článku jsou dále identifikovány významné vývojové trendy v této oblasti. Jedním z těchto trendů je trend zvyšování bezpečnosti jednotlivých zařízení tím, že se kombinují metody řízení přístupu s metodami kryptografické ochrany. V článku je popsán univerzální rámec řízení přístupu, který zmiňovaný trend umožňuje efektivně zavést do praxe. Princip navrženého rámce spočívá v tom, že každé síťové zařízení je vybaveno tzv. portálem řízení přístupu, což je autonomní systém pro řízení přístupu daného zařízení. Portály řízení přístupu jednotlivých síťových zařízení navzájem komunikují pomocí specializovaného protokolu, který jim umožňuje sjednat požadovaná aktiva, sjednat autentizační metodu, provést autentizaci, schválit přístup a provádět účtování.
1 Úvod Počítačové sítě umožňují svým uživatelům využívat různé služby. Poskytovatelé těchto služeb však potřebují přístup k poskytovaným službám regulovat. Nejčastěji je účelem této regulace požadavek zajistit důvěrnost poskytovaných informací nebo potřeba vynutit si platby za poskytované služby. Zmiňovaná regulace se nazývá řízení přístupu (Access Control) a zajišťuje, že poskytované informace nebo služby jsou dostupné pouze těm zájemcům, kterým to poskytovatel služby (tzv. autorita) povolil. V případě rozsáhlejších sítí a velkého počtu uživatelů je správa související s řízením přístupu poměrně složitý problém. Pro řízení přístupu v první paketové síti (ARPANET) byl v roce 1984 použit síťový protokol TACACS (Terminal Access Controller Access Control System). V tomto protokolu [1] žadatel připojený k přístupovému uzlu TAC (Terminal Access Controller) zaslal své uživatelské jméno i heslo. Uzel TAC zaslal tyto informace autentizačnímu serveru (Login Host), který je ověřil (Authentication). V případě pozitivního výsledku autentizace byl uživatel připojen do sítě (Authorization). Potřeba vyšší bezpečnosti, výkonnosti a spolehlivosti si vynutila vytvoření nových protokolů pro řízení přístupu uživatelů do sítě. Jednalo se o protokol RADIUS (Remote Authentication Dial In User Service) [2, 3] a o protokol TACACS+ [4]. Oba tyto protokoly byly standardizovány v roce 1997 a kromě autentizace i autorizace umožňovaly i účtování přístupů (Ac-
counting). Vznikla tím nová třída síťových protokolů, která umožňuje centralizované řízení i účtování přístupu uživatelů do sítě. Podle počátečních písmen poskytovaných funkcí (Authentization, Authorization, Accounting) se tyto protokoly označují jako protokoly AAA. Nejnovějším zástupcem této třídy protokolů je protokol Diameter [5] z roku 2003. Tento protokol by měl protokoly RADIUS a TACACS+ postupně nahradit. Souběžně s řízením přístupu uživatelů do sítě jako celku se vyskytl problém řízení přístupu uživatelů sítě k jednotlivým zdrojům informací a k jednotlivým službám (tj. k serverům). Provozovatelé serverů potřebovali stejně jako provozovatelé sítí regulovat přístup k nabízeným službám. Tuto regulaci však bylo zapotřebí většinou řešit individuálně pro každý jednotlivý server a nikoliv pro více přístupových bodů jako tomu je v případě celé sítě. Autorizace a případně i účtování se proto prováděly lokálně na daném serveru a k řízení přístupu uživatelů postačovalo vytvořit síťový autentizační protokol. K historicky prvním protokolům tohoto typu náleží protokol Kerberos [6], který byl publikován v roce 1988. U webových serverů se od roku 1996 začala používat jednodušší autentizace uživatelů podle standardu [7]. Potřeba sdílení informací a služeb si však v této oblasti vynucuje stále nová řešení (např. OpenID [8]). Autentizační i AAA protokoly zažívají v současné době značný rozmach. Jejich vývoji a praktickému nasazení se věnuje velká pozornost. Teoretický základ těchto protokolů, kterým je problematika řízení přístupu, však zůstává stranou zájmu. Tento článek je proto věnován rozšíření a upřesnění teorie řízení přístupu. V článku je obecně popsáno řízení přístupu a je uvedena taxonomie systémů a sítí řízení přístupu. Z tohoto obecného pohledu jsou charakterizovány některé nejznámější systémy a sítě řízení přístupu. Dále jsou popsány některé vývojové trendy řízení přístupu v počítačových sítích a nakonec je popsán návrh univerzálního rámce řízení přístupu.
2 Systém řízení přístupu Počítačovou síť, jednotlivé počítače nebo síťová zařízení a jimi poskytované služby nebo data budeme nazývat počítačovými aktivy nebo zkráceně aktivy. Systém určený pro řízení přístupu uživatelů k těmto aktivům nazveme systém řízení přístupu. Majitel aktiv nebo jím delegovaný správce se nazývá autorita. Autorita rozhoduje o zařazení zájemců na seznam oprávněných uživatelů aktiv a stanovuje jejich přístupová práva. Před zařazením zájemce na seznam uživatelů aktiv musí proběhnout tzv. autorizace. V jejím rámci autorita se zájemcem sjedná jeho identitu (tj. jeho unikátní označení v rámci seznamu uživatelů aktiv), jeho přístupová práva a autentizační údaje. Autentizační údaje sestávají z dokazovacího
28 – 1
2012/28 – 19. 4. 2012
faktoru a ověřovacího faktoru. Dokazovací faktor umožňuje uživateli dokázat jeho identitu a ověřovací faktor umožňuje systému řízení přístupu ověřit identitu uživatele. Příkladem dokazovacího faktoru je heslo uživatele, soukromý klíč uživatele, obraz otisku jeho prstu apod. Ověřovacím faktorem je například haš uživatelova hesla, veřejný klíč uživatele, popis markantů v otisku jeho prstu apod. V případě vzájemné autentizace se sjednají příslušné faktory pro oba směry autentizace. Po uskutečnění autorizace může uživatel žádat o přístup k aktivům prostřednictvím systému řízení přístupu. Systém řízení přístupu se fyzicky nachází mezi uživateli a aktivy (viz obr. 1). Tento systém zajišťuje uživatelům přístup k aktivům v souladu s jejich přístupovými právy a v souladu s přístupovou politikou autority. Údaje, které definují přístupovou politiku, přístupová práva uživatelů a jejich ověřovací faktory nazveme konfigurační data. Konfigurační data vkládá do systému řízení přístupu příslušná autorita. Systém řízení přístupu může pro autoritu shromažďovat určité informace o provedených přístupech (účtovací údaje). To dovoluje jednoznačné účtování služeb nebo bezpečnostní audit aktivit uživatelů. Autorita Konfigurační data
Uživatelé
Účtovací data Systém řízení přístupu
Aktiva
Obr. 1: Místo systému řízení přístupu. Každý systém řízení přístupu sestává ze tří základních prvků (viz obr. 2), které obecně navzájem komunikují prostřednictvím komunikačního systému. Jedná se o následující prvky: brána: prvek, který umožňuje uživatelům přístup k aktivům, autentizátor: prvek, který provádí ověření identity (autentizaci) žadatelů, kontrolér: prvek, který zajišťuje řízení celého systému. Systém řízení přístupu Kontrolér Žadatel
Komunikační systém
Brána
Aktiva
zace může být i oboustranná. V tomto případě si žadatel a autentizátor v průběhu své komunikace stanoveným způsobem vyměňují role. Výstupem autentizace je zpráva o ověření identity žadatele, tzv. výsledek autentizace. Výsledek autentizace je předán kontroléru. V případě pozitivního výsledku autentizace kontrolér zkontroluje, zda jsou splněny všechny podmínky pro povolení přístupu a zjistí práva žadatele. Zpravidla je zjišťuje nahlédnutím do své lokální databáze nebo je odvozuje z pravidel stanovených autoritou. Na základě zjištěných práv žadatele a případně dalších kontextových informací (např. provozní zatížení bran) vytvoří kontrolér nařízení pro bránu. Toto nařízení je zpráva, která popisuje přístupová práva žadatele a případně obsahuje další potřebné údaje (např. přiřazení IP adresy žadatele). Nařízení je bezpečným způsobem předáno bráně. Systém řízení přístupu dále ještě vygeneruje oznámení pro žadatele. Toto oznámení je zpráva určená žadateli a obsahuje informaci o povolení, či nepovolení přístupu a popřípadě i další informace (např. výčet poskytnutých práv nebo přidělenou IP adresu). Pokud je nutno mezi žadatelem a bránou provést další autentizaci, tak nařízení i oznámení obsahují autentizační faktory nebo informace potřebné k získání těchto faktorů. Výše popsanou fázi řízení přístupu nazveme schvalování přístupu nebo zkráceně schvalování. Nyní má žadatel k dispozici oznámení a brána má k dispozici příslušné nařízení. Na základě informací obsažených v těchto zprávách obě strany zahájí komunikaci. V průběhu této komunikace brána umožní žadateli přístup k aktivům podle práv uvedených v nařízení. Pokud systém řízení přístupu zajišťuje i evidenci aktivit uživatelů (tzv. účtování), tak brána zasílá kontroléru informace o přístupech a případně i o jiných aktivitách daného žadatele (např. pokusy o neoprávněný přístup). Tyto informace kontrolér shromažďuje a zpracovává za účelem pozdějšího auditu nebo vyúčtování služeb. V některých systémech řízení přístupu účtování neprovádí kontrolér, ale specializované zařízení, tzv. účtovací server (účtovatel). Výše popsané fungování systému řízení přístupu lze schematicky znázornit podle obr. 3. Žadatel nejprve zašle do systému žádost o přístup k aktivům. Autentizátor pomocí stanovené autentizační techniky ověří identitu žadatele (autentizace). Kontrolér následně zjistí přístupová práva žadatele a zformuluje je do podoby nařízení pro bránu (schválení). Brána podle tohoto nařízení umožňuje přístup žadatele k aktivům (přístup). Volitelně brána zasílá kontroléru informace o provedených přístupech daného žadatele (účtování).
Autentizátor
Schválení (Kontrolér) Žadatel
Obr. 2: Struktura systému řízení přístupu.
Přístup
Autentizace (Autentizátor)
Identita
(Brána) Účtování
Systém řízení přístupu obecně funguje následovně. Uživatel (tzv. žadatel) nejprve odešle systému řízení přístupu žádost o přístup k aktivům. Následně proběhne autentizace, která proběhne formou komunikace mezi žadatelem a autentizátorem. V rámci této komunikace žadatel prokazuje skutečnost, že disponuje dokazovacím faktorem příslušného uživatele. Autentizátor si tuto skutečnost ověřuje pomocí ověřovacího faktoru, který bezpečným způsobem získal od autority. Zpravidla má tyto faktory uloženy ve své lokální databázi. Autenti-
Práva
(Kontrolér)
Přístupy
Obr. 3: Fungování systému řízení přístupu. Poznamenáváme, že v tomto článku se autoritou rozumí majitel nebo správce aktiv (tj. osoba a nikoliv zařízení) a autorizace je chápána jako jednorázový akt, kterým je definován budoucí oprávněný uživatel, jeho přístupová práva a potřebné
28 – 2
2012/28 – 19. 4. 2012
autentizační údaje. V protokolech AAA (např. [5]) se obvykle autoritou rozumí kontrolér a za autorizaci je označováno schvalování. Takové pojetí však vnáší zmatek do významu základních bezpečnostních pojmů jako je důvěrnost nebo integrita. Například důvěrnost je definována jako "zajištění, že informace je přístupná pouze těm, kteří byli autorizováni, aby k ní měli přístup" [9]. Pokud útočník při autentizaci uhodne heslo, tak kontrolér vydá bráně příslušné nařízení a útočník získá přístup k aktivům. Pokud kontrolér chápeme jako autoritu a schvalování přístupu chápeme jako autorizaci, tak útočník je v tomto případě autoritou autorizován pro přístup k důvěrné informaci. Ve smyslu výše uvedené definice důvěrnosti je vše v pořádku. K důvěrným informacím však získala přístup osoba, která k tomu nemá svolení od majitele těchto informací. Tato skutečnost je příkrém rozporu s intuitivním chápáním pojmu důvěrnost a proto označení autorita ponecháváme osobě, která uděluje přístupová práva ke svým aktivům. Pro prvek, který řídí systém řízení přístupu jsme zvolili název kontrolér.
Distribuovaný systém řízení přístupu sestává ze dvou, či více síťových zařízení. Tento typ systémů lze klasifikovat podle: míry centralizace, připojení žadatelů. Podle míry centralizace rozlišujeme centralizované a decentralizované systémy. V případě centralizovaného systému se kontrolér, autentizátor a popřípadě i účtovací server nacházejí v jednom zařízení, v tzv. serveru AAA (viz obr. 5). Příkladem popsaného typu systému je většina systémů, které využívají protokol RADIUS, Diameter nebo TACACS+. V tomto případě jediný server zajišťuje jak autentizaci žadatelů, tak i schvalování jejich přístupu přes brány (obvykle přístupové body nebo přepínače) do chráněné sítě. Systém řízení přístupu Server AAA
3 Taxonomie systémů a sítí řízení přístupu
Žadatel
K řízení přístupu k počítačovým aktivům se používají systémy řízení přístupu a sítě řízení přístupu. Systém řízení přístupu je systém, který se používá pro řízení přístupu k počítačovým aktivům jediné autority. Síť řízení přístupu je uskupení systémů řízení přístupu různých autorit, které vzájemně spolupracují. Nejprve si probereme systémy řízení přístupu. Každý prvek systému řízení přístupu může být realizován samostatným síťovým zařízením. V praxi jsou však role jednotlivých prvků často integrovány. Podle míry této integrace lze v současných počítačových sítích identifikovat dva základní typy systémů řízení přístupu: kompaktní systém, distribuovaný systém. Kompaktní systém (viz obr. 4) se vyznačuje tím, že všechny prvky systému řízení (tj. kontrolér, autentizátor i brána) jsou integrovány v jediném zařízení. Tento typ systému nazveme portál řízení přístupu. Portál řízení přístupu například obsahuje přístupový bod sítě podle standardu 802.11i [10] nebo webový server s HTTP protokolem podle [11]. Kromě síťových zařízení lze tento portál identifikovat i v počítačích, které nejsou určeny pro síťový provoz. Příkladem je jednotlivý počítač, kdy se žadatel snaží získat přístup k aktivům, kterými jsou zpracovatelské nebo informační kapacity daného počítače. Přístup k těmto aktivům řídí bezpečnostní jádro operačního systému počítače a toto jádro tak lze prakticky označit jako portál řízení přístupu u daného počítače. Žadatel
Portál
Brána
Aktiva
Obr. 5: Centralizovaný systém řízení přístupu. V případě decentralizovaného systému řízení jsou autentizátor i kontrolér dvě samostatná síťová zařízení (viz obr. 2). Příkladem tohoto typu systému je systém Kerberos. Podle připojení žadatelů můžeme distribuované systémy řízení přístupu klasifikovat na systémy s: přímým připojením žadatelů, zprostředkovaným připojením žadatelů . V případě systémů s přímým připojením žadatelů má žadatel přístup do komunikačního systému, který zařízení systému řízení přístupu využívají pro vzájemnou komunikaci. Žadatel tak může komunikovat s každým prvkem systému přímo. Toto uspořádání umožňuje jednodušší komunikaci a lze je použít v případech, kdy komunikační systém není chráněným aktivem. Nevýhodou přímého připojení je však skutečnost, že žadatelé mají možnost provádět útoky na komunikaci systému řízení přístupu. Z tohoto důvodu je nutné řešit ochranu této komunikace. Příkladem systému s přímým připojením žadatelů jsou systémy založené na protokolu Kerberos. Systém s přímým připojením žadatele ilustruje obr. 6. Systém řízení přístupu Kontrolér
Aktiva
Žadatel
Kontrolér Autentizátor Brána
Obr. 4: Kompaktní systém řízení přístupu (portál).
Komunikační systém
Kontrolér Autentizátor
Komunikační systém
Brána
Aktiva
Autentizátor
Obr. 6: Systém s přímým připojením žadatele (decentralizovaná varianta).
28 – 3
2012/28 – 19. 4. 2012
V případě zprostředkovaného připojení je žadatel připojen k jednomu ze zařízení systému řízení přístupu a jeho prostřednictvím komunikuje s ostatními zařízeními systému. Zprostředkující zařízení filtruje komunikaci od žadatele a tak nedochází k ohrožení komunikace v rámci systému řízení přístupu. Žadatel může být teoreticky připojen k libovolnému zařízení systému, ale protože žadatel nakonec vždy přistupuje k aktivům přes bránu, tak se v praxi používá připojení prostřednictvím brány. Příkladem systému s připojením přes bránu jsou všechny systémy založené na protokolech AAA (např. RADIUS). Typickým příkladem brány v těchto systémech je přístupový bod Wi-Fi sítě nebo přístupový přepínač. Systém se zprostředkovaným připojením žadatele ilustruje obr. 7. Systém řízení přístupu Kontrolér Žadatel
Komunikační systém
Brána
Aktiva
Autentizátor
Obr. 7: Systém se zprostředkovaným připojením žadatele (decentralizovaná varianta). Doposud popsané systémy řízení obsahují jediný kontrolér a proto je nazýváme jednostupňové systémy řízení přístupu. Jednostupňové systémy můžeme řetězit do podoby vícestupňových systémů, které obsahují více hierarchicky uspořádaných kontrolérů. Hierarchicky nejnižší kontrolér tvoří spolu s jím řízenými zařízeními (tj. autentizátorem a branami) subsystém řízení přístupu. Kontrolér nadřízeného stupně chápe celý tento subsystém jako bránu, která je jím řízena prostřednictvím nařízení pro bránu. Výše popsanou substituci celého subsystému jako brány lze rekurzívně opakovat až k hierarchicky nejvyššímu kontroléru. Na obr. 8 je uveden příklad dvoustupňového systému řízení přístupu podle standardu IEEE 802.11i [10]. Hierarchicky nižší subsystém je kompaktní systém řízení přístupu, kde kontrolér K1 řídí autentizátor A1 a bránu B1. Celý tento subsystém (přístupový bod do sítě) je v nadřízeném stupni chápán jako brána B2. Nadřízený stupeň je centralizovaný systém, který sestává z brány B2, autentizátoru A2 a je řízen kontrolérem K2. Kontrolér K2 a autentizátor A2 se nacházejí v serveru AAA.
Systémy řízení přístupu různých autorit můžeme navzájem propojovat, čímž vznikne síť řízení přístupu. Prvním možným cílem tohoto propojení je umožnit uživatelům jednoho systému přístup k aktivům, které jsou chráněna systémy řízení přístupu jiných autorit. Tento typ sítě nazveme síť s kooperujícími systémy řízení přístupu. Příklad sítě se třemi kooperujícími AC systémy je na obr. 9. Máme tři autority X, Y a Z. Systém řízení přístupu autority i, kde i{X, Y, Z}, označíme ACSi . Žadatele, který náleží do množiny uživatelů spravovaných autoritou X, označíme S X. Analogicky označíme i žadatele spravované ostatními autoritami SY nebo SZ. Předpokládejme, že žadatel Si , kde i{X, Y, Z} je připojen k ACSX a jeho cílem je získat přístup k aktivům autority Y. V každém případě žadatele Si může autentizovat pouze autentizátor systému ACS i . Tento systém pak případně musí garantovat identitu žadatele Si kontrolérům zbývajících dvou přístupových systémů. Existují tři základní scénáře přístupu. Pokud Si = SX, tak SX musí být autentizován systémem ACSX a následně ACSX musí zaručit identitu SX systému ACSY. Pokud Si = SY, tak SY musí být autentizován systémem ACSY a následně ACSY musí zaručit identitu SY systému ACSX. V případě, že Si = SZ, tak SZ se musí být autentizován systémem ACSZ a následně ACSZ musí zaručit identitu SZ jak systému ACSX, tak i systému ACSY. Si
ACSX
ACSY
Aktiva
Komunikační systém
ACSZ
Obr. 9: Síť řízení přístupu se třemi kooperujícími systémy. Možné řešení řízení přístupu, kdy Si = SX, je následující. Mějme síť řízení přístupu (viz obr. 10), která sestává ze dvou kooperujících systémů - systému autority X (ACS X) a systému autority Y (ACSY). Autorita Y důvěřuje autoritě X. ACSX AX
KX
ACSY AY
KY
Systém řízení přístupu Server AAA Žadatel
Kontrolér K2 Autentizátor A2
Komunikační systém
Brána B2
Aktiva
KSX
KSY
BX
BY
Portál Kontrolér K1 Autentizátor A1 Brána B1
Obr. 8: Příklad dvoustupňového systému řízení přístupu.
Obr. 10: Síť řízení přístupu se dvěma kooperujícími systémy. Zkratka KS na tomto obrázku označuje komunikační systém. Autorita Y důvěřuje autoritě X a proto autorita Y nastavila kontrolér KY tak, že tento kontrolér akceptuje výsledky autentizace od autentizátora AX. Potom uživatel systému
28 – 4
2012/28 – 19. 4. 2012
ACSX může získat přístup k aktivům chráněným systémem ACSY. Samozřejmě, že výsledek autentizace musí být kontroléru KY doručen bezpečným způsobem. Příkladem, kdy Si = SY, je řízení přístupu podle standardu RFC 4004 [14]. V tomto standardu se uživatel SY tzv. domácí sítě, která je spravována autoritou Y, nachází v tzv. cizí síti, která je spravována autoritou X a žádá o přístup do domácí sítě. Standard RFC 4004 je podrobněji vysvětlen dále. Případ, kdy že Si = SZ, je rozšířením předešlého případu. Druhým možným cílem propojování systémů řízení přístupu je efektivnější řízení přístupu. V tomto případě určité systémy poskytují jiným systémům specializované služby. Systém, který poskytuje službu nazveme servisním systémem a systém, který službu využívá, budeme nazývat obsluhovaný systém. Popsaný typ sítí proto nazveme sítě se servisními systémy řízení přístupu. Servisní systémy mohou poskytovat autentizační nebo účtovací služby. Autentizační systémy nabízejí autoritám jiných systémů službu autentizace žadatelů. V tomto případě obsluhované systémy nemají vlastní autentizátor k autentizaci uživatelů a akceptují autentizační zprávy od vybraných autentizačních systémů (viz obr. 11). Autorita Y důvěřuje autoritě X. ACSX AX
KX
ACSY AY
Standard RFC 2617 [11] popisuje řízení přístupu klienta CL k webovému serveru WS (viz obr. 12). Z
K+ A + B Síť
CL
Obr. 12: Řízení přístupu podle standardu RFC 2617. Klient a server jsou propojeni sítí a komunikují pomocí protokolu HTTP. Žadatelem Z je klient CL a aktivem jsou služby poskytované serverem. Server je vybaven autentizátorem A, kontrolérem K a branou B. Autentizátor serveru provede po navázání spojení autentizaci žadatele, kontrolér K zjistí žadatelova práva a brána v souladu s nimi umožní žadatelovi přístup k aktivům. Vidíme, že popsaný přístupový systém se nachází v jediném zařízení (ve webovém serveru WS) a proto tento systém můžeme charakterizovat jako kompaktní systém. Standard IEEE 802.1X [12] popisuje řízení přístupu počítačů uživatelů do sítě LAN (viz obr. 13).
KY
Z SP
KSX
KSY
BX
BY
servisní systém
obsluhovaný systém
WS
B Linka
AP
K+A LAN
AS
Obr. 13: Řízení přístupu podle standardu IEEE 802.1X.
Obr. 11: Síť řízení přístupu s autentizačním systémem ACSX. Příkladem této sítě je řízení přístupu podle standardu OpenID [8]. V uvedeném případě službu autentizace nabízí tzv. OpenID Provider a výsledky jeho autentizace akceptují webové servery různých autorit (tzv. Relying Parties). Účtovací systém je systém, který je určen k evidenci přístupu uživatelů k aktivům různých autorit. Obsluhované systémy odesílají informace o přístupech uživatelů účtovacímu systému, který tyto informace zaznamenává a zpracovává. Tato služba umožňuje efektivně koordinovat platby a vyúčtování mezi autoritami.
4 Příklady systémů a sítí řízení přístupu V současné době je provozována široká škála sítí a systémů řízení přístupu. My zde uvedeme jejich reprezentativní výběr, který sestává ze standardů: RFC 2617 (HTTP Authentication), IEEE 802.1X, IEEE 802.11i, RFC 4120 (Kerberos), OpenID, RFC 4004 (Diameter Mobile IPv4 Application).
Počítač SP je linkou připojen k AP, což je přístupový přepínač nebo přístupový bod. AP může prostřednictvím lokální počítačové sítě LAN komunikovat s autentizačním serverem AS. Ke komunikaci mezi SP a AP je použit vhodný linkový protokol (např. podle standardu IEEE 802.3). Ke komunikaci mezi AP a AS je použit vybraný protokol AAA (např. RADIUS). Žadatelem Z je počítač SP a aktivem jsou komunikační služby sítě LAN. Autentizační server AS vykonává funkci autentizátoru A i kontroléru K. Přístupový bod AP vykonává funkci brány B, která zároveň zprostředkovává komunikaci mezi SP a AS. Autentizátor A nejprve provede autentizaci počítače SP. Poté kontrolér K zjistí žadatelova práva a zašle bráně B příslušné nařízení. Brána B pak umožní, respektive neumožní žadatelovi přístup do sítě LAN. Vidíme, že popisovaný systém řízení přístupu sestává z více zařízení (AS a brány) a proto se jedná o distribuovaný systém. Autentizátor i kontrolér systému jsou umístěny do jediného zařízení (server AS) a proto můžeme popsaný systém klasifikovat přesněji jako centralizovaný systém. Z hlediska ostatních možných pohledů lze popsaný systém dále charakterizovat jako jednostupňový systém se zprostředkovaným připojením žadatele. Standard IEEE 802.11i [10] popisuje řízení rádiového přístupu počítače do sítě LAN (viz obr. 14). Počítač STA je bezdrátovou linkou připojen k přístupovému bodu AP. AP může v lokální počítačové síti komunikovat s autentizačním serverem AS. Ke komunikaci mezi STA a AP je použit linkový protokol
28 – 5
2012/28 – 19. 4. 2012
podle standardu IEEE 802.11. Ke komunikaci mezi AP a AS je použit vybraný protokol AAA (např. RADIUS). Z STA
B Linka
AP
K+ A LAN
AS
KB + AB+ BB
Obr. 14: Řízení přístupu podle standardu IEEE 802.11i. Žadatelem Z je počítač STA a aktivem jsou komunikační služby poskytované přístupovým bodem AP. V první fázi žadatel Z komunikuje s autentizátorem A autentizačního serveru AS. Tato komunikace je zprostředkována branou B. V průběhu této autentizace obě strany odvodí také tajný klíč PMK (Pairwise Master Key). Následně kontrolér K zjistí žadatelova práva a bráně B zašle nařízení. Toto nařízení musí být přeneseno bezpečným způsobem, protože obsahuje žadatelova práva a především tajný klíč PMK. Počítač STA i přístupový bod AP nyní znají tajnou hodnotu PMK. Z tohoto PMK odvodí kryptografické klíče pro vzájemnou autentizaci a pro šifrování dat. Nyní začíná druhá fáze řízení přístupu. Žadatel Z a autentizátor přístupového bodu AB provedou pomocí kryptografických klíčů vzájemnou autentizaci a vytvoří se šifrovaný spoj mezi Z a B. Následně kontrolér KB nastaví bránu BB do stavu, kdy počítač STA může získat přístup ke komunikačním službám poskytovaným přístupovým bodem AP. Systém řízení přístupu podle standardu IEEE 802.11i je dvoustupňový systém. V hierarchicky vyšším stupni plní přístupový bod AP funkci brány B a autentizační server AS plní funkci jak kontroléru K, tak i autentizátoru A. Tedy na tomto stupni je systém řízení přístupu centralizovaný systém se zprostředkovaným připojením žadatelů. V hierarchicky nižším stupni je k řízení přístupu použit portál. Standard RFC 4120 [13] (Kerberos) v základní verzi popisuje řízení přístupu uživatelských počítačů k serverům jedné autority (viz obr. 15).
žadatelům vydává jednorázové autentizační faktory pro autentizaci vůči aplikačním serverům dané autority. Každý server APS obsahuje přístupový portál P = K3+A3+B3. V prvním kroku protokolu se žadatel Z autentizuje vůči autentizátoru A1 a získá dočasné autentizační faktory, které obvykle platí několik hodin. Pro přístup k nějakém serveru APS se žadatel Z musí autentizovat vůči serveru TGS (tj. vůči A2). V průběhu této autentizace získá žadatel Z jednorázové autentizační faktory, které jsou následně použity pro autentizaci vůči žádanému aplikačnímu serveru APS. Pokud je autentizace mezi Z a A3 úspěšná, tak kontrolér K3 zjistí práva žadatele a v souladu s nimi nastaví přístupovou bránu B3. Vidíme, že systém řízení přístupu podle standardu Kerberos sestává z více než-li jednoho zařízení (AS, TGS a servery APS) a proto jej můžeme klasifikovat jako distribuovaný systém řízení přístupu. Konkrétně se jedná o decentralizovaný, jednostupňový systém s přímým připojením žadatele. Dva autentizátory v systému Kerberos umožňují oddělit správu uživatelů (server AS) a správu serverů (server TGS). Tato dvojice rovněž umožňuje budovat kooperující sítě řízení přístupu. Pokud nějaká autorita X nastaví svůj server TGS tak, aby akceptoval autentizační faktory od autentizačního serveru AS autority Y, tak uživatelé systému autority Y mohou získat přístup i ke službám serverů APS spravovaných autoritou X. Nutnou podmínkou je, že autorita X musí příslušně nastavit kontroléry K3. Standard OpenID [8] popisuje řízení přístupu uživatelů k webovým serverům různých autorit (viz obr. 16). A AS Z CL
WS K+ B
Obr. 16: Řízení přístupu podle standardu OpenID.
A1 AS Z CL
A2 Síť
TGS
APS K3 + A3+ B3
Obr. 15: Řízení přístupu podle standardu RFC 4120. Počítač uživatele CL má přístup do komunikační sítě a může komunikovat s autentizačním serverem AS, s požadovaným aplikačním serverem APS i se správcovským serverem TGS. Správcovský server má aplikační servery dané autority ve své správě. Ke komunikaci mezi uvedenými zařízeními je použit protokol Kerberos. Žadatelem Z je počítač uživatele CL a aktivem je služba poskytovaná serverem APS. Autentizační server AS plní úlohu autentizátoru A1, který žadatelům vydává dočasné autentizační faktory pro autentizaci vůči serveru TGS. Správcovský server TGS plní úlohu autentizátoru A2, který
Síť
Každý uživatel má svoji identitu, která je definována specializovanou autoritou X. Tato autorita provozuje svůj autentizační server AS, který zná autentizační faktory daného uživatele. Server WS s požadovanou službou je spravován autoritou Y. Počítač uživatele CL, autentizační server AS a server WS jsou propojeny sítí a komunikují pomocí protokolu HTTP. Žadatelem Z je počítač uživatele CL a aktivem jsou služby poskytované serverem WS. Server WS je vybaven kontrolérem K a branou B. Klient se nejprve přihlásí u serveru WS. Pokud je autentizační server AS žadatele Z pro autoritu serveru WS důvěryhodný, tak je počítač uživatele na server AS přesměrován. Následně se uživatel počítače CL autentizuje vůči autentizátoru A (tj. serveru AS). Poté je počítač CL přesměrován zpět na server WS s výsledkem autentizace. V případě pozitivního výsledku autentizace si server WS ověří tento výsledek přímým dotazem u serveru AS. V případě pozitivního potvrzení kontrolér K zjistí práva žadatele a v souladu s nimi nastaví bránu B. Z tohoto popisu vidíme, že standard OpenID popisuje síť řízení přístupu se servisními systémy,
28 – 6
2012/28 – 19. 4. 2012
konkrétně s autentizujícími systémy. Server AS je autentizující systém a server WS je obsluhovaný systém. Standard RFC 4004 [14] popisuje řízení přístupu mobilní stanice do domácí sítě prostřednictvím cizí bezdrátové sítě (viz obr. 17). Z MN
BF Linka
FP
KF + AF LAN
FA
K1 + A1+ B1 Síť K2 + A2+ B2 HP BH
LAN
HA KH + AH
Obr. 17: Řízení přístupu podle standardu RFC 4004. Mobilní stanice MN je bezdrátovou linkou připojena k přístupovému bodu FP. Zařízení FP je přístupový bod do cizí sítě, který je řízen serverem AAA cizí sítě FA. Server FA může komunikovat se serverem HA, což je server AAA v domácí síti uživatele. Server HA řídí domácího agenta HP, který umožňuje mobilním stanicím přístup do jejich domácí sítě. Ke komunikaci mezi MN a FP je použit linkový protokol podle standardu IEEE 802.11. Ke komunikaci mezi FP-FA, FA-HA a HA-HP je použit protokol Diameter. K následnému samotnému přístupu stanice MN k HP je použit protokol MIP (Mobile IPv4). Žadatelem Z je stanice MN a aktivem jsou jednak komunikační služby cizí sítě WLAN a komunikační služby domácí sítě. Řízení přístupu podle RFC 4004 je realizováno sítí, která sestává ze dvou kooperujících dvoustupňových systémů. Přístupový systém do cizí sítě sestává z přístupového bodu FP, který plní roli brány BF a ze serveru FA, který plní roli kontroléru KF i autentizátoru AF. V hierarchicky nižší úrovni je brána BF portálem P1 = K1+A1+B1. Přístupový systém do domácí sítě je tvořen domácím agentem HP, který plní roli brány B H a serverem HA, který plní roli kontroléru KH i autentizátoru AH. V hierarchicky nižší úrovni je brána BH portálem P2 = K2+A2+B2. Stanice MN se nejprve autentizuje vůči autentizátoru AH . Tato autentizační komunikace mezi MN a HA je zprostředkována přístupovým bodem FP a serverem FA. Pokud je autentizace úspěšná, tak server HA vybere několik náhodných čísel a odvodí z nich dočasné autentizační faktory. Tyto faktory budou použity k autentizaci dat přenášených mezi MN-FP, FPHP a MN-HP. Server HA také zjistí práva žadatele, které pak spolu a příslušnými autentizačními faktory předá bezpečným způsobem domácímu agentovi HP. Server HA taktéž předá serveru FA výsledek autentizace, autentizační faktory pro přístupový bod FP a náhodná čísla pro stanici MN. Kontrolér KF zjistí práva žadatele Z v cizí síti a tuto informaci spolu s autentizačními faktory pro přístupový bod FP a náhodnými čísly pro MN předá přístupovému bodu FP. Přístupový bod FP předá náhodná čísla stanici MN, která z nich odvodí své dočasné autentizační faktory k FP i HP. Stanice MN a přístupové body FP a HP nyní mají k dispozici autentizační faktory a
stanice MN může komunikovat s domácím agentem HP pomocí protokolu MIP. Datové pakety mezi MN-HP (viz obr. 18) jsou autentizovány technikou autentizačních kódů zpráv (Message Authentication Code - MAC). Stanice MN na základě autentizačních faktorů MN-HP a MN-FP vypočítá pro každý paket dva autentizační kódy, které k paketu připojí. První autentizační kód paketu umožňuje agentu HP ověřit, že paket odeslala stanice MN. Druhý autentizační kód umožňuje přístupovému bodu FP provést ověření téže skutečnosti. Uzel FP po ověření tohoto druhého kódu uvedený kód odstraní, nahradí jej kódem vypočteným na základě autentizačního faktoru mezi FP a HP a paket odešle do HP. Agent HP si z obou kódů ověří, že paket odeslala stanice MN a byl tranzitován přes FP. Jednotlivé autentizační kódy paketů ověřují autentizátory A1 a A2 přístupových bodů FP a HP. Branami B1 a B2, které jsou řízeny kontroléry K1 a K2, mohou projít pouze úspěšně autentizované pakety. V opačném směru přenosu (tj. od domácí sítě) autentičnost dat vysílaných z HP analogicky kontrolují FP a MN. U popsaného způsobu řízení přístupu vidíme, že řízení přístupu je dvoufázový proces. V první fázi je autentizována stanice MN vůči HA a v průběhu této autentizace jsou odvozeny dočasné autentizační faktory, které jsou distribuovány do FP a HP. Ve druhé fázi jsou získané autentizační faktory použity pro průběžnou autentizaci přenášených dat. Tímto způsobem se významně zvyšuje bezpečnost přístupu k aktivům. MN
Linka
FP
K1 + A1+ B1
Síť
HP
K2 + A2+ B2
Obr. 18: Řízení přístupu podle protokolu Mobile IPv4. Z výše uvedeného přehledu systémů a sítí řízení přístupu je možné identifikovat významný vývojový trend, kterým je zvyšování bezpečnosti přístupu. Zvyšování bezpečnosti přístupu je realizováno prosazováním vzájemné autentizace obou stran a prosazováním kryptografické ochrany přístupu. Starší systémy řízení přístupu jsou vesměs založeny na jednostranné autentizaci, kdy se autentizoval pouze žadatel (např. původní verze protokolu RADIUS). V modernějších systémech (např. IEEE 802.11i, MIP) se prosazuje oboustranná autentizace. V takovém případě má žadatel záruku, že skutečně přistupuje k aktivům požadované autority. Povšimněme si, že řízení přístupu s oboustrannou autentizací nelze popsat jako systém řízení přístupu, protože se fakticky jedná o síť řízení přístupu dvou kooperujících systémů (viz obr. 19). Počítač žadatele X musí být vybaven interním autentizátorem, branou i kontrolérem, tj. počítač žadatele musí disponovat vlastním portálem P. Autentizátor tohoto portálu ověřuje, zda protější stranou je systém pro řízení přístupu (ACS) požadované autority Y. Kontrolér portálu P v závislosti na výsledku této autentizace řídí bránu portálu a tato brána umožňuje aplikacím běžícím na počítači žadatele X přístup k
28 – 7
2012/28 – 19. 4. 2012
aktivům autority Y. Brána portálu P také může chránit aktiva žadatele před neoprávněným přístupem ze strany ACS. Žadatel X zde hraje roli autority, která rozhoduje o přístupu k aktivům ve svém počítači a o přístupu aplikací svého počítače k aktivům jiných síťových zařízení. Portály integrované v síťových zařízeních mohou významně zvýšit bezpečnost jak těchto zařízení tak i celých počítačových sítí. Vzhledem k rostoucím požadavkům na bezpečnost lze očekávat, že implementace portálů řízení přístupu do síťových zařízení se v budoucnosti stane běžnou záležitostí. Žadatel (Autorita X) Aktiva
Autorita Y P
Komunikační systém
ACS
Aktiva
Obr. 19: Řízení přístupu jako interakce systémů řízení přístupu dvou autorit. Další cestou, která zvyšuje bezpečnost přístupu k počítačovým aktivům, je implementace kryptografických technik do přenosového protokolu, který je použit k samotnému přenosu dat mezi žadatelem a branou. Mnoho moderních autentizačních metod dovoluje oběma autentizujícím stranám odvodit tajnou hodnotu, která může být použita k definování kryptografických klíčů. Tyto klíče pak lze použít k zabezpečení dat, která jsou přenášena mezi počítačem žadatele a branou systému řízení přístupu. Tímto způsobem můžeme zajistit nepřetržitou autentizaci přístupu k aktivům a nikoliv pouze jednorázovou autentizaci na počátku přístupu. Příklady výše uvedeného řešení jsou standardy IEEE 802.11i a MIP. V případě standardu MIP jsou data přenášená mezi stanicí MN a domácím agentem HP spojitě autentizována. V případě standardu IEEE 802.11i jsou data přenášená mezi stanicí STA a přístupovým bodem AP rovněž spojitě autentizována a navíc i šifrována. Z výše uvedeného přehledu sítí a systémů řízení přístupu je rovněž zřejmé, že soudobé sítě a systémy používají různé komunikační protokoly (např. HTTP, Kerberos, RADIUS, IEEE 802.3 atd.), různé formáty zpráv a odlišné komunikační scénáře. Negativním důsledkem tohoto stavu je skutečnost, že počítače uživatelů musí být schopny pro přístup k aktivům různých autorit zvládnout různé protokoly pro řízení přístupu. Dalším negativem je skutečnost, že budování sítí řízení přístupu je možné jen v případě systémů stejného typu (např. RADIUS). Zmíněná negativa mohou být eliminována univerzálním protokolem pro řízení přístupu. Tento protokol by mohl zajistit jednotnou komunikaci a jednotný formát zpráv při řízení přístupu k aktivům. Potom by počítače uživatelů mohly pro přístup k libovolným aktivům používat zprávy jediného protokolu a systémy řízení přístupu různých autorit by mohly snadno spolupracovat se systémy jiných autorit. Možný univerzální protokol pro řízení přístupu je popsán v následující kapitole.
5 Univerzální rámec pro řízení přístupu V této kapitole je popsán návrh univerzálního, otevřeného rámce řízení přístupu. Tento rámec umožňuje ad-hoc řízení
přístupu mezi libovolnou dvojicí síťových zařízení. Aktivem může být služba, data, autentizační faktor, komunikační rozhraní, aplikace atd. Prakticky každé zařízení libovolné počítačové sítě obsahuje určitá aktiva, která je vhodné chránit nějakou metodou řízení přístupu. V této souvislosti se nabízí myšlenka implementace autonomního systému řízení přístupu (tj. portálu) do každého zařízení počítačové sítě. Tento portál by řídil přístup k aktivům daného zařízení. Současně by tento portál sjednával aplikacím, které běží v daném zařízení, přístup k aktivům jiných síťových zařízení. Implementace portálu do každého počítačového zařízení (tj. do serverů, síťových prvků, uživatelských počítačů, autentizačních zařízení apod.) je podstatou navrhovaného univerzálního rámce řízení přístupu. Jednotlivé portály mezi sebou komunikují prostřednictvím speciálního protokolu řízení přístupu (Access Control Protocol - ACP). Zprávy tohoto protokolu umožňují sjednání požadovaných aktiv, sjednání metody autentizace, vykonání autentizace, schválení přístupu a účtování. Portál každého síťového zařízení může vykonávat funkci autentizátoru, kontroléru nebo brány a také může zprávy ACP protokolu předávat jiným portálům. Tímto způsobem může každé síťové zařízení plnit roli autentizátoru, kontroléru nebo brány v libovolném ad-hoc distribuovaném systému řízení přístupu. Výhodou navrženého rámce je jednotné a univerzální řešení řízení přístupu ke všem aktivům všech zařízení sítě. Portál je koncipován jako modulární systém (viz obr. 20) a autorita jej může konfigurovat individuálně podle svých požadavků a podle možností zařízení. Jádro portálu lze doplňovat různými typy modulů. Autentizační moduly AM uskutečňují různé metody autentizace (např. modul EAP-TLS autentizace). Moduly přístupové politiky PM definují přístupové politiky k jednotlivým aktivům. Přístupová politika stanovuje nutné podmínky pro přístup k danému aktivu, určuje autentizační metody povolené pro dané aktivum, upřesňuje protokol ACP apod. Zprávy protokolu ACP mohou být přenášeny komunikačními protokoly z různých vrstev modelu OSI od linkové vrstvy až po aplikační vrstvu. Komunikační moduly KM poskytují rozhraní mezi jádrem portálu a vybraným komunikačním protokolem. PM1
AM1 . . .
. . .
Jádro
AMx
PMz KM1
. . .
KMy
Obr. 20: Modulární struktura portálu řízení přístupu. Příklady modulů KM jsou moduly TLS, EAPoL a USB. Modul TLS umožňuje přenos zpráv protokolu ACP prostřednictvím kanálu TLS (Transport Layer Security). Tento kanál je vhodný pro bezpečnou komunikaci mezi systémy různých autorit. Modul EAPoL může zajistit přenos zpráv mezi portály prostřednictvím kanálu EAPoL (EAP over LAN). Tento kanál může být použit pro řízení přístupu počítačů uživatelů k sítím
28 – 8
2012/28 – 19. 4. 2012
LAN. Modul USB může zajistit přenos zpráv protokolu ACP prostřednictvím kanálu USB (Universal Serial Bus). Tento kanál může být použit pro lokální komunikaci mezi počítačem a autentizačním předmětem žadatele. Výše popsaný univerzální rámec řízení přístupu poskytuje možnost realizovat libovolný typ systému řízení přístupu, protože každé zařízení počítačové sítě může plnit funkci autentizátoru, kontroléru i brány. Navržený koncept ilustruje obr. 21. T
PC
AP
S
Obr. 21: Ilustrace univerzálního rámce řízení přístupu. Na obrázku jsou vyobrazeny autentizační předmět (token) T uživatele, počítač PC uživatele, přístupový bod do sítě AP a síťový server S. Všechna tato zařízení jsou vybavena vlastním portálem pro řízení přístupu. Tyto portály označíme P x, kde x = T, PC, AP a S. Uživatel pomocí klávesnice a monitoru PC sjedná s PPC požadované aktivum (zpravidla práce na daném PC) a sjedná typ autentizace (např. EAP-TLS pomocí svého tokenu). Po připojení tokenu k PC zprostředkuje PPC komunikaci mezi uživatelem a PT . V jejím rámci se uživatel vůči tokenu autentizuje (např. heslem) a tím je token připraven poskytovat svá aktiva, tj. autentizovat svého uživatele. Portál PPC si potom pomocí PT ověří identitu uživatele a uživateli umožní práci s PC. Pokud uživatel žádá přístup do počítačové sítě, tak PPC slouží jako tranzitní uzel pro komunikaci mezi PT a PAP . V průběhu této komunikace jsou sjednána požadovaná aktiva (tj. přístup PC do sítě) a typ autentizace. Poté je provedena autentizace a PC získá přístup do sítě. Pokud uživatel žádá přístup k serveru, tak PPC komunikuje s PS. Opět jsou sjednána požadovaná aktiva (tj. přístup PC ke službám S) a typ autentizace. Identitu uživatele vždy prokazuje autentizátor z portálu PT . V průběhu autentizací vůči AP a S mohou být odvozeny kryptografické klíče a přístupy k AP a S mohou být kryptograficky zabezpečeny. Z uvedeného příkladu vidíme, že komunikace pro řízení přístupu je jednotná. Přenášené zprávy obsahují informace o aktivech, informace o autentizačních metodách, autentizační data, výsledky autentizace, nařízení pro brány, oznámení pro žadatele atd. Tímto způsobem můžeme budovat libovolné ad-hoc distribuované systémy a sítě řízení přístupu podle aktuálních požadavků na řízení přístupu. V budoucnosti by se portály řízení přístupu měly stát součástí operačního sytému daného zařízení. Optimální řešení by bylo sdružení portálu s referenčním monitorem (Reference Monitor) [9] operačního systému. Referenční monitor řídí přístup uživatelů a procesů k lokálním datům a prostředkům daného prvku. Sdružení portálu s referenčním monitorem by obecně řešilo přístup uživatelů i procesů jak k lokálním, tak i vzdáleným datům a prostředkům. Portály je rovněž možné implementovat do virtuálních strojů. Zvýší se tak bezpečnost operačních systémů, které na těchto virtuálních strojích běží. Slibnou myšlenkou je i kombinace portálu a firewalu. V počátečním stavu umožní firewal daného zařízení vzdálenému zařízení pouze komunikaci s portálem daného zařízení. Po vyjednání přístupu pak portál nastaví firewal tak, že pakety
sjednané relace nejsou firewalem blokovány a jsou předávány příslušné aplikaci. V průběhu vzájemné autentizaci oba portály také mohou sjednat kryptografické klíče, které pak jsou předány příslušnému přenosovému protokolu. Tímto způsobem může protokol ACP zajistit funkci univerzálního vítacího (handshake) protokolu pro libovolný přenosový protokol. Protokol ACP uskuteční autentizaci obou stran, sjedná kryptografické klíče a tyto klíče jsou použity pro šifrování a autentizaci přenášených dat. Ke komunikaci mezi portály řízení přístupu byl navržen protokol ACP (Access Control Protocol) [15]. Protokol ACP je dvoustranný protokol. Strana, která požaduje přístup k aktivům, se nazývá Iniciátor a strana, která tato aktiva poskytuje se nazývá Poskytovatel. Jeden kompletní běh protokolu ACP, tj. postupnost zpráv mezi Iniciátorem a Poskytovatelem, která souvisí s řízením přístupu k požadovaným aktivům, se nazývá transakce. Formát zpráv protokolu ACP je podobný formátu zpráv protokolu EAP (viz obr. 22). Code
Identifier
Length
AVP1
...
AVPn
Obr. 22: Formát zpráv protokolu ACP. Záhlaví zprávy sestává z následujících polí: Code (1 B): Toto pole určuje typ zprávy (viz dále). Identifier (3 B): Toto pole identifikuje transakci v daném spoji. Length (3 B): Toto pole udává délku zprávy v bitech.
Zbytek zprávy sestává z jedné nebo více dvojic atributhodnota. Dvojice atribut-hodnota je datový blok, jehož formát je na obr. 23. Type
Length
Value
Obr. 23: Formát pole AVP. AVP sestává z následujících polí: Type (1 B): Toto pole určuje typ AVP, tj. atribut (např. výsledek autentizace, EAP zpráva atd.). Length (2 B). Toto pole určuje délku pole Value v bajtech. Value (maximum 216-1 B). Toto pole obsahuje hodnotu atributu. Kapacita tohoto pole postačuje pro přenos celých EAP zpráv, kryptografických certifikátů, fotografií osob atd.
V protokolu ACP je definováno šest typů zpráv: Start. Tato zpráva zahajuje novou transakci. Odesílatelem této zprávy je vždy Iniciátor. Zpráva Start může obsahovat požadované aktivum (pokud Iniciátor zná kód tohoto aktiva) i typ autentizace (pokud Iniciátor zná typ autentizace vyžadované Poskytovatelem pro dané aktivum). Finish. Tato zpráva ukončuje transakci a odesílatelem této zprávy je vždy Poskytovatel. Zpráva Finish obsahuje oznámení pro Iniciátora, případné další údaje nebo samotné aktivum (např. digitálně podepsaný výsledek autentizace).
28 – 9
2012/28 – 19. 4. 2012
Offer. Tato zpráva je vždy odesílána Poskytovatelem a obsahuje nabídku dostupných aktiv nebo nabídku autentizací, které jsou pro dané aktivum Poskytovatelem požadovány. Specification. Tato zpráva je vždy odesílána Iniciátorem jako reakce na zprávu Offer. Zpráva obsahuje Iniciátorovu volbu z nabízených aktiv nebo autentizačních metod. Request. Tyto zprávy jsou odesílány Poskytovatelem a jsou užity k autentizaci. Autentizaci začíná vždy Poskytovatel. Response. Tyto zprávy jsou odesílány Iniciátorem a jsou užity k autentizaci.
Elementární transakci protokolu ACP ilustruje Tab. 1. V prvním sloupci tabulky jsou uvedeny zprávy, které odesílá Iniciátor. Druhý sloupec tabulky uvádí zprávy odeslané Adresátem a třetí sloupec je věnován poznámkám. Každý řádek tabulky reprezentuje jeden krok protokolu ACP. Tab. 1: Schéma elementární transakce protokolu ACP. Iniciátor
Adresát
Start → ← Offer Specification →
← Offer Specification → ← Request Response → ← Finish
Poznámky Zahájení transakce. Zahajuje vždy Iniciátor. Sjednání požadovaného aktiva. Pokud Iniciátor požadované aktivum uvede ve zprávě Start nebo existuje jediná možnost, tak může být vynecháno. Sjednání typu autentizace. Pokud Iniciátor příslušný typ autentizace uvede ve zprávě Start, tak může být vynecháno. Výměna autentizačních zpráv. Podle typu autentizace může být dvojic Request Response více. Oznámení Poskytovatele o schválení přístupu a o ukončení transakce.
Transakce protokolu ACP mohou být redukovány. Výměna dvojic zpráv Offer-Specification není nutná, pokud Iniciátor požadované aktivum i příslušnou autentizační metodu uvede ve zprávě Start. Lze rovněž vypustit výměnu zpráv Request - Response pokud Iniciátor i Poskytovatel jsou koncovými uzly bezpečného kanálu (např. TLS kanálu). Důvodem je skutečnost, že autentičnost protější strany je zaručena autentizací při budování bezpečného kanálu. V takovém případě lze transakci ACP redukovat pouze na výměnu zpráv Start a Finish. Takto redukovanou transakci protokolu lze například použit ke komunikaci mezi kontrolérem a branou nějakého systému k přenosu nařízení pro bránu. Stejný přístup lze využít i pro účtování. Na jedné transakci se podílejí pouze dva portály (tj. dvě zařízení), avšak na řízení přístupu se mohou podílet i další zařízení. Pro zahrnutí více zařízení existují dvě možnosti. První
možností je sekvenční zřetězení více transakcí. V takovém případě Iniciátor v transakci získá nějaká aktiva (např. podepsaný výsledek autentizace) a tato aktiva použije v následující transakci. Příkladem řetězení transakcí je protokol Kerberos, což je prakticky protokol se třemi zřetězenými transakcemi. Druhou možností jak do řízení přístupu zahrnout více zařízení je vložení nové transakce do již probíhající transakce.V tomto případě musí být k ukončení nějaké dřívější transakce nejprve uskutečněna nová transakce. Příkladem je situace, kdy Poskytovatel otevře novou transakci k externímu autentizátoru, aby autentizoval Iniciátora (viz obr. 24). Na tomto obrázku je Iniciátorem Uzel1 a Poskytovatelem je Uzel2. Uzel1 pošle Uzlu2 zprávu Start1. Tato zpráva zahájí Transakci1. Zpráva Start1 obsahuje požadované aktivum a příslušný typ autentizace a proto se výměna zpráv Offer a Specification neuskuteční. Nyní musí být autentizován Uzel1, avšak Uzel2 nezná verifikační faktor Uzlu1 a proto tuto autentizaci nemůže provést. Z tohoto důvodu Uzel2 vybuduje bezpečný TLS kanál k příslušnému autentizátoru, kterým je v tomto případě Uzel 3. V průběhu budování TLS kanálu se Uzel2 a Uzel3 navzájem autentizují. Uzel2 zahájí ve vybudovaném TLS kanálu vůči Uzlu3 Transakci2. Aktivem této transakce je výsledek autentizace Uzlu1, Iniciátorem je Uzel2 a Poskytovatelem je Uzel3. Zpráva Start2 rovněž obsahuje požadované aktivum a příslušný typ autentizace a proto se výměna zpráv Offer a Specification neuskuteční. Uzel3 proto hned zahájí autentizaci vysláním zprávy Request2. Uzel2 vyjme příslušná AVP z této zprávy a odešle je ve zprávě Request1, která je zprávou Transakce1. Uzel1 vypočítá autentizační odpověď a tuto odpověď odešle do Uzlu2 ve zprávě Response1. Uzel2 z této zprávy vyjme příslušná AVP a odešle je ve zprávě Response2, která je zprávou Transakce2. Uzel3 provede autentizační výpočty a výsledek autentizace zašle ve zprávě Finish2. Tato zpráva současně ukončuje Transakci2. Uzel2 na základě výsledku autentizace rozhodne o přístupu k požadovanému aktivu a toto rozhodnutí je zasláno Uzlu1 ve zprávě Finish1. Uzel1
Uzel2 Start1 Request1 Response1 Finish1
1. transakce
Uzel3 Start2 Request2 Response2 Finish2
2. transakce
Obr. 24: Princip vložení transakce. Výše popsané vkládání transakcí ACP je vhodné pro systémy s nepřímým připojením žadatelů. Řetězení transakcí ACP je vhodné pro systémy s přímým připojením žadatelů. Libovolně složité řízení přístupu může být popsáno jako diagram dvoustranných transakcí, které jsou určitým způsobem řetězeny nebo vkládány. Tento přístup umožňuje snazší implementaci a přehlednější bezpečnostní analýzu složitých schémat řízení přístupu. Ke komunikaci mezi uzly se buduje ad-hoc komunikační síť. Tato síť sestává z uzlů, které jsou pro konkrétní případ
28 – 10
2012/28 – 19. 4. 2012
řízení přístupu zapotřebí. Uzly jsou navzájem propojeny bezpečnými spoji, což jsou typicky TLS spoje nebo fyzicky zabezpečené linky. Tyto spoje mohou být buď trvalé (typicky mezi zařízeními systému jedné autority) nebo dočasné (typicky mezi systémy různých autorit).
6 Závěr Článek rozšiřuje teorii řízení přístupu. V článku je upřesněna terminologie (pojmy brána, kontrolér, autorita, autorizace) a jsou zavedeny pojmy systém, subsystém a síť řízení přístupu. Dále je zde navržena taxonomie systémů a sítí řízení přístupu, která usnadňuje popis a bezpečnostní analýzu složitých přístupových scénářů. Použitelnost navržené terminologie a taxonomie je ilustrována na popisech reprezentativní sady systémů a sítí řízení přístupu. V článku je popsán univerzální rámec pro řízení přístupu v počítačových sítích. Tento rámec je založen na myšlence, že všechna zařízení počítačové sítě (servery, uživatelské počítače, autentizační zařízení atd.) jsou vybavena autonomními portály řízení přístupu, přičemž tyto portály mohou prostřednictvím obecného protokolu ACP navzájem spolupracovat. Každý portál řídí přístup jiných zařízení k aktivům daného zařízení nebo vyjednává přístup aplikací z daného zařízení k aktivům jiných zařízení. Portál je vybaven autentizátorem, kontrolérem a bránou a tak každé síťové zařízení může vykonávat libovolnou roli v nějakém ad-hoc systému řízení přístupu. Ke komunikaci mezi portály byl vytvořen dvoustranný protokol ACP. Zprávy tohoto protokolu umožňují sjednání požadovaných aktiv, sjednání metody autentizace, uskutečnění autentizace, schválení přístupu a účtování. Kombinace určitým způsobem řetězených nebo vložených transakcí protokolu ACP umožní realizovat libovolně složitá schémata řízení přístupu. Navazování i vkládání transakcí rovněž umožňuje modulární a systematickou bezpečnostní analýzu navrhovaných systémů řízení přístupu. Protokol ACP je z hlediska syntaxe otevřený a tak jej lze v budoucnosti rozšiřovat. Zprávy ACP protokolu je možné přenášet prostřednictvím různých přenosových protokolů a rozhraní (např. TLS, EAPoL, USB). Portál řízení přístupu má modulární strukturu a proto autorita může své portály konfigurovat přesně podle svých potřeb. Pro přístup ke každému aktivu může autorita nastavit různé autentizační metody a různé podmínky. Portál může být integrován s referenčním monitorem operačního systému, což nabízí možnost sjednotit řízení přístupu k lokálním i vzdáleným aktivům. Portál také může řídit firewal a tím budou povoleny pouze relace, kdy byla protější strana úspěšně autentizována. Nevýhodou navrženého rámce je skutečnost, že implementace tohoto rámce vyžaduje poměrně významné zásahy do stávajících řešení, neboť portály řízení přístupu by měly být implementovány do bezpečnostního jádra operačních systémů. Tento proces bude poměrně pomalý a složitý, zejména u zařízení s omezeným výpočetním výkonem (např. autentizační předměty). Na druhou stranu může implementace portálů řízení přístupu podstatným způsobem zvýšit celkovou bezpečnost počítačů i počítačových sítí.
Literatura [1] Dennet S., Feinler E. J., Perillo F.: ARPANET Information Brochure. Defense Communication Agency, Menlo Park 1985. [2] Rigney C., Willens S., Rubens A., Simpson W.: Remote Authentication Dial In User Service (RADIUS). IETF, Fremont 2000. [3] Rigney C.: RADIUS Accounting. IETF, Fremont 2000. [4] Carrel D., Grant L.: The TACACS+ Protocol. IETF, Fremont 1997. [5] Calhoun P., Loughney J., Guttman E., Zorn G., Arkko J.: Diameter Base Protocol. IETF, Fremont 2003. [6] Miller S.P., Neuman B.C., Schiller J.I., Saltzer J.H.: Kerberos Authentication and Authorization System. M.I.T. Project Athena, Cambridge 1988. [7] Berners-Lee T., Fielding R., Frystyk H.: Hypertext Transfer Protocol -- HTTP/1.0. IETF, Fremont 1996. [8] - : OpenID Authentication 2.0. OpenID Foundation, San Ramon 2007. [9] - : ISO/IEC 17799:2005. Information technology - Security techniques - Code of practice for information security management. ISO, Geneva 2005. [10] -: IEEE 802.11i. Medium Access Control (MAC) Security Enhancements. IEEE, New York 2004. [11] Franks J., Hallam-Baker P., Hostetler J., Lawrence S., Leach P., Luotonen A., Stewart L.: HTTP Authentication: Basic and Digest Access Authentication.IETF, Fremont 1999. [12] -: IEEE 802.11X. Port-Based Network Access Control. IEEE, New York 2004. [13] Neuman C., Yu T., Hartman S., Raeburn K.: The Kerberos Network Authentication Service (V5). IETF, Fremont 2005. [14] Calhoun P., Johansson T., Perkins C., Hiller T., McCann P.: Diameter Mobile IPv4 Application. IETF, Fremont 2005. [15] Burda K., Strasil I., Pelka T., Stancik P.: Access Control Protocol (ACP). IETF, Fremont 2011.
28 – 11