facebook LinkedIN LinkedIN - follow
IT SYSTEMS 7-8/2009 , IT Security

SIM karty a bezpečnost v mobilních sítích

Václav Lín


SIM karty vydávané telekomunikačními operátory má každý z nás v mobilním telefonu. Zkratka SIM znamená subscriber identity module a vychází ze základní funkce SIM, kterou je identifikace a autentizace účastníků v mobilní síti. Přestože se technické vlastnosti SIM karet postupným vývojem neustále rozšiřují, jejich základní funkce v systému GSM zůstává stále stejná.


Hardware SIM karet

Možnosti a omezení SIM jsou přirozeně dány jejich hardwarem. I přes svoje miniaturní rozměry je SIM karta kompletní počítač, který se skládá z procesoru, vstupně-výstupních obvodů a z pamětí ROM, RAM a nevolatilní elektricky programovatelné paměti EEPROM. Maximální rozměry čipu použitého v SIM kartě jsou ve většině případů omezeny na 25×15 mm, ale jejich výpočetní vlastnosti se s pokrokem ve vývoji procesorů a pamětí neustále zlepšují. V začátcích GSM se používaly osmibitové procesory, avšak nejmodernější SIM karty mají 32bitový procesor doplněný koprocesorem pro provádění kryptografických operací (například symetrické šifry AES, generování náhodných čísel, ...). Kapacita paměti ROM se obvykle pohybuje mezi 16 až 500 kB, paměť EEPROM může mít kapacitu až do 256 kB. RAM je omezená na jednotky kB a maximálně dosahuje 24 kB. Ač se SIM nedají svým výpočetním výkonem srovnávat s telefony ani PC, je možné do jejich paměti ukládat data a provádět nad nimi i relativně složité výpočty.

Role SIM v telekomunikacích

Hlavní funkcí SIM je identifikace a autentizace účastníka. Pouze držitel SIM karty vydané operátorem se může přihlásit do jeho sítě. Telefon bez SIM karty se do sítě nepřihlásí. Na kartách jsou uloženy tajné klíče pro autentizaci a probíhá na nich výpočet autentizačního algoritmu. Uložení klíčů na kartě je poměrně bezpečné, z paměti karty není snadné klíč získat. Na kartě jsou uložena data GSM operátora, například jednoznačné ID karty (čísla IMSI a TMSI), seznam partnerských sítí pro roaming a další. Nepříliš využívanou možností je i ukládání dat uživatele, SMS a telefonních čísel. Operátoři na karty umisťují aplikace napsané v jazyce JavaCard, které umožňují zákazníkům zjistit aktuální předpověď počasí, jízdní řád, obsluhovat bankovní účet, ...

Význam bezpečnosti

GSM je nejpoužívanější systém pro bezdrátovou komunikaci na světě s miliony účastníků, tomu odpovídá i význam zabezpečení jeho služeb. Z pohledu operátora může při prolomení bezpečnosti hrozit bezplatné využívání služeb útočníkem, ztráta důvěry klientů nebo nedodržení zákonných požadavků na ochranu soukromí klientů. Z pohledu uživatele může dojít k účtování služeb využívaných útočníkem a ke ztrátě soukromí: odposlechu hovorů a SMS nebo sledování pohybu účastníka sítě. Protokoly a algoritmy používané pro autentizaci a šifrování v GSM pochází z osmdesátých let minulého století a mají podstatné slabiny. Modernější systém UMTS řadu z těchto nedokonalostí odstraňuje.

Autentizační protokol v GSM

V GSM se k autentizaci používá velmi jednoduchý protokol typu výzva–odpověď založený na sdílení tajného klíče mezi SIM a sítí. Princip je prostý. Ze sítě přijde telefonu náhodné číslo, to je na SIM kartě zašifrováno tajným klíčem a odesláno zpět. Na straně sítě se pak ověří, jestli bylo zašifrování provedeno správným klíčem. Pokud tomu tak je, přístup do sítě se povolí. V průběhu autentizace se také odvodí klíč pro šifrování rádiové komunikace po přihlášení.
Tajný klíč je na každé SIM kartě jiný, a proto je prvním krokem protokolu identifikace SIM karty. Každá SIM karta má přiřazeno celosvětově unikátní neměnné číslo IMSI (International Mobile Subscriber Identity). Protože se IMSI posílá při přihlášení do sítě nezašifrované, používá se pouze pro první přihlášení do sítě. Poté síť přiřadí kartě dočasnou identitu TMSI (Temporary Mobile Subscriber Identity). Číslo TMSI se mění při změně geografické polohy účastníka, nebo po vypršení určitého časového limitu. Cílem používání TMSI místo IMSI je zvýšit anonymitu uživatelů a znesnadnit útočníkům sledování polohy uživatelů a přiřazení rádiového kanálu konkrétnímu uživateli. Jak IMSI tak TMSI je uloženo v nevolatilní paměti SIM karty a jejich přečtení je podmíněno znalostí PIN kódu.
Tajný 128bitový klíč používaný pro autentizaci, označovaný Ki, je bezpečně uložen v paměti SIM karty a v zabezpečené databázi operátora. Autentizace probíhá v následujících krocích:

  1. Telefon přečte ze SIM identifikační číslo TMSI nebo IMSI a pošle ho na server operátora.
  2. Na serveru se vygeneruje náhodné 128bitové číslo RAND. Server použije RAND a Ki jako vstup dvojice algoritmů A3 a A8 a vypočte hodnoty:
    SRES = A3(Ki, RAND), o velikosti 32 bitů,
    Kc = A8(Ki, RAND), o velikosti 64 bitů.
    Konkrétní podoba algoritmů A3 a A8 není specifikována a její výběr závisí na operátorovi. Často jde o proprietární, tajné algoritmy.
  3. Číslo RAND se odešle telefonu, ten ho předá SIM kartě a na ní proběhne výpočet SRES a Kc analogicky jako předtím na serveru. SIM vrátí telefonu vypočítané hodnoty.
  4. Hodnota SRES se odešle z telefonu na server operátora. Pokud je přijatá hodnota SRES správná, tj. stejná jako hodnota vypočítaná předtím na serveru, znamená to, že na SIM kartě je uložen platný klíč Ki a účastníkovi je povolen přístup ke službám sítě. Klíč Kc, spočtený algoritmem A8, se poté používá pro šifrování rádiové komunikace.

Tím, že všechny výpočty probíhají na SIM, je autentizace zcela nezávislá na použitém telefonu. Bezpečnost přihlašovacího protokolu závisí podstatnou měrou na bezpečnosti algoritmů A3 a A8. Ale i bez ohledu na jejich vlastnosti má protokol dvě slabé stránky. Zaprvé, autentizuje se pouze telefon, ale síť nikoliv. Účastník tedy nemá žádnou záruku komunikace s legálním vysílačem. Zadruhé, součástí protokolu není mechanismus zajišťující, že ze sítě nepřicházejí pořád stejná „náhodná“ čísla RAND. Obě tyto slabiny mohou zneužít případní útočníci. Závažným problémem je také častá proprietárnost a uzavřenost algoritmů A3 a A8, které neprošly veřejným přezkoumáním kryptology. Dobrým příkladem je v minulosti velmi rozšířená implementace A3/A8 nazývaná Comp128. Šlo o tajný algoritmus, jenž byl později rekonstruován pomocí reverzního inženýrství a prolomen. Úspěšný útok proti Comp128 umožnil technicky zdatným útočníkům vypočítat hodnotu Ki, a tím pádem i vytvářet klony – falešné SIM karty umožňující přístup do sítě. Software a návody na klonování SIM karet jsou dostupné na webu, a proto se Comp128 v posledních letech nahrazuje bezpečnějšími algoritmy.

Šifrování rádiové komunikace

Pro šifrování komunikace mezi mobilním telefonem a GSM vysílači se používá klíč Kc odvozený při autentizaci. Účelem šifrování je zajištění důvěrnosti komunikace. Šifrovací algoritmus je v zájmu rychlosti implementován nikoliv na SIM, ale na telefonu. Algoritmus proto není pod kontrolou operátora, je dán standardem. Tento algoritmus, nazývaný A5, je neveřejný, avšak byl rekonstruován reverzní analýzou. A5 existuje v několika variantách:

  • A5/0 je varianta, při které se nic nešifruje. Používá se zejména v afrických zemích a v Indii.
  • A5/1 je původní varianta vyvinutá v roce 1987.
  • A5/2 je slabší verze, původně určená pro export do „nepřátelských“ zemí. Dnes už se moc nepoužívá.
  • A5/3 je moderní otevřený algoritmus silnější než A/1.

Útoků proti A5 byla navržena celá řada, v poslední době i včetně útoků pracujících v reálném čase a využívajících pouze odposlechnutá zašifrovaná data. Slabinou je i existence několika různě silných variant A5. Uživatel na svém telefonu běžně nevidí, jestli je komunikace šifrovaná a jak silný algoritmus se používá. I toho mohou útočníci zneužít. Útočník, který má k dispozici falešný GSM vysílač a zařízení k prolomení slabé šifry A5/2, může využít následující schéma útoku „man-in-the-middle“. Mezi telefon účastníka a GSM vysílač se postaví zařízení, jež se směrem k telefonu chová jako vysílač a směrem k pravému GSM vysílači se chová jako telefon. Při přihlašování telefonu si falešný vysílač vynutí používání A5/2. Klíč Kc získaný prolomením A5/2 pak útočník použije pro A5/1 šifrování dat přeposílaných na pravý GSM vysílač. Při autentizaci útočník nemusí dělat nic, pouze přeposílá zprávy mezi GSM vysílačem a telefonem. Útok je umožněn kombinací slabin – síť se telefonu nijak neautentizuje, A5/2 je slabý algoritmus a u mnoha telefonů nemá majitel možnost volby, jestli chce takto zranitelný algoritmus používat.

Autentizace v UMTS

Známé bezpečnostní slabiny GSM překonává modernější systém UMTS. Hlavním vylepšením je vzájemná autentizace. Autentizační schéma je stále založeno na sdílení tajného klíče, je však upraveno tak, že se autentizuje nejen SIM, ale i síť. Přibyl také mechanismus pro kontrolu integrity přenášených dat.

Závěr

I přes všechny svoje slabiny zůstává GSM nejrozšířenějším systémem mobilní komunikace na světě. Operátoři nahrazují prolomené algoritmy bezpečnějšími a provádí opatření pro minimalizaci známých bezpečnostních rizik. Možná i proto zatím nebyly zaznamenány masivní útoky proti GSM sítím. V každém případě je dosavadní vývoj systému GSM a postupné prolamování „tajných“ šifrovacích algoritmů zajímavou lekcí v počítačové bezpečnosti.

Autor pracuje jako programátor v oddělení bezpečnosti společnosti OKsystem.

Chcete získat časopis IT Systems s tímto a mnoha dalšími články z oblasti informačních systémů a řízení podnikové informatiky? Objednejte si předplatné nebo konkrétní vydání časopisu IT Systems z našeho archivu.

Inzerce

Wittmann zálohuje a chrání svá data s Acronis Cyber Protect Cloud

Skupina WITTMANN Group se sídlem ve Vídni působí na celém světě. Prostřednictvím 10 výrobních závodů v 6 zemích a 37 poboček je zastoupena na všech důležitých světových trzích plastikářského průmyslu.