Šifrirni algoritem A5/1, ki se uporablja za šifriranje GSM pogovorov, je padel

Matej Kovačič

29. dec 2009 ob 00:05:05

Kot je znano, GSM telefoni za šifriranje pogovorov (med telefonom in bazno postajo) uporabljajo algoritma A5/1 (močnejši) in A5/2 (šibkejši).

Šifrirni algoritem A5/1 je bil razvit leta 1987, A5/2 pa leta 1989. Oba sta bila razvita na skrivaj in ob sodelovanju tajnih služb, šibka zasnova pa je bila namerna.

Prvi uspešni napad na algoritem A5/1 je izvedel Jovan Golić maja 1999 neodvisno od njega pa tudi Marc Briceno, ki je izvedel reverzni inženiring na GSM telefonu. Biryukov in Shamir pa sta dokazala, da ga je mogoče razbiti v manj kot sekundi z uporabo računalnika z vsaj 128 Mb RAM ter dvema 73 Gb diskoma.

Kljub vsemu so bili ti napadi zgolj teoretični, dejanska oprema za njihovo izvedbo pa zelo draga in dostopna zgolj državnim organom. Se je pa zato leta 2007 na internetu izoblikoval The A5 Cracking Project, katerega namen je bil izgradnja odprtokodne GSM prisluškovalne naprave za manj kot 1000 EUR. Namen projekta je bil javno pokazati na ranljivosti v algoritmu A5/1 in A5/2, vendar pa do objave natančnih postopkov za prisluškovanje ni nikoli prišlo, saj je na enega ključnih članov raziskovalne skupine pritisnila britanska tajna služba MI5.

Kljub temu pa projekt ni zamrl. Oživili so ga pri CCC pod imenom AirProbe, v okviru katerega je potekal poseben podprojekt, ki se je ukvarjal z izgradnjo mavričnih tabel, s pomočjo katerih je mogoče zlomiti A5/1 zaščito.

V prvem projektu so raziskovalci za izgradnjo mavričnih tabel uporabili posebno strojno opremo, FPGA, ki pa je za običajne smrtnike nekoliko težje dosegljiva. Pri drugem projektu pa so mavrične tabele začeli graditi s pomočjo GPU in bili precej bolj uspešni. Vmes je sicer prihajalo do precej banalnih težav (zaradi napake v algoritmu je bilo na neki točki potrebno vse mavrične tabele zavreči), a projekt se je uspešno približal koncu.

Včeraj sta namreč na konferenci 26c3 imela Karsten Nohl in Chris Paget predstavitev izsledkov projekta (na voljo so tudi prosojnice).

Skupina 24 prostovoljcev je namreč zgradila okrog 2TB mavričnih tabel. Razvijalci tokrat niso ponovili napake prejšnjega projekta, ki je mavrične tabele hranil le pri dveh raziskovalcih (ki ju je potem "obiskala" MI5) in mavrične tabele hranijo distribuirano - na voljo so torrent datoteke za prenos.

Po besedah Karstena Nohla je v tabelah dovolj podatkov, da je z njimi mogoče dekodirati praktično vsak telefonski klic. Kljub temu gradnja mavričnih tabel še poteka (na internem poštnem seznamu projekta trenutno potekajo pogovori s skupino prostovoljcev, ki lahko ponudi sistem s 100 GPU), saj bo z večjimi mavričnimi tabelami dešifriranje telefonskih pogovorov potekalo hitreje, mogoče pa bo dešifrirati tudi zelo kratke pogovore oz. kratka SMS sporočila. Demonstracija dešifriranja GSM pogovorov je sicer napovedana za v sredo.

Dejstvo je, da je A5/1 algoritem že star in da se za zaščito 3G mobilnih komunikacij uporablja algoritem A5/3, gre za posebej prilagojeno različico algoritma Kasumi. Vendar pa je na internem poštnem seznamu projekta kar nekaj debat tudi o A5/3. Na voljo je že tudi nekaj načinov kako A5/3 zaobiti, pred kratkim pa so se pojavile tudi informacije o tem, da so tudi v tem algoritmu našli resne ranljivosti s pomočjo katerih bo mogoče prisluškovati tudi GPRS in UMTS komunikacijam. O podrobnostih bomo vsekakor še poročali.

Mimogrede, poleg mavričnih tabel in ustrezne programske opreme (ki je v okviru projekta AirProbe javno objavljena), je za prestrezanje GSM komunikacij potrebno imeti tudi ustrezno strojno opremo. V okviru projekta AirProbe uporabljajo USRP (strojna oprema je odprtokodna, saj so načrti prosto dostopni), ki stane okrog 900 EUR.

Bo naslednji algoritem bolj varen?