Architektura bezpieczeństwa firmware'u dla urządzenia medycznego klasy III (FDA) z integracją bluetooth

Implementacja ECC podczas autoryzacji urządzeń w środowisu o ograniczonych zasobach

Architektura bezpieczeństwa firmware'u dla urządzenia medycznego klasy III (FDA) z integracją bluetooth

Project Details

  • Zadanie : Security
  • Zakończenie : Marzec 2023

Klient:

Amerykański producent pomp insulinowych nowej generacji.

Wyzwanie

Zaprojektowanie i wdrożenie krytycznych funkcji bezpieczeństwa (mission-critical) dla pompy insulinowej – urządzenia medycznego Klasy III FDA, wymagającego najwyższego poziomu niezawodności. Wyzwanie polegało na integracji nowych mechanizmów bezpieczeństwa, w tym autoryzacji przez Bluetooth (BLE), w istniejącą, dojrzałą i złożoną bazę kodu (mature codebase), bez ryzyka regresji.

Rozwiązanie

Moja praca koncentrowała się na wzmocnieniu (hardening) i rozbudowie architektury bezpieczeństwa firmware’u:

Dokonałem adaptacji i utwardzenia biblioteki open-source dla kryptografii krzywych eliptycznych (ECC).

Kluczowym wyzwaniem były cykle uśpienia (sleep/wake). Opracowałem nowatorski system zarządzania kontekstem (context management), aby zachować integralność trwających obliczeń ECC pomimo przerywanych operacji zasilania, co było krytyczne dla ciągłości bezpieczeństwa.

W trakcie prac nad integracją, przyczyniłem się do ogólnej stabilności produktu poprzez identyfikację i zaraportowanie błędu ochrony pamięci (Memory Protection Fault) bezpośrednio w systemie czasu rzeczywistym ThreadX.

Rezultat

Wdrożone mechanizmy bezpieczeństwa (w tym zarządzanie kontekstem ECC) podniosły integralność i niezawodność firmware’u do poziomu wymaganego przez rygorystyczne normy FDA dla klasy III. Wykrycie błędu w RTOS (ThreadX) dodatkowo zwiększyło stabilność i bezpieczeństwo całego systemu, chroniąc pacjentów.

Użyte Technologie:

RTOS: ThreadX

Kryptografia: ECC (Krzywe Eliptyczne), Hardening Bibliotek Open-Source

Koncepty: FDA Class III, Bezpieczeństwo MedTech (Safety-Critical), Zarządzanie Kontekstem (Context Management), Tryby Low-Power, Memory Protection

Komunikacja: Bluetooth Low Energy (BLE)

Język: C / C++