Open source11 min czytania

Czym jest cykl życia urządzenia i dlaczego ma znaczenie dla zgodności z CRA

Czym jest cykl życia urządzenia i dlaczego ma znaczenie dla zgodności z CRA

Dlaczego cykl życia urządzenia ma znaczenie?

Akt o cyberodporności (CRA) nie reguluje chwili. Reguluje całe życie.

Oznacza to, że nasza praca nie kończy się, gdy produkt zostanie zbudowany, zabezpieczony i wysłany do klienta. Sprzedając urządzenie z elementami cyfrowymi, sprzedajemy relację, którą trzeba utrzymywać latami. Przez cały okres życia urządzenia jako producent musimy dbać o bezpieczeństwo naszego produktu.

Jak głosi stara jak świat maksyma „dziel i rządź”, świat IoT podzielił cykl życia urządzenia na etapy. To pomogło nam zbudować naszą platformę open source, open things, która obsługuje każdy etap cyklu życia.

Przejdźmy cały krąg. Dwie pary jednorazowych przejść otaczają długi etap eksploatacji, a w jego środku działa pętla, która nigdy się nie zatrzymuje. Na każdym przystanku: czym jest dany etap, czego oczekuje CRA i co faktycznie musisz mieć na miejscu.

1. Provisioning - urządzenie otrzymuje tożsamość

Co się dzieje: Urządzenie się rodzi. Na linii produkcyjnej, zanim w ogóle połączy się z siecią, otrzymuje unikalną tożsamość, root of trust i klucze, których będzie używać do końca życia. Provisioning można porównać do wydania paszportu.

Każde urządzenie dostaje własną tożsamość, dane uwierzytelniające i kotwice zaufania (trust anchors). Od tej chwili wszystko inne zależy właśnie od nich.

Czego oczekuje CRA: Brak uniwersalnych haseł domyślnych. Stan bezpieczny domyślnie (secure by default) od razu po wyjęciu z pudełka. Urządzenie, które potrafi udowodnić, że jest oryginalne, a nie jest klonem ani podróbką.

Czego potrzebujesz:

  • Unikalna tożsamość każdego urządzenia - a nie wspólny klucz wgrany do wszystkich egzemplarzy. Przejęcie jednego urządzenia nie może narazić całej floty.
  • Root of trust - secure boot, dzięki któremu urządzenie uruchamia tylko firmware podpisany przez Ciebie.
  • Bezpiecznie wgrane klucze - wstrzykiwane na etapie produkcji, przechowywane sprzętowo tam, gdzie to możliwe (secure element, TPM, TrustZone), nigdy nie wysyłane otwartym tekstem.

Jeśli zrobisz to źle, nic na dalszych etapach nie będzie godne zaufania. Jeśli tożsamość jest współdzielona albo da się ją podrobić, Twoje podpisane aktualizacje, szyfrowana telemetria i kontrola dostępu - wszystko to jest zbudowane na piasku.

Jak to rozwiązujemy: nasza platforma ma od razu wbudowane OpenBao, które wydaje tożsamości dla poszczególnych urządzeń. Każde urządzenie rejestruje się z własnym certyfikatem, opartym na root of trust, który kontrolujesz Ty, a nie na chmurze dostawcy, którą wynajmujesz. Masz już własne rozwiązanie? Żaden problem, zaprojektowaliśmy tę część tak, żeby dało się ją wymienić.

2. Uruchomienie (commissioning) - urządzenie wchodzi do użytku

Co się dzieje: Urządzenie zostaje zainstalowane, skonfigurowane i podłączone do środowiska, w którym będzie pracować. To pierwszy moment, w którym musi udowodnić, kim jest, i sprawdzić, z kim rozmawia. Pierwsze połączenie to często najbardziej podatny moment w życiu urządzenia: jeśli atakujący zdoła podszyć się pod urządzenie albo pod Twój backend, zanim powstanie zaufanie, wszystko, co nastąpi później, stoi pod znakiem zapytania.

Uwierzytelnienie musi nastąpić, zanim urządzenie zacznie wykonywać jakąkolwiek użyteczną pracę.

Czego oczekuje CRA: Ochrona połączenia urządzenia od pierwszego pakietu. Uwierzytelnienie przed udzieleniem dostępu. Bezpieczna konfiguracja w chwili dostawy.

Czego potrzebujesz:

  • Rejestracja oparta na certyfikatach - urządzenie uwierzytelnia się tożsamością z etapu 1, a Twój backend uwierzytelnia się wobec urządzenia. Mutual TLS, a nie wspólny token API.
  • Nigdy żadnych domyślnych haseł - uruchomienie musi wymusić unikalne dane uwierzytelniające albo w całości opierać się na certyfikatach.
  • Konfiguracja bezpieczna domyślnie - nieużywane porty zamknięte, interfejsy debugowania wyłączone, minimalne uprawnienia od pierwszego połączenia.

Nie traktuj uruchomienia jako kroku, w którym liczy się tylko wygoda. To moment, w którym atakujący najchętniej wstawiłby się w relację zaufania. Gdy mu się to uda, każda kolejna komunikacja staje się podejrzana.

Jak to rozwiązujemy: uruchomienie w open things opiera się na certyfikatach i mutual TLS, a certyfikaty rotują automatycznie, więc tożsamości nie wygasają po cichu ani nie żyją wiecznie, co samo w sobie jest ryzykiem.

3. Eksploatacja - praca, aktualizacja, monitorowanie, reagowanie

Eksploatacja to nie etap, przez który się przechodzi, tylko stan, w którym urządzenie żyje latami. W jego wnętrzu ten sam cykl powtarza się w kółko: monitorujesz flotę, reagujesz, gdy coś jest nie tak, aktualizujesz, żeby zamknąć lukę, i wracasz do monitorowania. Cztery przejścia wokół tego etapu zdarzają się po jednym razie. Ta pętla trwa bez końca i to w niej leżą bieżące obowiązki wynikające z CRA. Jeśli ją zaniedbasz, urządzenie, które trafiło na rynek bezpieczne, po cichu przestanie być zgodne.

3.1. Praca - urządzenie wykonuje swoje zadanie

Co się dzieje: Lata telemetrii płynącej w górę, komend płynących w dół i urządzenia, które robi to, do czego zostało zaprojektowane.

Czego oczekuje CRA: Poufność i integralność danych w transmisji i w spoczynku. Kontrola dostępu. Ochrona przed oczywistymi atakami na dostępność. I, co kluczowe, rejestrowanie zdarzeń istotnych dla bezpieczeństwa, żeby dało się wykrywać incydenty i je analizować.

Czego potrzebujesz:

  • Szyfrowanie w transmisji - TLS na każdym kanale, bez wyjątków, bez „to sieć wewnętrzna, więc jest OK”.
  • Minimalizacja danych - zbieraj to, czego produkt potrzebuje, a nie wszystko, co się da. CRA tego oczekuje, a RODO jeszcze to wzmacnia.
  • Kontrola dostępu - kto może czytać telemetrię, kto może wysyłać komendy, z uprawnieniami przypisanymi do roli i do tenanta.
  • Logi audytowe - zapis, do którego można tylko dopisywać (append-only): kto, co i kiedy zrobił. To Twój dowód, gdy coś pójdzie nie tak, i wczesne ostrzeżenie, gdy coś zaraz pójdzie nie tak.

Ten etap trwa latami, więc pomaga obserwowalność (observability): urządzenia, którego nie widzisz, nie obronisz. Widoczność floty to nie miły dodatek, tylko sposób na spełnienie obowiązków po wprowadzeniu do obrotu w pętli opisanej niżej (§4.2).

Jak to rozwiązujemy: platformę open things zaprojektowano z myślą o obserwowalności. Telemetria trafia do platformy szyfrowanymi kanałami, dostęp jest ograniczony modelem własności tenant/rozwiązanie, a platforma jest stworzona do self-hostingu: dane Twojej floty zostają na infrastrukturze, którą kontrolujesz, a nie w chmurze podmiotu trzeciego, którą trzeba by dopisać do Twojej oceny ryzyka.

3.2. Aktualizacja - ścieżka aktualizacji jest produktem

Co się dzieje: Wychodzi na jaw podatność. Któraś zależność okazuje się podatna. Trzeba naprawić błąd. Musisz zaktualizować urządzenia, które już pracują w terenie. Dziesięć lat temu aktualizacje firmware uważano za funkcję produktu. W świetle CRA są częścią produktu. Gdy podatność staje się publiczna, Twoja zdolność do łatania urządzeń liczy się bardziej niż jakość kodu dostarczonego pierwszego dnia.

Jeśli nie możesz bezpiecznie aktualizować, w praktyce nie utrzymasz zgodności produktu.

Czego oczekuje CRA: Aktualizacje zabezpieczeń przez cały okres wsparcia (co najmniej 5 lat albo przewidywany czas użytkowania). Bezpieczny mechanizm aktualizacji. Wiedza o tym, co jest w każdym buildzie, i o tym, czy coś z tego jest teraz podatne. Obsługa podatności jest obowiązkiem.

Czego potrzebujesz:

  • Podpisane OTA - każda aktualizacja jest podpisana kryptograficznie, a urządzenie weryfikuje podpis przed instalacją. Niepodpisany firmware jest odrzucany. Tu nie ma miejsca na kompromisy: to najczęściej wykorzystywana luka w IoT.
  • SBOM dla każdego buildu - Software Bill of Materials (CycloneDX lub SPDX), generowany przy każdym wydaniu. Nie załatasz czegoś, o czym nie wiesz, że to dostarczasz.
  • Ciągłe monitorowanie podatności - skanowanie tego SBOM względem źródeł CVE (Trivy, Grype, OSV), dzięki czemu nowe CVE w zależności podnosi alarm dla każdej linii firmware, która ją zawiera.
  • Ochrona przed cofnięciem wersji - atakujący nie może mieć możliwości wymuszenia powrotu urządzenia do wersji ze znaną podatnością.

Produktu, którego nie da się bezpiecznie zaktualizować, nie możesz zgodnie z prawem utrzymać na rynku, gdy znana jest jego podatność. Ścieżka aktualizacji jest częścią produktu.

Jak to rozwiązujemy: podpisane aktualizacje firmware i SBOM dla każdej wersji firmware są wbudowane, a moduł `sbom-monitoring` porównuje Twoje SBOM-y ze źródłami informacji o podatnościach, więc pytanie „których urządzeń dotyczy to nowe CVE?” to jedno zapytanie, a nie gaszenie pożaru.

3.3. Monitorowanie i reagowanie - urządzenie jest pod obserwacją

Co się dzieje: W terenie coś idzie nie tak: exploit, anomalia, incydent. Zegar zaczyna tykać w chwili, gdy się o tym dowiadujesz.

Czego oczekuje CRA: Nadzór po wprowadzeniu do obrotu przez cały okres wsparcia. Do tego twarde terminy zgłoszeń od chwili, gdy dowiesz się o **aktywnie wykorzystywanej podatności lub poważnym incydencie** (obowiązki te wchodzą w życie we wrześniu 2026 r., wcześniej niż pełne stosowanie CRA):

Zdarzenie Wczesne ostrzeżenie Szczegółowe zgłoszenie Raport końcowy
Aktywnie wykorzystywana podatność 24 h 72 h 14 dni
Poważny incydent 24 h 72 h 1 miesiąc

Oba zgłoszenia trafiają do Twojego CSIRT i do ENISA przez jednolitą platformę zgłoszeń.

Czego potrzebujesz:

  • Widoczność całej floty - rozkład wersji, kondycja, anomalie, wszystko w jednym miejscu. Nie zgłosisz czegoś, czego nie widzisz.
  • Ślad audytowy z etapu 3 - Twój dowód na to, co się stało i kiedy.
  • Proces obsługi podatności - przyjęcie zgłoszenia, triaż, poprawka, komunikacja. Do tego publiczna polityka skoordynowanego ujawniania podatności (`security.txt`, kontakt, deklaracja safe harbour), żeby badacze mogli dotrzeć do Ciebie przed atakującymi.
  • Procedura zgłaszania (runbook) - kto ogłasza incydent, kto powiadamia, w jakim terminie. Przećwiczona, a nie improwizowana o 2 w nocy.

24 godziny to za mało, żeby zbudować proces. Mechanizm zgłaszania musi istnieć przed incydentem, inaczej to termin rządzi Tobą.

Jak to rozwiązujemy: platforma ma politykę skoordynowanego ujawniania podatności i kanały CVD (spełnia w ten sposób własny obowiązek ujawniania wynikający z CRA), a widoczność floty i SBOM dla każdej wersji firmware dają Ci materiał do odpowiedzi „które urządzenia, która wersja, od kiedy”, której oczekuje regulator. Samo zgłoszenie do organów nadal należy do Ciebie. Platforma daje Ci dowody, żeby złożyć je szybko.

4. Wycofanie z eksploatacji (decommissioning) - urządzenie wychodzi z użytku

Co się dzieje: Koniec życia eksploatacyjnego. Urządzenie zostaje wycofane z terenu: wymienione, odsprzedane albo zezłomowane. Przestaje wykonywać swoje zadanie. To etap, którego nikt nie planuje, i ten, przez który latami wyciekają informacje i dane uwierzytelniające.

Czego oczekuje CRA: Bezpieczne postępowanie z urządzeniem na koniec życia (end of life), czyli możliwość bezpiecznego usunięcia z niego danych użytkownika. Do tego jasno zadeklarowany **okres wsparcia**, żeby klienci wiedzieli, kiedy kończą się aktualizacje zabezpieczeń i Twoje zobowiązania.

Czego potrzebujesz:

  • Bezpieczne usuwanie danych z urządzenia - wyczyszczenie danych użytkownika i sekretów, przywrócenie ustawień fabrycznych do znanego, czystego stanu, zanim egzemplarz wyjdzie spod Twojej kontroli.
  • Uporządkowane wyjście z eksploatacji - przestań ufać jego telemetrii, przestań wysyłać mu komendy.
  • Zadeklarowany, opublikowany okres wsparcia - i plan na to, co się stanie, gdy się skończy. Koniec wsparcia to decyzja, a nie coś, co dzieje się przez zaniedbanie.

Jak to rozwiązujemy: platforma ma mechanizmy odłączania urządzenia od jego kontekstu i usuwania danych.

5. Deprovisioning - urządzenie traci tożsamość

Co się dzieje: To odpowiednik etapu 1 po stronie backendu. Gdy urządzenie jest już wycofane z eksploatacji, unieważniasz jego tożsamość i usuwasz ją ze swoich systemów. Provisioning dał mu życie w Twojej flocie, deprovisioning czysto je kończy.

Czego oczekuje CRA: Usunięte urządzenie nie może ponownie dołączyć do floty, a dane osobowe i dane użytkownika są usuwane, gdy nie są już potrzebne. Jednocześnie Twoja dokumentacja techniczna i zapisy dotyczące bezpieczeństwa są nadal przechowywane (10 lat / okres wsparcia) - usunięcie danych użytkownika to nie to samo co usunięcie dowodów.

Czego potrzebujesz:

  • Unieważnienie tożsamości - unieważnij certyfikat urządzenia w PKI (lista unieważnionych certyfikatów), żeby zezłomowany albo skradziony egzemplarz nie mógł się ponownie uwierzytelnić. Tożsamość per urządzenie sprawia, że to precyzyjny zabieg; wspólny klucz oznacza wymianę kluczy w całej flocie.
  • Porządki w backendzie - usuń rekordy urządzenia, telemetrię i dane uwierzytelniające z warstwy zarządzania zgodnie z określonym harmonogramem retencji.
  • Zachowaj ślad zgodności - przechowuj dokumentację techniczną i historię incydentów także wtedy, gdy urządzenia i jego danych osobowych już nie ma.

Wycofane urządzenie, które ma nadal ważny certyfikat, to tylna furtka na baterie. Unieważnienie to różnica między „po deprovisioningu” a „nadal zaufane, tylko zapomniane”.

Jak to rozwiązujemy: ponieważ tożsamość jest osobna dla każdego urządzenia i oparta na certyfikatach, unieważnienie jednego egzemplarza to czysta operacja w PKI. Nie ma wspólnego klucza do wymiany w całej flocie ani osieroconych danych uwierzytelniających, którym nadal się ufa, a rekordy floty są przypisane do tenanta, więc porządki nie wychodzą poza jego zakres.

Krąg się zamyka i nigdy naprawdę nie zatrzymuje

Cykl życia układa się w lustrzane pary wokół pracującego rdzenia:

  • Provisioning - deprovisioning - tożsamość nadana, tożsamość usunięta.
  • Uruchomienie - wycofanie z eksploatacji - wejście do użytku, wyjście z użytku.
  • Eksploatacja + pętla operacyjna - rdzeń, w którym urządzenie spędza lata, pracując i aktualizując się raz za razem.

Przejścia na brzegach zdarzają się po jednym razie.

Tożsamość nadana podczas provisioningu (1) to dokładnie to, co pozwala czysto przeprowadzić deprovisioning (6). Log audytowy zaprojektowany na etapie eksploatacji (3) to Twój dowód, gdy reagujesz (4.2). SBOM generowany przy każdej aktualizacji (4.1) sprawia, że kolejne CVE staje się kwestią wyszukania, a nie katastrofą.

To właściwa myśl zapisana w CRA: bezpieczeństwo to nie etap, tylko pętla. Urządzenie bezpieczne w chwili narodzin, ale niemożliwe do utrzymania, nie jest zgodne.

Co możesz zacząć już dziś

Pierwszego dnia nie potrzebujesz, żeby każdy etap był idealny. Potrzebujesz, żeby każdy był *uwzględniony w projekcie*. Zacznij od tego:

Szybkie efekty (dni)

  • Opublikuj `security.txt` i politykę ujawniania podatności
  • Generuj SBOM przy każdym buildzie
  • Pozbądź się domyślnych haseł - wymuś unikalne dane uwierzytelniające albo certyfikat przy uruchomieniu

Średni nakład pracy (tygodnie)

  • Wdróż podpisane OTA i weryfikację podpisów na urządzeniu
  • Włącz TLS wszędzie oraz logi audytowe
  • Zadeklaruj i opublikuj okres wsparcia

Większy nakład pracy (miesiące)

  • Tożsamość per urządzenie z prawdziwym root of trust
  • Rejestracja oparta na certyfikatach z mTLS
  • Ciągłe monitorowanie SBOM względem CVE w całej flocie

Możesz też zacząć od platformy, która wykonuje już najcięższą pracę. OpenThings to nasza platforma IoT open source, którą możesz hostować samodzielnie, zbudowana właśnie wokół tego cyklu życia. Tożsamość per urządzenie, rotacja certyfikatów, podpisany firmware, SBOM dla każdego buildu, monitorowanie podatności i polityka skoordynowanego ujawniania podatności. Gotowa na CRA, AGPL-3.0, bez uzależnienia od dostawcy chmury.

Sedno sprawy

CRA nie pyta: „Czy Twoje urządzenie jest bezpieczne?” Pyta: „Czy Twoje urządzenie jest bezpieczne przez całe swoje życie i czy potrafisz to udowodnić na każdym etapie?”

Nadaj tożsamość podczas provisioningu. Uruchom urządzenie z certyfikatami. Eksploatuj je z szyfrowaniem i pod obserwacją, a w tym czasie podtrzymuj pętlę: monitoruj, reaguj, aktualizuj, bez przerwy. Wycofaj z eksploatacji w uporządkowany sposób. Przeprowadź deprovisioning tak, żeby nic nie pozostało zaufane. Cztery przejścia na brzegach, jedna pętla w środku, jedno ciągłe zobowiązanie.

Projektuj z myślą o całym kręgu, a nie o premierze.

Chcesz zobaczyć ten cykl życia w działaniu? OpenThings będzie open source. Bądź na bieżąco, a już teraz możesz zajrzeć, a jeśli wolisz, żebyśmy pomogli Ci dopasować do niego Twój produkt, skontaktuj się z nami.

  • Open source
  • Bezpieczeństwo IoT