Vyšlo v příloze Softwarových novin, v červnu 2001
Vytištěno z adresy: http://www.earchiv.cz/b01/b0600002.php3

Jaké technologie jsou k dispozici?

Pojďme se nyní zastavit nad tím, jaké existují principiální možnosti pro dosažení výše naznačených požadavků. Již dříve jsme přitom vyloučili používání hesel v jejich statické podobě, protože zde je skutečně velké nebezpečí zneužití. Pokud si lidé volí svá hesla sami, mají tendenci používat taková hesla, která nemusí být až tak těžké uhodnout (například různá křestní jména, data narození, názvy něčeho co má oprávněný uživatel v oblibě atd.). Navíc si lidé velmi často pomáhají tím, že si svá hesla zapíší na různé papírky které nechají někde doslova válet - a pak je pro eventuelního útočníka velmi snadné se jich zmocnit. Nemluvě již o nebezpečích, která skýtá možnost odposlechu hesla při jeho přenosu sítí a následném zneužití neoprávněnou osobou. Zkrátka a dobře, statická hesla sice poskytují určitou míry zabezpečení (pro potřeby identifikace a autentizace), ale pro potřeby internetbankingu je tato míra příliš nízká.

Na druhé straně ale není pravdou, že by hesla jako taková byla pro internetbanking nepoužitelná - určitě ne, pouze se musí jednat o jiný druh hesel, než dosud uvažovaná "statická" hesla, která si volí sami uživatelé a která zůstávají v platnosti po určitou delší dobu.

Jednorázová hesla

Podstatně vyšší míru zabezpečení skýtají taková hesla, která nemají dlouhodobější platnost a nelze je použít vícekrát, pro opakovanou autentizaci. Jsou to hesla označovaná trefně jako jednorázová (one-time pasword), protože je lze použít skutečně jen pro jedno jediné ověření (autentizaci). Pokud by se někdo nepovolaný takovéhoto hesla dokázal zmocnit, například jej odposlechnout při přenosu, stejně by mu nebylo k ničemu, protože podruhé již takovéto heslo nelze použít. Naopak jeho opakované použití je signálem že něco není v pořádku, na což bankovní systém může vhodně zareagovat - třeba tím že po určitém počtu pokusů o vícenásobné použití jednorázového hesla zablokuje přístup k účtu, a nechá jej odblokovat až na pokyn oprávněného majitele.

Praktické používání jednorázově použitelných hesel má samozřejmě i svá úskalí. Například není dost dobře možné chtít po uživatelích, aby takováto hesla sami vymýšleli. Stejně tak není smysluplné dát jim do ruky sáhodlouhý seznam jednorázově použitelných hesel, vygenerovaných dopředu a určených k postupnému použití (již jen kvůli riziku, že se tento seznam dostane do nepovolaných rukou). Místo toho musí být jednorázová hesla vhodným způsobem dynamicky generována. Například malým zařízením podobným kalkulačce (tzv. elektronickým klíčem), které uživatel dostane od své banky při zřízení účtu a zprovoznění internetbankingu.

Použití elektronického klíče

Zařízení označované jako elektronický klíč je schopné generovat posloupnost hesel, které mají jednu velmi důležitou vlastnost - i když by někdo znal posloupnost všech dosud vygenerovaných jednorázových hesel, nedokáže uhodnout (vypočítat) heslo následující. Takže i kdyby někdo na přenosové trase mezi klientem a bankou dokázal zachytávat všechna přenášená hesla a pak z nich chtěl předpovědět heslo příští, nepovede se mu to (a opakovaně použít jednou použité heslo také nemůže, kvůli jejich jednorázovému charakteru). Praktické použití pak nejčastěji vypadá tak, že každou významnější operaci, například samotné přihlášení do klientského systému banky, či zadání nějakého platebního příkazu apod. klient stvrzuje zadáním nového jednorázového hesla. To jednorázové heslo mu vygeneruje jeho elektronický klíč.

Užitečným vylepšením právě popsaného systému jednorázově použitelných hesel je učinit je závislé na parametrech transakce, kterou jednorázové heslo stvrzuje. To sice nutí uživatele "ťukat" do elektronického klíče příslušná data, ale na druhé straně to výrazně zvyšuje celkovou bezpečnost komunikace klienta s bankou (zajišťuje to certifikaci požadavku). Pokud by se totiž někdo nepovolaný dokázal postavit mezi tyto dva komunikující klienty, zachytávat požadavky klienta, modifikovat je (například tak aby převod peněz směroval na jeho účet) a teprve pak předávat bance, po změně parametrů by jednorázové heslo nebylo správné a banka by tuto skutečnost bezpečně poznala.

Zdůrazněme si nyní jednu významnou skutečnost. Při právě popsaném způsobu identifikace a autentizace klienta banka odvozuje "pravost" klienta od toho, že má ve svém držení určitý konkrétní předmět, v daném případě elektronický klíč. Pokud by klient předal klíč někomu jinému, či jej získal někdo neoprávněný (například jej ukradl) a dokázal jej správně používat, banka by tuto skutečnost nedokázala rozpoznat. Proto je používání elektronického klíče chráněno ještě osobním pinem, bez jehož zadání není klíč funkční (a po několika chybných pokusech o zadání PINu se zablokuje). Dalším stupněm ochrany pak bývá určité omezení na počet nesprávných pokusů o autentizaci či certifikaci, po jejichž překročení dojde k dočasnému zablokování účtu v bance.

Nutnost používat elektronický klíč je sice v praxi určitým handicapem (je nutné jej nosit všude tam, odkud chcete komunikovat s bankou), ale na druhé straně má zase významné přednosti co do požadavků na používané počítače a zabezpečení komunikace. Vše co je důvěrné a nemělo by se dostat do nepovolaných rukou je totiž soustředěno v elektronickém klíči, a z něj "vystupují ven" pouze jednorázově použitelná hesla, která po svém použití ztrácejí jakoukoli hodnotu. Hesla vygenerovaná elektronickým klíčem (ještě k tomu závislá na parametrech požadované transakce) je díky tomu možné přenášet i po nezabezpečeném přenosovém kanálu. To pak v praxi znamená, že klient může využít jakýkoli počítač a jakýkoli browser, aniž by jej musel jakkoli upravovat, aniž by musel cokoli na daný počítač instalovat apod. S elektronickým klíčem v ruce tak můžete jít například do internetové kavárny a komunikovat se svou bankou odsud. Díky celosvětovému charakteru dnešního Internetu to znamená, že tak můžete činit odkudkoli z celého světa, tedy například i na cestách z hotelového pokoje či některého veřejně přístupného počítače.

Průběh takovéto komunikace spočívá v postupném vyplňování formulářů na WWW stránkách, které banka klientovi předkládá, a kde klient uvádí parametry požadované transakce (jako výši částky, číslo cílového účtu, variabilní symbol atd.). Do formuláře nakonec také vepíše i autentizační resp. certifikační kód (jak se říká jednorázovému heslu, vygenerovanému elektronickým klíčem). Obsah takto vyplněného formuláře je pak odesílán bance s využitím zabezpečeného protokolu SSL (Secure Sockets Layer), který z nezabezpečeného Internetu činí zabezpečený přenosový kanál (a šifruje přenášená data, tj,. zajišťuje i jejich důvěrnost). První formulář je přitom "vstupní", v tom smyslu že teprve po jeho vyplnění získá klient přístup ke svému účtu a dozví se např. jeho aktuální stav. Zde pak jednorázové heslo, zadávané prostřednictvím "vstupního" formuláře, slouží potřebám autentizace. Při další komunikaci, kdy již uživatel požaduje konkrétní transakce, slouží jednorázové heslo potřebám certifikace.

Někdy, pro větší pohodlí zákazníka, tak aby on nemusel do svého elektronického klíče vždy explicitně zadávat všechny parametry transakce která má být stvrzena jednorázovým heslem, je elektronický klíč vybaven schopností získat si potřebná data sám. Řešit se to dá na optickém principu, kdy vhodný program (či např. javovský applet vložený do WWW stránky) vhodným způsobem rozsvěcuje a zase zhasíná část obrazovky, tak aby tím vytvořil určitý kód. Uživatel pak nasměruje optické čidlo na svém elektronickém klíči proti této části obrazovky a tím umožní přenos dat. Jde vlastně o stejný princip, jaký používají tzv. infraporty propojující mobilní telefony se zařízeními PDA, pouze s tím rozdílem že zde jde o přenos jednosměrný (do el. klíče) a jako výstupní zařízení je využívána obrazovka.

Řešení s elektronickým klíčem u nás poprvé zavedla Expandia banka (dnes přejmenovaná na eBanku), a to nejen pro potřeby svého internetbankingu, ale obecně pro všechny možnosti dálkové komunikace zákazníka s bankou (například pro komunikaci po telefonu). Stejné řešení s elektronickým klíčem dnes používají i další banky, i když se ani nemusí jednat o internetbanking (například Komerční banka používá elektronický klíč pro telefonický přístup v rámci své Express linky, ale pro svůj internetbanking zvolila jiné řešení, na bázi elektronických podpisů).