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

Náhrady elektronického klíče

Elektronický klíč v podobě fyzického zařízení velikosti kalkulačky má mnohé přednosti - především tu, že nevyžaduje žádné instalace ani změny softwaru na počítači, a neváže uživatele na použití žádného konkrétního počítače. Na druhé straně jeho nevýhodou jsou relativně vysoké náklady na samotný elektronický klíč v jeho "materiální" podobě, a dále i nutnost servisu těchto zařízení, jejich tzv. synchronizace a odblokování po neoprávněném resp. chybném zásahu, výměna baterií atd. Proto se v praxi lze setkat i s alternativami, které elektronický klíč v jeho materiální podobě nahrazují. Můžeme si je ukázat právě na příkladu Expandia banky (dnes eBanky), která musela řešit zmíněný problém relativně vysokých nákladů na elektronické klíče, když potřebovala snížit cenu za vedení svých účtů.

Spíše experimentem s omezenou možností využití bylo řešení, které Expandia banka zavedla v rámci svého projektu eCity. Ten měl uživatele seznámit s možnostmi on-line bankovnictví a motivovat je aby si vyzkoušeli fungování internetbankingu. eCity účty byly zakládány a dodnes jsou vedeny zdarma, a jsou chráněny číselným účastnickým číslem a přístupovým heslem. To by samo o sobě nebylo dostatečné pro takovou aplikaci, jakou je vedení účtu s reálnými penězi, a tak jsou zde použity ještě další ochranné prvky. Jedním z nich je způsob zadávání hesla - pokaždé, kdy je heslo požadováno, je uživatel vyzván aby zadal pouze některé číslice z celého hesla. To znesnadňuje eventuelní možnosti odposlechu zadávaných číslic někým nepovolaným, protože požadovaná podmnožina číslic je pokaždé jiná. Ani to ale samozřejmě není stoprocentní ochrana, a tak zde vstupuje do hry ještě další ochranný prvek. Tím je omezená možnost převodu peněz na účtu, ze kterého lze převádět peníze jen na přesně definovanou skupinu jiných účtů, stanovenou již při zakládání účtu v příslušné smlouvě. V praxi, pro "skutečné" bankovní účty, by takovéto řešení samozřejmě nebylo možné, protože by příliš omezovalo klienta v jeho možnostech nakládat s účtem (nezapomínejme, že eCity účty byly spíše jakousi "funkční demoverzí").

Expandia banka (eBanka) nakonec přišla s jiným řešením, které jí umožnilo snížit náklady na vedení účtu. Jde o použití tzv. mobilního klíče, který si lze představit jako "dematerializovaný" elektronický klíč, která má navíc v držení banka a nikoli její klient. Vše pak funguje tím způsobem, že klient prostřednictvím obvyklého formuláře vyplní údaje specifikující požadovanou transakci, v zásadě stejně jako při použití (fyzického) elektronického klíče. Ovšem místo toho, aby klient následně zadal potřebné údaje ještě jednou do (fyzického) elektronického klíče a tento mu vypočítal potvrzující (autentizační nebo certifikační) kód, vypočítá jej banka. Ta k tomu použije klientem již jednou zadané údaje o transakci, a sama provede potřebný výpočet jednorázového hesla v podobě autrentizačního resp. certifikačního kódu (proto ona metafora s tím, že elektronický klíč v jeho "dematerializované podobě" má v držení banka). Jaký je ale potom bezpečnostní přínos takto bankou vypočítaného jednorázového hesla, když přeci nijak neověřuje pravost oprávněného uživatele a jeho požadavků?

Odpověď je taková, že banka vypočítaný certifikační kód pošle uživateli takovým kanálem, u kterého je oprávněna očekávat že vede skutečně jen k osobě oprávněné nakládat s příslušným účtem. Uživatel (klient), který toto jednorázové heslo přijme, jej pak musí přepsat do příslušného políčka formuláře, kterým zadává svůj požadavek, a vše pak odeslat bance. Teprve tím je transakce certifikována (potvrzena) a banka ji začíná realizovat.

Přenosovým kanálem, kterým eBanka posílá vypočítaný certifikační kód oprávněnému klientovi, je jeho mobilní telefon. Banka mu příslušný kód pošle na takové číslo mobilního telefonu, které se svým klientem sjedná v rámci smlouvy o vedení účtu. Mobilní telefon pak vydá certifikační kód až po zadání osobního PINu, což je dalším ochranným prvkem.

Strategie challenge-response

Jak jsme si již uvedli výše, používání elektronického klíče v zásadě znamená, že banka odvozuje "pravost" klienta a jeho požadavků od vlastnictví určitého předmětu. Tento předmět pak slouží ke generování jednorázově použitelných hesel bez toho, že by měl nějakou explicitní návaznost na dění v bance. Ta si ale musí udržovat "protějšek" elektronického klíče, který musí generovat stejnou posloupnost jednorázových hesel jako fyzický klíč v rukou zákazníka. Pokud se například uživatel splete při manipulaci s klíčem nebo při opisování do počítače a vynechá (nepoužije) některá jednorázová hesla, banka je schopna určitý "posun" překrýt a rozpoznat jedno z příštích hesel. Takovýto "posun" však nesmí být příliš velký, protože to by zase mohlo signalizovat něco nekorektního, a tak banka většinou akceptuje jen posun o určitý počet vynechaných jednorázových hesel a jinak vyžaduje po klientovi aby se dostavil na pobočku a zde mohlo dojít k tzv. synchronizaci jeho klíče s tím, co si udržuje banka.

Podstatou právě popsaného jevu je skutečnost, že elektronický klíč v rukou zákazníka a jeho protějšek v rukou banky nejsou vzájemně synchronizovány (nejsou explicitně udržovány ve vzájemném souladu z hlediska postupu při generování jednorázových hesel).K řešení tohoto problému, ale především k dalšímu zvýšení celkové bezpečnosti, se proto používá další řešení, označované v anglosaské terminologii výstižně jako "challenge - response" (v doslovném překladu: výzva - odpověď). Princip je zde jednoduchý: banka (obecně strana která si potřebuje ověřit identitu druhé strany) zde vyšle určitý údaj (tzv. výzvu), na kterou protistrana musí odpovědět určitou specifickou odpovědí. V zásadě to znamená, že druhá strana, které je výzva zasílána, musí vědět jak má výzvu modifikovat. Její identita je tedy ověřována především na základě znalosti určitého konkrétního postupu, kterým je výzva modifikována, aby z ní vznikla požadovaná odpověď.

Za jednu z možných variant strategie challenge-response lze zřejmě považovat i použití mobilního klíče, které dnes nabízí eBanka. Zde sice není modifikace výzvy prakticky žádná, a tato je pouze opsána jako odpověď - zdrojem bezpečnosti je ale konkrétní kanál, kterým je výzva dopravována k oprávněnému uživateli (a dalších ochranným prvkem je již zmiňovaná ochrana PINem).

Strategie "challenge-response" je s úspěchem využívána v řešeních internetbankingu na bázi elektronických podpisů. Zde je k transformaci výzvy využíváno její zašifrování odpovědi pomocí tzv. privátního klíče, které by neměl mít ve svém držení nikdo jiný než oprávněný vlastník. Abychom ale vše správně pochopili, musíme si nejprve udělat malou exkurzi do světa symetrického a asymetrického šifrování (bez nároků na formální přesnost, spíše s ohledem na srozumitelnost).