Premium

Získejte všechny články
jen za 89 Kč/měsíc

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ší

Spotem s Trojanem na horách operátor popudil Poláky. Nerozuměli nadsázce

21. dubna 2024  8:01

Po dvojici Vojtěch Kotek a Lukáš Pavlásek, k níž později přibyl Jakub Kohák, vsadil T-Mobile ve...

Je to už spíš foťák s mobilem a opravdu se povedl. Test Xiaomi 14 Ultra

21. dubna 2024

Prémiový smartphone Xiaomi 14 Ultra působí mezi současnou nabídkou mobilů jako unikát. Jaký jiný...

{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...}

Toto zařízení mělo nahradit mobily. V recenzích se mu vysmáli

23. dubna 2024

Novinka s názvem Humane AI Pin se zdála být převratným zařízením. V mnoha ohledech měla nahradit...

Vodafone měl výpadek, někteří zákazníci se nemohli dovolat

25. dubna 2024  10:03,  aktualizováno  10:15

Síť mobilního operátora Vodafone postihl ráno výpadek. Týkal se části zákazníků, kteří se nemohli...

{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...}

Operátoři zahušťují pokrytí Česka signálem 5G. Máte ho doma? Podívejte se

20. dubna 2024

Premium V červenci to budou již čtyři roky, co byla v Česku spuštěna první komerční 5G síť. Zatímco v...

Dětem neprodáváme. Britské děti si dost možná už smartphone nekoupí

27. dubna 2024

Premium Britští ministři zvažují přijetí zákona, který by omezoval prodej smartphonů. Jsou totiž...

Váš iPhone může být hacknut, varuje Apple uživatele v desítkách zemích

27. dubna 2024

Jednotlivci z řad uživatelů iPhonů z více než devadesáti zemí světa obdrželi ve středu 10. dubna od...

Úřad chce zatočit se spoofingem. Podezřelé hovory operátoři nespojí

26. dubna 2024  16:02

Český telekomunikační úřad (ČTÚ) vydal novelu všeobecného opatření, která stanovuje nové podmínky,...

Hlasujte o nejlepší sportovní fotku. Vyberete tak vítěze smartphonu vivo

26. dubna 2024

Soutěž o úplnou novinku, smartphone vivo V40 SE s bohatou výbavou nebo podepsaný dres...

Akční letáky
Akční letáky

Všechny akční letáky na jednom místě!

Bývalý fitness trenér Kavalír zrušil asistovanou sebevraždu, manželka je těhotná

Bývalý fitness trenér Jan Kavalír (33) trpí osmým rokem amyotrofickou laterální sklerózou. 19. dubna tohoto roku měl ve...

Herečka Hunter Schaferová potvrdila románek se španělskou zpěvačkou

Americká herečka Hunter Schaferová potvrdila domněnky mnoha jejích fanoušků. A to sice, že před pěti lety opravdu...

Tenistka Markéta Vondroušová se po necelých dvou letech manželství rozvádí

Sedmá hráčka světa a aktuální vítězka nejprestižnějšího turnaje světa Wimbledonu, tenistka Markéta Vondroušová (24), se...

Horňáci versus dolňáci. Víme, čemu muži dávají přednost, a je to překvapení

Ženské tělo je pro muže celkově velmi atraktivní a nabízí jejich očím mnoho zajímavých partií. Největší pozornosti se...

Za vytlačení z linky do Brna musí Student Agency zaplatit náhradu 21 milionů

Společnost Student Agency provozující autobusy a vlaky pod označením RegioJet musí zaplatit bývalému konkurentovi 21...