COMPUTERWORLD
Specializovaný týdeník o výpočetní technice

Seriál
o bezpečnosti
a informačním soukromí

Část 56 - CW 32/98

Bezpečnost čipových karet

Petr Hanáček

Než se začneme zabývat bezpečností čipových karet, bylo by vhodné vysvětlit, proč jsou čipové karty tak těsně svázány s bezpečností informačních systémů. Poskytují totiž velmi levnou implementaci jednoho z bezpečnostních konceptů, který se anglicky nazývá "tamper resistant hardware" (hardware odolný proti útoku). Jedná se o hardwarový modul, obvykle vybavený mikroprocesorem, který obsahuje nějaká chráněná data a algoritmy, které na základě příkazů z vnějšího světa s těmito daty manipulují.

Tato vlastnost se obvykle využívá dvojím způsobem:

1. Modul v sobě obsahuje data, se kterými je možno manipulovat pouze jistým způsobem. Příkladem může být předplatní (telefonní) čipová karta, která v sobě obsahuje čítač impulzů, který je možno pouze snižovat a nikdy ne zvyšovat.

2. Modul má v sobě tajný kryptografický klíč, který nikdy nevypustí ven a je pouze ochoten s tímto klíčem provést jistou kryptografickou operaci. Příkladem může být autentizační čipová karta, která prokazuje svou totožnost pomocí zašifrování vložených dat uloženým tajným klíčem. Tomuto typu bezpečného hardwaru se někdy také říká kryptografický bezpečný hardware.

Co je na výše uvedených vlastnostech čipové karty tak zvláštního? To, že je nelze implementovat čistě softwarově bez pomocí speciálního hardwaru. Např. výše uvedenou předplatní kartu nelze realizovat softwarově, protože útočník by prostě pomocí binárního editoru přepsal obsah čítače na libovolnou hodnotu a měl by tak nevyčerpatelný zdroj bodů nebo impulzů.

Security through obscurity

Velmi rozšířeným jevem, se kterým je možno se setkat u čipových karet, je utajování algoritmů. Algoritmy použité v aplikacích s čipovými kartami (kryptografické i nekryptografické) bývají poměrně často utajovány nebo aspoň "nezveřejňovány". Děje se tak v daleko větší míře než u softwarových aplikací. Proč tomu tak je? Důvodem je to, že vlastnost bezpečného hardwaru (tj. ochránit "chráněná data" před neoprávněným přístupem) se dá velmi snadno využít i pro ochranu použitých algoritmů před prozrazením. Zatímco u čistě softwarového systému nelze efektivně utajit žádný algoritmus, protože nakonec to vždycky někdo "zreverzuje" a zveřejní, u hardwarového systému tato možnost existuje. A vývojáři aplikací s čipovými kartami ji také zhusta využívají. Zvlášť v minulých letech panovaly v této oblasti až paranoidní názory. Nejen že se utajovaly algoritmy, kryptografické protokoly a datové struktury, ale "nezveřejňovaly" se i samotné příkazy čipových karet. Čipové karty se dodávaly pouze "prověřeným" odběratelům, po podepsání různých závazků a prohlášení, doprovázených vysokými smluvními pokutami. Tento způsob zabezpečení, zvaný "security through obscurity", což znamená přibližně "zabezpečení pomocí obskurnosti", je svou účinností asi tak bezpečný, jako ukládání klíče pod rohožku.

První nesmělé pokusy -- emulace telefonních karet

První pokusy o útoky na čipové karty se vyskytly v oblasti telefonních karet. Telefonní karta typicky není procesorová karta, ale jde o kartu se speciální logikou. Telefonní karta má elektrický protokol, kterým říká své identifikační číslo a počet impulzů, které ještě na ní zbývají. Tento protokol samozřejmě není utajován a každý, kdo vyvine určitou energii, si jej může opatřit. Pak ovšem platí, že jakékoli zařízení, které odpoví na dotazy telefonního automatu a bude dodržovat tento protokol, bude telefonním automatem akceptováno jako platná telefonní karta. Tím je také dáno, že nejčastějším útokem na telefonní karty je tzv. emulace. Spočívá ve vytvoření zařízení (emulátoru), které se chová z hlediska elektrického protokolu jako platná telefonní karta s jediným rozdílem -- neklesá na něm počet impulzů.

Konstruktéři stávajícího systému telefonních karet se ani nesnažili o nějaké lepší zabezpečení -- bezpečnost systému totiž spočívá v tom, že cena emulátoru je natolik vysoká, že neodpovídá zisku útočníka. Což poměrně slušně platí ve Francii nebo v Německu, ale už méně to platí v naší republice nebo ještě dále na východ. Existence emulátorů -- "věčných telefonních karet" -- v tomto případě tudíž neznamená selhání bezpečnostního mechanismu, ale selhání člověka, který vzal systém, vytvořený pro konkrétní provozní prostředí a bez provedení bezpečnostní analýzy jej přemístil do provozního prostředí zcela jiného.

Hackerství jako obchod -- satelitní karty

Emulace telefonních karet není však pro hackery dnes už příliš zajímavá. Hacker potřebuje oblast, která je pro něj intelektuální výzvou, dá se na ní získat sláva, má z ní jistý okamžitý prospěch, činnost je beztrestná a pokud možno se na tom dají vydělat peníze. Tyto podmínky přesně splňují satelitní šifrovací karty.

Satelitní karty slouží pro dekódování satelitních televizních programů, které jsou vysílány zašifrované a které jsou určeny pouze pro ty diváky, kteří si za nemalý peníz koupí odpovídající dekódovací kartu. Dekódovací karta je čipová karta, která v sobě obsahuje tajný klíč (nebo několik klíčů) a šifrovací algoritmus, který je někdy tajný a někdy veřejný. Satelitní přijímač do karty občas zasílá krátkou zprávu, kterou karta pomocí klíče dešifruje a tím se získá tajná hodnota, se kterou je možno dekódovat několik dalších sekund obrazu. Je jasné, že pokud by byl prozrazen klíč (a algoritmus), je možno opět vytvořit emulátor karty, pomocí něhož je možno dekódovat přijímaný signál.

Pokud je takový emulátor (obvykle nazývaný pirátská karta) prodáván za rozumnou cenu, může se stát masově prodávaným zbožím. A to se právě stalo. Během několika málo let se vytvořil takříkajíc průmysl na výrobu pirátských čipových karet, který plynule zásobuje své zákazníky kartami. A nejde o malé počty. Jenom počet pirátských karet pro šifrovací systém Videocrypt se odhaduje na 250 000 až 500 000 kusů. Provozovatelé satelitního vysílání s tímto jevem samozřejmě intenzivně bojují, například pomocí změn klíčů nebo drobných technických změn v protokolu, zvaných ECM (Electronic CounterMeasure).

Samotná existence satelitních pirátských karet není z globálního pohledu příliš závažná. Týká se několika málo společností (které si tento stav zavinily samy) a jiných technologických odvětví se tato činnost příliš netýká, protože kromě satelitní televize se tímto způsobem čipové karty prakticky nepoužívají. Problém je zcela jiný, a mnohem závažnější. Satelitní čipové karty se totiž staly školou, na které se vyučili vysokým schopnostem hackeři, kteří by se jinak pravděpodobně vůbec nepustili do útoků na čipové karty. Současný stav je takový, že struktura komunity firem (ano, čtete dobře, firem, nikoli jednotlivců), které se zabývají výrobou satelitních pirátských karet, je několikaúrovňová. A v nejvyšší úrovni se nacházejí firmy, které nevyrábějí samotné pirátské karty, to nechávají firmám na nižší úrovni, ale které provádějí zjišťování utajených algoritmů a tajných klíčů.

Právě tím, že provozovatelé satelitního vysílání umožnili (a nepřímo zaplatili) vytvoření těchto firem, prokázali medvědí službu ostatním uživatelům čipových karet.

Budeme zatloukat a zatloukat -- Mondex

Pokud se pozornost útočníků soustředila na satelitní čipové karty, mohli vývojáři finančních aplikací s čipovými kartami tvrdit, že satelitní čipové karty tvoří v bezpečnosti čipových karet "druhou ligu" a že jejich "bankovní" čipové karty jsou na tom z hlediska bezpečnosti zcela jinak. Vzhledem k důslednému utajování jak vlastností čipů, tak i samotných kryptografických protokolů, bylo obtížné jim v tomto oponovat. Jednou z těchto elektronických peněženek je systém Mondex, patřící mezi nejrozšířenější. Jeho výrobce tvrdil např., že "systém poskytuje úroveň bezpečnosti, která předbíhá současnou úroveň zločinců dnes a bude je předbíhat i zítra".

Tato tvrzení bylo opět obtížné zpochybnit. Až v květnu 1996 si Národní banka Nového Zélandu (NBNZ) v rámci pilotního projektu nechala otestovat bezpečnost systému Mondex nezávislou organizací. Výsledkem bylo memorandum, které konstatovalo, že bezpečnost prověřované verze systému je nedostatečná a systém není dostatečně odolný proti útoku (auditor to demonstroval mimo jiné pomocí útoku, při kterém se mikrojehlami spojí 2 testovací plošky na čipu a tím se čip dostane do testovacího režimu). Dalo by se čekat, že toto odhalení způsobí poprask. Avšak výsledky auditu byly před veřejností více než rok utajovány, než bylo memorandum v roce 1997 únikem informací z NBNZ prozrazeno a zveřejněno na Internetu organizací EFF (Electronic Frontier Foundation).

Reakce NBNZ byla téměř hysterická -- NBNZ žádala EFF o okamžité stažení textu memoranda z Internetu a v případě neuposlechnutí hrozila soudními následky.

Kdo je však viník? Asi nikdo. Výrobce čipu (Hitachi) prohlásil, že se jedná o starou verzi, která již není podporována a proto neměl být čip použit. Výrobce systému (Mondex) prohlásil, že bezpečnost systému je "odpovídající způsobu použití", přičemž "způsob použití", což je jinými slovy maximální částka, uložená v elektronické peněžence, nebyl nikde jasně definován. Takže Černý Petr zůstal asi v rukou bank.

Mrtvý brouk -- GSM SIM-karty

Další velmi rozšířenou aplikací čipových karet jsou mobilní telefony GSM, kde karta SIM plní velmi důležitou úlohu v zabezpečení telefonu (podrobněji v dalším díle). Důležité pro nás je to, že kryptografický algoritmus, umístěný v kartě SIM (nazývaný COMP128) je utajovaný a nepublikovaný. Opět "security through obscurity" jako hrom. Až do jara roku 1998, kdy popis algoritmu "unikl", byl podroben analýze a bylo zjištěno, že je špatný. Díky chybám v algoritmu je možné během několika hodin vytvořit kopii SIM-karty, nazvanou klon. Na tomto případě je asi nejmarkantněji vidět škodlivost přístupu "security through obscurity" a utajování algoritmů.

Co na závěr

Bylo by krátkozraké tvrdit, že tyto případy svědčí o nedostatečné bezpečnosti čipových karet. Spíše svědčí o tom, že čipové karty jsou, jako každý jiný produkt -- buď kvalitní a tedy bezpečné, nebo méně kvalitní a tedy i méně bezpečné. Kvalitu čipových karet a aplikací s těmito kartami však nemůžeme nikdy posuzovat podle marketingových tvrzení výrobce nebo vývojáře aplikace, ale pouze podle výsledků nezávislého auditu. A výše uvedené příklady nebyly selháním čipové karty jako takové, ale selháním člověka, který ve své nafoukanosti a domýšlivosti nerespektoval základní bezpečnostní zásady a použil tyto karty způsobem, který nebyl správný.


| COMPUTERWORLD - seriál o bezpečnosti | COMPUTERWORLD | IDG CZ homepage |