Bezpečnosť systému GSM

V minulosti (približne koncom 60 rokov), bolo možné pri prenose zabezpečovať šifrovaním iba údaje prenášané telegraficky (použitím rôznych elektromechanických šifrátorov). Na utajenie prenášanej hlasovej komunikácie v analógovej forme sa využívali rôzne manipulácie s analógovou frekvenčnou charakteristikou prenášaného signálu (napr. zrkadlové otočenie AFCH). Takéto zabezpečenie prenosového kanálu však nemohlo poskytnúť dostatočnú bezpečnosť prenášaným údajom. V súčasnosti väčšina nových komunikačných systémov pracuje s digitálnym prenosom, ktorý umožňuje jednoducho začleniť šifrovanie i do už funkčných systémov. Trend digitalizácie je zrejmý aj vo verejných telefónnych sieťach, hoci účastnícke prístroje sú stále analógové, na strane ústrední sa signál už väčšinou digitalizuje. Práve kvôli štandardným analógovým účastníckym staniciam však nemôžeme využívať výhody digitálnej komunikácie. Nové možnosti na bezpečnú komunikáciu poskytuje systé ISDM (Integrated Services Digital Network), ktorý je plne digitálny vrátane účastníckych telefónnych staníc. Aj vo „verejnom“ prostredí verejných telefónnych sietí existuje možnosť zabezpečiť si súkromie. Umožňujú to špeciálne šifrvacie telefónne prístroje, prípadne doplnkové moduly k štandardným telefónom. Tieto prístroje využívajú digitálny prenos reči a obsahujú štyri základné časti:

    1. prevodníky ADC/DAC spolu s kóderom a dekóderom reči (tzv. vocoder),

    2. šifrovací/dešifrovací modul,

    3. modem,

    4. mikroprocesor riadiaci procesy šifrovania a distribúcie kľúčov.

Šifrovacie telefóny spravidla môžu komunikovať s bežnými telefónmi, v prípade šifrovanej komunikácie musí byť na druhej strane kompatibilný šifrovací telefón. Šifrovací algoritmus (väčšinou symetrický prúdový) sa v týchto prístrojoch aplikuje na digitalizovaný a zakódovaný signál. Distribúcia kľúčov symetrického systému je vyriešená použitím vhodného asymetrického systému. Pri nadväzovaní spojenia si účastnícke zariadenia vymenia verejné kľúče (negotiated public key) a volajúca stanica vygeneruje kľúč pre symetrický šifrovací systém, ktorý zašle druhému účastníkovi komunikácie zašifrovaný jeho verejným kľúčom. Tento kľúč sa potom používa na šifrovanie toku dát počas celej komunikácie, prípadne možno v priebehu komunikácie vygenerovať nový kľúč. Približne rovnaké princípy digitálneho prenosu používajú aj rôzne bezdrôtové komunikačné systémy. Určité zmeny v systéme sú vynútené hlavne architektúrou komunikačného systému – trunking systémy (mobilné stanice komunikujúce prostredníctvom bázovej stanice), bezdrôtové telefóny atď.

Donedávna u nás najpoužívanejší mobilný komunikačný systém NMT (Nordic Mobile Telephone) neposkytuje svojim používateľom v podstate nijakú ochranu v prenášaní informácií. Digitálna komunikácia sa využíva iba na systémových kanáloch pri komunikácii s bázovou stanicou (prideľovanie kanálu pere samotnú komunikáciu a pod.). Samotná komunikácia je absolútne nechránená a prenáša sa frekvenčne modulovaná na pridelenej frekvencii v pásme 450 MHz. Šikovný „bastlič“ si zodpovedajúci prijímač zostrojí sám, ostatní zvedavci si zakúpia prehľadový prijímač v najbližšej predajni rádioamatérskych potrieb. Niektorým používateľom telefónov NMT pravdepodobne práve vystúpil pot na čelo, teraz sa však pozrieme ako sú na tom používatelia systému GSM.

Ako je to s GSM?

Pre pochopenie zabezpečenia komunikácie systéme GSM treba poznať aspoň základné princípy tohto systému, ktoré sa pokúsim v stručnosti zhrnúť. GSM je rýdzo digitálny systém, t.j. všetky údaje medzi mikrofónom jednej mobilnej stanice (ďalej MS) až po slúchadlo druhej MS sú prenášané a spracúvané v digitálnej forme. Systém má pridelené frekvenčné pásma 890 - 915 MHz a 935 – 960 MHz, t. j. 2x25 MHz. Jedno pásmo slúži na komunikáciu v smere MS – bázová stanica (ďalej BS), druhé pásmo v opačnom smere. Obe pásma sú rozdelené na 125 kanálov (každý so šírkou 200 kHz, tzv. frekvenčný multiplex – FDMA), o ktoré sa delia susediace bunky (reprezentované bázovými stanicami). Susedné bunky nemôžu používať rovnaké frekvencie kvôli možnému vzájomnému rušeniu. Jeden frekvenčný kanál má prenosovú rýchlosť 270.8 kbps. O túto rýchlosť sa delí osem MS pomocou časového multiplexu – TDMA. To znamená, že každá MS má pridelený časový interval (slot), počas ktorého vysiela na pridelenej frakvencii. Časový interval, v ktorom sa vystrieda všetkých osem staníc, sa nazýva rámec. 26 rámcov (Normal Frame – NF) tvorí multirámec (Multi Frame – MF), 51 multirámcov tvorí superrámec (Super Frame – SF) a 2049 superrámcov tvorí hyperrámec (Hyper Frame – HF). Toto členenie rámcov hrá dôležitú úlohu v bezpečnostnom systéme GSM.

Šifrovacia metóda je založená na vykonávaní logickej operácie XOR medzi pseudonáhodnou sekvenciou bitov a 114 dátovými bitmi normálneho burstu (blok dát vysielaný počas jedného časového slotu) – tzv. prúdový šifrátor. Výhodou logickej operácie XOR je, že po vykonaní XOR medzi zašifrovanou správou a pôvodnou použitou šifrovacou sekvenciou dostaneme otvorený text, čo vyplýva z pravdivostnej tabuľky operácie XOR :

A

B

A XOR B

0

0

0

0

1

1

1

0

1

1

1

0

Z tejto vlastnosti operácie XOR vyplýva, že na oboch stranách prenosovej cesty sa používa rovnaká šifrovacia sekvencia. Na jednej strane na šifrovanie a na druhej strane na dešifrovanie

Šifrovacia pseudonáhodná sekvencia je vygenerovaná pomocou algoritmu A5 z čísla rámca (známe cez synchronizačný mechanizmus rádiového subsystému GSM) a z kľúča, ktorý je generovaný algoritmom A8. Kľúč sa pred samotnou komunikáciou generuje na oboch stranách, pričom tieto procesy sú synchronizované. Toto riešenie odstraňuje nutnosť výmeny kľúča pred komunikáciou, pretože kritické parametre potrebné na výpočet kľúča sú na strane MS bezpečne umiestnené v mikroprocesorovej čipovej karte SIM (Subscriber Identification Module). Algoritmus A5, používaný na generovanie pseudonáhodnej sekvencie, ani algoritmus A8 nie sú zverejnené, hoci autori tvrdia, že vďaka typu algoritmu a aj preto, že kľúč môže byť zmenený v priebehu komunikácie, by bezpečnosť systému bola práve taká dobrá, keby bol prístupný verejnosti. A5 je distribuovaný za určitých podmienok Asociáciou európskych operátorov – GSM MOU. Algoritmus je relatívne jednoduchý a výrobcovia mobilných staníc ho môžu jednoducho implementovať vo VLSI čipe.

Špecifikácie algoritmu A5

Algoritmus A5 realizuje ochranu šifrovaním pre prenášané používateľské a kontrolné údaje, t. j. šifrovanie kanálov TCH (Traffic Channel) a DCCH (Dedicated Control Channel). A5 je symetrický prúdový algoritmus, ktorý pracuje ako generátor pseudonáhodných čísel. Zo symetrie algoritmu vyplýva, že šifrovacie a dešifrovacie procesy v mobilných a bázových staniciach (ďalej MS a BS) musia byť synchronizované, a to i pri prepínaní MS medzi bunkami systému (tzv. handover). Zo spomenutých faktov je zrejmé, že A5 je implementovaný v MS aj BS, pričom v BS musí byť každému fyzickému kanálu pridelený jeden bežiaci proces A5. Proces šifrovania je v postupnosti vysielacích procesov v MS zaradený pred moduláciu, pri príjme sú procesy symetrické.

Prenášané údaje sú rozdeľované do blokov s dĺžkou 114 bitov, ktoré sú formátované do burstov a vysielané počas pridelených časových slotov v rámci. Dva po sebe nasledujúce pridelené časové sloty pre daný fyzický kanál sú časovo vzdialené 4,615 ms, čo je dané trvaním normálneho rámca (neplatí to pri GSM s polovičnou rýchlosťou, tzv, halfrate GSM). Algoritmus A5 produkuje každých 4,615 ms dve sekvencie 114 bitov (Blok1 a Blok2). V BS je Blok1 použitý na šifrovanie tak, že je zmiešaný operáciou XOR s blokom údajových bitov. Získané 114-bitové bloky sa ďalej formátujú do burstov a po modulácii vysielajú. Blok2 je použitý rovnakým spôsobom na dešifrovanie z MS prijatých 114-bitových blokov. Na strane MS sú bloky použité, samozrejme, naopak, Blok1 na dešifrovanie a Blok2 na šifrovanie. Synchronizácia MS a BS je dosiahnutá riadením algoritmu A5 explicitnou časovou premennou – číslovaním rámcov časového multiplexu. Každý blok produkovaný A5 teda závisí od číslovania rámcov a šifrovacieho kľúča. Rámce sú číslované cyklicky v rozsahu 0 až N = (26*51*211) – 1 = 2715647. Toto číslo je dané následnou organizáciou dát do rámcov. Binárnou reprezentáciou čísla rámca je 22-bitové číslo COUNT (5 bitov MF, 6 bitov SF a 11 bitov AF, pozri členenie rámcov), kde významovo nižšie bity zodpovedajú číslu MF. Dĺžka kľúča použitého ako vstupný parameter algoritmu A5 nie je pevne definovaná, je iba ohraničená zhora na 64 bitov. Aj pri použití kratšieho kľúča sa používa fyzicky 64-bitové číslo, pričom samotný kľúč tvorí vyššie významové bity a dolné bity sú nastavené na nuly.

Existujú dva algoritmy: silnejší A5/1 a slabší A5/2.

Špecifikácia algoritmu A8

Algoritmus A8 generuje šifrovací kľúč ako vstupný parameter algoritmu A5. Tento kľúč počíta z parametra RAND (128 bitov) vysielaného počas autentizačnej procedúry medzi MS a BS a použitím autentizačného kľúča Kj (max. 128 bitov, generovaný algoritmom A3). Na strane MS je A8 implementovaný v čipovej karte SIM.

Špecifikácia algoritmu A3

Algoritmus A3 je určený na autentizáciu (identifikáciu) mobilného používateľa v sieti. A3 musí z parametra RAND, ktorý je súčasťou náhodnej výzvy na autentizáciu zaslanej sieťou, vypočítať očakávanú hodnotu SRES. Na tento výpočet používa autentizačný kľúč Kj, ktorý sa nachádza v čipovej karte SIM (vygenerovaný a zapísaný je pri aktivácii SIM používateľa). Na strane MS podobne ako A8 je algoritmus A3 implementovaný v SIM.

Útoky na kryptovací systém GSM

Začiatkom decembra publikovali A.Shamir a A. Biryukov útok, ktorý umožňuje v reálnom čase a s malými nákladmi rozbiť algoritmus A5/1. Profesor Adi Shamir je už legendárny kryptológ, jeden z trojice autorov, ktorá publikovala pred dvadsiatimi rokmi RSA algoritmus, vynálezca zariadenia TWINKLE a Alex Biryukov je mladý nádejný matematik, ktorý sa ako štipendista minulý rok v máji zúčastnil konferencie EUROCRYPT ’99. Obaja pracujú vo Weizmannovom Inštitúte v Izraeli.

Algoritmy A3 a A8 v mnohých implementáciách nahrádza jediný algoritmus A38, ktorý sa tiež niekedy označuje COMP128. Tento algoritmus používa väčšina prevádzkovateľov sietí GSM. V apríli 1998 sa skupine kryptológov zloženej z Marca Bricena, Iana Goldberga a Davida Wagnera podarilo objaviť metódu umožňujúcu zistiť kľúč Kj uložený v karte SIM.

Útok možno uskutočniť len vtedy, ak máme k dispozícii kartu SIM. Karta sa vloží do špeciálneho klonovacieho zariadenia spojeného s počítačom. Karte sú potom predkladané určité výzvy a analyzované sú reakcie karty. Celkovo je potrebné vzniesť cca 150 000 špeciálne vybraných otázok (výziev). Klonovacie zariadenie, ktoré skonštruovali, mohlo uskutočniť 6.25 výziev za sekundu. K útoku s týmto zariadením je teda potrebných asi 8 hodín. Pokiaľ útočník vlastniaci toto zariadenie získa vašu SIM kartu na túto dobu, je schopný získať kľúč Kj v nej uložený a vyrobiť klon vašej SIM karty. Môže sa potom do siete autentizovať ako vaša SIM karta a účtovať hovorné na váš účet.

Zatiaľ nie je známy postup, ako získať Kj nejakého užívateľa pasívnym odpočúvaním komunikačného kanálu a odchytením dát počas autentizácie.

Dôvernosť prenášaných dát

S pomocou procedúry, ktorú spomíname vyššie, sa sieť GSM snaží zabrániť odpočúvaniu hovorov prenášaných vzduchom medzi mobilným telefónom a sieťou GSM. K tomu slúži prúdová šifrovacia schéma A5, ktorá využíva dočasný kľúč, dohodnutý počas poslednej autentizačnej fázy.

Algoritmus A5 je používaný vo dvoch rozdielnych verziách. Verzia A5/2 (tzv. slabšia varianta) je, jednoducho povedané, použitá pre východnú Európu a niektoré ďalšie oblasti. Silnejšia verzia A5/1 je určená pre „západnú Európu“.

Existencia útoku na algoritmus A5/2 odborníkov ani veľmi neprekvapila. Jeden z možných útokov ohlásil na rump session konferencie Crypto 99 David Wagner. Vzhľadom k veľkému počtu pseudonáhodných bitov kľúča je k prelomeniu tejto verzie vraj potrebných len O(216) krokov.

Situácia pri silnejšej verzii algoritmu je zložitejšia. Problém A5/1 spočíva v tom, že dohodnutý kľúč nie je v skutočnosti 64-bitový, ako sa tvrdí, alel len 54-bitový a na 64-bitový je rozšírený nulami zprava. Toto zúženie kľúčového priestoru spolu s ďalšími drobnými chybami v návrhu A5/1 je natoľko drastickým opatrením, že už skôr bolo ukázané, že tento algoritmus je teoreticky možné prelomiť. Útok bol však časovo náročný (bolo potrebných niečo medzi 240 až 245 krokov výpočtu) a naviac vyžadoval zachytenie 30 min komunikácie, čo je pre praktické použitie nereálne.

V štúdii profesora A.Shamira a A. Biryukova, ktorá bola nedávno publikovaná, je popísaný útok, ktorý možno realizovať na lepšie vybavenom počítači (128 MB RAM a dva pevné disky každý s kapacitou 73 GB), nutné je zachytiť prvé dve minúty hovoru, v štúdii popísanou analýzou potom možno nájsť kľúč relácie za menej než jednu sekundu! Pretože GSM telefóny vysielajú frame každých 4.6 milisekundy, znamená to, že 2 minúty konverzácie obsahujú 120*1000/4.6 teda menej než 215 framov. Počet nutných krokov k nájdeniu kľúča je potom medzi 237 až 248. Útok bol skúšaný na aktuálne implementácii algoritmu A5/1. Súkromie užívateľov telefónov GSM je tak vážne ohrozené.

Šifrová ochrana GSM obsahuje z hľadiska ochrany utajovaných skutočností vážne chyby a nedostatky. Rozhodne nemožno doporučiť u mobilných telefónov GSM ponechanie SIM karty bez dozoru. Pred odovzdaním do opravy je nutné SIM kartu vybrať. Pri vstupe do niektorých budov je na západe zvykom mobilný telefón odložiť v šatni. Myslím si, že vybratie SIM karty, pokiaľ sa chceme zdržať dlhšiu dobu, nie je prehnaná opatrnosť. Rýchlosť útoku proti algoritmu A38 totiž závisí predovšetkým na rýchlosti klonovacieho zariadenia a tu sa čas útoku 8 hodín dá znížiť. Taktiež hovor z mobilného telefónu GSM dlhší než 2 minúty nie je možné z vyššie uvedených dôvodov považovať za bezpečný. Pravdepodobne túto dobu nebude možné nejako významne zredukovať. Pripomeňme si, že útok na A5/1 nie je založený na rýchlosti samotnej analýzy (1 sekunda), ale na zhromaždenie potrebných údajov dát k analýze (2 minúty). Rýchlejší počítač teda túto hranicu bezpečnosti nezmení.

Napísal: Miroslav Demeter

Prebraté: Computer World, PC Revue, Internet