Jak se klonují SIM karty

Zabezpečení GSM má od roku 1998 vážné trhliny. Vlivem úniku popisu algoritmu A38 a následného útoku na něj lze již více než čtyři roky určit v některých případech tajný identifikační klíč příslušející k dané SIM kartě a získat tak i přístup k jejímu účtu. Přestože MoU (Memorandum of Understanding, sdružení operátorů GSM sítí) ve svém oficiálním prohlášení z té doby útok na autentizační algoritmus poněkud zlehčilo, zdá se, že pomalu dozrává čas na nějaké dodatečné zabezpečení, nebo možná i nějaké radikálnější řešení. To je ovšem zcela v kompetenci jednotlivých operátorů GSM

Jak jsme již dříve napsali, má zabezpečení GSM vážné trhliny. V úvodu se podívejme na to, jak jsou vedeni účastníci v GSM síti a jak jsou jejich telefonní účty zabezpečeny.

Každý účastník má přiděleno unikátní číslo IMSI (International Mobile Subsciber Identification), které je uloženo na SIM kartě a sestaveno tak, že je ve všech GSM sítích na světě zajištěna jeho jedinečnost. Obsahuje jednak označení domovské sítě účastníka a dále jeho účastnické číslo v této síti. Nejedná se přitom přímo o jeho telefonní číslo. To je přiřazeno v databázi u jeho operátora. IMSI se používá v okamžiku, kdy mobilní telefon žádá o přihlášení do GSM sítě, tedy vždy po zapnutí telefonu. SIM karty Tato procedura se označuje jako IMSI ATTACH a je při ní účastníkovi přidělena tzv. dočasná identita, číslo TMSI. Pod tímto číslem je potom účastník v GSM síti přihlášen. Toto uspořádání přináší mnoho výhod. Mimo to, že usnadňuje změnu telefonního čísla účastníka, tzv. MSISDN, znesnadňuje i případný pokus o odposlech mobilního telefonu ze vzduchu prostě tím, že účastník dostane přiděleno jiné TMSI. Útočník tak má pod jedním číslem identifikovaného vždy jiného účastníka. Vlastní prověření identity účastníků (autentizaci) však může GSM síť provádět i jindy. Záleží na jejím nastavení.

Aby si GSM síť dokázala prověřit, že dané IMSI, které v okamžiku přihlášení od mobilního telefonu obdržela, skutečně přísluší té správné SIM kartě, je na ní uloženo ještě jedno číslo, které je ovšem tajné a nedá se ze SIM karty přečíst. Toto číslo, kterému se říká Ki (identifikační klíč) se spolu s náhodným číslem číslem, které síť do karty pošle, zpracuje autentizačním algoritmem. Vypočítaný výsledek, kterému se říká SRES (Signed Response), mobilní telefon pošle zpět síti a ta porovná, zda je shodný s tím, který si pro kontrolu spočítala sama. Na základě porovnání těchto dvou výsledků je pak karta přijata nebo odmítnuta, na displeji se objeví nápis "Neregistrovaná karta". Zatímco autentizační algoritmus A3 je ve všech kartách dané GSM sítě stejný, klíče jednotlivých karet se liší. Spolu s číslem IMSI jednoznačně identifikují účet účastníka. Tento proces, který se provádí obvykle právě při přihlášení telefonu do sítě, se nazývá autentizace a v GSM síti ji má na starosti tzv. autentizační centrum (AuC). Nejčastěji používaným autentizačním algoritmem v GSM sítích je dnes COMP128. Používají jej skoro všechny sítě na světě. Výjimky lze spočítat na prstech jedné ruky, jednou z nich je například německá síť D1.

Autentizační algoritmus prováděný SIM kartou (tedy ten, za jehož pomoci se vypočítá SRES) se v terminologii GSM označuje A3. Jeho vstupem jsou 128b dlouhé číslo RAND a identifikační klíč SIM karty Ki, který je stejně dlouhý. Výsledek SRES je pak tvořen 32bity. V případě COMPu128 je pak vlastně pomocí stejného algoritmu získán i klíč pro šifrování hovoru Kc. Algoritmus na jeho získání se označuje A8. Mechanizmus funguje tak, že do karty pošleme 128bitů dlouhé RAND a karta vrátí stejně 96bitů dlouhý výsledek. Z něho se ukrojí prvních 32bitů a ty se použijí jako SRES. Zbytek (který, jak uvidíme dále, má posledních 10bitů nulových) tvoří klíč Kc a zůstává v mobilním telefonu, který jej použije k šifrování hovoru jako klíč Kc. Z tohoto důvodu se také často hovoří o algoritmu A3A8, nebo A38.

V čem spočívá klonování?

Jednoduše řečeno, v získání karty se stejnou identitou, jakou má originál. Z výše uvedeného plyne, že k tomu potřebujeme dvě věci: IMSI a Ki. IMSI je v kartě chráněno kódem PIN1 a po jeho zadání nám nic nebrání toto číslo přečíst. U Ki je situace složitější. Karta SIM, lépe řečeno její operační systém, nám tento klíč nesdělí. Ovšem díky vlastnostem COMP128 je možné klíč určit. V textu se dále budeme zabývat právě tím, jak je možné Ki příslušející k nějaké SIM kartě získat. V dalším kroku je potom třeba IMSI a Ki přenést do nějakého zařízení, které se jako SIM karta bude chovat, v ideálním případě do nějaké prázdné SIM karty, která tak získá identitu originálu. V roce 1998, kdy došlo k prvnímu útoku, však takové prázdné SIM karty nebyly k dispozici. Funkci karty celkem dobře může zastoupit počítač PC, nebo i jiný, vybavený softwarem pro simulaci SIM karty. O samotné funkci karty jsme psali už dříve v seriálu o SIM kartách. Přibližně dva roky jsou již ale k dispozici čipové karty s integrovanými mikrokontroléry firmy Microchip. Waffer Silver a Waffer Gold Výtečně se hodí PIC16X84 s připojenou I2C pamětí 24C16 nebo 24C65, nebo s procesorem PIC16C877. Waffer Gold Dobře ale mohou posloužit i RS232 Seasonkarty s procesory RISC od firmy ATMEL. Na obrázcích si můžete prohlédnout interface k sériovému rozhraní RS232 Season, které s příslušným softwarem může jako SIM karta v notebooku posloužit. Takovým vhodným softwarem je např. SIM_EMU, jehož zdroj byl ve své době v Computer Chaos Clubu v Německu, nebo ASIM, který je uživatelsky velmi příjemný, a navíc vám umožní podrobně sledovat, co telefon z karty právě čte nebo do ní zapisuje, jaké náhodné číslo síť poslala a jaký je v danou chvíli platný SRES a Kc.

Vytvoření kostry SIM karty v mikrokontroléru integrovaném v čipové kartě pak s sebou přináší zajímavý efekt. V programu karty je možné pamatovat na možnost změny IMSI a Ki a získat tak více karet v jedné. Jednotlivé identity lze pak jednoduše vázat např. na zadaný PIN, jehož volbou pak je možné mezi uloženými účty (rozuměj kartami) přepínat. Na tomto principu stojí aplikace s tzv. Gold waffer kartou a Silver kartou.

Jak je možné Ki z karty určit?

Podívejte se teď na to, jak algoritmus COMP128 funguje: Pracuje nad 256bitů dlouhým vektorem (X[0..31] of byte) v osmi cyklech. Při inicializaci algoritmu se horní polovina vektoru (X[16]..X[32]) naplní náhodným číslem RAND(128b=16B) a spodní polovina se vždy před začátkem každého z těchto osmi cyklů přepíše stejně velkým klíčem Ki (X[0]..X[15]). Po provedení každého cyklu zůstává mezivýsledek v horní polovině vektoru, zatímco spodní polovina se vždy znovu přepíše hodnotou Ki. A takto se postupuje do dalšího cyklu algoritmu. Každý z těchto osmi průběhů cyklu obsahuje další cyklus, jenž se pětkrát opakuje a provádí úpravu hodnot v jednotlivých bajtech vektoru X. Průběhům tohoto cyklu se říká rundy. V nich se vektor rozděluje na 16 dvojic bajtů, které se navzájem ovlivňují (viz program a hodnoty v tabulce). Podstatné přitom je, že tabulky (table[0] .. table[4]) zúží vždy výstup z dané rundy o jeden bit. Po provedení všech pěti rund je v jednotlivých bytech vektoru X pouze čtyřbitový obsah. S ním se pak s výjimkou posledního z osmi průběhů cyklu provádí ještě bitová permutace (viz algoritmus).

Schéma klonování

Wagnerův, Goldbergův a Bricenův útok z roku 1998 využívá toho, že po první a druhé rundě jsou na sobě závislé jen bajty s indexy i, i+8, i+16 a i+24. Přitom navíc dojde ve druhé rundě k zúžení hodnot příslušných bajtů vektoru X z osmi na sedm bitů (viz výše). Hodnoty ve spodní polovině vektoru jsou konstantní a tvoří je bajty X[i] a X[i+8] klíče Ki. Zato hodnoty X[i+16] a X[i+24] lze měnit, jsou totiž součástí náhodného čísla RAND. Ponecháme-li tedy zbylé bajty RAND konstantní a budeme-li měnit jen bajty X[i+16] a X[i+24] , tedy RAND[i] a RAND[i+8], projeví se to pouze u 28 bitů výstupu.

Další postup při určování tajného klíče Ki spočívá v nalezení tzv. kolizí. To jsou stejné výsledky na výstupu COMP128 získané z různých hodnot RAND, ve kterých měníme právě popsané dva bajty. Protože přitom dochází k zobrazování množiny se spočetností 232 na množinu se spočetností 228, tedy 16 krát menší, měli bychom stejný výsledek někdy obdržet. Ze SIM karty obdržíme v případě kolize stejné výsledky autentizační funkce. Pravděpodobnost toho, kolikrát budeme muset algoritmus COMP128 s různými hodnotami RAND vytvořenými podle výše uvedeného pravidla spustit, aby taková nastala, určuje tzv. narozeninový paradox. Pro jednoduchost uveďme jen prostý fakt, že k poloviční pravděpodobnosti nalezení kolize při hledání jednoho páru klíče je zapotřebí přibližně 23 200 provedení COMPu128. Pro nalezení celého klíče je tedy zapotřebí teoreticky průměrně 8 × 23200 = 185600 pokusů. Běžná SIM karta je schopna autentizační funkci provést asi pětkát až šestkrát za vteřinu při standardním kmitočtu hodinového generátoru 3,58 MHz. Pro naklonování karty bychom tedy potřebovali průměrně 10 hodin 20 minut. SIM kartu je ovšem možné i přetaktovat. V tomto případě se nám povede čas potřebný pro určení klíče úměrně zkrátit. Při našich redakčních testech se nám povedlo rozběhnout kartu na téměř trojnásobku základní frekvence.

Jestliže jsme nalezli kolizi, máme nyní dvě dvojice RAND[i] a RAND[i+8], které mají s hledanými bajty klíče na svědomí stejný výsledek v druhé rundě v X[i, i+8, i+16, i+28]. Postačí nám tedy prohledat 216 (65536) možných kombinací hodnot Ki[i], Ki[i+8] a najít z nich tu, která s nalezenými hodnotami RAND[i], RAND[i+8] dá ve vektoru X v druhé rundě stejné hodnoty X[i,i+8,i+16,i+24]. Nalezené hodnoty jsou příslušnými bajty klíče Ki. Stejný postup je potřeba osmkrát zopakovat a najít tak celý klíč Ki.

Při hledání kolizí se mohou vyskytnout i tzv. falešné kolize. Mohou být způsobeny tím, že po provedení osmého cyklu v COMP128 (viz výše) se ze 128bitů z horní poloviny vektoru X přenese na výstup jen 96 a i z těch je navíc ještě posledních 10 bitů nulových. Ovšem pravděpodobnost toho, že bychom našli i k této falešné kolizi hodnoty příslušných bajtů klíče Ki je velmi malá.

Nyní byste měli mít představu o tom, jak může být SIM karta naklonována. Z textu je jasné, že ten, kdo chce kartu naklonovat, musí k ní mít přístup. Ke zjištění IMSI i k tomu, aby karta spustila provádění algoritmu A38, je navíc potřeba znát i kód PIN1 (PUK1). Jestliže se tedy chcete vyhnout nechtěnému naklonování vaší karty, měli byste mít zapnutou ochranu PIN1 a kartu raději nikomu nepůjčovat. Zprávy z poslední doby totiž ohlašují dramatické zkrácení doby nutné k naklonování a uvádějí potřebnou dobu v řádu jednotek minut.

V brzké době přineseme k tématu další, poněkud praktičtěji laděný materiál.

  • Nejčtenější

V květnu se zřejmě vrátí ikonická Nokia 3210, kdysi to byl přelomový model

24. března 2024  8:01

Současný vlastník značky Nokia na poli mobilních telefonů, firma HMD (Human Mobile Devices –...

Banka spustila mobilní datové balíčky. Funguje to i zákazníkům z Česka

26. března 2024  12:06

Virtuální banka Revolut spouští virtuálního celosvětového operátora. Zákazníci si mohou kupovat...

{NADPIS reklamního článku dlouhý přes dva řádky}

{POPISEK reklamního článku, také dlouhý přes dva a možná dokonce až tři řádky, končící na tři tečky...}

Z bídného začátku roku se radují. Vypadá to na velký návrat

21. března 2024  7:02

Zřejmě to vypadá na velký návrat. Huawei začíná drtit své domácí konkurenty, přitom jeho produkty...

Trvalo to. Nový nejlepší fotomobil světa konečně koupíte i v Česku

26. března 2024  7:02

Konečně nastává situace, že nejlepší fotomobil v žebříčku DxO Mark je dostupný i na našem trhu....

{NADPIS reklamního článku dlouhý přes dva řádky}

{POPISEK reklamního článku, také dlouhý přes dva a možná dokonce až tři řádky, končící na tři tečky...}

Pochlubili se, že se pochlubí. Značky ze sebe dělají slibotechny

25. března 2024  7:02

Jedním z trochu nečekaných trendů veletrhu MWC v Barceloně se stala oznámení o tom, že firmy nějaké...

Toho telefonu je pouze pro Čínu škoda. Udělal by parádu i u nás

28. března 2024  12:06

Xiaomi má nový trhák. Model Civi 4 Pro trhá předprodejní rekordy, ale jen na domácím čínském trhu....

U foťáků se blýská na lepší časy, naznačuje výsledek testu nového xiaomi

28. března 2024  7:02

Čínská značka Xiaomi trochu na poli fotomobilů v uplynulých letech tápala. Ukazuje to mimo jiné...

Kartónek Steva Jobse se vydražil za neuvěřitelnou sumu

28. března 2024

Vizitku slavného ředitele společnosti Apple si někdo pořídil za pořádný balík peněz. Přidanou...

Smartphonům od Googlu raketově rostou prodeje tam, kde kraluje Apple

27. března 2024  7:02

Prodeje smartphonů Pixel od Googlu se mohou pochlubit neskutečným nárůstem prodejů. Tedy prozatím...

FOR KIDS by měl být zážitkem pro celou rodinu, říká Monika
FOR KIDS by měl být zážitkem pro celou rodinu, říká Monika

Monika Pavlíčková (35 let) je maminkou dvou dcer, sedmileté Terezy a čtyřleté Laury, a zároveň také manažerkou obchodního týmu společnosti ABF,...

Rána pro britskou monarchii. Princezna Kate má rakovinu, chodí na chemoterapii

Britská princezna z Walesu Kate (42) se léčí s rakovinou. Oznámila to sama ve videu na sociálních sítích poté, co se...

Smoljak nechtěl Sobotu v Jáchymovi. Zničil jsi nám film, řekl mu

Příběh naivního vesnického mladíka Františka, který získá v Praze díky kondiciogramu nejen pracovní místo, ale i...

Rejžo, jdu do naha! Balzerová vzpomínala na nahou scénu v Zlatých úhořích

Eliška Balzerová (74) v 7 pádech Honzy Dědka přiznala, že dodnes neví, ve který den se narodila. Kromě toho, že...

Pliveme vám do piva. Centrum Málagy zaplavily nenávistné vzkazy turistům

Mezi turisticky oblíbené destinace se dlouhá léta řadí i španělská Málaga. Přístavní město na jihu země láká na...

Kam pro filmy bez Ulož.to? Přinášíme další várku streamovacích služeb do TV

S vhodnou aplikací na vás mohou v televizoru na stisk tlačítka čekat tisíce filmů, seriálů nebo divadelních...