TKK | Tietoverkkolaboratorio | Opetus

[Esittely]
[Yksityisyys tietoliikenteessä]
[GSM-salaus menetelmät]
[GSM-salauksen murtaminen]
[Lähdeluettelo]


Juha Grönman
Mari Pere
Juha Torkkel

GSM-salauksen murtaminen

Signaalin sieppaaminen ilmasta ja A5-algoritmin murtaminen

GSM-puhelimissa käytetään datavirran salausta radiotien yli. Tämän tarkoituksena on, että liikenne ei olisi selväkielistä ja siten kenen tahansa kuunneltavissa. Myös yhteyden digitaalisuus radiotien yli tuo lisäturvaa puhelinyhteydelle, koska signaali on muunnettava analogiseksi signaaliksi ennenkuin puheesta saa selvää. Tämä muunnos on asiansa osaavalle varsin helppo toimenpide. Siksi digitaalisen signaalin siirtämä tieto on salattava puhelimen ja tukiaseman välillä.

Miten taajuutta kuunnellaan?

GSM-puhelimen signaali sijaitsee radiotaajuusspektrissä noin 900 MHz:n taajuudella. Taajuutta pystytään kuuntelemaan millä tahansa radiovastaanottimella, joka kykenee ottamaan vastaan kyseisen taajuusalueen signaaleja. Kun vastaanotin on saatu viritettyä kanavalle, jota halutaan kuunnella, voidaan signaali ohjata ulkoiseen signaalinkäsittelylaitteeseen. Laite voi olla esimerkikisi tavallinen tietokone. Tämän jälkeen signaalia voidaan käsitellä lähes rajattomasti.

Taajuuden kuuntelua vaikeuttaa joillakin alueilla käytettävä taajuushyppely. Taajuushyppelyllä tarkoitetaan radioyhteyden taajuuden muuttamista tietyin väliajoin. Tällöin kuunteleva radiovastaanotin tulee virittää uudelleen taajuudelle. Uusi taajuus on hankala selvittää, joten tämä vaikeuttaa yksittäisen puhelun kuuntelua merkittävästi. Taajuushyppelyä käytetään pääasiassa kaupunkiolosuhteissa myös yhteyden laadun säilyttämiseksi. Maaseudulla taajuushyppelyä ei juurikaan käytetä.

Miten A5-alogoritmin salaus murretaan?

A5 on symmetrinen salausalgoritmi, jolla tarkoitetaan datavirran salauksen ja sen purkamisen tapahtuvan samalla salaisella avaimella. Jos salainen avain on tiedossa, on tiedon purkaminen yhtä helppoa kuin tiedon salaaminen. Purettava tieto ja salainen avain annetaan A5-algoritmille, joka purkaa salauksen.

Jos salainen avain ei ole hallussa, on yhteyden purkaminen vaikeaa. Purkaminen tällöin voi perustua kaikkien mahdollisten vaihtoehtojen läpikäyntiin. Tällöin salattua dataa yritetään purkaa käymällä järjestelmällisesti läpi kaikki salausavainkombinaatiot ja analysoimalla niitä. Tässä tapauksessa syntyy noin 2ˆ40 eri avainvaihtoehtoa. Näiden kaikkien vaihtoehtojen kartoittaminen vie tavallisella tietokoneella viikkoja, joten tällä tapaa ei kyetä purkamaan dataa järkevässä ajassa.

Järkevämpää onkin salaisen avaimen selvittäminen jollakin vaihtoehtoisella tavalla. Avaimen voi selvittää SIM-kortilta, jos on mahdollisuus fyysisesti käsitellä SIM-korttia (kts. SIM-kortin murtaminen), tai selvittämällä avaimen GSM-puhelimen ja tukiaseman välisestä liikenteestä puhelinta laitettaessa päälle.

Ilmatieltä salausavaimen selvittäminen tapahtuu tallentamalla puhelimen ja tukiaseman välinen liikenne, koska reaaliajassa avaimen selvittäminen ei ole mahdollista nykytekniikan laskentatehojen asettamien rajoituksien vuoksi. (Huomaa, että kaikenlainen puhelinliikenteen tallentaminen on kielletty lainsäädännössä!) Kun puhelin kytketään päälle, puhelimen ja tukiaseman välinen keskustelu tapahtuu seuraavasti:

  1. Puhelin lähettää IMSI-tunnuksensa salaamattomana tukiasemalle.
  2. Tukiasema lähettää puhelimelle satunnaisluvun, jota käytetään herätteenä autentikointi ja salausavaimen generointi algoritmeille.
  3. Puhelin lähettää autentikointialgoritmilla, salaisella avaimella ja satunnaisluvulla lasketun tunnisteluvun tukiasemalle.
  4. Jos autentikointi onnistuu, tukiaseman antaa puhelimen käytön jatkua normaalisti.

Kun radiotieltä saadaan talteen tukiaseman lähettämä satunnaisluku ja puhelimen laskema tunnisteluku, voi kolmas osapuoli näiden perusteella selvittää SIM-kortilla sijaitsevan salaisen tunnusluvun. Tämä tapahtuu syöttämällä autentikointialgoritmille erilaisia salaisen tunnusluvun arvoja, kunnes saadaan vastaus, joka sopii yhteen puhelimen tukiasemalle lähettämän tunnisteluvun kanssa. Kun salainen tunnusluku on selvillä, voidaan laskea A5-algoritmin salausavain, jolla puhelun salaus murretaan. Salainen tunnusluku on myös mahdollista suoraan SIM-kortilta, jos korttia on mahdollista käsitellä fyysisesti.

SIM-kortin salaisen luvun selvittäminen

Smart Card Developer Association ja kaksi Kalifornian yliopiston tutkijaa ovat todistaneet SIM-kortin salaisen tunnusluvun olevan selvitettävissä. Huhtikuun 13 päivänä 1998 ryhmä julkaisi lehdistötiedotteen, jossa he kertoivat SIM-korttien kloonauksen ja simuloinnin olevan mahdollista[6].

Puhelinlaitteen suurin tietoturvariski on sen SIM-kortilla sijatseva data, kuten käyttäjän salainen tunnusluku. SIM-kortilta saadaan selvitettyä salainen tunnusluku käyttämällä älykorttilukijaa ja tavallista PC:tä. Älykorttilukijoita ei ole helposti saatavilla, mutta esimerkiksi N2IT niminen Hollannissa toimiva yritys markkinoi universaalia älykortti lukijaansa, joka pitäisi olla piakkoin markkinoilla ja kykenevä käsittelemään myös GSM-puhelimissa olevia SIM-kortteja.

Numeron selvittäminen tapahtuu syöttämällä kortille A3/A8-algoritmiin valikoituja numerosarjoja, ja tallentamalla ulostulevia arvoja. Tallennettuja arvoja analysoimalla pystytään päättelemään SIM-kortilla oleva salainen tunnistenumero.

Purkamisen nopeudelle asettaa rajoituksia lähinnä SIM-kortin lukijan nopeus. Berkleyn tutkijoilla oli demonstraatiossa käytössään lukija, joka pystyi suorittamaan 6,25 yritettä sekunnissa, ja kortille oli syötettävä noin 150 000 yritettä. Yritteiden lisäksi ei tarvittu enään monimutkaisia laskutoimituksia, joten koko operaatio kesti noin kahdeksan tuntia. Huomioon ottaen tietokoneiden kasvaneen laskentatehon ja N2IT:n markkinoiman kortinlukijan, jota pystytään käyttämään PC-sarjaportin kautta, prosessi salaisen tunnistenumeron selvittämiseksi on oletettavasti nopeutunut vuoden -98 alusta, jolloin Berkleyn tutkijat suorittivat kokeensa.

text
Kloonattu GSM-puhelin
(Kuva julkaistu Smart Card Developers Associationin luvalla)

Kun salainen tunnistenumero on selvillä, voidaan GSM-puhelimen SIM-kortin tomintaa simuloida virtuaalisella SIM-kortilla (esim. Multisatilta saatavissa oleva Seasons kortti), joka liitetään PC:n (16MHz Intel 286 riittää) sarjaporttiin, ja Internetistä saatavilla olevalla SIM-emulointi ohjelmalla.

Analyysi tietoturvasta

Vaikka mediassa on paljon keskusteltu matkapuhelimien tietoturvasta, voidaan todeta edellä esitettyjen menetelmien olevan vaikeasti totetutettavissa ilman sopivaa laitteistoa ja asiantuntemusta aiheesta. SIM-kortilla sijaitsevan salaisen luvun selvittäminen vaatii paljon laskentatehoa, johon tavallisella kaduntallaajalla ei ole varaa. Ja vaikka SIM-kortin fyysiseen käsittelyyn olisi mahdollisuus, veisi salaisen tunnusluvun selvittäminen useita tunteja.

GSM-puhelimen salakuuntelu on siis mahdollista. Nyrkkisääntönä voisi pitää GSM-puhelimella välitetyn tiedon olevan turvassa noin viikon ajan

Viranomaiset ovat tietenkin poikkeus tästä, koska he voivat kuunnella puhelua salaamattomana suoraan keskuksesta. Puhelimen salakuuntelulainsäädäntö onkin parhaillaan muuttumassa, jolloin poliiseille jää vapaammat kädet puheluiden kuunteluun törkeissä rikostapauksissa.

On vielä huomioitava, että tämän tekstin yhteydessä on keskitytty ainoastaan puhelimen ja tukiaseman väliseen liikenteeseen. Muitakin vaihtoehtoisia tapoja löytyy. Esimerkiksi radiolinkin kuunteluun, vihamielisen tukiaseman perustamiseen ja keskukseen murtautumiseen ei ole tämän tekstin yhteydessä kiinnitetty huomiota.

Suurin osa tämän tekstin sisällöstä käsittelee eettisesti ja lainsäädännöllisesti arkaa aihetta, eikä tätä tekstiä saa käyttää muuhun kuin opiskelu tarkoituksiin.

Tietoverkkolaboratorio on nyt osa Tietoliikenne- ja tietoverkkotekniikan laitosta. Tällä sivulla oleva tieto voi olla vanhentunutta.

Kurssien ajantasainen tieto on MyCourses-palvelussa.

Tämä sivu on tehty oppilaiden harjoitustyönä. Tietoverkkolaboratorio ei vastaa sivun oikeellisuudesta, ajantasaisuudesta tai ylläpidosta. Vakavissa tapauksissa yhteyshenkilöinä toimivat ja Webmaster.
Sivua on viimeksi päivitetty 12.11.1999 18:00.
URI: http://www.netlab.tkk.fi/opetus/s38118/s99/htyo/41/murtaminen.shtml
[ TKK > Sähkö- ja tietoliikennetekniikan osasto > Tietoverkkolaboratorio > Opetus ]