STSAFE

Jak zapewnić bezpieczeństwo dla projektowanego urządzenia elektronicznego?




Przejdź do:
Systemowe podejście do bezpieczeństwa
Dotychczasowe rozwiązania nie pasują do świata elektroniki mobilnej
STSAFE – bezpieczeństwo dla nowoczesnej elektroniki
Co to jest CC EAL?
Trzy wersje o różnym przeznaczeniu
Atak i obrona, czyli zagrożenia i metody ochrony
Najważniejsze jest bezpieczeństwo przechowywanych kluczy szyfrujących
Narzędzia rozwojowe dla STSAFE


Wraz z szybką popularyzacją nowych technologii bazujących na komunikacji bezprzewodowej, wykorzystujących gromadzenie danych w chmurach (M2M, IoT), a także rosnącą liczbą rozwiązań których działanie ma bardzo istotne znaczenie dla funkcjonowania społeczeństwa (Smart City, Przemysł 4.0), zagadnienia związane z szeroko rozumianym bezpieczeństwem stają się coraz bardziej istotną częścią pracy projektantów elektroniki i developerów oprogramowania w systemach embedded.




Systemowe podejście do bezpieczeństwa

Z uwagi na złożoność aplikacyjną współczesnej elektroniki zagadnienie zapewnienia bezpieczeństwa jest coraz trudniejsze, ponieważ termin ten dotyczy wielu zagadnień, części funkcjonalnych systemów oraz różnych typów zagrożeń. Dlatego kluczem do właściwego zapewnienia bezpieczeństwa urządzenia jest kompleksowe podejście polegające na:
identyfikacji potencjalnych zagrożeń na jakie może być narażony projektowane urządzenie
ustaleniu elementów i obszarów własności intelektualnej, danych i informacji, które wymagają szczególnej ochrony
ustaleniu systemowego podejścia do ochrony, gdyż ataki wymierzone są zwykle w najsłabszy punkt całości systemu, a niekoniecznie jednego projektowanego urządzenia.
W przypadku urządzeń elektronicznych zagadnienia związane z bezpieczeństwem muszą być rozważane już na wstępnym etapie projektowania, zarówno od strony układowej jak i oprogramowania.




Dotychczasowe rozwiązania nie pasują do świata elektroniki mobilnej

Od wielu lat w zastosowaniach profesjonalnych, bankowości, systemach telekomunikacyjnych wykorzystywane są bezpieczne rozwiązania zapewniające uwierzytelnienie i szyfrowanie komunikacji bazujące na kartach elektronicznych (smartcard), infrastrukturze klucza publicznego PKI (public key infrastructure) lub na platformach TPM (Trusted Platform Module). Zapewniają one wysokie bezpieczeństwo niemniej w przypadku aplikacji mobilnych, systemów embedded i małych rozwiązań bazujących na mikrokontrolerach, np. z obszaru IoT są niestety zbyt rozbudowane i drogie. Stąd elektronika w zakresie bezpieczeństwa sięga obecnie najczęściej po rozwiązania takie jak karty eSIM, karty zbliżeniowe NFC i RFID (Mifare), które znakomicie sprawdzają się w aplikacjach inteligentnego domu, systemach transportowych lub w obszarze komunikacji M2M.
Dla jeszcze mniejszych aplikacji, miniaturowych platform komunikacyjnych wykorzystywanych w sieciach rozproszonych czujników, układów klasy IoT, czyli innymi słowy aplikacji bazujących na mikrokontrolerach niezbędne są jeszcze bardziej zintegrowane, uniwersalne i tanie rozwiązania, które zapewniają wysoką funkcjonalność i jednocześnie są tanie, łatwe w integracji, bezpieczne. Istotne jest też, aby bezpieczeństwo nie wymagało i angażowało wielu zasobów takich jak moc obliczeniowa mikrokontrolera, wielkość pamięci, gdyż prowadzi to do nadmiernych kosztów i nie sprzyja oszczędności energii.


Takim rozwiązaniem jest STSAFE firmy ST Microelectronics.



STSAFE – bezpieczeństwo dla nowoczesnej elektroniki

STSAFE to najnowsze rozwiązanie technologiczne którego siła ochrony opiera się na certyfikowanej konstrukcji sprzętowej zgodne z Common Criteria EAL (Evaluation Assurance Level) i zapewniające funkcje uwierzytelnienia, szyfrowania, bezpiecznego kanału komunikacji, bezpiecznej aktualizacji oprogramowania i przechowywania danych. Parametry elektryczne zostały zoptymalizowane pod kątem zastosowania w małych aplikacjach, łatwej integracji za pomocą dostarczanych przez producenta bibliotek i prostotą integracji z mikrokontrolerami (za pomocą magistrali I2C).



Co to jest CC EAL?

Common Criteria (inaczej norma ISO 15408) to norma branżowa pozwalająca w sposób formalny weryfikować bezpieczeństwo systemów teleinformatycznych. CC udostępnia procedury pozwalające na zdefiniowanie zagrożeń oraz zabezpieczeń, które na te zagrożenia odpowiadają, a następnie przeprowadzenie formalnej weryfikacji ich faktycznego działania w produkcie. Certyfikacją według normy CC zajmują się niezależne, akredytowane laboratoria badawcze na całym świecie. Posiadanie certyfikatu nie jest więc wyłącznie deklaracją producenta.
Wynikiem procesu certyfikacji jest profil ochrony, który definiuje zabezpieczenia stosowane przez produkt oraz certyfikat potwierdzający ich faktyczną skuteczność. Proces certyfikacji jest prowadzony według różnych poziomów szczegółowości i weryfikacji formalnej (EAL) od EAL1 (testy funkcjonalne), przez EAL4 (metodologia projektowa, testy i weryfikacja), EAL5 aż do EAL7 (formalna weryfikacja projektu oraz testy).



Trzy wersje o różnym przeznaczeniu

STSAFE to rozwiązanie scalone zapewniające wysokiej jakości autentykację (uwierzytelnienie), a więc poświadczenie, że dany obiekt (urządzenie) jest zaufanym odbiorcą. Funkcjonalność obejmuje też bezpieczną komunikację i przechowywanie danych, bezpieczny proces uruchamiania systemów z mikrokontrolerami po włączeniu zasilania oraz aktualizacje oprogramowania.
Skuteczność ochrony w tym przypadku została potwierdzona przez niezależne od producenta jednostki certyfikujące stosownymi dokumentami.
Producent oferuje trzy wersje układu: STSAFE-A, STSAFE-TPM oraz STSAFE-J.
STSAFE-A bazuje na platformie Common Criteria EAL5+ i jest przeznaczony do tworzenia bezpiecznych kanałów komunikacyjnych w ramach sesji TLS, do weryfikacji sygnatur towarzyszących autentycznym produktom (np. bateriom), a także do budowy liczników zużycia substancji i mediów. Jest to rozwiązanie kierowane do wymagających aplikacji elektronicznych, w których narażenie na fałszerstwo lub podróbkę jest wysokie. Siłę kryptograficzną gwarantuje tutaj mechanizm ECC Brainpool NIST i 256- i 384-bitowymi kluczami. Układ ten jest kompatybilny z większością popularnych mikrokontrolerów, wspiera USB Type-C i daje się łatwo integrować z wykorzystaniem bibliotek programistycznych.
STSAFE-TPM (Trusted Platform Module) to certyfikowane rozwiązanie sprzętowe zgodne z Common Criteria EAL4+ i dodatkowo certyfikowane na zgodność z wymaganiami standardu TPM 1.2 & 2.0 TCG (Trusted Computing Group). Jest ono kierowane głównie do ochrony integralności oprogramowania firmware w aplikacjach embedded (aktualizacja oprogramowania, bezpieczne uruchamianie systemu, bezpieczeństwo komunikacji).
STSAFE-J – to elastyczne rozwiązanie Javy z dedykowanymi apletami kompatybilne pod względem komend z Java 3.0.4 i zgodne z Common Criteria EAL4+. Jest to nowa generacja istniejącego systemu KERKEY z szerokim zakresem funkcji kryptograficznych i zabezpieczających. Obszar aplikacyjny to aplikacje smart grid, koncentratory i bramy sieci przemysłowych oraz układy klasy IoT.

Pod względem aplikacyjnym układy te można podzielić następująco:
STSAFE-TPM to rozwiązanie do ochrony urządzeń dużych: serwerów infrastruktury sieciowej (switche routery), a więc miejsc, gdzie wymagana jest duża wydajność.
STSAFE-J to rozwiązanie dla aplikacji średniej skali złożoności jak bramy sieciowe.
STSAFE-A to rozwiązanie dla aplikacji embedded, IoT i smart things.

Układy STSAFE są wytwarzane w małych obudowach DFN 2×3 mm lub S08N 4×5 mm. Pracują w szerokim zakresie temperatur od -40 do +105ºC. Producent oferuje dla nich usługi personalizacji przy zamówieniu minimalnym 10 tys. sztuk.




Atak i obrona, czyli zagrożenia i metody ochrony

Remote software attack – polega na wykorzystaniu istniejących błędów w protokołach komunikacyjnych, polega też na niewłaściwym użyciu parametrów i typów przesyłanych danych w celu zakłócenia pracy sieci, urządzenia sieciowego lub końcowego. Realizowany za pomocą specjalnego oprogramowania, które zakłóca komunikację w kanale transmisyjnym.
Board level attack – polega na otwarciu obudowy urządzenia i jest realizowany poprzez dostęp do portów debugowania, magistral wewnętrznych, portów IO i szyn komunikacyjnych między poszczególnymi blokami. Może być także realizowany poprzez podgrzewanie układu, wprowadzanie zakłóceń szpilkowych do linii komunikacyjnych i zasilających, poprzez przeciążanie układów scalonych na skutek wyższego napięcia zasilania.
Silicon level attack – następuje poprzez usunięcie tworzywa obudowy układu scalonego (wytrawienie kwasem mrówkowym), a następnie podłączenie mikrosond bezpośrednio do struktury. Polega też na wprowadzaniu zakłóceń w działaniu za pomocą promienia lasera oświetlającego obszar pamięci programu.Rozwiązania wykorzystujące mikrokontroler z wbudowanymi funkcjami szyfrującymi przeznaczone są do odpierania ataków klasy board level i remote software attack. Pozwalają one na bezpieczną aktualizację oprogramowania, szyfrowanie komunikacji wewnętrznej po magistralach, zabezpieczanie zawartości pamięci programu i danych poprzez szyfrowanie zawartości, tworzenie mechanizmów typu firewall zapewniających ochronę kluczowych informacji w systemie.
Z kolei rozwiązania oraz rozwiązania takie jak STSAFE-A zapewniają także ochronę przez wszystkimi tego typu atakami, także klasy silicon level. To dlatego, że struktura scalona tego układu ma konstrukcję chroniącą przez wstrzykiwaniem błędów za pomocą mikrosond. Układ monitoruje także parametry zasilania i otoczenia blokując swoją pracę w sytuacjach anormalnych. Ponadto w sposób bezpieczny przechowuje klucze bez możliwości dostępu do komórek pamięci z zewnątrz za pomocą sondy i zapewnia wydajne szyfrowanie informacji z długim kluczem.




Najważniejsze jest bezpieczeństwo przechowywanych kluczy szyfrujących

Zagrożenia takie jak fałszerstwa lub klonowanie urządzeń rozwiązuje się za pomocą uwierzytelnienia, jedno lub dwukierunkowego na drodze host-device. Bezpieczne i pewne uwierzytelnienie jest podstawą we współczesnych sieciach rozproszonych zawierających wiele czujników klasy IoT, gdyż zapobiega możliwości wprowadzania nieautoryzowanych urządzeń, zarówno takich, które mogą stanowić zagrożenie dla bezpieczeństwa informacji jak od strony biznesowej (reputacja producenta).
Z kolei zagrożenia takie jak możliwość uszkodzenia integralności danych i podsłuchy dotyczą głównie sieci komunikacyjnych i urządzeń. Rozwiązaniem jest tu uwierzytelnienie komunikujących się urządzeń i szyfrowanie komunikacji. Nietrudno domyśleć się, że poufność, a więc jakość tych procesów jest determinowana przez to jak skutecznie można przechowywać i wykorzystywać klucze.
Obojętnie czy w aplikacji wykorzystywane jest szyfrowanie symetryczne takie jak AES lub niesymetryczne (RSA, ECC) bezpieczeństwo opiera się na utrzymaniu w tajemnicy kluczy szyfrujących. Od tego jak są one generowane, przechowywane i przesyłane zależy stopień ochrony informacji zapewniany w danym zastosowaniu.
Klucze szyfrujące w aplikacjach embedded są przechowywane w pamięci wewnętrznej mikrokontrolera (zwykłej lub specjalnym wydzielonym obszarze). Inne podejście, zastosowane w STSAFE, polega na użyciu specjalnego magazynu na klucze zaszytego wewnątrz struktury bezpiecznego elementu scalonego. Dlatego STSAFE może uzupełniać w aplikacji zwykły mikrokontroler bez specjalnej funkcjonalności w zakresie bezpieczeństwa stanowiąc dla niego bezpieczny magazyn i jednostkę szyfrującą tak, że całość można uczynić odporną na ataki fizyczne i logiczne (wszystkie trzy typy ataków: remote software, board level i silicon level).




Narzędzia rozwojowe dla STSAFE

ST Microelectronics przygotował dla projektantów narzędzia rozwojowe pozwalają na szybkie prototypowanie i łatwą integrację układów STSAFE w projektowanej aplikacji.
STSAFE Nucleo Expansion to płytka nakładkowa zawierająca ukłąd STSAFE i niezbędne otoczenie pozwalająca na testowanie i tworzenie oprogramowania wykorzystującego mechanizmy bezpieczeństwa. Producent dodaje do części sprzętowej STSAFE Toolkit – aplikację na peceta z przykładowymi procedurami, kawałkami kodu. Pozwala ona także na personalizowanie chipów.
STSAFE-A1SX to zestaw ewaluacyjny bazujący na mikrokontrolerze STM32L dla sieci Sigfox zapewniający możliwość podłączania czujników do chmury. Wykorzystuje on transceiver S2-LP pracujący w paśmie poniżej 1 GHz wykorzystany do komunikacji w ramach Sigfox. Uzupełnienie transceivera o STSAFE zapewnia możliwość bezpiecznej komunikacji i uwierzytelnienia elementów sieci.
Dostępne jest też oprogramowanie ułatwiające pracę przy tworzeniu aplikacji działających w chmurze. Zapewnia one łatwą rejestrację w Amazon Web Services, także masową rejestrację wielu chipów.




Szczegółowe informacje techniczne dotyczące STSAFE są przekazywane potencjalnym klientom po podpisaniu umowy o poufności (non-disclosure agreement NDA), zobowiązującą do traktowania materiałów lub informacji jako poufnych z zastrzeżeniem ich dalszego nierozpowszechniania. Z tych powodów kupno zestawów uruchomieniowych, również wymaga podpisania NDA.