Salausalgoritmit autohälyttimissä

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 14. joulukuuta 2017 tarkistetusta versiosta . vahvistus vaatii 71 muokkausta .

Autohälyttimien salausalgoritmi on joukko autohälyttimen avaimenperän ja ohjausyksikön välistä tiedonvaihtoa koskevia sääntöjä, joiden mukaan tiedonsiirto on suojattu siten, että hyökkääjä ei pääse luvatta autoon, vaikka hän voisi siepata tiedonsiirtopaketteja.

Auton hälyttimien päätehtävä  on monimutkainen varoitusjärjestelmä omistajalle luvattomasta sisäänpääsystä autoonsa (esimerkiksi ovien, konepellin, tavaratilan avaamisesta), kaikista tunkeilijan autossa suorittamista toimista (esimerkiksi osuminen kehoon, nosto auto, liikkuu avaruudessa, puhkaisee renkaat pyöriin), yrittää varastaa auton. Kaikki nykyaikaiset hälyttimet on lisäksi varustettu lisäominaisuuksilla, jotka lisäävät ajoneuvon käyttömukavuutta (katso Autohälytin ). Autohälyttimien kehittäjien ja autovarkaiden välinen vastakkainasettelu alkoi ensimmäisten autohälyttimien luomisesta lähtien. Vuosien saatossa turvajärjestelmät ovat parantuneet, mutta myös keinot niiden hakkerointiin ovat parantuneet. Seuraavaksi puhumme autohälyttimien salauksesta, niiden haavoittuvuuksista sekä suojausmenetelmistä.

Laite ja viestintäkanava

Kuten kaikki elektroniset järjestelmät, myös auton hälytysjärjestelmä koostuu kolmesta rakennusosasta: syöttö- ja käyttölaitteista , ohjausyksiköstä (jäljempänä BU). Syöttölaitteet sisältävät kaukosäätimen tai autohälyttimen avaimenperän . Vakiohälyttimessä (autonvalmistajan asentama) se yhdistetään useimmiten fyysiseen virta-avaimeen. Avaimenperän avulla hälytin kytketään päälle ja pois päältä sekä valvotaan auton tilaa. Useissa hälytysmalleissa avaimenperää käytetään moottorin etäkäynnistykseen, sähkölaitteiden ohjaamiseen ja auton etsimiseen parkkipaikalta.

Ohjausyksikkö on hälyttimen sydän ja sijaitsee auton sisällä, ulkopuolelta näkymättömässä paikassa. Ajoneuvon elektronisessa johdotusjärjestelmässä (katso Controller Area Network ) CU on kytketty tämän hälyttimen toimintaan tarvittaviin antureisiin (nämä voivat olla paikka- ja nopeusantureita, induktiivisia, magnetoresistiivisiä, optisia antureita (seuraamaan erilaisia ​​ajoneuvoparametreja, esim. kehon eheyteen), anturien paine) [1] .

Ohjausyksikön ja avaimenperän välinen data välitetään radiokanavalla , joka ei ole suojattu. Toisin sanoen radioaallot eivät etene johonkin suuntaan ja lähetettyä dataa voidaan kuunnella kaukana auton omistajasta. Tietyillä salausalgoritmeilla siirrettävä data salataan ja välitetään pieninä sarjoina -  paketteina . Jokainen paketti voidaan esittää komentona (esimerkiksi "Avaa lukot"), vastauksena komentoon ("Lukot ovat auki") tai viestinä ("Huomio! Sytytys on päällä!").

Huolimatta siitä, että siirretyille tiedoille (luetelluille aiemmin) suoritetaan palautuvia muunnoksia avaimella , jotta ne piiloutuisivat luvattomalta henkilöltä (tässä tapauksessa henkilöltä, joka ei ole auton omistaja), toisin sanoen tiedot. on salattu venäläisessä kirjallisuudessa ja tieteellisissä aikakauslehdissä auton hälyttimien osalta ilmaisut "staattinen koodaus" , "dynaaminen koodaus", "dialogikoodaus" (ja vastaavat ilmaukset sanalla "koodi"), jotka ovat virheellisiä näkemys kryptografiasta, ovat vakiintuneet. Itse asiassa nämä ovat kolmen tyyppisiä salauksia, ja lisäksi pidämme ne huomioon ottaen tämän tosiasian mielessä.

Staattinen koodaus

Ensimmäiset signalointialgoritmit perustuivat staattiseen koodaukseen . Samaan aikaan jokaisella joukkueella oli oma komentopaketti, joka ei muuttunut ajan myötä (tästä tämän tyyppisen koodauksen nimi). Esimerkiksi komento "Avaa ovet" vastasi aina komentopakettia " Q1234Y" (tässä muodossa se välitettiin avaimenperästä ohjausyksikköön). Paketin muodon valitsi käyttäjä itse (tai hälyttimen valmistaja), vaihtamalla moottoreita avaimenperän sisällä tai juottamalla hyppyjohtimet. Koska koodivaihtoehtoja oli vähän, joskus avaimenperällä saattoi avata jonkun toisen auton samalla hälyttimellä - pakettimuodot sopivat. Tällainen koodaus ei tietenkään tarjonnut asianmukaista suojaa - riitti, että kuuntelimme "Disarm" -komentoa vastaavan paketin kerran ja pääset sitten sen toistamisen jälkeen autoon.

Codegrabber

Staattisen koodausmenetelmän haavoittuvuudesta ja mahdollisuudesta kuunnella radiota tuli sysäys  koodinsieppaajien syntymiselle  - erityisille teknisille laitteille, jotka voivat siepata signaalin, purkaa ja toistaa koodin. Siten koodinsieppaaja olennaisesti jäljittelee tavallista hälytystä omistajan tietämättä. Suunnittelussaan koodinsieppaaja toistaa lähes täsmälleen auton hälyttimen avaimenperän - siinä on radioaaltojen vastaanotin ja lähetin, ohjausmikro-ohjain, fyysiset painikkeet ja ilmaisinvälineet. Tällaisten laitteiden valmistuksen yksinkertaistamiseksi kaappaajat käyttävät usein hälytysavaimen runkoa, koska siellä on jo painikkeet, antenni ja osoitin. Lisäksi visuaalisesti tällaista koodinkaappausavaimenperää ei voida erottaa referenssiavaimenperästä.

Dynaaminen koodaus

Suojatakseen autohälyttimet koodinkaappaajan hakkeroilta, he alkoivat käyttää  dynaamista koodia  - jatkuvasti muuttuvaa datapakettia, joka välitettiin avaimenperästä hälytysyksikköön radiokanavan kautta. Jokaisen uuden komennon yhteydessä avaimenperästä lähetetään koodi, jota ei ole käytetty aiemmin.

Kuinka se toimii

Hälytin toimii seuraavan periaatteen mukaan. Kun auton omistaja painaa avaimenperän painiketta, syntyy signaali. Se sisältää tietoja laitteen sarjanumerosta, salaisesta koodista ( salausavain ) ja napsautusten määrästä (tämä on tarpeen synkronoida avaimenperän ja ohjausyksikön toiminta). Nämä tiedot on esisalattu ennen lähettämistä. Itse salausalgoritmi on vapaasti saatavilla, mutta tietojen salauksen purkamiseksi sinun on tiedettävä salainen koodi, joka kirjoitetaan avaimenperälle ja ohjausyksikköön tehtaalla. Saattaa näyttää siltä, ​​että koodin sieppaajien ongelma on ratkaistu - mutta sitä ei ollut olemassa. Dynaaminen koodaus ei myöskään vastustanut uusien muutosten koodinkaappajia.

Hakkerointi koodin sieppaajalla

Ensimmäinen menetelmä perustuu hälytyskoodin vaihtamiseen ( Code Grabber code change ), jossa päälle- ja poistokomennot suoritetaan yhdellä painikkeella. Hakkerointimenetelmänä on luoda häiriöitä ja siepata signaali. Kun auton omistaja nousee ulos autosta ja painaa avaimenperän painiketta, syntyy voimakkaita radiohäiriöitä. Tämän seurauksena koodilla varustettu signaali ei saavuta hälytyksen ohjausyksikköä, vaan koodin sieppaaja sieppaa ja kopioi sen. Hämmentynyt kuljettaja painaa painiketta uudelleen, mutta prosessi toistetaan ja myös toinen koodi siepataan. Toisesta kerrasta lähtien auto asetetaan puolustukseen, mutta käsky tulee varkaan laitteelta. Kun omistaja jatkaa rauhallisesti asioitaan, kaappaaja lähettää toisen, aiemmin siepatun koodin ja poistaa auton suojasta. Ilmeisesti suojaa tällaista hakkerointia vastaan ​​on se, että automaattisen singalisoinnin tuottajat käyttävät viestin luomisalgoritmeja, jotka on sidottu luomisaikaan ja elinikään (samanlainen kuin TOTP), mikä varmistaa, että hyökkääjän tallentama viesti vanhentuu. Samalla viestin pitäisi vanhentua hyvin lyhyessä ajassa, mikä ei anna rikollisen käyttää sitä auton omistajan huomaamatta. Mutta jos salausalgoritmit ja käytetyt salaisuudet murtautuvat, hyökkääjällä on mahdollisuus luoda kopio laillisesta avaimenperästä.

Toinen menetelmä on analyyttinen ja perustuu auton hälytysvalmistajien algoritmiin jättämiin haavoittuvuuksiin. Esimerkiksi joidenkin autojen vakiojärjestelmissä on samat avaimet. Tämä mahdollistaa ns. algoritmisten koodikaappausten valmistamisen . Tällaiset laitteet määrittävät hälyttimen merkin ja merkin avaimenperän digitaalisella viestillä, sitten suoritetaan vertailu tehtaan "salaisten" koodien (tai tehdaskoodien) pohjaan, ja lopulta koodinsieppaaja alkaa toimia. vastaanotettujen tietojen kanssa, josta tulee täydellinen kopio omistajan avaimenperästä. Tehdastietokanta muodostuu valmistajien itsensä tietovuodoista sekä joidenkin haavoittuvuuksien vuoksi (esimerkiksi samat avaimet useille autohälyttimille) [2] .

Relevanssi

Tunnetuin dynaaminen koodausalgoritmi on  amerikkalaisen Microchip Technologyn kehittämä  KeeLoq . Algoritmi on symmetrinen (eli sama avain salaukseen ja salauksen purkamiseen) lohkosalaus , jossa on 32-bittinen lohko ja 64-bittinen avain, joka perustuu NLFSR-ohjelmistokomponenttiin - epälineaariseen takaisinkytkentäsiirtorekisteriin [3] [ 4] . Analyyttisesti tätä algoritmia ei ole vielä hakkeroitu, vain sen epäonnistuneet toteutukset on hakkeroitu [5] . Esimerkiksi monet valmistajat kirjoittavat saman avaimen kaikille järjestelmille, mikä mahdollistaa "manufactory" -koodinsieppaajan luomisen [6] .

Monet autohälytinvalmistajat ovat kehittäneet omia dynaamisia koodejaan tehden merkittäviä parannuksia. Osa niistä pidetään vielä avaamattomina. Sinun on kuitenkin ymmärrettävä, että dynaamiset koodaushälytykset ovat jo jonkin verran vanhentuneita, ne eivät tarjoa sataprosenttista suojaa autoa varkauksilta. Ne korvattiin puhekoodauksella varustetuilla laitteilla.

Dialogikoodaus

Tällä hetkellä luotettavin ja salauksenkestävin on ns. "dialogikoodaus", joka vaatii kaksisuuntaisen viestintäkanavan (vastaanottimen ja lähettimen läsnäolo sekä päämoduulissa että avaimenperässä). Kaksisuuntaisen viestintäkanavan ansiosta on mahdollista järjestää salausavainten vaihto Diffie-Hellmanin vastaavan protokollan perusteella . Avaimenperän tunnistaminen tapahtuu useissa vaiheissa. Tarkastellaan yksityiskohtaisemmin auton virittämis- / poiskytkemisprosessia.

Kun auton omistaja painaa painiketta, avaimenperästä tulee pyyntö komennon suorittamisesta keskushälytinyksikköön. Seuraavaksi ohjausyksikön on varmistettava, että komento on lähetetty omistajan avaimenperästä. Tätä tarkoitusta varten se luo satunnaisluvun ja lähettää sen avainnippuun. Tämä numero käsitellään tietyn algoritmin mukaisesti ja lähetetään takaisin ohjausyksikköön. Samanaikaisesti ohjausyksikkö käsittelee samaa numeroa ja vertaa sitä avaimenperästä saatuun numeroon. Jos ja vain jos numerot täsmäävät, merkinantokeskusyksikkö suorittaa komennon. On syytä huomata, että erityinen algoritmi, jolla laskelmat suoritetaan satunnaisluvulle, on puhtaasti yksilöllinen jokaiselle autohälyttimelle, se sisällytetään siihen tuotantovaiheessa ja useimmissa tapauksissa on liikesalaisuus.

Dialogikoodausesimerkki

Harkitse seuraavaa algoritmia:

,

missä A, B, C, m ovat numeroita, jotka kirjoitetaan hälyttimeen hälytyksen tuotantovaiheessa (eri hälytyskohtaisesti);

X on ohjausyksikön generoima satunnaisluku, joka lähetetään kaukosäätimeen (muuttuu jokaisen komennon myötä);

Y on luku, jonka ohjausyksikkö ja avaimenperä laskevat tietyn algoritmin mukaisesti.

Avaimenperän painikkeen painamisen jälkeen ohjausyksikkö loi satunnaisluvun ( X = 977 ) ja lähetti sen kaukosäätimeen. Laskennassa hyväksymme:

A = 37, B = 17, C = 23, m = 610 .

Korvaamalla ja suorittamalla laskelmat saadaan numero ( Y = 46882441603), joka pitäisi saada avaimenperän ja BU:n laskelmien aikana. Jos osuma osuu, ajoneuvoyksikkö sallii komennon suorittamisen.

Turvallisuus

On selvää, että signaloinnissa käytetyt algoritmit ovat paljon monimutkaisempia. Mutta jopa yllä olevassa esimerkissä datapaketit on siepattava neljä kertaa (koska yhtälössä on neljä tuntematonta).

On analyyttisesti mahdotonta siepata ja purkaa interaktiivisen autohälyttimen datapakettia. Tämä johtuu siitä, että jokainen järjestelmä käyttää yksilöllistä salausavainta, joka lähetetään vain kerran rekisteröitäessä avaimenperä järjestelmään. Avaimen pituus on 128 bittiä (uudemmassa 256 bitissä), mikä antaa yhdistelmiä. Tämän luvun lajitteleminen nopeudella jopa miljardi vaihtoehtoa sekunnissa vie enemmän aikaa kuin universumi on olemassa.

Lisäksi CU käyttää laitteiston satunnaislukugeneraattoria, joka on lisäksi suojattu hakkeroinnilta. Tietopakettien lähetykseen liittyy myös taukoja, mikä johtaa lähetystaajuuden hyppyyn järjestelmän avaimenperän valtuutusjakson sisällä.

Kaikki edellä mainitut toimenpiteet vaikeuttavat avaimenperästä ohjausyksikköön lähetetyn komennon sieppaamista ja salauksen purkamista tai päinvastoin, mikä tekee tänään mahdottomaksi hakkeroida autohälytintä dialogikoodin perusteella. Jotkut suuret valmistajat järjestävät kilpailua löytääkseen haavoittuvuuksia keskusteluviestinnässä. Niiden löytämisestä tarjotaan suuri rahallinen palkkio [7] . (Tällä hetkellä avaimenperän ja tämän yrityksen tietoturvakompleksin välisen radiokeskuksen dialogikoodia ei ole hakkeroitu).

Keyless Entry System (PKES)

Viime vuosina on tullut suosittu uudentyyppinen autohälytin, joka ei vaadi omistajaa painamaan avaimenperän painikkeita virittääkseen/poistaakseen virityksen, riittää kun lähestyt autoa lähietäisyydeltä ovien lukituksen avaamiseksi, tai siirry pois niin, että ovet ovat lukossa ja hälytin menee suojaksi. Lisäksi tämäntyyppinen hälytin mahdollistaa auton käynnistämisen painikkeella ilman klassista virta-avainta. Tällaista järjestelmää kutsutaan nimellä PKES (Passive Keyless Entry and Start - "passiivinen avaimeton sisäänkäynti ja moottorin käynnistys") [8] .

Kuinka se toimii

Heti kun omistaja lähestyy autoa ja painaa ovenkahvassa olevaa painiketta, auto "herää" ja aloittaa dialogin avaimen kanssa (katso Dialogikoodaus):

- Hei, olen auto X tunnisteella Z. Kuka sinä olet?

Tämä viesti lähetetään ilmassa 125 kHz:n taajuudella, ja jos avaimenperä (kutsutaan myös älyavaimeksi / smart-keyksi) on lähellä ja ymmärtää pyynnön kielen, se vastaa välittömästi koneeseen omalla toimintataajuudellaan. (433 tai 868 MHz). Lisäksi se vastaa salausalgoritmin luomalla digitaalisella yhdistelmällä (yksilöllinen jokaiselle signaloinnille):

- Hei, minä olen avaimesi! Vastauskoodi X123.Y456.Z789.

Sähköisten petosten (ennalta tallennettujen pakettien pelaaminen, koodin lähettäminen matkapuhelin- tai mobiili-Internet-kanavien kautta) sulkemiseksi pois sähköisen avaimen vastauksen on tultava reaaliajassa (viiveet lasketaan nanosekunteina), joten kaikki yritykset avata auto on tuomittu. epäonnistumiseen. Mutta edes tällaiset älykkäät toimet eivät aina pelasta varkaudelta.

Haavoittuvuudet

PKES-järjestelmien rikollisesta haavoittuvuudesta keskusteltiin vuonna 2011, kun sveitsiläisten ohjelmoijien ryhmä esitteli menetelmän "pidentää" auton avaimen viestintäkanavaa. Tekniikka oli nimeltään Relay Station Attack [9] . Siihen mennessä venäläiset kaappaajat käyttivät jo tällaisia ​​laitteita voimallisesti [10] .

Hyökkääjä tarvitsee erityisen toistimen (kutsutaan myös "sauvaksi"/"pitkäksi käsivarreksi"), joka maksaa kymmeniä tuhansia euroja, sekä avustajan, jonka tulee sijaita älyavaimen eli Omistajan vieressä. . Kun kaappaaja painaa painiketta avatakseen auton, signaali välitetään toistimen kautta avustajan laitteeseen, joka on jo yhteydessä hälyttimen avaimenperän kanssa. Tällaisten toimien avulla voit varastaa minkä tahansa auton.

Otetaan esimerkki varkaudesta. Pysäköit autosi kauppakeskuksen lähelle, suljit ovet ja lähdit asioimaan, ovet lukittuivat automaattisesti samaan aikaan. Tunkeilija nro 1 vastaanottimella lähestyy autoasi, ja tunkeilija nro 2 on lähelläsi avaimesi signaalitoistin kanssa. Auto tunnistaa tällä hetkellä, että olet väitetysti lähellä ja avautuu. Intruder #1 astuu autoon ja ajaa pois.

Varkaussuoja

Kuinka käsitellä tätä haavoittuvuutta? On laiteohjelmisto, joka vaihtaa hälytyksen ohjauskoodin toiseen, mikä tarkoittaa, että radiokanava on toistimien ulottumattomissa. On myös todistettu menetelmä - piilottaa hälyttimen avaimenperä metalloituun kalvonäyttöön (katso Faradayn häkki ) - yksinkertainen mutta tehokas tapa estää fyysisesti vuoropuhelu avaimenperän ja ohjausyksikön välillä heti, kun siirryt pois autoon ja piilota avaimenperä.

Katso myös

Muistiinpanot

  1. Automoottoreissa käytetyt anturityypit . Käyttöpäivä: 15. joulukuuta 2017. Arkistoitu alkuperäisestä 16. joulukuuta 2017.
  2. Luettelo järjestelmistä, jotka algoritmikoodinsieppaaja on avannut suuren varkaudenestovalmistajan mukaan (pääsemätön linkki) . Käyttöpäivä: 15. joulukuuta 2017. Arkistoitu alkuperäisestä 4. huhtikuuta 2016. 
  3. Johdatus KEELOQ® Code Hoppingiin  (downlink)
  4. Keeloq-mikropiirit "hyppy"kooditekniikalla (alkuperäisen dokumentaation venäläinen muokkaus) (pääsemätön linkki) . Haettu 15. joulukuuta 2017. Arkistoitu alkuperäisestä 27. tammikuuta 2018. 
  5. Käytännön hyökkäys KeeLoqia vastaan . Haettu 14. joulukuuta 2017. Arkistoitu alkuperäisestä 20. joulukuuta 2017.
  6. KeeLoqin algebralliset ja liukuhyökkäykset (downlink) . Haettu 14. joulukuuta 2017. Arkistoitu alkuperäisestä 17. toukokuuta 2017. 
  7. / Kilpailu dialogisen autohälyttimen murtamisesta . Haettu 14. joulukuuta 2017. Arkistoitu alkuperäisestä 14. joulukuuta 2017.
  8. [Journal AutoReview AR No. 15-16 2015]
  9. Relehyökkäykset nykyaikaisten autojen passiivisiin avaimettomiin sisäänkäynti- ja käynnistysjärjestelmiin (linkki ei saatavilla) . Haettu 14. joulukuuta 2017. Arkistoitu alkuperäisestä 3. joulukuuta 2017. 
  10. [Journal AutoReview AR No. 8, 2011]

Linkit

  1. Luettelo hälytyksistä, jotka avautuvat ja kestävät algoritmisen koodin sieppaajan
  2. Hyökkäys auton hälyttimeen. Kuinka auton hälytysjärjestelmä toimii?
  3. "War Texting" SMS-hyökkäys auton varastamiseksi tai SCADA-järjestelmien ohjaamiseksi?