L’aggiornamento del software e del firmware usando Over-the-Air (OTA) è aumentato nei dispositivi palmari, industriali e automotive per la piattaforma embedded con il tempo. Una volta che il prodotto è nel mondo reale, il firmware o l’aggiornamento del software relativo a correzioni di bug, correzioni di sicurezza, o l’aggiornamento delle caratteristiche è necessario per il miglioramento del dispositivo e mantenerlo aggiornato con l’ultimo software.

OTA è una tecnologia per aggiornare il software o il firmware in remoto.

Nel caso di un veicolo, il firmware o il software viene aggiornato in modalità wireless utilizzando un dispositivo di telecomunicazione, attraverso un gateway all’interno dell’auto all’ECU la cui presenza è in aumento nel veicolo moderno.

Qual è la necessità di OTA (Over-the-Air Update) per il veicolo?

Nell’industria automobilistica, il veicolo è diventato sempre più intelligente e intelligente. Attualmente, i veicoli sono principalmente controllati da un software piuttosto che da componenti meccanici tradizionali. Una decina di anni fa, se c’era bisogno di aggiornare il software, il veicolo veniva trainato alla stazione di servizio e i veicoli venivano collegati al sistema/computer per un aggiornamento. OTA risolve il problema dell’affidabilità di ogni aggiornamento che era presente in precedenza, in secondo luogo la dipendenza della stazione di servizio, trasportando il veicolo alla stazione, il costo dell’aggiornamento del software diventa molto basso, e nessun fastidio per il cliente e la stazione di servizio. Ultimo ma non meno importante, l’aggiornamento di sicurezza in tempo per ogni veicolo è importante e viene fatto a easeThe approccio dell’aggiornamento OTA per i telefoni cellulari e i veicoli sono diversi, l’aggiornamento OTA del veicolo è più complesso e rigoroso rispetto al dispositivo portatile, aggiornamento software improprio può causare danni alla vita dell’utente troppo. Le unità di controllo elettronico (ECU) sono diventate il componente principale del veicolo oggi, l’ECU ha sostituito tutti i componenti meccanici dello sterzo. In generale, le ECU sono interconnesse da una o più reti e condividono informazioni che permettono interazioni e regolazioni complesse. Per esempio, nei sistemi avanzati di assistenza alla guida (ADAS), l’aumento delle capacità funzionali è accompagnato da una maggiore complessità del sistema, che rende più probabile il verificarsi di bug del software che potrebbero avere implicazioni per la sicurezza dell’intero veicolo. Con aggiornamenti e miglioramenti regolari del software, si può garantire la correttezza, l’efficienza e l’affidabilità dei sistemi per tutta la durata della vita del veicolo. Questo blog descrive principalmente la soluzione end-to-end che può essere implementata per supportare gli aggiornamenti software OTA nel settore automobilistico. Nella sezione precedente, abbiamo parlato dell’OTA e abbiamo capito che l’aggiornamento OTA nel settore automobilistico ha grandi sfide in termini di sicurezza durante l’aggiornamento del software via etere. Se gli aggressori ottengono il controllo del veicolo, si potrebbe finire in una situazione di pericolo.

  • La trasmissione del motore può essere attivata/disattivata
  • I passeggeri o i conducenti possono essere bloccati all’interno dell’auto
  • Suonare il clacson continuamente
  • Controllare il sistema di sterzo
  • Sistema di frenata dell’auto
  • Accelerare l’auto oltre il regolamento stradale.
  • Controllo del sistema di navigazione, audio o infotainment
  • Falso allarme nell’abitacolo

Vediamo come avviene l’aggiornamento OTA nel veicolo. Panoramica: Il metodo di aggiornamento remoto OTA dei veicoli è veloce, conveniente, e permette l’aggiornamento del software in esecuzione sulle loro ECU over-the-air, e gli utenti dell’auto possono aggiornare il software ovunque senza dover andare al centro servizi o all’officina. Inoltre, l’OEM può diagnosticare l’auto in base ai dati ricevuti tramite over-the-air dall’auto

Figura 1: Panoramica generale dell’aggiornamento OTA

OTA sicuro nel sistema automobilistico: L’aggiornamento OTA sicuro è il fattore più importante durante l’aggiornamento del firmware o del software per l’ECU. Ci sono molte sfide per ottenere un aggiornamento OTA sicuro. Ci sono molte tecniche proposte e implementate nell’industria per raggiungere gli aggiornamenti OTA sicuri. Ne discuteremo alcune e spiegheremo la tecnica più comune utilizzata nell’industria automobilistica. Dividiamo l’intera architettura end-to-end in tre componenti e qual è il loro scopo. Backend Server

  • Crea le immagini aggiornate/raccoglie le immagini dai diversi Tier-1
  • Fornisce le immagini di aggiornamento del firmware e del software da flashare al dispositivo
  • Potrebbe essere necessario supportare l’architettura client-server, se l’unità principale richiede l’aggiornamento.

Canale di comunicazione

  • Fornire il meccanismo sicuro
  • Fornire il n/w sicuro in modo che l’immagine o i dati non vengano manomessi.

Unità principale

  • Potrebbe essere necessario attivare l’aggiornamento del software (client)
  • Assicurarsi che le immagini corrette siano installate
  • Meno tempo morto durante l’aggiornamento delle immagini
  • Roll back avviene in caso di fallimento

Server backend: Il server backend è principalmente responsabile della creazione delle immagini firmware e software che devono essere distribuite nelle unità di bordo. Il server backend cerca di raccogliere le immagini che devono essere distribuite dai diversi fornitori Tier-1 e le impacchetta in una singola immagine per tutte le centraline. Questo server backend può essere basato sul sistema basato su Yocto (open source) o sull’architettura di supporto di terze parti. Canale di comunicazione: La parte più impegnativa del componente è quando i dati/immagini sono esposti al n/w e sono facili da manipolare per gli attaccanti. Ci sono molte tecniche, soluzioni open-source e di terze parti per l’aggiornamento sicuro all’unità di testa Il più comunemente usato è Uptane. Uptane è il primo quadro di sicurezza completo che guida l’implementazione dei sistemi di aggiornamento OTA a livello di progettazione. Unità principale (veicoli stessi): Le unità principali comprendono molte centraline, forse alcune sono ad alta velocità, o alcune meno veloci, e anche diversi tipi di ECU, TCU (unità di controllo telematico), gateway, ogni componente ha un ruolo da svolgere nell’aggiornamento OTA. L’unità principale deve anche assicurarsi di essere pronta a connettersi al backend per ottenere firmware e software aggiornati. Oppure ha essa stessa la capacità di attivarsi per richiedere l’aggiornamento. Aggiornamento OTA usando Uptane The Update Framework (TUF) è progettato per creare un sistema di sicurezza per proteggere gli utenti dei repository di software dagli attacchi alla sicurezza. È stato progettato tenendo presente che il server backend può non essere sicuro, o la chiave utilizzata per la crittografia può essere rubata. Quindi, ciò che fa è creare un sistema distribuito, dove la dipendenza da un particolare sistema non c’è, e in caso di thread dell’attaccante, tutti i sistemi non possono essere violati così facilmente allo stesso tempo. The Update Framework (TUF) ha diviso i ruoli in quattro parti (Root of trust, Timestamps, Snapshot, Targets) Uptane si basa su The Update Framework (TUF), che è distribuito (Timeserver, directory e repository di immagini, manifesti, ECU primarie/secondarie, verifica completa e parziale.

Figura 2: Panoramica del server backend Uptane

: Conterrà le immagini (i dati che devono essere aggiornati alla ECU) con i metadati (hash crittografici, dimensione del file) Image Repository: Il repository delle immagini utilizza una chiave offline per firmare i metadati per tutti gli aggiornamenti disponibili per la centralina. Periodicamente (ad esempio, settimanalmente, mensilmente) aggiorna i metadati sulle immagini disponibiliUtilizza gli strumenti a riga di comando Uptane per generare i metadatiUtilizza una soglia di chiavi offline (ad esempio, Yubikey, HSM, ecc. spesso utilizzati) per firmare i metadati

Figura 3: Repository di immagini

Repository di directory: Il deposito dell’elenco ha usato la chiave online per firmare i metadati da usare per installare in ECU sul veicolo. Determina quali immagini devono essere installate in quali ECU, crea i metadati differenti per il veicolo differente ed accede ai dati dell’inventario per ottenere i dettagli sul veicolo. Tipicamente usato per istruire un veicolo su quali aggiornamenti installare, a seconda di ciò che ha

  • Può essere usato per mettere istantaneamente in lista nera gli aggiornamenti
  • Utilizza Uptane API per generare metadati firmati
  • Utilizza un database di inventario per leggere e scrivere informazioni sulle ECU (es, chiavi pubbliche, che cosa è stato installato precedentemente, ecc.)

Figura 4: Repository di directory

Quindi, la chiave qui è che è, prima dell’installazione, deve confermare che l’istruzione da directory e repository di immagine corrisponde.

Figura 5: Veicolo e OEM fine condivisione informazioni

Tempo server: Quando l’ECU primario invia la lista dei token per ogni ECUS, al server di tempo, il server di tempo restituisce un messaggio firmato che contiene la lista dei token ed il tempo corrente Unità di testa (veicolo stesso): Nell’unità di testa del veicolo, abbiamo un diverso tipo di ECU in base a come sono collegati internamente o al mondo esterno, quanto sono potenti in termini di velocità, stoccaggio, ecc.

  • La ECU primaria (TCU) scarica le immagini, le verifica e poi distribuisce i metadati alle altre ECU secondarie
  • Le ECU secondarie verificano anche l’immagine prima di aggiornare le immagini.
  • Fa la verifica completa e parziale

Figura 6: Comunicazione tra ECU

Canale di comunicazione

Flusso completo di comunicazione dall’unità principale al server Backend.

Figura 7: Canale di comunicazione

Cosa serve per implementare l’Uptane?

  • L’OEM imposta e mantiene
    • Repository del direttore
    • Repository delle immagini
    • Time server (opzionale)
  • Le immagini sono firmate da
    • Fornitore, o OEM, o entrambi!
  • Le ECU devono fare o
    • Verifica completa, o
    • Verifica parziale
  • Possono continuare ad usare il TLS esistente, ecc. trasporto
    • Se trasporto / caching compromesso, piccolo rischio per la sicurezza

Sfide sull’aggiornamento OTA

  • L’automobile è un’architettura più complessa con un numero crescente di ECU, l’aggiornamento del diverso tipo di ECU stesso diventa impegnativo
  • La sicurezza dei dati via aria è ad alto rischio.
  • Come aggiornare il firmware e il software è fatto usando risorse minime come la larghezza di banda di rete, lo stoccaggio e il calcolo.
  • È possibile aggiornare non solo l’applicazione/ ma il driver/software di base del dispositivo?
  • Il meccanismo di rollback dell’aggiornamento del software
  • Non si accettano tempi morti più lunghi durante l’aggiornamento del software o del firmware.
  • La dimensione dei blocchi software
  • Come avviene l’OTA senza soluzione di continuità con impatto sul sistema corrente.

Conclusione

Nel mondo automobilistico col tempo l’aggiornamento del software aumenterà per assicurarsi che sia aggiornato nel tempo. I veicoli devono essere aggiornati in modo sicuro. Uptane può essere una delle soluzioni promettenti per aggiornare il software via etere.

Altra lettura

  • Enabling SAE L3-L5 Autonomy with Sensor Fusion: Approcci e sfide
  • Concetto di sicurezza per la guida automatizzata
  • Guida al porting dell’algoritmo di riconoscimento dei segnali stradali in tempo reale su Texas Instruments TDA2x SoC