Att uppdatera mjukvara och firmware med hjälp av Over-the-Air (OTA) har ökat inom handhållna enheter, industri- och fordonssektorerna för inbyggda plattformar med tiden. När produkten väl finns i den verkliga världen krävs firmware- eller mjukvaruuppdatering i samband med buggfixar, säkerhetsfixar eller funktionsuppdatering för att förbättra enheten och hålla den uppdaterad med den senaste mjukvaran.

OTA är en teknik för att uppdatera mjukvaran eller firmware på distans.

När det gäller ett fordon uppdateras den fasta programvaran eller programvaran trådlöst med hjälp av en telekommunikationsenhet, genom en gateway inne i bilen till ECU:n vars närvaro ökar i moderna fordon.

Vad är behovet av OTA (Over-the-Air Update) för fordonet?

Inom fordonsindustrin har fordonet blivit mer och mer intelligent och smart. För närvarande styrs fordonen huvudsakligen av en programvara snarare än av traditionella mekaniska komponenter. För ett decennium sedan, om programvaran behövde uppdateras, bogserades fordonet till en bensinstation och anslöts till systemet/datorn för att uppdateras. OTA löser problemet med tillförlitligheten hos varje uppdatering som fanns tidigare, för det andra beroendet av bensinstationen, som bär fordonet till stationen, och kostnaden för att uppdatera programvaran blir mycket låg, och det är inte särskilt besvärligt för både kunden och bensinstationen. Sist men inte minst är det viktigt att säkerhetsuppdateringen sker i tid för varje fordon och att den görs på ett enkelt sätt.OTA-uppdateringen för mobiltelefoner och fordon sker på olika sätt, OTA-uppdateringen för fordon är mer komplicerad och strängare än för handhållna enheter, och en felaktig programvaruuppdatering kan också skada användarens liv. Elektroniska styrenheter (ECU) har blivit den viktigaste komponenten i fordonet idag, ECU har ersatt alla mekaniska styrkomponenter. I allmänhet är ECU:er sammankopplade genom ett eller flera nätverk och delar information som möjliggör komplexa interaktioner och regleringar. I avancerade förarassistanssystem (ADAS) till exempel, kommer den ökande funktionella kapaciteten med en högre systemkomplexitet, vilket gör det mer sannolikt att programvarufel uppstår som kan få konsekvenser för hela fordonets säkerhet och trygghet. Med regelbundna mjukvaruuppdateringar och förbättringar kan man se till att systemen är korrekta, effektiva och tillförlitliga under hela fordonets livslängd. I den här bloggen beskrivs främst den helhetslösning som kan användas för att stödja OTA-programvaruuppdateringar inom fordonssektorn. I det föregående avsnittet talade vi om OTA och förstod att OTA-uppdateringar inom fordonssektorn har stora utmaningar när det gäller säkerheten vid uppdatering av programvaran via luften. Om angriparna får kontroll över fordonet kan man hamna i en farosituation.

  • Motorns växellåda kan slås på/av
  • Passagerare eller förare kan låsas in i bilen
  • Blåsa i hornet oavbrutet
  • Kontrollera styrsystemet
  • Bilens bromssystem
  • Förstärka hastigheten på bilen bortom trafikreglerna.
  • Kontroll av navigations-, ljud- eller infotainmentsystem
  • Falskt larm i cockpit

Låt oss se hur OTA-uppdateringen sker i fordonet. Översikt: OTA-fjärruppdateringsmetoden för fordonen är snabb och kostnadseffektiv och möjliggör uppdatering av programvaran som körs på deras ECU över luften, och bilanvändarna kan uppdatera programvaran var som helst utan att behöva gå till servicecentret eller verkstaden. Dessutom kan OEM-företag diagnostisera bilen utifrån de data som tas emot via over-the-air från bilen

Figur 1: Allmän översikt över OTA-uppdatering

Säker OTA i fordonssystemet: Den säkra OTA-uppdateringen är den viktigaste faktorn när man uppdaterar den fasta programvaran eller programvaran för ECU:n. Det finns många utmaningar för att uppnå en säker OTA-uppdatering. Det finns många tekniker som föreslagits och genomförts inom branschen för att uppnå säkra OTA-uppdateringar. Vi kommer att diskutera några av dem och förklara den vanligaste tekniken som används inom bilindustrin. Låt oss dela upp hela end-to-end-arkitekturen i tre komponenter och vad syftet med dem är. Backend Server

  • Skapa de uppdaterade bilderna/samla in bilderna från de olika Tier-1
  • Försörja bilderna för uppdatering av firmware och mjukvara för att flasha till enheten
  • Den kan behöva stödja klient-server-arkitektur, om huvudenheten begär uppdateringen.

Kommunikationskanal

  • Skapa en säker mekanism
  • Skapa en säker n/w så att bild eller data inte manipuleras.

Head Unit

  • Kan behöva utlösa mjukvaruuppdatering (klient)
  • Säkerställ att rätt bilder är installerade
  • Mindre stilleståndstid vid uppdatering av bilderna
  • Roll back sker vid fel

Backend Server: Backend-servern är huvudsakligen ansvarig för att skapa de firmware- och mjukvaruavbildningar som måste distribueras i fordonsenheterna. Backend-servern försöker samla in de avbildningar som måste installeras från de olika Tier-1-leverantörerna och packa ihop dem till en enda avbildning för alla ECU:er. Denna backend-server kan vara baserad på det Yocto-baserade systemet (öppen källkod) eller på tredje parts stödarkitektur. Kommunikationskanal: Den mest utmanande delen av komponenten är när data/bilder exponeras för n/w och de är lätta för angriparna att manipulera. Det finns många tekniker, lösningar med öppen källkod och lösningar från tredje part för säker uppdatering till huvudenheten. Uptane är den första heltäckande säkerhetsramen som vägleder genomförandet av OTA-uppdateringssystem på konstruktionsnivå. Head Unit (själva fordonet): Head units består av många ECU:er, vissa kanske har hög hastighet, andra lägre hastighet, och även olika typer av ECU:er, TCU:er (Telematics Control Unit), gateways, varje komponent har en roll att spela i OTA-uppdateringen. Huvuddelenheten måste också se till att den är redo att ansluta till backend för att få uppdaterad firmware och mjukvara. Eller själv har möjlighet att utlösa en begäran om uppdatering. OTA-uppdatering med hjälp av Uptane Uppdateringsramen (TUF) är utformad för att skapa ett säkerhetssystem för att skydda användare av programvaruupplagor från säkerhetsattacker. Det har utformats med tanke på att backend-servern kanske inte är säker, eller att nyckeln som används för kryptografin kan stjälas. Det skapar alltså ett distribuerat system där det inte finns något beroende av ett visst system och där alla system inte kan hackas så lätt på samma gång om en angripare skulle komma på tråd. The Update Framework (TUF) har delat upp rollerna i fyra delar (Root of trust, Timestamps, Snapshot, Targets) Uptane bygger på The Update Framework (TUF), som är distribuerad (Timeserver, katalog- och avbildningsarkiv, manifest, primära/sekundära ECU, fullständig och partiell verifiering.

Figur 2: Översikt över Uptane

Backend Server: Den kommer att innehålla bilderna (de data som måste uppdateras till ECU:n) med metadata (kryptografiska hash, filstorlek) Image Repository: Den kommer att innehålla bilderna (de data som måste uppdateras till ECU:n) med metadata (kryptografiska hash, filstorlek): Bildförrådet: Bildförrådet använder en offlinenyckel för att signera metadata för alla tillgängliga uppdateringar för ECU:n. Periodiskt (t.ex. veckovis, månadsvis) uppdatera metadata om tillgängliga bilderAnvänd Uptane kommandoradsverktyg för att generera metadataAnvänd tröskelvärde för offlinenycklar (t.ex. Yubikey, HSM etc. används ofta) för att signera metadata

Figur 3: Bildförvaring

Katalogförvaring: Directory repository: Directory repository använder online-nyckeln för att signera metadata som ska användas för att installera i ECU i fordonet. Det avgör vilka bilder som skall installeras i vilka ECU, skapar olika metadata för olika fordon och får tillgång till inventeringsdata för att få information om fordonet. Används vanligtvis för att instruera ett fordon om vilka uppdateringar som ska installeras, beroende på vad det har

  • Kan användas för att omedelbart svartlista uppdateringar
  • Använder Uptane API för att generera signerade metadata
  • Använder en inventeringsdatabas för att läsa och skriva information om ECU:er (t.ex, offentliga nycklar, vad som tidigare installerats etc.)

Figur 4: Katalogförteckning

Så, nyckeln här är att innan installationen måste den bekräfta att instruktionen från katalog- och bildförteckningen stämmer överens.

Figur 5: Delning av information om fordon och OEM-slutinformation

Tidsserver: När den primära ECU:n skickar listan över tokens för varje ECUS till tidsservern returnerar tidsservern ett signerat meddelande som innehåller listan över tokens och den aktuella tiden Head unit (fordonet självt): I fordonets huvudenhet har vi olika typer av ECU:er beroende på hur de är anslutna internt eller till den yttre världen, hur kraftfulla de är när det gäller hastighet, lagringsutrymme osv.

  • Den primära ECU:n (TCU) laddar ner bilderna, verifierar dem och distribuerar sedan metadata till de andra sekundära ECU:erna
  • De sekundära ECU:erna verifierar också bilden innan de uppdaterar bilderna.
  • Den gör fullständig och partiell verifiering

Figur 6: Kommunikation mellan ECU:er

Kommunikationskanal

Fullständigt kommunikationsflöde från huvudenheten till Backend-servern.

Figur 7: Kommunikationskanal

Vad krävs för att installera Uptane?

  • OEM:n sätter upp och underhåller
    • Director repository
    • Image repository
    • Time server (valfritt)
  • Bilderna signeras av
    • Leverantör, eller OEM, eller båda!
  • ECU:er ska göra antingen
    • full verifiering eller
    • delvis verifiering
  • Måste fortsätta att använda din befintliga TLS osv. transport
    • Om transport/cachelagring äventyras, liten säkerhetsrisk

Utmaningar vid OTA-uppdatering

  • Automobiler är mer komplexa arkitekturer med ett ökande antal ECU, uppdatering av de olika typerna av ECU i sig självt blir en utmaning
  • Säkerheten för data via luften är i hög risk.
  • Hur man uppdaterar firmware och mjukvara sker med hjälp av minimala resurser som nätverksbandbredd, lagring och beräkning.
  • Är det möjligt att uppdatera inte bara applikationen/ utan även enhetens centrala drivrutin/programvara?
  • Mekanismen för återställning av programvaruuppdateringen
  • Högre stilleståndstid accepteras inte vid uppdatering av programvara eller firmware.
  • Mjukvarublockens storlek
  • Hur smidigt OTA sker utan att påverka det nuvarande systemet.

Slutsats

I fordonsvärlden kommer mjukvaruuppdateringen med tiden att öka för att se till att den är uppdaterad med tiden. Fordon måste uppdateras på ett säkert sätt. Uptane kan vara en av de lovande lösningarna för att uppdatera programvaran via luften.

Fortsatt läsning

  • Enabling SAE L3-L5 Autonomy with Sensor Fusion: Approaches and Challenges
  • Säkerhetskoncept för automatiserad körning
  • Guide to Porting Real-time Traffic Sign Recognition Algorithm on Texas Instruments TDA2x SoC