Dá se v síti GSM volat na cizí účet?

V polovině letošního dubna pronikla na veřejnost zpráva, že byla prolomena ochrana identifikačního systému používan...


V polovině letošního dubna pronikla na veřejnost zpráva, že byla prolomena
ochrana identifikačního systému používaného v systému mobilních telefonů GSM.
Společnost Crossbar Security, bezpečnostní konzultant výrobců zařízení pro
mobilní sítě GSM a operátorů těchto sítí, vydala totiž tiskovou zprávu, ve
které potvrdila schopnost SDA (Smartcard Developer Association) klonovat
SIM-karty mobilních telefonů GSM. Co tato zpráva znamená?
Předně k identifikaci každého účastníka mobilní sítě GSM slouží tzv. SIM-karta
(Subscriber Identification Module), která je vložena v telefonním přístroji.
Tato karta v sobě obsahuje mikroprocesor a paměť, ve které je mj. obsažen i
128bitový identifikační kód Ki ten se používá k ověření identity uživatele.
Tento kód samotný nelze ze SIM-karty přečíst. Přístup k němu má pouze procesor
karty, který ho používá k vygenerování odpovědi na kódovaný dotaz sítě GSM po
identifikaci uživatele. Podaří-li se někomu tento kód získat, může jej zneužít
k vytvoření duplikátu karty a tu pak použít k volání na účet jejího legálního
majitele.
A právě objevení způsobu, jak ze SIM-karty zjistit zmíněný kód, je oním
potenciálním nebezpečím pro uživatele mobilních telefonů. Než si položíme
otázku, jak je něco takového vůbec možné, je třeba v rámci objektivity zmínit
ještě část výše uvedeného prohlášení, ve kterém se mj. praví, že karty mohou
být klonovány pouze tehdy, je-li fyzicky získána zákazníkova SIM-karta.
Kódování v GSM
Pro zabezpečení komunikace GSM se používají 2 základní algoritmy. Jeden slouží
k autentizaci uživatele při přihlášení do sítě a jeho použití umožňuje
zajistit, že se do sítě přihlásí pouze skutečný platící zákazník, druhý se pak
podílí na kódování přenášené řeči. V rámci celého systému je možno ještě dalším
způsobem zajistit také anonymitu volajícího po provedení autentizace, ale tato
skutečnost pro nás není nyní zajímavá.
Vlastní autentizace probíhá následovně: mobilní účastník se pokusí přihlásit do
sítě (zpravidla po zapnutí mobilního telefonu), která sdělí tuto skutečnost
autentizačnímu centru. Zde se vygeneruje náhodné číslo RAND a z něj se na
základě znalosti zákazníkova kódu Ki spočítá hodnota předpokládané odpovědi
SRES. Číslo RAND se současně odešle také mobilnímu účastníkovi, v jehož
SIM-kartě je uložen již zmíněný unikátní klíč Ki a algoritmus pro výpočet
odpovědi SRES. Spočítaná odpověď se zašle do sítě, kde se porovná s
předpočítanou hodnotou. Jsou-li obě hodnoty shodné, autentizace proběhla v
pořádku a účastník je připojen do sítě.
Předpokladem pro hladký průběh uvedeného procesu je tedy znalost kódu Ki na
obou stranách ověřovacího řetězce, tedy na straně autentizačního centra i
SIM-karty, ale také znalost algoritmu, jehož prostřednictvím se z hodnot RAND a
Ki spočítá hodnota SRES. Tento algoritmus se označuje A3.
Jak bylo uvedeno výše, je třeba zajistit nejen autentizaci uživatele, ale také
kódování přenášených dat. K tomuto účelu se z dvojice hodnot RAND a Ki (nám již
dobře známé) spočítá prostřednictvím algoritmu A8 hodnota Kc, jež se posléze
použije jako vstup algoritmu A5, generujícího v průběhu hlasové komunikace řadu
hodnot, které se funkcí XOR aplikují bit po bitu na přenášená data. Protože
mají algoritmy A3 a A8 stejnou vstupní dvojici hodnot a oba se mohou aplikovat
v jednom okamžiku, používá se v praxi algoritmus jediný, který se proto
označuje jako A38. Jeho vstupními hodnotami jsou tedy čísla RAND a Ki,
výstupními pak SRES a Kc. Většina provozovatelů mobilních sítí používá na místě
A38 algoritmus s názvem COMP128. A to i přesto, že ke společné volbě neexistuje
žádný zvláštní důvod používání shodného algoritmu není nezbytné ani pro
zabezpečení roamingu, protože hodnoty RAND, Kc i SRES dodává vždy mateřské
autentizační centrum. Jenom ono totiž zná hodnotu zákazníkova Ki. Shodný by měl
být pouze algoritmus A5 zajišťující kódování přenášeného hovoru.
Zabezpečení algoritmů
Bezpečnost sítí GSM je postavena na prosté představě: je třeba uchránit výše
zmíněné algoritmy před "nepovolanými osobami". Detaily těchto algoritmů jsou
tedy chráněny organizací GSM MoU (Memorandum of Understanding), od které si
jednotliví operátoři a výrobci vybavení GSM kupují licenci.
S tímto přístupem ovšem zásadně nesouhlasí některé akademické kruhy podle
jejich názoru by se naopak měly všechny algoritmy zabezpečující tak důležité
informace zveřejnit, aby bylo možno ověřit jejich bezpečnost. Protože veškeré
zabezpečení spočívalo pouze v utajení algoritmu, zdálo se být jen otázkou ča-
su, kdy dojde k jeho prozrazení. Když se jej pak skutečně podaři-lo v již
zmíněné SDA odhalit, zjistili Ian Goldberg a David Wagner z ISAAC (Internet
Security, Applications, Authentication and Cryptography group) na univerzitě v
Berkeley, že je možno díky jeho slabinám určit již zmíněný identifikační kód
uložený na kartě.
Prolomení ochrany
Algoritmus COMP128 byl podle Marca Briceno z SDA zjištěn díky některým
informacím dostupným ve veřejných dokumentech, informacím, které prosákly z
okruhu zainteresovaných osob a z několika dostupných SIM-karet. Jaký je podíl
jednotlivých informačních zdrojů však neuvedl.
Vlastní zjištění kódu Ki předpokládá fyzický přístup k SIM-kartě předplatitele,
do které se prostřednictvím čtečky karet zasílají připravené hodnoty RAND a
sleduje se výstupní hodnota SRES. Již zmíněná dvojice z Berkeley uvádí, že je
třeba položit cca 150 000 otázek, takže při použití jim přístupné čtečky,
zvládající 6,25 otázek za sekundu, zabere celý útok včetně zpracování odpovědí
okolo 8 hodin. Zájemcům o podrobnosti týkající se slabin algoritmu COMP128 lze
doporučit např. webovou stránku http://jya.com/gsm061088.htm.
Závěr
Jakkoli je možno se utěšovat myšlenkou, že je v současnosti schopna klonování
SIM-karet pouze omezená skupina lidí, nelze se vzhledem k řadě informací
publikovaných na Internetu na tento argument příliš spoléhat. Např. na
stránkách populárního německého "hackerského klubu" Chaos Computer Club
(www.ccc. de) je k dispozici software, který kopírování karet nabízí.
Řešením tohoto problému je tedy nepůjčovat svou SIM-kartu nikomu
nespolehlivému. Proti nebezpečí, že si ji "pro svou potřebu" okopíruje
prodejce, je však zákazník v podstatě bezmocný. Pokud by se tedy ukázal problém
klonování SIM-karet jako vážný, bylo by zřejmě nutné přikročit k volbě jiného
algoritmu A38, jeho implementaci v autorizačních centrech a výměně všech
SIM-karet.
8 1383 / pen









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.