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

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

Část 57 - CW 34/98

Bezpečnost GSM

Václav Matyáš ml.

Mobilní telefony není jistě třeba představovat, ale podívejme se na zajímavé technické detaily týkající se bezpečnosti GSM (Group Spéciale Mobile). V první části článku se zaměříme na principy GSM důležité pro bezpečnost a v závěru se budeme věnovat aktuálním bezpečnostním problémům. Nakonec jen zběžně zmíníme jinak velmi zajímavé detaily správy kryptografických klíčů v síti GSM.

Sama mobilní telefonie a přístup k dalším mobilním službám neposkytují stejnou úroveň bezpečnosti jako pevná síť. Odposlouchávání rádiového spojení mezi mobilní stanicí a odpovídající základnou je snadné a těžko mu lze zabránit -- zachycení dat na jejich cestě a neautorizovaný přístup ke službám jsou pak bez další ochrany triviální. Zachycení uživatelských nebo signálních dat může mít za následek odtajení těchto dat a ztrátu důvěrnosti uživatelské identity (vzhledem k okolí -- uvnitř systému jinak není zaručena anonymita). Uživatelská data jsou přenášena transportními i signálními kanály. Signální kanál přenáší mj. i uživatelská data ve formě krátkých zpráv (příjem i vysílání bloku do 160 B) bez aktivace transportního kanálu.

Díky celulární struktuře sítě a neustálé aktualizaci informací o uživatelském modulu/kartě SIM (Subscriber Registration Module), které jsou nezbytné pro zajištění spojení, síť umí lokalizovat účastnickou kartu (pokud je karta zasunuta do mobilního telefonu a ten je buď v provozu, nebo připraven k příjmu). Území pokryté buňkou závisí na umístění buňky a pohybuje se od stovek metrů po 35km okruh kolem základové stanice. Jednoduchou triangulací lze sledovat pohyb účastníka s přesností na stovky až desítky metrů. Jsou známy případy, kdy švýcarská policie takto analyzovala data o pohybu mobilních telefonů uchovávaná operátorem GSM po dobu půl roku(!). Podle dostupných informací těchto postupů využívá i naše policie.

Pro ochranu operátorů a účastníků proti různým útokům přes nechráněná rádiová spojení a nekontrolované přístupy k mobilním službám je pro každou síť GSM závazné zajištění:

1. důvěrnosti identity účastníka,

2. autentizace účastníka,

3. důvěrnosti uživatelských dat i signálních informací.

Jednou z vlastností GSM je zašifrování linky z důvodu ochrany uživatelských i signálních dat. Pro tento účel byla vyvinuta speciální šifra, která je hardwarově integrována. Je zajímavé, že tato šifra je v určitých detailech odlišná v zemích NATO a ostatních zemích a je ještě zajímavější, že šifrování je standardně nasazeno jen pro komunikaci mezi mobilním telefonem a základnovou stanicí, avšak komunikaci v síti operátora GSM lze obvykle odposlouchávat (máte-li patřičné vybavení, jehož výroba a prodej jsou kontrolovány). SIM odvozuje šifrovací klíč jako součást autentizačního procesu. To znamená, že šifrování může být aktivováno, až je identita uživatele úspěšně ověřena. Autentizace sítě mobilní stanicí ovšem v GSM prováděna není.

Algoritmy samotné jsou vyjma šifrovacího algoritmu(ů) záležitostí síťového operátora. V SIM je uložen (pro každou kartu jedinečný) klíč Ki a algoritmy označené A3 a A8. Algoritmus A3 je používán k autentizaci mobilního telefonu a algoritmus A8 k vygenerování jednorázového klíče relace Kc, kterým bude šifrováno vlastní spojení. Algoritmus A5 není umístěn v kartě, ale v mobilním telefonu, a slouží právě šifrování spojení klíčem Kc. Podrobněji se na tyto záležitosti podíváme dále. GSM v zásadě poskytuje 3 bezpečnostní služby:

1. Dočasné identity pro důvěrnost identity uživatele.

2. Autentizaci pro kontrolu identity uživatele.

3. Šifrování pro důvěrnost uživatelských dat.

Autentizace a dočasné identity

Účelem autentizace účastníka je ochránit síť před neautorizovaným použitím. Síťový operátor může používat vlastní algoritmus, ale návrhy možných algoritmů jsou k dispozici na příslušnou žádost. K zajištění interoperability jsou specifikovány autentizační protokol a délka parametrů (vstup, výstup a klíč), stejně jako čas provádění algoritmu. Před započetím hovoru musí být identita SIM síti GSM známa. Obvykle se místo zaslání IMSI (International Mobile Subscriber Identity) používá dočasné identity. Smyslem dočasné identity (TMSI -- Temporary Subscriber Identity) je zabránit útočníkovi v možnosti získat informace ze zdrojů účastníka a zjistit polohu účastníka. Navíc je obtížnější přiřadit uživatele k přenášeným datům. IMSI se musí používat jen pro vytvoření spojení jen v krajním případě.

Autentizace a účtování poplatků jsou v systému GSM prováděny operátorem domovské sítě. Není pak potřeba zavádět jednotný autentizační algoritmus a každý operátor může používat svůj vlastní algoritmus. Data používaná k ověření identity jsou generována domovskou sítí. Samotná verifikace a řízení přístupu jsou zajišťovány lokálně pomocí VLR (Visitor Location Register), u kterého je účastník dočasně registrován. Uživateli stačí vzít jen svůj SIM a vloží jej do libovolného mobilního zařízení (ME -- Mobile Equipment). SIM obsahuje veškeré potřebné informace o účastníkovi, jako je IMSI, síťově specifický autentizační algoritmus či tajný, pro každého uživatele specifický, autentizační klíč Ki. Autentizační algoritmus na straně sítě (určený podle A3) je implementován v domácím registru polohy (HLR -- Home Location Register) nebo v Autentizačním centru (AuC), zatímco na straně MS je obsažen v SIM. Volitelně může být A3 implementován ve VLR. Metoda použitá mezi HLR/AuC a SIM je typu výzva-odpověď používající náhodná čísla: Náhodné číslo RAND je zasláno do MS jako výzva, poté SIM spočte odpověď SRES k RAND (využije výše zmíněného algoritmu A3) a tajného autentizačního klíče uživatele, který je uložen v SIM. SRES je odeslán a porovnán s hodnotou spočtenou sítí (při použití stejného algoritmu, RAND a klíče spojeného s údajem o identitě, kterou účastník poskytl). Jen v případě, že se tyto hodnoty rovnají, je MS povolen přístup do sítě. Použití kryptografie s veřejným klíčem by umožnilo autentizaci bez prozrazování jakýchkoliv tajných informací pro VLR. Autentizační mechanismy užívající veřejné klíče mají také být standardizovány.

Šifrování

Aktivace služby šifrování je řízena síťovou stranou. Standardní šifrování, popisované jako algoritmus A5, je používáno v celém systému. Tento proprietární algoritmus, který lze implementovat pomocí asi 3 000 tranzistorů, je obsažen na vyhrazeném hardwaru v MS a základnové stanici, která je protistanicí MS na rádiové cestě. Nezašifrovaný text je organizován do bloků 114 bitů, což je množství dat přenášených během jedné časové periody. Proud klíče,neboli sekvence bitů, které jsou XORovány (sčítány modulo 2) s datovým blokem, je produkován algoritmem A5 jako výstupní blok 114 bitů. Klíč Kc je odvozen v SIM během autentizačního procesu za použití algoritmu A8, specifického pro síťového operátora. Vstupem algoritmu A8 jsou "vyzývající" RAND (128 b) a účastnický autentizační klíč (128 b) používaný i pro autentizační proceduru, zatímco výstupem je klíč Kc sestávající ze 64 b.

Existují 2 standardní metody generování klíčů pro GSM. Buď pomocí generátoru náhodných čísel, nebo na základě algoritmu používaného k odvození klíče z dat, vztahujících se k uživateli a z klíče vyšší úrovně (MK - Master Key). Hlavní výhodou odvození klíče z netajných údajů šifrovaných MK je to, že takovéto odvoditelné klíče nemusejí být uschovávány a zálohování účastnických klíčů je omezeno jen na zálohování MK. Hlavním problémem je samozřejmě ochrana tajného klíče MK. Kdokoliv by jej vlastnil a znal tajné algoritmy A3 a A8, zkompromitoval by všechny karty vystavené pod tímto MK(!). Věru zajímavý aspekt ve světle níže uvedených informací. Toto riziko lze snížit periodickou změnou MK, což ale znamená správu většího množství tajných klíčů, navíc je nutno udržovat spojitost mezi příslušným MK a účastnickým účtem. Použití náhodného čísla má svůj závažný důsledek v tom, že není přímá spojitost mezi autentizačním klíčem a daty specifickými pro uživatele. Tyto klíče sice také musí být chráněny AuC, ale ne nutně na tak vysoké úrovni jako v předcházejícím případě. Také zjištění takového klíče potenciálním útočníkem neznamená zjištění MK.

SIM

SIM je realizován čipovou kartou a obsahuje všechny nezbytné informace a algoritmy k autentizaci účastníka v síti. Dodává se ve dvou provedeních. Větší karta SIM má rozměr kreditní karty, zatímco "plug-in" SIM lze získat "ořezáním" na 25 x 15 mm. PIN je uložen v EEPROM na čipu a porovnání s hodnotou předloženou uživatelem je prováděno v CPU na SIMu, takže PIN čip neopouští. Blokovaný SIM nevysílá svou identitu v podobě TMSI nebo IMSI do ME, protože tato data jsou (slabě, ale přece) chráněna proti čtení PINem. Ověření PINu před autentizací MS síťovou stranou šetří čas a zdroje v síti, je-li zadán špatný PIN.

Uživatel může SIM odblokovat zadáním tzv. osobního odblokovacího klíče (PUK) kartě, společně s novým PINem. PUK je prostě jen další identifikační číslo. Uživatel nemůže PUK změnit, kopie je uložena v domovské síti a vydána jen po splnění určitých bezpečnostních podmínek. Přístup SIM k mobilní službě lze zablokovat uvedením "na černou listinu" u HLR/AuC. Po několika (obvykle deseti) následných špatných PUK je SIM trvale zablokován. Samozřejmě -- jestliže je kontrola PINu uživatelem zakázána, řízení přístupu k SIM a tedy i síti (pokud karta není na černé listině) je závislé pouze na držení karty. Zůstává ke zvážení, zda se má uživatelům tato možnost povolit.

Z výše uvedených informací je jasné, že bezpečnost SIM je závislá na utajení klíče Ki. Dále je potřeba si uvědomit, že algoritmy A3, A5 a A8 jsou utajované. Čili klasická ukázka bezpečnosti přes obskurnost (security through obscurity), kritizované důkladně již v předcházejícím díle seriálu. Algoritmy A3 a A5 jsou navíc v naprosté většině implementací realizovány algoritmem jediným, obvykle COMP128 (zatím je známo jen 5 operátorů, kteří nasadili jiný než tento "ilustrativní" algoritmus -- více informací je dostupných přes URL v tabulce).

Na jaře letošního roku se na veřejnost dostal dříve utajovaný dokument "TECHNICAL INFORMATION -- GSM System Security Study", kde je mj. popis algoritmu COMP128 (více opět v uvedených URL; podle informací GSM hackerů ale chybělo jen několik měsíců ke zjištění COMP128 přes "reverse engineering"). Smartcard Developer Association a tým univerzity v Berkeley kryptanalyzovali tento algoritmus a zjistili, že díky chybám v designu je možné během několika hodin ze SIM zjistit klíč Ki a vytvořit tak klon této karty. Asociace GSM MoU (Memorandum of Understanding) sdružující operátory GSM reagovala prohlášením, že COMP128 je algoritmem ilustrativním, nikoliv povinným -- a každý operátor GSM si měl zvolit svůj vlastní bezpečný algoritmus. Úsudek si udělejte sami, já jen potvrdím, že většina GSM operátorů to neudělala. Jak jinak. Ostatně škody takto způsobené hovory přes naklonované karty jdou na účet vlastníků původních "originálů" karet, nikoliv na účet operátorů GSM.


Tyto odkazy zasadit do zvláštního rámce se zvýraněným pozadím, místo jednoho obrázku.

Zajímavé zdroje na Síti

· "Pohřebiště" proprietárních algoritmů (Markus Kuhn, University of Cambridge), najdete mj. i COMP128 (používán často jako A3 a A8) i A5/1

http://www.cl.cam.ac.uk/~mgk25/kerckhoffs/

· Smartcard Developer Association (SDA), známá např. zjištěním způsobu klonování SIM

http://www.scard.org/gsm/

· Výzkumný tým "Internet Security, Applications, Authentication and Cryptography (ISAAC)" na University of California, Berkeley

http://www.isaac.cs.berkeley.edu/isaac/gsm.html

· Původně utajovaný dokument k bezpečnosti GSM

http://jya.com/gsm061088.htm

· Stránka k bezpečnosti čipových karet (Bo Lavare)

http://www.geocities.com/ResearchTriangle/Lab/1578/smart.htm


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