Siirry sisältöön

Diagnostiikan suojatut toimialueet – tietoturvatoimet tuovat haasteita myös jälkimarkkinoille

Diagnostiikka terminä tarkoittaa ajoneuvon ohjausyksiköiden kanssa kommunikointia ulkoisella testilaitteella. Diagnostiikkaa käytetään jälkimarkkinoilla pääsääntöisesti vianmääritykseen, määräaikaishuoltoon liittyviin toimiin ja lukuisiin muihin huoltoon ja korjaukseen liittyviin rutiineihin, kuten erilaisten elektronisesti ohjattujen järjestelmien kalibrointeihin ja perusasetuksiin. 

Diagnostiikkaa käytetään yhtä lailla laajasti myös ajoneuvon erilaisten ohjausyksiköiden raudan ja ohjelmistojen suunnittelussa, testauksessa ja validoinnissa tuotekehitys- ja tuotantovaiheissa. Diagnostiikka mahdollistaa laajan pääsyn ajoneuvon ohjelmistoihin ja ohjausalgoritmeihin – ja niiden uudelleen ohjelmointiin – sekä ennalta määritettyihin ohjausyksikkökohtaisiin huolto- ja testirutiineihin. 

Diagnostiikan perusteet

Ulkoinen testilaite (diagnoosi-testeri) – tai sen fyysinen osa eli VCI (Vehicle Communication Interface) – liitetään ajoneuvon OBD-pistokkeeseen, jonka kautta se muodostaa fyysisen yhteyden ajoneuvon tiedonsiirtoväyliin. Tämän yhteyden kautta on mahdollista kommunikoida ajoneuvon eri ohjausyksiköiden kanssa. 

Fyysisesti kommunikointi tapahtuu useimmiten CAN-väylän tai Ethernet-pohjaisen tiedonsiirron (DoIP – Diagnostics over Internet Protocol) välityksellä. Kommunikaatioon käytetään pääosin standardoituja protokollia, kuten UDS (Unified Diagnostic Services) tai KWP (Keyword Protocol), jotka voidaan nähdä eräänlaisina kielinä, joita sekä diagnoositesteri että ohjausyksikkö ymmärtävät. Nämä protokollat sisältävät erilaisia palveluita, joilla voidaan suorittaa erilaisia toimenpiteitä. 

Yhdentyyppisellä palvelulla voidaan esimerkiksi kirjoittaa ohjausyksikön ennalta määritettyihin muistipaikkoihin erilaisia arvoja (esimerkiksi ruiskutusventtiilin korjausarvo tai ohjausyksikön varianttikoodaus), kun taas toisella voidaan pyytää ohjausyksikköä käynnistämään ennalta määritetty huoltorutiini – esimerkiksi tuulilasiin kiinnitetyn kameran kalibrointiprosessi tai vaikka jarrujärjestelmän ohjattu ilmausrutiini.

Diagnoositesterin VCI (Vehicle Communication Interface) kommunikoi ajoneuvon ohjausyksiköiden kanssa esimerkiksi CAN- tai DoIP-yhteyden kautta yleensä UDS-protokollan välityksellä (Unified Diagnostic Services). Ohjausyksiköiden autentikointitoimenpiteet eivät sinänsä aseta uusia vaatimuksia VCI:lle – ainoastaan varsinaiselle diagnoositesterin ohjelmistolle ja sen liitettävyydelle esimerkiksi eri autovalmistajien palvelimiin. Suoritetuista autentikoinneista, autentikoinnin suorittaneista tahoista ja ohjausyksikön tiedoista (esimerkiksi VIN-numero) säilötään lokitietoja autovalmistajan palvelimella. Monesti myös ohjausyksikkö säilöö tietoja autentikoinneista, käytetyistä sertifikaateista ja autentikoinnin jälkeen suoritetuista töistä. Kuva: Hella Gutmann Solutions GmbH 

Diagnostiikka tietoturvauhkana

Diagnoosiprotokollat sisältävät myös palvelun ohjausyksikön ohjelmiston lataukseen ulkoiselle testilaitteelle sekä vastaavasti palvelun ohjelmiston kirjoitukseen diagnoositesteriltä ohjausyksikköön. Näitä toimia kutsutaan Flash-ohjelmoinniksi. 

Tietyn ohjausyksikön ohjelmisto voidaan siis ensin ladata tarkasteltavaksi – ja mahdollisesti manipuloitavaksi – ja tämän jälkeen manipuloitu ohjelmisto voidaan kirjoittaa uudelleen ohjausyksikköön. Tällainen toimenpide on toki teknisesti varsin monimutkainen ja sisältää huomattavan määrän erilaisia vaiheita – etenkin jos tarkoituksena on aiheuttaa ajoneuvoon esimerkiksi konkreettinen tietoturvauhka – mutta on silti teknisesti täysin mahdollinen. 

Varsinaiseen ohjelmointiin liittyvät palvelut on tuotekehitystoimien lisäksi tarkoitettu pääosin autovalmistajien virallisten ohjelmistopäivitysten suorittamiseen jälkimarkkinoilla, mutta ne avaavat mahdollisuuksia myös erilaisille manipulaatioille ja muille väärinkäytöksille.  Toisaalta vaaratilanne voisi syntyä jo siitä, että aivan normaaleja toimintoja saataisiin diagnoositesterin kautta käynnistymään väärällä hetkellä: esimerkiksi jos jarrujen ja ajonvakauden hallintaan liittyvät huolto- ja kali-brointitoiminnot tai komponenttien aktivointi käynnistyisivät ajon aikana.

OBD-pistoke itsessään tarjoaa myös helpon pääsyn ajoneuvon sisäiseen tiedonsiirtoon ja esimerkiksi erilaisten CAN-väylän viestien lokittamiseen, käänteismallinnukseen ja manipulointiin. 

Palomuuri ajoneuvossa

OBD-pistoke on usein – nykyisin lähes aina – eristetty ajoneuvon sisäisistä tiedonsiirtoväylistä. Käytännössä OBD-pistokkeelta on CAN-väyläyhteys ainoastaan yhteen ohjausyksikköön, joka toimii reitittimenä auton muihin tiedonsiirtoväyliin ja niissä sijaitseviin ohjausyksiköihin. 

Tällaista ohjausyksikköä kutsutaan Gatewayksi. Gatewayllä on lukuisia tehtäviä, mutta tieto-turvamielessä se estää muun muassa auton sisäisen viestiliikenteen seuraamisen ja manipuloitujen CAN-viestien julkaisun OBD-pistokkeen kautta. Vastaavasti myös ulkoisia kommunikaatiotapoja (Bluetooth tai WLAN) tukevat ohjausyksiköt on usein eristetty vastaavin menetelmin ajoneuvon sisäisistä tiedonsiirtoväylistä. 

Suojatut toimialueet ja autentikointi

Tietoturvan näkökulmasta pelkkä ulkoisten pääsypisteiden fyysinen eristys ei enää riitä. Jykevämpänä diagnostiikkaan liittyvänä tietoturvatoimena käytetään joko autentikoinnin vaativaa Gateway-ohjausyksikköä (ns. SGW – Security Gateway) tai menetelmää, jossa tietyt ohjausyksiköt vaativat erillisen autentikoinnin yksittäin. 

Käytännössä tällainen Gateway ei salli tiettyjen tietoturvan kannalta kriittisten diagnoosi-palveluiden reititystä kohde-ohjausyksiköille ennen erillistä autentikointia tai lukituksen avaus-ta. Jos kukin ohjaus-yksikkö vaatii autentikointia yksitellen, ei tällainen ohjaus-yksikkö hyväksy tiettyjä diagnoosipalveluita ennen kuin autentikointi on suoritettu hyväksytysti. 

Monesti ainoastaan ”read only” -tyyppiset palvelut – kuten vikamuistin luku tai parametriarvojen tarkkailu – sallitaan ilman autentikointia. Näin ollen esimerkiksi vikamuistin tyhjennys tai huoltovalon resetointi ei olisi mahdollista ilman autentikointiprosessia. 

Security Gateway (SGW) ja muut erillistä autentikointia vaativat diagnostiikkaan liittyvät tietoturvatoimet luovat haasteita autokorjaamoille. Ilman asianmukaisia tunnuksia, laitteita ja lisenssejä arkisten toimintojen – kuten huoltovälinäytön resetoinnin tai vikamuistin tyhjennyksen – suorittaminen ei ole enää mahdollista. Vastaavia toimintoja on tavattu noin 2016 vuodesta alkaen ensin FCA-konsernin ajoneuvoissa, ja vähitellen samankaltaisia ratkaisuja on jalkautettu käyttöön esimerkiksi VW-Groupin, Nissanin, Kian, Hyundain, Renault’n ja BMW:n eri malleissa ja eri ohjausyksiköissä. Tekniset toteutukset ja jälkimarkkinoille suunnatut ratkaisut eroavat autovalmistajien välillä räikeästi toisistaan. Kuva: Hella Gutmann Solutions GmbH

Autentikointi käytännössä

Autentikointi perustuu henkilö-kohtaisiin, omilla henkilötiedoilla ja henkilöllisyystodistuksella anottaviin tunnuksiin, joilla voidaan luoda henkilökohtainen sertifikaatti tai salaus-avain. Tätä sertifikaattia käytetään joko pääsyyn johonkin autentikoinnin mahdollistavaan kryptografiseen ratkaisuun tai niin, että sertifikaatin siirto ja tarkastus suoritetaan diagnoositesterin avulla ja ohjaus-yksikön toimesta. Teknisiä toteutuksia on useita autovalmistajasta riippuen. 

Autentikointi ja muut tietoturvatoimet ovat osa ohjausyksikön käyttöjärjestelmää ja ohjelmistoa – joskus myös rautaa –, ja autentikointiin käytetään sille erikseen tarkoitettua UDS-diagnoosiprotokollassa määritettyä palvelua. Valtuutettujen huolto-korjaamoiden tapauksessa tekninen toteutus on pääosin aina sulautettu autovalmistajan omaan diagnoositesteriin ja henkilökohtaisten tunnusten anomiseen on luotu organisaation sisäinen prosessi. 

EU-lainsäädäntö vaatii ratkaisun myös riippumattomille toimijoille. Tavallinen ratkaisu on autovalmistajan tuottama erillinen, autentikointiin tarkoitettu ohjelmisto ja esimerkiksi henkilökohtainen USB-palikka, joka sisältää yksilöllisen salausavaimen. Ohjelmisto on usein suunniteltu toimimaan SAE J2534 -standardia noudattavan VCI:n kanssa. Tämä PassThru-konseptiin liittyvä standardi on hyvin yleisesti tuettu, joten esimerkiksi olemassa olevaa monimerkkitesterin VCI:tä voidaan monesti käyttää yhdessä merkkikohtaisen ohjelmiston kanssa.

Eräillä pääosin riippumattomille jälkimarkkinoille monimerkkitestereitä valmistavilla tahoilla on tarjolla universaali ratkaisu useiden eri autovalmistajien autentikointiprosesseihin. Diagnoositesterin käyttäjän tulee anoa henkilökohtainen tunnus diagnoositesterin valmistajalta. Tunnukset säilötään ns. middleware-palvelimella, joka sisältää rajapinnan kunkin autovalmistajan omaan palvelimeen. Kun ohjausyksikkö vaatii autentikointia, kirjautuu käyttäjä sisään omilla tunnuksillaan diagnoositesterin käyttöliittymästä. Tämän jälkeen diagnoositesteri tarkastaa tunnusten voimassaolon ja paikkansapitävyyden diagnoositesterivalmistajan keskitetyltä middleware-palvelimelta ja suorittaa tarvittavan tietojenvaihdon kyseisen autovalmistajan oman, autentikointiin tarkoitetun palvelimen kanssa ohjelmistorajapinnan kautta. Toimenpide saattaa sisältää esimerkiksi Private Key -avaimen noudon tai uuden sertifikaatin luonnin. Näiden tietojen avulla diagnoositesteri kykenee suorittamaan vaaditun autentikoinnin. Tällaisessa ratkaisussa käyttäjän ei tarvitse luoda henkilökohtaisia tunnuksia kullekin autovalmistajalle tai käyttää kunkin autovalmistajan omaa ratkaisua autentikointiin. Kuva: Hella Gutmann Solutions GmbH

Universaalejakin autentikointimenetelmiä on tarjolla

Merkkikohtaisten autentikointi-menetelmien käyttö vaatisi riippumattomalta korjaamolta henkilökohtaisten tunnusten anomista kaikilta autovalmistajilta kullekin mekaanikolle tai muulle diagnoositesterin käyttäjälle. Lisäksi kunkin autovalmistajan oma autentikointiin tarkoitettu ohjelmisto tulisi ostaa, tilata ja asentaa erikseen. 

Monimerkkitestereitä riippumattomille korjaamoille tuottavat yritykset ovat kuitenkin tuoneet markkinoille ratkaisuja, joissa autovalmistajakohtaisia tunnuksia, laitteita tai ohjelmistoja ei tarvita. Kukin diagnoositesterin käyttäjä tarvitsee ainoastaan yhdet henkilökohtaiset tunnukset, jotka voidaan luoda monimerkkitesterivalmistajan oman palvelun kautta. 

Näitä tunnuksia voidaan käyttää suoraan monimerkkitesterissä, joka siirtää tunnistustiedot kunkin autovalmistajan palvelimelle verkkoyhteyden yli ja hoitaa esimerkiksi sertifikaattien luonnin, päivityksen ja validoinnin sekä varsinaisen autentikoinnin halutun ohjausyksikön kanssa. 

Teknisesti ratkaisu on varsin hienostunut ja monimutkainen, mutta vaatii käyttäjän näkökulmasta ainoastaan yksien henkilöllisyystodistuksella anottavien tunnusten luonnin ja niillä sisäänkirjautumisen monimerkkitesterissä – riippumatta siitä, minkä automerkin kanssa kulloinkin työskennellään. Tunnukset ovat toki diagnoositesterivalmistajakohtaisia, eli esimerkiksi diagnoositesterivalmistaja A:n tunnukset eivät lähtökohtaisesti toimi diagnoositesterivalmistaja B:n autentikointia vaativissa töissä. 

Kirjoittaja: Valtteri Härkönen