COMPUTERWORLD
Specializovan² t²denφk o v²poΦetnφ technice

Serißl
o bezpeΦnosti
a informaΦnφm soukromφ

╚ßst 57 - CW 34/98

BezpeΦnost GSM

Vßclav MatyßÜ ml.

Mobilnφ telefony nenφ jist∞ t°eba p°edstavovat, ale podφvejme se na zajφmavΘ technickΘ detaily t²kajφcφ se bezpeΦnosti GSM (Group SpΘciale Mobile). V prvnφ Φßsti Φlßnku se zam∞°φme na principy GSM d∙le₧itΘ pro bezpeΦnost a v zßv∞ru se budeme v∞novat aktußlnφm bezpeΦnostnφm problΘm∙m. Nakonec jen zb∞₧n∞ zmφnφme jinak velmi zajφmavΘ detaily sprßvy kryptografick²ch klφΦ∙ v sφti GSM.

Sama mobilnφ telefonie a p°φstup k dalÜφm mobilnφm slu₧bßm neposkytujφ stejnou ·rove≥ bezpeΦnosti jako pevnß sφ¥. Odposlouchßvßnφ rßdiovΘho spojenφ mezi mobilnφ stanicφ a odpovφdajφcφ zßkladnou je snadnΘ a t∞₧ko mu lze zabrßnit -- zachycenφ dat na jejich cest∞ a neautorizovan² p°φstup ke slu₧bßm jsou pak bez dalÜφ ochrany trivißlnφ. Zachycenφ u₧ivatelsk²ch nebo signßlnφch dat m∙₧e mφt za nßsledek odtajenφ t∞chto dat a ztrßtu d∙v∞rnosti u₧ivatelskΘ identity (vzhledem k okolφ -- uvnit° systΘmu jinak nenφ zaruΦena anonymita). U₧ivatelskß data jsou p°enßÜena transportnφmi i signßlnφmi kanßly. Signßlnφ kanßl p°enßÜφ mj. i u₧ivatelskß data ve form∞ krßtk²ch zprßv (p°φjem i vysφlßnφ bloku do 160 B) bez aktivace transportnφho kanßlu.

Dφky celulßrnφ struktu°e sφt∞ a neustßlΘ aktualizaci informacφ o u₧ivatelskΘm modulu/kart∞ SIM (Subscriber Registration Module), kterΘ jsou nezbytnΘ pro zajiÜt∞nφ spojenφ, sφ¥ umφ lokalizovat ·Φastnickou kartu (pokud je karta zasunuta do mobilnφho telefonu a ten je bu∩ v provozu, nebo p°ipraven k p°φjmu). ┌zemφ pokrytΘ bu≥kou zßvisφ na umφst∞nφ bu≥ky a pohybuje se od stovek metr∙ po 35km okruh kolem zßkladovΘ stanice. Jednoduchou triangulacφ lze sledovat pohyb ·Φastnφka s p°esnostφ na stovky a₧ desφtky metr∙. Jsou znßmy p°φpady, kdy Üv²carskß policie takto analyzovala data o pohybu mobilnφch telefon∙ uchovßvanß operßtorem GSM po dobu p∙l roku(!). Podle dostupn²ch informacφ t∞chto postup∙ vyu₧φvß i naÜe policie.

Pro ochranu operßtor∙ a ·Φastnφk∙ proti r∙zn²m ·tok∙m p°es nechrßn∞nß rßdiovß spojenφ a nekontrolovanΘ p°φstupy k mobilnφm slu₧bßm je pro ka₧dou sφ¥ GSM zßvaznΘ zajiÜt∞nφ:

1. d∙v∞rnosti identity ·Φastnφka,

2. autentizace ·Φastnφka,

3. d∙v∞rnosti u₧ivatelsk²ch dat i signßlnφch informacφ.

Jednou z vlastnostφ GSM je zaÜifrovßnφ linky z d∙vodu ochrany u₧ivatelsk²ch i signßlnφch dat. Pro tento ·Φel byla vyvinuta specißlnφ Üifra, kterß je hardwarov∞ integrovßna. Je zajφmavΘ, ₧e tato Üifra je v urΦit²ch detailech odliÜnß v zemφch NATO a ostatnφch zemφch a je jeÜt∞ zajφmav∞jÜφ, ₧e Üifrovßnφ je standardn∞ nasazeno jen pro komunikaci mezi mobilnφm telefonem a zßkladnovou stanicφ, avÜak komunikaci v sφti operßtora GSM lze obvykle odposlouchßvat (mßte-li pat°iΦnΘ vybavenφ, jeho₧ v²roba a prodej jsou kontrolovßny). SIM odvozuje Üifrovacφ klφΦ jako souΦßst autentizaΦnφho procesu. To znamenß, ₧e Üifrovßnφ m∙₧e b²t aktivovßno, a₧ je identita u₧ivatele ·sp∞Ün∞ ov∞°ena. Autentizace sφt∞ mobilnφ stanicφ ovÜem v GSM provßd∞na nenφ.

Algoritmy samotnΘ jsou vyjma Üifrovacφho algoritmu(∙) zßle₧itostφ sφ¥ovΘho operßtora. V SIM je ulo₧en (pro ka₧dou kartu jedineΦn²) klφΦ Ki a algoritmy oznaΦenΘ A3 a A8. Algoritmus A3 je pou₧φvßn k autentizaci mobilnφho telefonu a algoritmus A8 k vygenerovßnφ jednorßzovΘho klφΦe relace Kc, kter²m bude Üifrovßno vlastnφ spojenφ. Algoritmus A5 nenφ umφst∞n v kart∞, ale v mobilnφm telefonu, a slou₧φ prßv∞ Üifrovßnφ spojenφ klφΦem Kc. Podrobn∞ji se na tyto zßle₧itosti podφvßme dßle. GSM v zßsad∞ poskytuje 3 bezpeΦnostnφ slu₧by:

1. DoΦasnΘ identity pro d∙v∞rnost identity u₧ivatele.

2. Autentizaci pro kontrolu identity u₧ivatele.

3. èifrovßnφ pro d∙v∞rnost u₧ivatelsk²ch dat.

Autentizace a doΦasnΘ identity

┌Φelem autentizace ·Φastnφka je ochrßnit sφ¥ p°ed neautorizovan²m pou₧itφm. Sφ¥ov² operßtor m∙₧e pou₧φvat vlastnφ algoritmus, ale nßvrhy mo₧n²ch algoritm∙ jsou k dispozici na p°φsluÜnou ₧ßdost. K zajiÜt∞nφ interoperability jsou specifikovßny autentizaΦnφ protokol a dΘlka parametr∙ (vstup, v²stup a klφΦ), stejn∞ jako Φas provßd∞nφ algoritmu. P°ed zapoΦetφm hovoru musφ b²t identita SIM sφti GSM znßma. Obvykle se mφsto zaslßnφ IMSI (International Mobile Subscriber Identity) pou₧φvß doΦasnΘ identity. Smyslem doΦasnΘ identity (TMSI -- Temporary Subscriber Identity) je zabrßnit ·toΦnφkovi v mo₧nosti zφskat informace ze zdroj∙ ·Φastnφka a zjistit polohu ·Φastnφka. Navφc je obtφ₧n∞jÜφ p°i°adit u₧ivatele k p°enßÜen²m dat∙m. IMSI se musφ pou₧φvat jen pro vytvo°enφ spojenφ jen v krajnφm p°φpad∞.

Autentizace a ·Φtovßnφ poplatk∙ jsou v systΘmu GSM provßd∞ny operßtorem domovskΘ sφt∞. Nenφ pak pot°eba zavßd∞t jednotn² autentizaΦnφ algoritmus a ka₧d² operßtor m∙₧e pou₧φvat sv∙j vlastnφ algoritmus. Data pou₧φvanß k ov∞°enφ identity jsou generovßna domovskou sφtφ. Samotnß verifikace a °φzenφ p°φstupu jsou zajiÜ¥ovßny lokßln∞ pomocφ VLR (Visitor Location Register), u kterΘho je ·Φastnφk doΦasn∞ registrovßn. U₧ivateli staΦφ vzφt jen sv∙j SIM a vlo₧φ jej do libovolnΘho mobilnφho za°φzenφ (ME -- Mobile Equipment). SIM obsahuje veÜkerΘ pot°ebnΘ informace o ·Φastnφkovi, jako je IMSI, sφ¥ov∞ specifick² autentizaΦnφ algoritmus Φi tajn², pro ka₧dΘho u₧ivatele specifick², autentizaΦnφ klφΦ Ki. AutentizaΦnφ algoritmus na stran∞ sφt∞ (urΦen² podle A3) je implementovßn v domßcφm registru polohy (HLR -- Home Location Register) nebo v AutentizaΦnφm centru (AuC), zatφmco na stran∞ MS je obsa₧en v SIM. Voliteln∞ m∙₧e b²t A3 implementovßn ve VLR. Metoda pou₧itß mezi HLR/AuC a SIM je typu v²zva-odpov∞∩ pou₧φvajφcφ nßhodnß Φφsla: NßhodnΘ Φφslo RAND je zaslßno do MS jako v²zva, potΘ SIM spoΦte odpov∞∩ SRES k RAND (vyu₧ije v²Üe zmφn∞nΘho algoritmu A3) a tajnΘho autentizaΦnφho klφΦe u₧ivatele, kter² je ulo₧en v SIM. SRES je odeslßn a porovnßn s hodnotou spoΦtenou sφtφ (p°i pou₧itφ stejnΘho algoritmu, RAND a klφΦe spojenΘho s ·dajem o identit∞, kterou ·Φastnφk poskytl). Jen v p°φpad∞, ₧e se tyto hodnoty rovnajφ, je MS povolen p°φstup do sφt∞. Pou₧itφ kryptografie s ve°ejn²m klφΦem by umo₧nilo autentizaci bez prozrazovßnφ jak²chkoliv tajn²ch informacφ pro VLR. AutentizaΦnφ mechanismy u₧φvajφcφ ve°ejnΘ klφΦe majφ takΘ b²t standardizovßny.

èifrovßnφ

Aktivace slu₧by Üifrovßnφ je °φzena sφ¥ovou stranou. Standardnφ Üifrovßnφ, popisovanΘ jako algoritmus A5, je pou₧φvßno v celΘm systΘmu. Tento proprietßrnφ algoritmus, kter² lze implementovat pomocφ asi 3 000 tranzistor∙, je obsa₧en na vyhrazenΘm hardwaru v MS a zßkladnovΘ stanici, kterß je protistanicφ MS na rßdiovΘ cest∞. NezaÜifrovan² text je organizovßn do blok∙ 114 bit∙, co₧ je mno₧stvφ dat p°enßÜen²ch b∞hem jednΘ ΦasovΘ periody. Proud klφΦe,neboli sekvence bit∙, kterΘ jsou XORovßny (sΦφtßny modulo 2) s datov²m blokem, je produkovßn algoritmem A5 jako v²stupnφ blok 114 bit∙. KlφΦ Kc je odvozen v SIM b∞hem autentizaΦnφho procesu za pou₧itφ algoritmu A8, specifickΘho pro sφ¥ovΘho operßtora. Vstupem algoritmu A8 jsou "vyz²vajφcφ" RAND (128 b) a ·Φastnick² autentizaΦnφ klφΦ (128 b) pou₧φvan² i pro autentizaΦnφ proceduru, zatφmco v²stupem je klφΦ Kc sestßvajφcφ ze 64 b.

Existujφ 2 standardnφ metody generovßnφ klφΦ∙ pro GSM. Bu∩ pomocφ generßtoru nßhodn²ch Φφsel, nebo na zßklad∞ algoritmu pou₧φvanΘho k odvozenφ klφΦe z dat, vztahujφcφch se k u₧ivateli a z klφΦe vyÜÜφ ·rovn∞ (MK - Master Key). Hlavnφ v²hodou odvozenφ klφΦe z netajn²ch ·daj∙ Üifrovan²ch MK je to, ₧e takovΘto odvoditelnΘ klφΦe nemusejφ b²t uschovßvßny a zßlohovßnφ ·Φastnick²ch klφΦ∙ je omezeno jen na zßlohovßnφ MK. Hlavnφm problΘmem je samoz°ejm∞ ochrana tajnΘho klφΦe MK. Kdokoliv by jej vlastnil a znal tajnΘ algoritmy A3 a A8, zkompromitoval by vÜechny karty vystavenΘ pod tφmto MK(!). V∞ru zajφmav² aspekt ve sv∞tle nφ₧e uveden²ch informacφ. Toto riziko lze snφ₧it periodickou zm∞nou MK, co₧ ale znamenß sprßvu v∞tÜφho mno₧stvφ tajn²ch klφΦ∙, navφc je nutno udr₧ovat spojitost mezi p°φsluÜn²m MK a ·Φastnick²m ·Φtem. Pou₧itφ nßhodnΘho Φφsla mß sv∙j zßva₧n² d∙sledek v tom, ₧e nenφ p°φmß spojitost mezi autentizaΦnφm klφΦem a daty specifick²mi pro u₧ivatele. Tyto klφΦe sice takΘ musφ b²t chrßn∞ny AuC, ale ne nutn∞ na tak vysokΘ ·rovni jako v p°edchßzejφcφm p°φpad∞. TakΘ zjiÜt∞nφ takovΘho klφΦe potencißlnφm ·toΦnφkem neznamenß zjiÜt∞nφ MK.

SIM

SIM je realizovßn Φipovou kartou a obsahuje vÜechny nezbytnΘ informace a algoritmy k autentizaci ·Φastnφka v sφti. Dodßvß se ve dvou provedenφch. V∞tÜφ karta SIM mß rozm∞r kreditnφ karty, zatφmco "plug-in" SIM lze zφskat "o°ezßnφm" na 25 x 15 mm. PIN je ulo₧en v EEPROM na Φipu a porovnßnφ s hodnotou p°edlo₧enou u₧ivatelem je provßd∞no v CPU na SIMu, tak₧e PIN Φip neopouÜtφ. Blokovan² SIM nevysφlß svou identitu v podob∞ TMSI nebo IMSI do ME, proto₧e tato data jsou (slab∞, ale p°ece) chrßn∞na proti Φtenφ PINem. Ov∞°enφ PINu p°ed autentizacφ MS sφ¥ovou stranou Üet°φ Φas a zdroje v sφti, je-li zadßn Üpatn² PIN.

U₧ivatel m∙₧e SIM odblokovat zadßnφm tzv. osobnφho odblokovacφho klφΦe (PUK) kart∞, spoleΦn∞ s nov²m PINem. PUK je prost∞ jen dalÜφ identifikaΦnφ Φφslo. U₧ivatel nem∙₧e PUK zm∞nit, kopie je ulo₧ena v domovskΘ sφti a vydßna jen po spln∞nφ urΦit²ch bezpeΦnostnφch podmφnek. P°φstup SIM k mobilnφ slu₧b∞ lze zablokovat uvedenφm "na Φernou listinu" u HLR/AuC. Po n∞kolika (obvykle deseti) nßsledn²ch Üpatn²ch PUK je SIM trvale zablokovßn. Samoz°ejm∞ -- jestli₧e je kontrola PINu u₧ivatelem zakßzßna, °φzenφ p°φstupu k SIM a tedy i sφti (pokud karta nenφ na ΦernΘ listin∞) je zßvislΘ pouze na dr₧enφ karty. Z∙stßvß ke zvß₧enφ, zda se mß u₧ivatel∙m tato mo₧nost povolit.

Z v²Üe uveden²ch informacφ je jasnΘ, ₧e bezpeΦnost SIM je zßvislß na utajenφ klφΦe Ki. Dßle je pot°eba si uv∞domit, ₧e algoritmy A3, A5 a A8 jsou utajovanΘ. ╚ili klasickß ukßzka bezpeΦnosti p°es obskurnost (security through obscurity), kritizovanΘ d∙kladn∞ ji₧ v p°edchßzejφcφm dφle serißlu. Algoritmy A3 a A5 jsou navφc v naprostΘ v∞tÜin∞ implementacφ realizovßny algoritmem jedin²m, obvykle COMP128 (zatφm je znßmo jen 5 operßtor∙, kte°φ nasadili jin² ne₧ tento "ilustrativnφ" algoritmus -- vφce informacφ je dostupn²ch p°es URL v tabulce).

Na ja°e letoÜnφho roku se na ve°ejnost dostal d°φve utajovan² dokument "TECHNICAL INFORMATION -- GSM System Security Study", kde je mj. popis algoritmu COMP128 (vφce op∞t v uveden²ch URL; podle informacφ GSM hacker∙ ale chyb∞lo jen n∞kolik m∞sφc∙ ke zjiÜt∞nφ COMP128 p°es "reverse engineering"). Smartcard Developer Association a t²m univerzity v Berkeley kryptanalyzovali tento algoritmus a zjistili, ₧e dφky chybßm v designu je mo₧nΘ b∞hem n∞kolika hodin ze SIM zjistit klφΦ Ki a vytvo°it tak klon tΘto karty. Asociace GSM MoU (Memorandum of Understanding) sdru₧ujφcφ operßtory GSM reagovala prohlßÜenφm, ₧e COMP128 je algoritmem ilustrativnφm, nikoliv povinn²m -- a ka₧d² operßtor GSM si m∞l zvolit sv∙j vlastnφ bezpeΦn² algoritmus. ┌sudek si ud∞lejte sami, jß jen potvrdφm, ₧e v∞tÜina GSM operßtor∙ to neud∞lala. Jak jinak. Ostatn∞ Ükody takto zp∙sobenΘ hovory p°es naklonovanΘ karty jdou na ·Φet vlastnφk∙ p∙vodnφch "originßl∙" karet, nikoliv na ·Φet operßtor∙ GSM.


Tyto odkazy zasadit do zvlßÜtnφho rßmce se zv²ran∞n²m pozadφm, mφsto jednoho obrßzku.

ZajφmavΘ zdroje na Sφti

╖ "Poh°ebiÜt∞" proprietßrnφch algoritm∙ (Markus Kuhn, University of Cambridge), najdete mj. i COMP128 (pou₧φvßn Φasto jako A3 a A8) i A5/1

http://www.cl.cam.ac.uk/~mgk25/kerckhoffs/

╖ Smartcard Developer Association (SDA), znßmß nap°. zjiÜt∞nφm zp∙sobu klonovßnφ SIM

http://www.scard.org/gsm/

╖ V²zkumn² t²m "Internet Security, Applications, Authentication and Cryptography (ISAAC)" na University of California, Berkeley

http://www.isaac.cs.berkeley.edu/isaac/gsm.html

╖ P∙vodn∞ utajovan² dokument k bezpeΦnosti GSM

http://jya.com/gsm061088.htm

╖ Strßnka k bezpeΦnosti Φipov²ch karet (Bo Lavare)

http://www.geocities.com/ResearchTriangle/Lab/1578/smart.htm


| COMPUTERWORLD - serißl o bezpeΦnosti | COMPUTERWORLD | IDG CZ homepage |