> Zpět  


S certifikátem za zády


Jedním z možných přístupů pomáhajících řešit problém zvyšujícího se počtu autentizačních informací, které musí uživatel udržovat, je použití certifikátů jako prostředku pro identifikaci uživatele. Tato metoda patří zároveň k těm nejbezpečnějším.


Něco o funkčnosti

Předpokladem je, že máme možnost v autentizačním mechanismu využít kryptografii (nejčastěji SSL nebo mechanismus na podobné bázi), což je již dnes ve většině systémů standard, a to jak na straně serveru nebo aplikace tak na straně klienta. Není podmínkou, že autentizaci mohou využívat pouze protokoly a aplikace, které používají pro komunikaci šifrované protokoly. Autentizace a šifrovaná komunikace jsou dvě oddělené věci, které lze samozřejmě úspěšně kombinovat a tím zvyšovat celkovou bezpečnost.

Celý autentizační proces probíhá zhruba v těchto krocích:

  1. Navázaní spojení – výměna kryptografických informací
  2. Ověření platnosti certifikátu uživatele serverem, popř. ověření platnosti certifikátu serveru uživatelem – identifikace
  3. Ověření identifikačních informací z certifikátu v adresářové službě (ověření existence uživatelských pověření – autorizace uživatele)

Na systému, který má ověřovat identitu uživatele, je třeba nainstalovat serverový certifikát a certifikát certifikační autority, kterým určujeme, ke kterému certifikačnímu úřadu (certifikační autoritě) nastavujeme důvěru. V praxi to znamená, že pro prvotní identifikaci budeme důvěřovat všem platným certifikátům vydaných touto certifikační autoritou. Platnost certifikátu je pak třeba ověřovat kontrolou pomocí aktuálního revokačního listu (CRL), který vydává certifikační autorita nebo mechanismus vydávající certifikáty. Uživatel tedy musí mít certifikát vydaný certifikační autoritou nebo mechanismem, kterému server nebo aplikace důvěřuje.

Protože v této fázi nejde nijak rozlišit, zda uživatel má skutečně přístup do daného systému, je třeba ještě provést jeho autorizaci. To se v praxi provádí dotazem do nějaké adresářové služby nebo do služby která udržuje seznam uživatelů a jejich oprávnění. Dotaz se provádí pomocí atributů získaných z uživatelova certifikátu (např. jméno a příjmení, email, nebo UID uživatele). Adresářová služba vrátí systému odpověď, zdá má být uživateli umožněn přístup a případně s jakými oprávněními.


Mýty a fakta

Certifikáty
Kde vzít certifikát? Certifikát je normou jasně definovaná datová struktura. Můžete si ho zakoupit od akreditované certifikační autority, ale také si jej můžete vystavit sami, buď pomocí open source nástrojů pro tvorbu certifikátů (např. Open SSL), nebo pomocí vlastní certifikační autority, která pak může např. vydávat certifikáty pro celou společnost. Můžete také využít certifikační autoritu nebo nástroj integrovaný do nějakého vámi využívaného systému (např. některé firewally, nebo hardwarová zařízení).

Kvalifikovaný certifikát
V dnešní době je možné získat tzv. kvalifikované certifikáty např. od akreditované certifikační autority, od banky, nebo od nějaké jiné instituce, provozující certifikační autoritu, využívající pro své systémy elektronického podpisu. Tyto certifikáty jsou svázány s fyzickou osobou jednak identifikačními údaji (lze vydat pouze fyzicky existující osobě; nejčastěji proti podpisu smlouvy o použití certifikátu) jednak možnostmi jeho použití. Kvalifikovaný certifikát by se podle příslušných norem měl dát použít pouze k elektronickému podpisu viditelné datové struktury (tj. podepisovaná data musí být uživateli zobrazena před podpisem v čisté podobě). Toto opatření existuje zejména proto, aby uživatel musel interaktivně odsouhlasit použití certifikátu pro podpis a nedělo se tak v rámci automatického procesu – elektronický podpis by měl nahrazovat fyzický podpis. Kvalifikovaný certifikát tedy není příliš vhodný pro autentizaci, a to platí také vzhledem k možné absenci atributů potřebných pro identifikaci uživatele v adresářové službě systémem. Bohužel však některé systémy používají kvalifikované certifikáty pro autentizaci v autentizačních mechanismech, které mohou ohrozit bezpečnost certifikátu.

Certifikační autorita
Většina lidí se domnívá, že pořízení certifikační autority je věcí velkých investic. Toto však již není pravda. Mnoho systémů (např firewally nebo některé operační systémy) mají již certifikační autoritu implementovánu, někdy dokonce i spolu s adresářovými službami, takže proces vydání certifikátu a zřízení uživatelského přístupu je pro uživatele i administrátora zcela jednoduchý a transparentní. Certifikační autorita je vlastně mechanismus zajišťují bezpečnost a funkci procesů daných normou pro vystavování a práci s certifikáty. Tento mechanismus není složitý a tak lze snadno postavit certifikační autoritu na míru jakémukoli systému např. z Open Source nástrojů. Robustní komerční certifikační autority se liší od těch jednoduchých především integrací Know-How výrobce, kvalitou procesů a zabezpečením certifikačních nástrojů.

Bezpečnost
Proces autentizace a manipulace s šifrovacími prostředky (klíči) je technicky poměrně dobře zabezpečen. Nejobtížněji se zabezpečuje zejména jejich předávání uživatelům tak, aby nedošlo k jejich vyzrazení jiné osobě. Z tohoto důvodu se úspěšně používají hardwarová zařízení umožňující bezpečné uložení šifrovacích informací tak, aby ani uživatel a dokonce ani administrátor nemohl informace z tohoto zařízení získat (např. technologie SmartCard, nebo různé paměťové tokeny). Tohoto zabezpečení se dosahuje tím, že se některé kryptografické operace provádějí přímo uvnitř zabezpečeného zařízení (SmartCard, paměťový token) tak, aby citlivá data (klíče) kartu nikdy neopustila a nemohlo tak dojít k jejich krádeži a zneužití.

V případě serverů jsou k podobnému účelu nejčastěji používána externí zařízení (tzv. HSM - Hardware Security Module), která navíc kromě bezpečného uložení šifrovacích informací také urychlují šifrovací operace, aby autentizační mechanismus zbytečně nespotřebovával výpočetní výkon systému.


Výhodné, nebo ne?

Velkou výhodou použití autentizace pomocí certifikátů může být sjednocení autentizačního mechanismu pro přístup ke všem firemním zdrojům a tím i odstranění komplikované správy více přístupových účtů pro jednoho uživatele. Nutnou součástí je zavedení jednotné adresářové služby centrálně uchovávající identifikační a přístupové informace o uživatelích pro všechny systémy a aplikace s takto řízeným přístupem a případná integrace těchto systémů do této adresářové služby. Již nyní existuje řada systémů, které mají mechanismy pro správu adresářové služby a integraci dalších aplikací, popř. existuje mnoho externích nástrojů pro automatizaci a správu těchto procesů v různých heterogenních systémech.

Kombinace kryptografické autentizace spolu s hardwarovými předměty pro bezpečné uchování klíčů a certifikátů dnes patří k nejbezpečnějším možným typům autentizace.

Nevýhodou ale může být, že stále existují některé aplikace a systémy, které z různých principiálních důvodů autentizaci pomocí certifikátů nepodporují – např. různá terminálová řešení, dial-up, starší aplikace a pod. Velkou péči je třeba při implementaci věnovat také dodržování norem pro práci s certifikáty ze strany výrobců aplikací a systémů, aby se při budoucím rozvoji, rozšiřování nebo spojování s jinými systémy nenarazilo na problémy s kompatibilitou.


Příklady aplikací přímo využívajících autentizaci pomocí certifikátů

  • Přihlášení k desktopu počítače, případně do domény Windows2000, 2003 a k dalším systémům
  • terminálové připojení pomocí protokolu SSH
  • Webové aplikace
  • VPN tunely a přístupy po tzv. SSL VPN
  • Některé terminálové aplikace
  • Přihlášení ke konzolím některých UNIXových systémů
  • Přihlášení k některým linuxovým desktopům a aplikacím


Příklad implementace

  1. Analýza prostředí, systémů a aplikací, zda umožňují autentizaci a řízení přístupu pomocí certifikátů, vytvoření přístupových profilů a rolí pro uživatele, sestavení procesů pro administraci a rozhodnutí o technické realizaci certifikačního úřadu.
  2. Implementace a správné nastavení adresářové služby, integrace s aplikacemi a systémy
  3. Implementace certifikační autority
  4. Vystavení, popř. nákup serverových a aplikačních certifikátů
  5. Ověření funkce mechanismů ověřujících platnost certifikátů
  6. Vystavení nebo nákup certifikátů pro uživatele a zavedení uživatelů do adresářové služby


Navazující řešení

Po úspěšné implementaci autentizace pomocí certifikátů lze již snadno implementovat elektronický podpis, popř. sledování oběhu dokumentů ve společnosti. Certifikáty jako takové řeší jednotnou identifikaci uživatelů, nad kterou pak lze snadno stavět např Single Sign-on řešení, nebo lze poskytovat služby správy identity jiným subjektům.


-vosa-
obrazek