Uaktualnianie oprogramowania i firmware za pomocą Over-the-Air (OTA) wzrosła w urządzeniach podręcznych, przemysłowych i sektorach motoryzacyjnych dla platformy wbudowanej z czasem. Gdy produkt jest w świecie rzeczywistym, firmware lub aktualizacja oprogramowania związana z poprawkami błędów, poprawkami bezpieczeństwa, lub aktualizacja funkcji jest wymagana dla poprawy urządzenia i utrzymania go zaktualizowane z najnowszym oprogramowaniem.

OTA jest technologią do aktualizacji oprogramowania lub firmware zdalnie.Jaka jest potrzeba aktualizacji OTA (Over-the-Air Update) dla pojazdu?

W przemyśle motoryzacyjnym, pojazd staje się coraz bardziej inteligentny i inteligentny. Obecnie, pojazdy są głównie kontrolowane przez oprogramowanie, a nie tradycyjnych elementów mechanicznych. Dekadę temu, jeśli istniała potrzeba aktualizacji oprogramowania, pojazd był holowany do stacji obsługi, a pojazdy były podłączone do systemu/komputera w celu aktualizacji. OTA rozwiązuje problem niezawodności każdej aktualizacji, która była obecna wcześniej, po drugie zależność od stacji obsługi, przewożąc pojazd do stacji, koszt aktualizacji oprogramowania staje się bardzo niski, a nie wiele kłopotów dla klienta, jak również stacji obsługi. Ostatni, ale nie najmniej ważne, aktualizacji zabezpieczeń na czas dla każdego pojazdu jest ważne i odbywa się na easyThe podejście OTA aktualizacji dla telefonów komórkowych i pojazdów są różne, pojazdu OTA aktualizacja jest bardziej złożone i rygorystyczne w porównaniu do urządzenia ręcznego, niewłaściwa aktualizacja oprogramowania może spowodować szkody dla życia użytkownika zbyt. Elektroniczne Jednostki Sterujące (ECU) stał się głównym elementem w pojeździe dzisiaj, ECU zastąpił wszystkie mechaniczne elementy układu kierowniczego. Ogólnie rzecz biorąc, ECU są połączone przez jedną lub więcej sieci i dzielą się informacjami, które umożliwiają złożone interakcje i regulacje. Na przykład, w zaawansowanych systemach wspomagania kierowcy (ADAS), rosnące możliwości funkcjonalne idą w parze z większą złożonością systemu, co zwiększa prawdopodobieństwo wystąpienia błędów w oprogramowaniu, które mogą mieć wpływ na bezpieczeństwo i ochronę całego pojazdu. Dzięki regularnym aktualizacjom i udoskonaleniom oprogramowania można zapewnić poprawność, wydajność i niezawodność systemów przez cały okres eksploatacji pojazdu. Ten blog opisuje głównie rozwiązanie typu end-to-end, które może być wdrożone w celu wspierania aktualizacji oprogramowania OTA w sektorze motoryzacyjnym. W poprzedniej sekcji, rozmawialiśmy o OTA i zrozumieć, że aktualizacja OTA w sektorze motoryzacyjnym ma poważne wyzwania w zakresie bezpieczeństwa podczas aktualizacji oprogramowania w powietrzu. Jeśli napastnicy uzyskać kontrolę nad pojazdem, jeden może skończyć się w sytuacji zagrożenia.

  • Przekładnia silnika może być włączona / wyłączona
  • Pasażerowie lub kierowcy mogą być zablokowane wewnątrz samochodu
  • Dmuchanie klaksonem w sposób ciągły
  • Kontrola układu kierowniczego
  • System hamowania samochodu
  • Przyspieszenie samochodu poza przepisami drogowymi.
  • Sterowanie systemem nawigacji, audio lub infotainment
  • Fałszywy alarm w kokpicie

Zobaczmy, jak aktualizacja OTA przebiega w pojeździe. Przegląd: Metoda zdalnej aktualizacji OTA pojazdów jest szybka, opłacalna i umożliwia aktualizację oprogramowania działającego w ich ECU over-the-air, a użytkownicy samochodów mogą aktualizować oprogramowanie w dowolnym miejscu, bez konieczności udawania się do centrum serwisowego lub warsztatu. Ponadto, OEM może zdiagnozować samochód na podstawie danych otrzymanych przez over-the-air z samochodu

Figura 1: Ogólny przegląd aktualizacji OTA

Bezpieczne OTA w systemie samochodowym: Bezpieczna aktualizacja OTA jest najważniejszym czynnikiem podczas aktualizacji firmware lub oprogramowania dla ECU. Istnieje wiele wyzwań, aby osiągnąć bezpieczną aktualizację OTA. Istnieje wiele technik proponowanych i wdrażanych w całej branży, aby osiągnąć bezpieczne aktualizacje OTA. Będziemy omawiać niektóre z nich i wyjaśnić najczęstszą technikę stosowaną w przemyśle motoryzacyjnym. Podzielmy całą architekturę end-to-end na trzy komponenty i jaki jest ich cel. Backend Server

  • Tworzy zaktualizowane obrazy/zbiera obrazy z różnych Tier-1
  • Dostarcza obrazy aktualizacji firmware i oprogramowania do flashowania do urządzenia
  • Może wymagać wsparcia architektury klient-serwer, jeśli jednostka główna zażąda aktualizacji.

Kanał komunikacyjny

  • Zapewnij bezpieczny mechanizm
  • Zapewnij bezpieczny interfejs sieciowy, aby obraz lub dane nie były modyfikowane.

Jednostka centralna

  • Może wymagać uruchomienia aktualizacji oprogramowania (klient)
  • Upewnij się, że zainstalowano prawidłowe obrazy
  • Mniej przestojów podczas aktualizacji obrazów
  • Odwrócenie w przypadku awarii

Serwer zaplecza: Serwer backend jest głównie odpowiedzialny za tworzenie obrazów oprogramowania sprzętowego i oprogramowania, które muszą być wdrożone w jednostkach samochodowych. Serwer backend próbuje zebrać obrazy, które muszą być wdrożone z różnych dostawców Tier-1 i pakowane w jednym obrazie dla wszystkich ECU. Ten serwer zaplecza może być oparty na systemie Yocto (open source) lub architektury wsparcia firm trzecich. Kanał komunikacyjny: Najbardziej wymagająca część komponentu jest wtedy, gdy dane/obrazy są wystawione na działanie n/w i są one łatwe do manipulowania przez atakujących. Istnieje wiele technik, open-source i rozwiązań firm trzecich dla bezpiecznej aktualizacji do jednostki głównej. Uptane to pierwszy kompleksowy framework bezpieczeństwa, który kieruje implementacją systemów aktualizacji OTA na poziomie projektu. Jednostka główna (sam pojazd): Jednostki główne składają się z wielu ECU, może niektóre są wysokiej prędkości, lub niektóre mniej prędkości, a także różne rodzaje ECU, TCU (telematics control unit), bramy, każdy komponent jako rola do odegrania w aktualizacji OTA. Jednostka główna musi również upewnić się, że jest gotowy do podłączenia do backendu, aby uzyskać zaktualizowane oprogramowanie sprzętowe i oprogramowanie. Lub sama posiada zdolność do uruchomienia żądania aktualizacji. Aktualizacja OTA przy użyciu Uptane The Update Framework (TUF) został zaprojektowany w celu stworzenia systemu bezpieczeństwa, aby chronić użytkowników repozytoriów oprogramowania przed atakami bezpieczeństwa. Został on zaprojektowany mając na uwadze, że serwer backend może nie być bezpieczny, lub klucz używany do kryptografii może zostać skradziony. Tworzy więc system rozproszony, w którym nie ma zależności od konkretnego systemu, a w przypadku wątku atakującego, nie da się tak łatwo włamać do wszystkich systemów jednocześnie. The Update Framework (TUF) podzielił role na cztery części (Root of trust, Timestamps, Snapshot, Targets) Uptane opiera się na The Update Framework (TUF), który jest rozproszony (Timeserver, repozytorium katalogów i obrazów, manifesty, Primary/secondary ECU’s, pełna i częściowa weryfikacja.

Figura 2: Przegląd Uptane

Backend Server: Będzie zawierał obrazy (dane, które muszą być zaktualizowane do ECU) wraz z metadanymi (hashe kryptograficzne, rozmiar pliku) Image Repository: Repozytorium obrazów używa klucza offline do podpisywania metadanych dla wszystkich dostępnych aktualizacji dla ECU. Okresowo (np. co tydzień, co miesiąc) aktualizować metadane o dostępnych obrazachUżywać narzędzi wiersza poleceń Uptane do generowania metadanychUżywać progów kluczy offline (np. Yubikey, HSM, itp. często używane) do podpisywania metadanych

Figura 3: Repozytorium obrazów

Repozytorium katalogów: Repozytorium katalogowe wykorzystuje klucz online do podpisywania metadanych, które mają być użyte do instalacji w ECU pojazdu. Określa, które obrazy mają być zainstalowane w których ECU, tworzy różne metadane dla różnych pojazdów i uzyskuje dostęp do danych inwentaryzacyjnych, aby uzyskać szczegółowe informacje o pojeździe. Zazwyczaj używany do instruowania pojazdu, które aktualizacje zainstalować, w zależności od tego, co posiada

  • Może być użyty do natychmiastowego umieszczenia aktualizacji na czarnej liście
  • Używa Uptane API do generowania podpisanych metadanych
  • Używa bazy danych inwentarza do odczytu i zapisu informacji o ECU (np, klucze publiczne, co było wcześniej zainstalowane, itd.)

Rysunek 4: Repozytorium katalogów

Tak więc, kluczem tutaj jest to, że przed instalacją, musi potwierdzić, że instrukcje z katalogu i repozytorium obrazów pasują.

Rysunek 5: Współdzielenie informacji o pojeździe i końcu OEM

Serwer czasu: Kiedy główny ECU wysyła listę tokenów dla każdego ECUS, do serwera czasu, serwer czasu zwraca podpisaną wiadomość zawierającą listę tokenów i aktualny czas Jednostka główna (Vehicle Itself): W jednostce głównej pojazdu, mamy różne typy ECU w oparciu o to, jak były połączone wewnętrznie lub ze światem zewnętrznym, jak potężne pod względem prędkości, pamięci, itp.

  • Pierwotne ECU (TCU) pobierają obrazy, weryfikują je, a następnie rozdzielają metadane do innych wtórnych ECU’s
  • Wtórne ECU’s również weryfikują obraz przed aktualizacją obrazów.
  • Wykonuje pełną i częściową weryfikację

Rysunek 6: Komunikacja między jednostkami ECU

Kanał komunikacyjny

Kompletny przepływ komunikacji z jednostki głównej do serwera Backend.

Figura 7: Kanał komunikacyjny

Co jest potrzebne do wdrożenia Uptane?

  • OEM konfiguruje i utrzymuje
    • repozytorium Director
    • repozytorium obrazów
    • serwer czasu (opcjonalnie)
  • Obrazy są podpisywane przez
    • Dostawcę, lub OEM, lub oba!
  • ECU wykonują albo
    • Pełną weryfikację, albo
    • Częściową weryfikację
  • Można nadal używać istniejącego TLS, itp. transport
    • Jeśli transport / buforowanie naruszone, małe ryzyko bezpieczeństwa

Wyzwania dotyczące aktualizacji OTA

  • Automotywa ma bardziej złożoną architekturę z rosnącą liczbą ECU, aktualizowanie różnych typów ECU staje się wyzwaniem
  • Bezpieczeństwo danych przesyłanych drogą powietrzną jest obarczone dużym ryzykiem.
  • Jak zaktualizować oprogramowanie sprzętowe i oprogramowanie jest wykonywane przy użyciu minimalnych zasobów, takich jak przepustowość sieci, pamięci masowej i obliczeniowych.
  • Czy możliwa jest aktualizacja nie tylko aplikacji, ale także głównego sterownika/oprogramowania urządzenia?
  • Mechanizm cofania aktualizacji oprogramowania
  • Większy czas przestoju nie jest akceptowany podczas aktualizacji oprogramowania lub oprogramowania sprzętowego.
  • Rozmiar bloków oprogramowania
  • Jak płynnie OTA dzieje się z wpływem na bieżący system.

Wniosek

W świecie motoryzacji z czasem aktualizacja oprogramowania wzrośnie, aby upewnić się, że jest aktualny w czasie. Pojazdy muszą być aktualizowane w bezpieczny sposób. Uptane może być jednym z obiecujących rozwiązań do aktualizacji oprogramowania przez powietrze.

Dalsza lektura

  • 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

.