Bezpečnost v gridech: autentizace uživatelů

Gridy spojují řadu institucí, které mají často rozdílné politiky pro správu uživatelů a přístup ke svým prostředkům. V takovém prostředí se objevují problémy, které nejsou známy z jiných oblastí a které proto vyžadují specifická řešení. Podívejme se, jaký vliv mají tato řešení na autentizaci uživatelů.

Zabezpečení gridů je zpravidla řešeno na úrovni middleware, který aplikacím a uživatelům poskytuje rámec pro naplnění jejich bezpečnostních požadavků. Tyto požadavky mohou být značně různorodé – např. v oblasti fyziky vysokých energií, kde se pracuje s velkými objemy dat, bývají data přenášena nešifrovaně tak, aby se minimalizovala režie spojená s jejich přenosem. Naopak pro oblast bioinformatiky jsou vyvíjeny specializované služby pro správu šifrovacích klíčů a jejich kontrolované použití. Takových rozdílů je řada, zpravidla každý gridový systém ale vyžaduje základní autentizaci uživatelů, kteří jej používají, a poskytuje podporu pro řízení přístupu uživatelů ke koncovým prostředkům

Přihlášení do gridu

Analogicky s prací na osobním počítači se uživatel musí před zahájením nejprve přihlásit do gridového prostředí, tj. musí se ověřit jeho totožnost (autentizace) , případně musí projít autorizací. Přesná podoba tohoto procesu závisí na použitých technologiích, pro gridové prostředí je však důležitá autentizace založená na principu SSO (Single Sign-On), kdy uživatel provede jednu přihlašovací sekvenci a vytvoří tak autentizační údaje, které jsou platné několik hodin tak, aby pokryly pracovní dobu uživatele. Po uplynutí této doby (např. další pracovní den) je nutné tyto údaje vytvořit znovu. Autentizační data vytvořená tímto procesem jsou transparentně využívána aplikacemi, které zprostředkují přístup ke gridovým službám, takže uživatel není obtěžován opakovanými požadavky na přihlašování.

Další technikou, která se v gridech hojně používá, je tzv. delegování práv, kdy uživatel deleguje svá oprávnění na jiného uživatele či službu, která je pak schopna vykonávat operace v zastoupení původního uživatele. Tento mechanismus se používá např. u portálů, které mohou uživatelům spouštět gridové úlohy a poskytovat přehledné znázornění výsledných dat.

Autentizace pomocí PKI a proxy certifikáty

Autentizace v gridovém prostředí bývá nejčastěji založena na infrastruktuře veřejných klíčů (PKI, Public Key Infrastructure), kdy každý uživatel a služba vlastní certifikát veřejného klíče podepsaný důvěryhodnou certifikační autoritou (CA). Výhodou PKI je, že umožňuje dynamicky propojit takové držitele certifikátů, aniž by mezi nimi nebo jejich institucemi byl předem ustaven nějaký vztah. Certifikáty mají platnost zpravidla roční a musí být každý rok obnovovány.

Pro podporu principu SSO i delegování práv se v gridovém světě často používají tzv. proxy certifikáty. Proxy certifikát je nový digitální certifikát, pro který je vygenerována nová dvojice soukromého a veřejného klíče a který je podepsán soukromým klíčem uživatele, jenž jej vytváří. Stejně tak jméno proxy certifikátu je odvozeno od původního dlouhodobého certifikátu tak, aby identifikovalo svého majitele. Platnost proxy certifikátů je zpravidla dvanáct hodin. Soukromý klíč od proxy certifikátu je uložen na disku a není zašifrován, jen chráněn přístupovými právy systému souborů. Aplikace uživatele tak mohou snadno jeho proxy certifikát použít pro autentizaci.

Lze vytvářet i vícenásobné proxy certifikáty, kdy se pro podpis proxy certifikátu nepoužije uživatelův dlouhodobý soukromý klíč, ale klíč od jiného proxy certifikátu, vytvořeného dříve. Tímto způsobem lze proxy certifikáty použít pro omezené delegování uživatelových práv na gridové komponenty, které tak mohou pracovat pod uživatelovou identitu, pouze však po omezenou dobu.

PKI nabízí robustní mechanismus pro zajištění autentizace v distribuovaném prostředí, bohužel při nasazení v rozsáhlé infrastruktuře se objevují slabiny, které mohou negativně ovlivnit celkovou bezpečnost. Jedním ze základních problémů je důvěryhodnost certifikační autority, která vydává certifikáty. CA musí garantovat, že informace uvedené v certifikátech jsou správné, stejně jako zajistit ochranu klíče, kterým certifikáty podepisuje, zaručit včasné vydávání revokačních listů apod.

Velkým úspěchem gridových aktivit je ustavení sdružení International Grid Trust Federation (IGTF), které definuje požadavky na certifikační autority a také provádí akreditační proces, kterým ověřuje, že certifikační autorita opravdu splňuje specifikované požadavky. Autority, které prošly takovou akreditací, potom mohou sloužit jako základ silné autentizační infrastruktury, protože požadavky jsou nastaveny poměrně přísně (např. uživatelé se při žádosti o certifikát musí prokázat oficiálním dokladem při osobní návštěvě).

V současné době je téměř v každém evropském státě k dispozici akreditovaná certifikační autorita; pro akademickou veřejnost v České republice je k dispozici autorita, kterou provozuje sdružení CESNET.

Ochrana soukromých klíčů v PKI

Dalším problémem, který souvisí s PKI, je správa soukromých klíčů od dlouhodobých certifikátů. Klíče používané v PKI jsou velmi dlouhé řetězce znaků a na rozdíl od hesel si je člověk nemůže zapamatovat. Musí být proto uloženy v nějaké elektronické podobě tak, aby byly přístupné aplikaci, kterou uživatel používá.

Nejčastěji se dnes klíče ukládají na lokální disk počítače, buď ve formě samostatného souboru, nebo ve specializovaném úložišti, které poskytuje aplikace, příp. operační systém. Vždy se ale jedná o data, která jsou uložena na disku počítače, a tudíž čitelná kýmkoliv, kdo má oprávnění číst příslušnou část disku. Pro ochranu před neoprávněným přístupem k těmto datům se používá šifrování souborů heslem, které musí uživatel zadat při přístupu k soukromému klíči. Navíc, pokud to použitý souborový systém dovoluje, bývá přístup k datům na disku chráněn proti přístupu jiných uživatelů na úrovni operačního systému.

Úroveň takové ochrany soukromého klíče je ale poměrně malá, zejména pokud se případnému útočníkovi podaří získat práva majitele soukromého klíče nebo administrátora příslušného systému. Mezi hlavní techniky pro získání dat z lokálního disku patří použití počítačových virů, zneužití různých chyb v aplikacích běžících na daném počítači, ale i techniky sociálního inženýrství. Pokud se útočníkovi povede získat soubor se soukromým klíčem, může se pokusit najít správné heslo k rozšifrování tohoto souboru. Nejjednodušší je odposlechnout heslo při zadávání uživatelem, případně je možné nasadit klasické techniky pro lámání hesel, jako je hádání hesel hrubou silou nebo slovníkový útok.

Zásadním problémem v oblasti správy klíčů je fakt, že zabezpečení souboru s klíčem je z velké části v rukách samotného uživatele, což se ukazuje jako nedostatečné. Navíc v oblasti PKI neexistují mechanismy, které by spolehlivě zajistily patřičnou ochranu, tj. kvalitu použitého hesla, správné nastavení přístupových práv k souboru s klíčem apod. Uživatelé také mohou (a často tak také činí) libovolně manipulovat s klíčem, např. jej kopírovat na jiné počítače, kde klíč potřebují, a při těchto operacích může také dojít k prozrazení obsahu soukromého klíče. Důsledkem je relativně nízká bezpečnost klíče, i když sám klíč je dostatečný z hlediska kryptografie.

Využití HW tokenů

Pro bezpečnější ukládání soukromých klíčů existuje několik alternativ, které se liší ve způsobu práce s nimi i v zabezpečení, které uloženým klíčům poskytují. Nejjednodušší možností je použít nějaký typ vyjímatelného média, jako je např. disketa, CD-ROM nebo populární USB flash disk, na které se soukromý klíč uloží místo pevného disku. Po dobu práce je médium s klíčem zapojeno do počítače a aplikace s klíčem pracují stejně, jako by byl přímo na pevném disku počítače, tj. přistupují k souboru na výměnném médiu. Po ukončení práce uživatel vyjme médium z počítače, a klíč tak není v počítači nadále dostupný a nemůže se stát předmětem útoku. Tento postup je sice jednoduchý, ale neposkytuje žádnou ochranu pro klíč v okamžiku, kdy je médium s klíčem připojeno k počítači.

Další možností je použití čipových karet a příbuzných technologií (obecně tokenů), které obsahují jak chráněný prostor, do kterého lze uložit soukromý klíč s certifikátem, tak i samostatný procesor, který je schopen s těmito klíči pracovat a provádět s nimi základní kryptografické operace. Karta je k počítači připojena pomocí čtečky zapojené přes USB nebo sériový port, a jejím prostřednictvím komunikují aplikace s kartou.

Aplikace tedy nepoužívají přímo soukromý klíč, ale předávají kartě data, která jsou zpracována procesorem na tokenu a výsledek je vrácen zpět aplikaci. Klíč tak nikdy neopustí kartu a není jej možné nijak zkopírovat. Přístup ke kartě je autentizován, tj. aplikace se musí procesoru na kartě nejprve prokázat znalostí příslušného PINu, který zadá uživatel. Je tak zabráněno zneužití informací z karty v případě její ztráty. Většina karet je konstruována tak, že se po zadání určitého počtu chybných PINů zablokuje a jedinou možností, jak ji zprovoznit, je její nová inicializace, která však nevratně smaže všechny informace na kartě.

Vedle čipových karet s čtečkami také existují čipové tokeny připojitelné do USB, které kombinují funkcionalitu karty a čtečky v jednom kusu hardware. Vzhledem se podobají USB flash diskům, ale vnitřní architektura je totožná s čipovými kartami, tj. obsahují vlastní procesor a není možné přistupovat přímo k citlivým datům na tokenu. Výhodou USB tokenů je jejich vyšší mobilita, protože není potřeba s sebou nosit kartu i čtečku.

Technologie čipových karet výrazně zvyšuje ochranu soukromých klíčů, protože umožňuje jejich bezpečné uložení a přístup k nim. Je příkladem tzv. dvoufaktorové autentizace (two-factor authentication), kdy uživatel musí prokázat znalost nějakého tajného kódu (tj. PINu k tokenu) a také fyzické držení tokenu.

Potřeba tokenu nové generace

Čipové karty poskytují kvalitní ochranu soukromého klíče, ale ve své současné podobě jsou příliš závislé na bezpečnosti hostitelského počítače, ke kterému se připojují. Lze si představit, že na takovém počítači lze spustit nějakou formu trojského koně, který monitoruje přístupy k čipové kartě a po úspěšném zadání PINu se pokusí tokenu poslat další data ke zpracování, jejichž výsledek předá nějak útočníkovi. Takový útok je těžko detekovatelný a může mít fatální následky pro držitele soukromého klíče.

KL_NOMINACE

Gridoví uživatelé, kteří často cestují a pracují u různých počítačů, tak potenciálně vystavují soukromé klíče riziku zneužití. V současné době se této problematice věnuje např. společný výzkum Fakulty informatiky MU a Fakulty informačních technologií VUT, jehož výsledkem bude token nové generace, který bude bezpečně použitelný i při použití v nedůvěryhodném prostředí.

Článek vznikl za laskavého přispění českých odborníků na informační technologie a gridy ing. Rity Pužmanové, CSc., MBA a doc. RNDr. Luďka Matysky, CSc.

Anketa

Používáte čipovou kartu na více počítačích?

2 názory Vstoupit do diskuse
poslední názor přidán 17. 11. 2006 22:58

Školení Správa Stránek na Facebooku

  •  
    Jak pokročile spravovat Stránku, Události, Skupiny.
  • Jak tvořit i netvořit příspěvky.
  • Jak nepřijít o účet, nenaletět a neztratit všechno.

Detailní informace o školení Správa stránek na Facebooku »