Architektura bezpieczeństwa i secure OTA dla systemu oświetlenia Smart City

Projekt architektury oraz implementacja

Architektura bezpieczeństwa i secure OTA dla systemu oświetlenia Smart City

Project Details

  • Zadanie : Security
  • Zakończenie : Luty 2020

Klient

Polski dostawca infrastruktury Smart Lighting

Wyzwanie

Zaprojektowanie całkowicie bezpiecznego, odpornego na ataki mechanizmu aktualizacji firmware’u (OTA) dla rozproszonej sieci inteligentnego oświetlenia drogowego (tysiące jednostek). Architektura sprzętowa narzucała krytyczne wyzwanie: komunikacja między bezpiecznym mikrokontrolerem (nRF) a modemem LTE (BG95) odbywała się przez niezabezpieczoną, nieszyfrowaną magistralę UART. Należało zagwarantować, że zaszyfrowany firmware nie wycieknie ani nie zostanie zmodyfikowany w tranzycie na samym urządzeniu.

Rozwiązanie

Świadcząc usługi consultingowe, byłem odpowiedzialny za zaprojektowanie i implementację całego stosu bezpieczeństwa na mikrokontrolerze nRF (C++ z FreeRTOS). Rozwiązania oparłem na następujących filarach:

Architektura Zero-Trust OTA: Zaprojektowałem proces, w którym zaszyfrowany firmware był strumieniowany z modemu LTE (przez niezabezpieczony UART) bezpośrednio do dedykowanej, bezpiecznej partycji w pamięci flash. Żadne klucze ani fragmenty odszyfrowanego kodu nie były nigdy eksponowane.

Secure Boot i Weryfikacja Obrazu: Zaimplementowałem mechanizm Secure Boot. Po pobraniu, bootloader najpierw kryptograficznie weryfikował integralność i autentyczność nowego obrazu firmware’u (używając sygnatur cyfrowych).

Atomowy Update i Rollback: Dopiero po pomyślnej weryfikacji, system przystępował do “atomowej” podmiany obrazu. Jeśli proces aktualizacji został przerwany (np. przez zanik zasilania) lub nowy firmware nie uruchomił się poprawnie, bootloader automatycznie wykonywał rollback, przywracając poprzednią, sprawdzoną wersję oprogramowania. Gwarantowało to 100% odporność na “uceglenie” (bricking) urządzeń w terenie.

Komunikacja Sieciowa: Moja praca obejmowała również warstwę komunikacyjną dla protokołu OpenThread, umożliwiając przeprowadzanie tych samych bezpiecznych aktualizacji w ramach lokalnej sieci mesh.

Rezultat

Stworzona architektura bezpieczeństwa umożliwiła masowe wdrożenie urządzeń na autostradach i w miastach, dając klientowi pełną gwarancję bezpieczeństwa i niezawodności aktualizacji w terenie. Rozwiązanie skutecznie wyeliminowało ryzyko związane z fizycznymi ograniczeniami sprzętowymi (nieszyfrowany UART), co było kluczowe dla powodzenia projektu.

Użyte Technologie:

MCU: nRF52 / nRF91

System: FreeRTOS

Język: C++

Protokoły: OpenThread, LTE-M (BG95)

Koncepty: Secure OTA, Secure Boot, Rollback, Kryptografia (Sygnatury cyfrowe, Szyfrowanie), Architektura Bezpieczeństwa (Zero-Trust), Systemy Mesh, UART

Domena: Smart City, IoT