Opdatering af software og firmware ved hjælp af OTA (Over-the-Air) er med tiden blevet mere udbredt inden for håndholdte enheder, industri- og bilsektoren for den indlejrede platform. Når produktet er i den virkelige verden, er firmware- eller softwareopdatering i forbindelse med fejlrettelser, sikkerhedsrettelser eller funktionsopdatering nødvendig for at forbedre enheden og holde den opdateret med den nyeste software.

OTA er en teknologi til at opdatere softwaren eller firmwaren eksternt.

I et køretøj opdateres firmwaren eller softwaren trådløst ved hjælp af en telekommunikationsanordning via en gateway inde i bilen til ECU’en, hvis tilstedeværelse er stigende i moderne køretøjer.

Hvad er behovet for OTA (Over-the-Air Update) til køretøjet?

I bilindustrien er køretøjet blevet mere og mere intelligent og smart. I øjeblikket styres køretøjerne hovedsageligt af software i stedet for traditionelle mekaniske komponenter. For ti år siden blev køretøjet, hvis der var behov for at opdatere softwaren, slæbt til servicestationen, og køretøjerne blev tilsluttet systemet/computeren for at blive opdateret. OTA løser problemet med pålideligheden af hver enkelt opdatering, som tidligere var et problem, for det andet afhængigheden af servicestationen, idet køretøjet transporteres til stationen, omkostningerne ved at opdatere softwaren bliver meget lave, og der er ikke meget besvær for både kunden og servicestationen. Sidst, men ikke mindst, er sikkerhedsopdateringen til tiden for hvert køretøj vigtig, og den er let at udføre.Tilgangen til OTA-opdatering til mobiltelefoner og køretøjer er forskellig, OTA-opdatering til køretøjer er mere kompleks og strengere end til håndholdte enheder, og ukorrekt softwareopdatering kan også skade brugerens liv. Elektroniske styreenheder (ECU’er) er blevet den vigtigste komponent i køretøjet i dag, ECU har erstattet alle mekaniske styrekomponenter. Generelt er ECU’er indbyrdes forbundet af et eller flere netværk og deler information, der muliggør komplekse interaktioner og reguleringer. I avancerede førerassistentsystemer (ADAS) f.eks. er de stigende funktionelle muligheder forbundet med en større systemkompleksitet, hvilket gør det mere sandsynligt, at der opstår softwarefejl, som kan få konsekvenser for hele køretøjets sikkerhed og sikring. Med regelmæssige softwareopdateringer og -forbedringer kan man sikre, at systemerne er korrekte, effektive og pålidelige i hele køretøjets levetid. I denne blog beskrives primært den end-to-end-løsning, der kan anvendes til at understøtte OTA-softwareopdateringer i bilsektoren. I det foregående afsnit talte vi om OTA og forstod, at OTA-opdatering i bilsektoren har store udfordringer med hensyn til sikkerhed, når softwaren opdateres via luften. Hvis angriberne får kontrol over køretøjet, kan man ende i en faresituation.

  • Motorens transmission kan tændes/slukkes
  • Passagerer eller førere kan låses inde i bilen
  • Blæs i hornet uafbrudt
  • Kontrol af styresystemet
  • Bilens bremsesystem
  • Speeding af bilen ud over vejreglerne.
  • Kontrol af navigations-, lyd- eller infotainmentsystemet
  • Falsk alarm i cockpittet

Lad os se, hvordan OTA-opdateringen sker i køretøjet. Oversigt: OTA-fjernopdateringsmetoden i køretøjerne er hurtig og omkostningseffektiv og gør det muligt at opdatere den software, der kører på deres ECU’er over-the-air, og bilbrugerne kan opdatere softwaren hvor som helst uden at skulle gå til servicecentret eller værkstedet. Endvidere kan OEM’en diagnosticere bilen på grundlag af de data, der modtages via over-the-air fra bilen

Figur 1: Generel oversigt over OTA-opdatering

Sikker OTA i bilsystemet: Den sikre OTA-opdatering er den vigtigste faktor ved opdatering af firmware eller software til ECU’en. Der er mange udfordringer for at opnå en sikker OTA-opdatering. Der er mange teknikker, der er foreslået og implementeret i hele branchen for at opnå sikre OTA-opdateringer. Vi vil diskutere nogle af dem og forklare den mest almindelige teknik, der anvendes i bilindustrien. Lad os opdele hele end-to-end-arkitekturen i tre komponenter, og hvad er formålet med den. Backend-server

  • Skab de opdaterede billeder/indsaml billederne fra de forskellige Tier-1
  • Forsy de firmware- og softwareopdateringsbilleder, der skal flashes til enheden
  • Det kan være nødvendigt at understøtte klient-server-arkitektur, hvis hovedenheden anmoder om opdateringen.

Kommunikationskanal

  • Forsyning af sikker mekanisme
  • Forsyning af sikker n/w, så billede eller data ikke forvanskes.

Hovedenhed

  • Det kan være nødvendigt at udløse softwareopdatering (klient)
  • Sørg for, at de korrekte billeder er installeret
  • Mindre nedetid under opdatering af billederne
  • Roll back sker i tilfælde af fejl

Backend-server: Backend-serveren er primært ansvarlig for at skabe de firmware- og softwareaftryk, der skal implementeres i køretøjsenheder. Backend-serveren forsøger at indsamle de billeder, der skal implementeres fra de forskellige Tier-1-leverandører, og pakker dem i et enkelt billede til alle ECU’er. Denne backend-server kan være baseret på det Yocto-baserede system (open source) eller en tredjeparts supportarkitektur. Kommunikationskanal: Den mest udfordrende del af komponenten er, når dataene/billederne er eksponeret for n/w, og det er let for angriberne at manipulere dem. Der findes mange teknikker, open source-løsninger og tredjepartsløsninger til sikker opdatering til hovedenheden Den mest almindeligt anvendte er Uptane. Uptane er den første omfattende sikkerhedsramme, der styrer gennemførelsen af OTA-opdateringssystemer på designniveau. Head Unit (selve køretøjet): Head Units består af mange ECU’er, hvoraf nogle måske er højhastigheds- eller mindre hurtige, og der er også forskellige typer ECU’er, TCU’er (telematik-kontrolenheder), gateways, og alle komponenter spiller en rolle i OTA-opdateringen. Hovedenheden skal også sikre sig, at den er klar til at oprette forbindelse til backend for at få opdateret firmware og software. Eller selv har mulighed for at udløse en anmodning om opdatering. OTA-opdatering ved hjælp af Uptane The Update Framework (TUF) er designet til at skabe et sikkerhedssystem til at beskytte brugere af softwarerepositorier mod sikkerhedsangreb. Det er blevet designet under hensyntagen til, at backend-serveren måske ikke er sikker, eller at den nøgle, der anvendes til kryptografien, kan blive stjålet. Så det skaber et distribueret system, hvor der ikke er nogen afhængighed af et bestemt system, og i tilfælde af en angribertråd kan alle systemer ikke hackes så let på samme tid. The Update Framework (TUF) har opdelt rollerne i fire dele (Root of trust, Timestamps, Snapshot, Targets) Uptane bygger på The Update Framework (TUF), som er distribueret (Timeserver, directory and image repository, manifests, Primary/secondary ECU’s, full and partial verification.

Figur 2: Oversigt over Uptane

Backend Server: Den vil indeholde billederne (de data, der skal opdateres til ECU’en) med metadata (kryptografiske hashes, filstørrelse) Image Repository: Image repository: Image repository bruger en offline-nøgle til at signere metadataene for alle tilgængelige opdateringer til ECU’en. Periodisk (f.eks. ugentligt, månedligt) opdateres metadata om tilgængelige billederBrug Uptane-kommandolinjeværktøjer til at generere metadataBrug tærskel for offline-nøgler (f.eks. Yubikey, HSM osv. bruges ofte) til at signere metadata

Figur 3: Image repository

Directory Repository: Directory repository anvendes online-nøglen til at signere metadata, der skal bruges til at installere i ECU’en i køretøjet. Det bestemmer, hvilke billeder der skal installeres i hvilke ECU’er, opretter forskellige metadata for de forskellige køretøjer og får adgang til inventardata for at få oplysninger om køretøjet. Bruges typisk til at instruere et køretøj om, hvilke opdateringer der skal installeres, afhængigt af hvad det har

  • Kan bruges til øjeblikkeligt at sortliste opdateringer
  • Bruger Uptane API til at generere signerede metadata
  • Bruger en inventardatabase til at læse og skrive oplysninger om ECU’er (f.eks, offentlige nøgler, hvad der tidligere er installeret osv.)

Figur 4: Katalogrepositorium

Så nøglen her er, at den, før installationen, skal bekræfte, at instruktionen fra katalog og billedrepositorium stemmer overens.

Figur 5: Deling af oplysninger om køretøj og OEM-slutinformation

Tidsserver: Når den primære ECU sender listen over tokens for hver ECUS til tidsserveren, returnerer tidsserveren en signeret meddelelse, der indeholder listen over tokens og den aktuelle tid Head-enheden (køretøjet selv): I køretøjets hovedenhed har vi forskellige typer ECU’er baseret på, hvordan de er forbundet internt eller med den eksterne verden, hvor kraftige de er med hensyn til hastighed, lagerplads osv.

  • Den primære ECU (TCU) downloader billederne, verificerer dem og distribuerer derefter metadataene til de andre sekundære ECU’er
  • De sekundære ECU’er verificerer også billedet, inden de opdaterer billederne.
  • Det foretager den fulde og delvise verifikation

Figur 6: Kommunikation mellem ECU’er

Kommunikationskanal

Komplet kommunikationsflow fra hovedenheden til Backend-serveren.

Figur 7: Kommunikationskanal

Hvad kræver det at implementere Uptane?

  • OEM’en opretter og vedligeholder
    • Director repository
    • Image repository
    • Time server (valgfrit)
  • Billederne er signeret af
    • Leverandør, eller OEM, eller begge dele!
  • ECU’er skal foretage enten
    • Fuld verifikation, eller
    • Delvis verifikation
  • Må fortsat bruge din eksisterende TLS osv. transport
    • Hvis transport / caching kompromitteres, lille sikkerhedsrisiko

Udfordringer ved OTA-opdatering

  • Automotive er mere kompleks arkitektur med et stigende antal ECU, opdatering af de forskellige typer af ECU selv bliver udfordrende
  • Sikkerheden af data over luften er i høj risiko.
  • Hvordan opdatering af firmware og software sker ved hjælp af minimale ressourcer som netværksbåndbredde, lagring og compute.
  • Er det muligt at opdatere ikke kun applikationen/ men også kerne-driveren/softwaren i enheden?
  • Rollback-mekanismen for softwareopdatering
  • Højere nedetid accepteres ikke, mens software eller firmware opdateres.
  • Størrelsen af softwareblokkene
  • Hvor problemfrit OTA sker uden at påvirke det nuværende system.

Slutning

I bilverdenen vil softwareopdateringen med tiden stige for at sikre, at den er ajour med tiden. Køretøjer skal opdateres sikkert. Uptane kan være en af de lovende løsninger til at opdatere softwaren via luften.

Videre læsning

  • Enabling SAE L3-L5 Autonomy with Sensor Fusion: Approaches and Challenges
  • Sikkerhedskoncept for automatiseret kørsel
  • Guide til portering af realtidsalgoritme til genkendelse af trafikskilte på Texas Instruments TDA2x SoC