Actualizarea software-ului și a firmware-ului folosind Over-the-Air (OTA) a crescut în timp în sectorul dispozitivelor portabile, industrial și auto pentru platforma încorporată. Odată ce produsul se află în lumea reală, este necesară actualizarea firmware-ului sau a software-ului în legătură cu remedieri de erori, remedieri de securitate sau actualizarea caracteristicilor pentru îmbunătățirea dispozitivului și menținerea acestuia la zi cu cel mai recent software.

OTA este o tehnologie de actualizare a software-ului sau a firmware-ului de la distanță.

În cazul unui vehicul, firmware-ul sau software-ul este actualizat fără fir cu ajutorul unui dispozitiv de telecomunicații, prin intermediul unui gateway din interiorul mașinii către ECU, a cărui prezență este din ce în ce mai mare în vehiculele moderne.

Ce este nevoie de OTA (Over-the-Air Update) pentru vehicul?

În industria auto, vehiculul a devenit din ce în ce mai inteligent și mai inteligent. În prezent, vehiculele sunt în mare parte controlate de un software mai degrabă decât de componente mecanice tradiționale. Cu un deceniu în urmă, dacă era nevoie de o actualizare a software-ului, vehiculul era tractat la stația de service și vehiculele erau conectate la sistem/computer pentru o actualizare. OTA rezolvă problema fiabilității fiecărei actualizări, care era prezentă anterior, în al doilea rând, dependența de stația de service, transportul vehiculului la stație, costul actualizării software-ului devine foarte scăzut, iar clientul și stația de service nu-și mai bat capul cu nimic. Nu în ultimul rând, actualizarea la timp a securității pentru fiecare vehicul este importantă și se face cu ușurințăAbordarea actualizării OTA pentru telefoanele mobile și pentru vehicule este diferită, actualizarea OTA pentru vehicule este mai complexă și mai strictă în comparație cu cea pentru dispozitivele portabile, actualizarea necorespunzătoare a software-ului poate dăuna și vieții utilizatorului. Unitățile de control electronic (ECU) au devenit în prezent componenta principală a vehiculului, ECU a înlocuit toate componentele mecanice ale direcției. În general, ECU sunt interconectate prin una sau mai multe rețele și fac schimb de informații care permit interacțiuni și reglementări complexe. De exemplu, în sistemele avansate de asistență a șoferului (ADAS), creșterea capacităților funcționale vine la pachet cu o complexitate mai mare a sistemului, ceea ce face mai probabilă apariția unor erori de software care ar putea avea implicații asupra siguranței și securității întregului vehicul. Prin actualizări și îmbunătățiri regulate ale software-ului, se poate asigura corectitudinea, eficiența și fiabilitatea sistemelor pe întreaga durată de viață a vehiculului. Acest blog descrie în principal soluția end-to-end care poate fi implementată pentru a sprijini actualizările software OTA în sectorul auto. În secțiunea anterioară, am vorbit despre OTA și am înțeles că actualizarea OTA în sectorul auto prezintă provocări majore în ceea ce privește securitatea în timpul actualizării software-ului pe calea aerului. În cazul în care atacatorii obțin controlul vehiculului, se poate ajunge într-o situație de pericol.

  • Transmisia motorului poate fi pornită/oprită
  • Pasagerii sau șoferii pot fi blocați în interiorul mașinii
  • Suflarea continuă a claxonului
  • Controlul sistemului de direcție
  • Sistemul de frânare al mașinii
  • Creșterea vitezei mașinii dincolo de reglementările rutiere.
  • Controlul sistemului de navigație, audio sau infotainment
  • Alarmă falsă în habitaclu

Să vedem cum se întâmplă actualizarea OTA în vehicul. Prezentare generală: Metoda de actualizare de la distanță OTA a vehiculelor este rapidă, rentabilă și permite actualizarea prin aer a software-ului care rulează pe ECU-urile acestora, iar utilizatorii autoturismelor pot actualiza software-ul de oriunde, fără a fi nevoie să se deplaseze la centrul de service sau la atelierul de reparații. Mai mult, OEM poate diagnostica autovehiculul pe baza datelor primite prin over-the-air de la autovehicul

Figura 1: Prezentare generală a actualizării OTA

OTA securizată în sistemul auto: Actualizarea OTA securizată este cel mai important factor în timpul actualizării firmware-ului sau a software-ului pentru ECU. Există o mulțime de provocări pentru a realiza o actualizare OTA sigură. Există multe tehnici propuse și implementate în întreaga industrie pentru a realiza actualizări OTA sigure. Vom discuta câteva dintre ele și vom explica cea mai comună tehnică utilizată în industria auto. Să împărțim întreaga arhitectură end-to-end în trei componente și care este scopul acesteia. Backend Server

  • Creează imaginile actualizate/colectează imaginile de la diferite Tier-1
  • Furnizează imaginile de actualizare a firmware-ului și a software-ului pentru a fi transmise flash către dispozitiv
  • Este posibil să fie nevoie să suporte arhitectura client-server, dacă unitatea principală solicită actualizarea.

Canalul de comunicare

  • Furnizează un mecanism securizat
  • Furnizează un n/w securizat, astfel încât imaginea sau datele să nu fie alterate.

Unitatea principală

  • Poate fi nevoie să declanșeze actualizarea software-ului (client)
  • Asigurați-vă că imaginile corecte sunt instalate
  • Mai puțin timp de nefuncționare în timpul actualizării imaginilor
  • Roll back se întâmplă în caz de eșec

Server backend: Serverul backend este în principal responsabil pentru crearea imaginilor de firmware și software care trebuie să fie implementate în unitățile de la bordul vehiculelor. Serverul backend încearcă să colecteze imaginile care trebuie implementate de la diferiți furnizori de nivel 1 și le împachetează într-o singură imagine pentru toate ECU. Acest server de backend se poate baza pe sistemul bazat pe Yocto (sursă deschisă) sau pe o arhitectură de suport terță parte. Canal de comunicare: Cea mai dificilă parte a componentei este atunci când datele/imaginile sunt expuse la n/w și sunt ușor de manipulat de către atacatori. Există mai multe tehnici, soluții open-source și de la terți pentru actualizarea securizată a unității principale Cel mai frecvent utilizat este Uptane. Uptane este primul cadru de securitate cuprinzător care ghidează implementarea sistemelor de actualizare OTA la nivel de proiectare. Unitatea principală (vehiculul propriu-zis): Unitățile principale cuprind mai multe ECU, poate că unele sunt de mare viteză, altele mai puțin rapide și, de asemenea, diferite tipuri de ECU, TCU (unitate de control telematică), gateway-uri, fiecare componentă având un rol în actualizarea OTA. Unitatea principală trebuie, de asemenea, să se asigure că este pregătită să se conecteze la backend pentru a obține firmware și software actualizate. Sau are ea însăși capacitatea de a declanșa pentru a solicita actualizarea. Actualizare OTA utilizând Uptane The Update Framework (TUF) este conceput pentru a crea un sistem de securitate care să protejeze utilizatorii de depozite de software împotriva atacurilor de securitate. Acesta a fost proiectat ținând cont de faptul că serverul backend poate să nu fie sigur sau că cheia utilizată pentru criptografie poate fi furată. Așadar, ceea ce face este să creeze un sistem distribuit, în care nu există dependența de un anumit sistem, iar în cazul unui atacator, toate sistemele nu pot fi sparte atât de ușor în același timp. The Update Framework (TUF) a împărțit rolurile în patru părți (Root of trust, Timestamps, Snapshot, Targets) Uptane se bazează pe The Update Framework (TUF), care este distribuit (Timeserver, depozit de directoare și imagini, manifeste, ECU-uri primare/secundare, verificare completă și parțială.

Figura 2: Prezentare generală a serverului backend Uptane

: Acesta va conține imaginile (datele care trebuie să fie actualizate la ECU) cu metadatele (hașuri criptografice, dimensiunea fișierului) Depozitul de imagini: Depozitul de imagini utilizează o cheie offline pentru a semna metadatele pentru toate actualizările disponibile pentru ECU. Periodic (de exemplu, săptămânal, lunar) actualizează metadatele despre imaginile disponibileUtilizează instrumentele de linie de comandă Uptane pentru a genera metadateleUtilizează un prag de chei offline (de exemplu, Yubikey, HSM, etc. utilizate frecvent) pentru a semna metadatele

Figura 3: Depozitarul de imagini

Depozitarul de directoare: Depozitarul de directoare a utilizat cheia online pentru a semna metadatele care vor fi utilizate pentru a fi instalate în ECU pe vehicul. Acesta determină ce imagini trebuie să fie instalate în ce ECU, creează metadate diferite pentru diferitele vehicule și accesează datele de inventar pentru a obține detalii despre vehicul. Se utilizează de obicei pentru a indica unui vehicul ce actualizări să instaleze, în funcție de ceea ce are

  • Poate fi utilizat pentru a pune instantaneu pe lista neagră actualizările
  • Utilizează API-ul Uptane pentru a genera metadate semnate
  • Utilizează o bază de date de inventar pentru a citi și a scrie informații despre ECU-uri (de ex, chei publice, ce a fost instalat anterior etc.)

Figura 4: Depozitul de directoare

Deci, cheia aici este că este, înainte de instalare, trebuie să confirme că instrucțiunea din directorul și depozitul de imagini se potrivește.

Figura 5: Schimbul de informații de la sfârșitul vehiculului și OEM

Serverul de timp: Atunci când ECU primar trimite lista de jetoane pentru fiecare ECUS, către serverul de timp, serverul de timp returnează un mesaj semnat care conține lista de jetoane și ora curentă Unitatea principală (vehiculul însuși): În unitatea centrală a vehiculului, avem un tip diferit de ECU în funcție de modul în care sunt conectate la nivel intern sau la lumea exterioară, cât de puternice sunt din punct de vedere al vitezei, al capacității de stocare etc.

  • UCE primar (TCU) descarcă imaginile, le verifică și apoi distribuie metadatele către celelalte ECU secundare
  • UCE secundare verifică, de asemenea, imaginea înainte de a actualiza imaginile.
  • Realizează verificarea completă și parțială

Figura 6: Comunicare între ECU-uri

Canalul de comunicare

Fluxul complet de comunicare de la unitatea principală la serverul Backend.

Figura 7: Canalul de comunicare

De ce este nevoie pentru a implementa Uptane?

  • OEM instalează și întreține
    • Depozitul de directoare
    • Depozitul de imagini
    • Serverul de timp (opțional)
  • Imaginile sunt semnate de
    • Furnizor, sau OEM, sau ambele!
  • ECU trebuie să facă fie
    • Verificare completă, fie
    • Verificare parțială
  • Puteți continua să utilizați TLS-ul existent, etc. transport
    • Dacă transportul/cachingul este compromis, riscul de securitate este mic

Provocări privind actualizarea OTA

  • Automobilul are o arhitectură mai complexă, cu un număr tot mai mare de ECU, actualizarea diferitelor tipuri de ECU devine ea însăși o provocare
  • Securitatea datelor pe calea aerului este în mare pericol.
  • Cum actualizarea firmware-ului și a software-ului se face folosind resurse minime, cum ar fi lățimea de bandă a rețelei, stocarea și calculul.
  • Este posibil să se actualizeze nu numai aplicația/ ci și driverul/software-ul de bază al dispozitivului?
  • Mecanismul de retragere a actualizării software-ului
  • Nu se acceptă un timp de nefuncționare mai mare în timpul actualizării software-ului sau firmware-ului.
  • Dimensiunea blocurilor software
  • Cât de transparent se produce OTA cu impact asupra sistemului curent.

Concluzie

În lumea automobilelor, cu timpul, actualizarea software-ului va crește pentru a se asigura că acesta este la zi cu timpul. Vehiculele trebuie să fie actualizate în siguranță. Uptane poate fi una dintre soluțiile promițătoare pentru actualizarea software-ului pe calea aerului.

Citere suplimentară

  • Enabling SAE L3-L5 Autonomy with Sensor Fusion: Approaches and Challenges
  • Safety Concept for Automated Driving
  • Guide to Porting Real-time Traffic Sign Recognition Algorithm on Texas Instruments TDA2x SoC

.