Společnost eBanka, a.s., která disponuje rozsáhlou počítačovou sítí a desítkami poboček po celé republice, používala standardní nástroje pro administraci uživatelských přístupů a vykonávání procesů pro podporu uživatelů. V rozsáhlé počítačové síti měl tento způsob administrace a vedení uživatelských účtů za následek existenci následujících problémů:
nečisté síťové prostředí – bez vazby na personální systém a bez jakékoliv automatizace procesů pro podporu uživatelů docházelo k existenci nepoužívaných či neoprávněnými osobami zneužívaných tzv. „mrtvých“ účtů
sdílení uživatelských účtů – nebylo možné uživatelům zabránit ve sdílení svých uživatelských účtů, tento problém obecně souvisel se znalostí hesla uživatele k vlastnímu uživatelskému účtu
neexistence kontroly – nebyly dostupné mechanizmy pro zaznamenávání informací o přístupech do počítačové sítě, které navíc nelze provádět bez jednoznačné identifikace přistupujícího
nekonzistentní způsoby autentizace – bankovní i jiné používané aplikace používaly vlastní nekonzistentní způsoby autentizace uživatele
Projekt UAS si kladl především tyto cíle:
| • | UAS bude vystavěna na bázi PKI |
| • | autentizace uživatele a privátní operace budou prováděny pomocí HW prvku (čipové karty Gemplus řady GPK, konkrétně GPK8000 a GPK16000) |
| • | zabezpečené přihlášení k systému Windows 2000 |
| • | poskytnutí programového interface pro implementaci autentikačních mechanizmů aplikacemi třetích stran |
| • | možnost centralizovaného managementu systému a HW prvků |
| • | provázání s personálním systémem |
| • | automatizace procesů pro podporu uživatelů |
| • | modulárnost a škálovatelnost |
| • | možnost bezpečného terminálového použití |
Určení systému UAS
UAS je systém radikálním způsobem zvyšující zabezpečení počítačové sítě proti rizikům vnitřního ohrožení. Prostřednictvím HW prvků a vydávaných certifikátů zajišťuje nezneužitelnost uživatelských účtů a jednoznačnou identifikaci uživatele v počítačové síti. Automatizací procesů pro podporu uživatelů anuluje možná procesní rizika.
Management systému, HW prvků a uživatelských přístupů je implementován s vědomím možné potřeby bezpečné centralizace, která však není nutností.
Princip řešení
UAS je rozsáhlý systém kombinující množství funkcí. Dle již uvedeného je lze rozdělit na funkce týkající se omezení rizik plynoucích ze zneužití uživatelských účtů a práv a na funkce automatizující procesy pro podporu uživatelů.
Základem autentizace uživatele k síti je autentizace vůči předmětu, v tomto konkrétním případě k čipové kartě. Ta je vydána každému uživateli a bez ní se není možné k síti přihlásit. Každá z vydaných čipových karet je unikátní a obsahuje mimo jiné privátní klíč, certifikát a seznam uživatelských účtů, ke kterým má uživatel práva. V systému tedy existují dvě základní entity. Jednou z nich je osoba, která je ekvivalentní čipové kartě a druhou vlastní uživatelský účet. Vztah mezi oběma entitami je N:N, tedy jedna čipová karta může obsahovat více různých uživatelských účtů a naopak, jeden uživatelský účet může být obsažen na více čipových kartách.
Autentizace uživatele spočívá v první řadě ověřením znalosti PIN, následně certifikátu uloženého na čipové kartě a kontrolou jeho práv pro přihlášení na zvolený účet. Uživatel nezná hesla přidělených uživatelských účtů.
Autentizace terminálového přístupu je řešena podobně s rozdílem, že pro ověření je používána lokální čipová karta. Komunikace mezi vzdáleným počítačem a lokální čipovou kartou probíhá šifrovaně na bázi protokolu SSL.
Veškeré požadavky na autentizaci jsou systémem zaznamenávány.
Systém může být administrován z jednoho místa, ze kterého lze vytvářet nové uživatelské účty, personalizovat čipové karty, přiřazovat uživatelské účty osobám apod. Jelikož administraci musí být možné provádět vzdáleně, existuje systém tzv. servisních požadavků. Administrátor vygeneruje servisní požadavek daného typu a ten se uloží v datovém úložišti, konkrétně do databáze. Uživatel čipové karty má možnost daný servisní požadavek ručně zpracovat nebo nechat na automatickém vyřízení před příštím přihlášení. Tímto způsobem lze velmi jednoduše kontrolovat možnost přístupu osob k jednotlivým uživatelským účtům. Stejně tak lze tímto způsobem umožnit uživatelům např. odblokování zablokování čipových karet. Veškerá komunikace mezi administrátorem, SQL serverem i uživatelem probíhá šifrovaně.
Automatizace administračních procesů probíhá na základě provázání s personálním systémem a spočívá v provedení předem definovaných specifických kroků, které mají vztah ke změně vycházející z personálního systému.
Systém poskytuje programový interface pro využití autentizace vůči čipové kartě.
Harmonogram implementace
Květen 2002 | definice potřeb a funkcionality systému UAS |
Červenec 2002 | první testování a počátek vývoje |
Listopad 2002 | pilotní nasazení produktu u zákazníka |
Leden 2003 | běžný rutinní provoz u zákazníka |
| • | Bezpečný přístup uživatelů k síťovým zdrojům, souvisí např. s neznalostí hesel k uživatelským účtům |
| • | Jednodušší přístup uživatelů k síťovým zdrojům |
| • | Management uživatelských účtů a obecně celého systému umožňuje bezpečně odebírat či přidávat uživatelské účty kdykoliv, odkudkoliv a komukoliv |
| • | Vazba s personálním systémem a automatizace procesů pro podporu uživatelů omezuje lidské chyby a důsledkem je maximálně čisté síťové prostředí |
| • | Zpětná kontrola – je možné zjišťovat kdo, kde, kdy používal síťové prostředky |
| • | Otevřenost systému – systém lze jednoduše použít i pro autentizaci v dalších zákazníkem používaných systémech |
Produkty a technologie
Použité Microsoft produkty
Microsoft Windows 2000 Server
Microsoft Windows 2000 Professional
Microsoft SQL Server 2000
Microsoft Visual Studio 6.0
Produkty řešitele a produkty třetích stran
Kryptografická knihovna (truconneXion)
GZIP compression (Wei Dai)
Lotus Notes SDK (IBM)
Ukázky uživatelského rozhraní

Obr. 1: Přihlašovací dialog (nahrazuje standardní přihlašovací dialog Windows)

Obr. 2: Dialog zobrazovaný po vyjmutí čipové karty ze čtečky

Obr. 3: Dialog uzamčené stanice (nahrazuje standardní dialog Windows)

Obr. 4: Dialog obsahující uživatelské volby (nahrazuje standardní dialog Windows)