Programowalne zabezpieczenia dla niskomocowych aplikacji Przemysłu 4.0

Programowalne zabezpieczenia dla niskomocowych aplikacji Przemysłu 4.0

Bezpieczeństwo aplikacji jest dużym problemem w sektorze medycznym, przemysłowym, motoryzacyjnym i komunikacyjnym. Wdrażanie inteligentnych sieci jest niezbędne dla uzyskania przepływu informacji i optymalizacji procesów. W rezultacie powstają połączone, inteligentne systemy maszyn. Są one narażone na problemy wynikające z niewykrytych błędów oraz na ataki z użyciem złośliwego oprogramowania, a dodatkowo nie można wykluczyć ingerencji fizycznej – nieautoryzowanego dostępu lub nielegalnej kontroli sprzętu i oprogramowania.

Najnowszy rozdział w rozwoju przemysłu, powszechnie znany jako czwarta rewolucja przemysłowa lub Przemysł 4.0 (Industry 4.0), ustanawia nową epokę innowacji i rozwoju, ale nie pozbawioną własnego zestawu zagrożeń i wyzwań. Definiuje komunikację i łączność między systemami, sieciami, maszynami i ludźmi z użyciem Internetu Rzeczy (IoT), wplatając się w nowe poziomy złożoności. Chociaż korzyści płynące z łączności obejmują zwiększoną wydajność, identyfikację i usuwanie usterek w czasie rzeczywistym, konserwację predykcyjną i lepszą współpracę między różnymi funkcjami, mogą one również znacznie zwiększyć luki w zabezpieczeniach w inteligentnej fabryce lub zautomatyzowanym zakładzie produkcyjnym. Cyberbezpieczeństwo nie jest już ograniczone do określonej operacji lub systemu, ale rozpowszechniło się na każde urządzenie w fabryce lub w sieci przemysłowej. Nastąpił globalny wzrost zagrożeń bezpieczeństwa systemów sterowania w inteligentnych fabrykach, który dotyczy sterowników PLC, czujników, systemów wbudowanych i przemysłowych urządzeń IoT. Zdalne zarządzanie z użyciem technologii chmurowych stwarza również ryzyko ataków fizycznych, takich jak manipulacje, wstrzykiwanie złośliwej zawartości itp.

W zaprezentowanym artykule opisano, w jaki sposób układy FPGA mogą poprawić poziom bezpiecznych aplikacji wymuszonych przez rosnący wzrost IoT i przetwarzania brzegowego, napędzane przez czwartą rewolucję przemysłową. Opisuje rolę bezpieczeństwa na trzech etapach (rysunek 1): w sprzęcie, projekcie i danych, umożliwiając jednocześnie budowanie aplikacji na trzech filarach bezpieczeństwa: poufności, integralności i autentyczności.

Rysunek 1. Bezpieczeństwo aplikacji bazuje na trzech warstwach – sprzętowej, projektowej i danych

Niezawodny system bezpieczeństwa musi koniecznie oferować trzy podstawowe komponenty:

  1. zaufanie – gwarancja, że urządzenie – źródło danych, jest niezawodne, autoryzowane i uwierzytelnione,
  2. ochrona przed manipulacją – potwierdzenie, że nie było ingerencji w urządzenie,
  3. pewność informacji – zapewnienie, że dane są używane, przetwarzane i przesyłane w bezpieczny sposób.

Zabezpieczenia sprzętowe z FPGA

Zastosowanie jednego rozwiązania, bazującego na oprogramowaniu, odpowiedzialnego za bezpieczeństwo aplikacji, nie jest wystarczające, aby osiągnąć odpowiednie poziomy bezpieczeństwa w aktualnych systemach Przemysłu 4.0. Wynika to z wielu aspektów, m.in. ze względu na brak trwałości oprogramowania, czy ograniczenie możliwości wydajnego zużycia energii, itp. Optymalnym rozwiązaniem jest wielowarstwowy mechanizm ochrony obejmujący funkcjami zabezpieczeń, także sprzęt.

Obecnie większość struktur bezpieczeństwa to implementacje oprogramowania z bibliotekami kryptograficznymi skompilowanymi do działania na kontrolerach lub procesorach ogólnego przeznaczenia. Takie implementacje oprogramowania tworzą bardziej rozległą przestrzeń podatną na ataki z wieloma potencjalnymi słabymi punktami, takimi jak system operacyjny, sterowniki, stosy oprogramowania, pamięci i klucze programowe. Ponadto implementacje oprogramowania mogą nie być zoptymalizowane pod kątem wydajności mocy i mogą podnosić wymagania projektowe. Długoterminowa konserwacja tych systemów z częstymi aktualizacjami stosów, bibliotek itp. przez cały okres eksploatacji systemu przemysłowego może być również uciążliwa i kosztowna.

Zasadniczo każdy sprzęt musi integrować zabezpieczenia w swojej strukturze, aby zapobiec statycznym i dynamicznym atakom inżynierii wstecznej, manipulacji i fałszerstw. W związku z tym programowalne zabezpieczenia sprzętowe stały się wszechstronnym i niezawodnym rozwiązaniem dla energooszczędnych przemysłowych aplikacji IoT i Edge Computing, zwłaszcza z układami FPGA. Oprócz poprawy wydajności zabezpieczeń systemu, układy FPGA zwiększają również poziom bezpieczeństwa aplikacji. Aby zaoferować naprawdę solidne rozwiązanie, aplikacja FPGA musi integrować kluczowe komponenty bezpieczeństwa w sprzęcie, projekcie i danych.

Bezpieczne urządzenia FPGA

Krytyczne aplikacje muszą uwzględniać scenariusz, w którym komponenty mogą zostać poddane cyberatakowi nie tylko w docelowej aplikacji, ale także przed wdrożeniem lub programowaniem w miejscu produkcji lub podczas transportu w łańcuchu dostaw. Bezpieczny system produkcyjny musi umożliwiać szyfrowanie i dostarczanie układów FPGA w mniej zaufanym środowisku produkcyjnym, kontrolowanie liczby zaprogramowanych urządzeń i audytowanie procesu produkcyjnego w sposób kontrolowany kryptograficznie. Wszystkie te procesy muszą być skonstruowane tak, aby uniemożliwić wprowadzenie klonów produktów, zainfekowanych złośliwym oprogramowaniem i nieautentycznych części.

Bezpieczne projekty FPGA

Bezpieczeństwo projektu bazuje na bezpiecznej platformie sprzętowej. Jednak, aby zapewnić poufność i autentyczność projektu należy monitorować środowisko pod kątem ataków fizycznych. Atak boczny (SCA) może stanowić poważne zagrożenie dla układów FPGA, które integrują systemy kryptograficzne, uszkadzając strumienie bitów zaprogramowane w urządzeniu. SCA polega na wydobywaniu krytycznych i poufnych informacji z ukłdu lub systemu, mierząc lub analizując różne parametry fizyczne, takie jak prąd zasilania, czas wykonania i emisja elektromagnetyczna. Proces programowania lub uruchamiania FPGA musi być odporny na takie działania, niezależnie od tego, czy są to FPGA nieulotne, czy z pamięcią SRAM.

Aktywne monitorowanie środowiska urządzenia to kolejna technika ochrony konstrukcji FPGA przed atakami półinwazyjnymi i inwazyjnymi. Wahania napięcia, temperatury i częstotliwości zegara mogą sugerować próbę manipulacji. Odporny na manipulacje układ FPGA zapewnia konfigurowalne reakcje w celu przeciwdziałania atakowi, w tym całkowite wyczyszczenie urządzenia i uczynienie go bezużytecznym dla atakującego.

Bezpieczne dane FPGA

Wreszcie układy FPGA muszą zapewnić techniki zabezpieczania danych aplikacji w sprzęcie i projekcie, obejmujące kombinację różnych metodologii:

  • generator liczb losowych – TRNG (True Random Generator) do budowania bezpiecznych protokołów, które spełniają standard NIST i oferują źródło losowości do generowania tajnych kluczy do operacji kryptograficznych;
  • klucz główny jest generowany z funkcji nieklonowalnej fizycznie – PUF (Physically Unclonable Function). Wykorzystują one submikronowe zmiany, które występują naturalnie podczas produkcji półprzewodników i nadają każdemu tranzystorowi marginalnie losowe właściwości elektryczne i unikalną tożsamość. Jest to analogiczne do ludzkiego odcisku palca, gdzie nie ma dwóch takich samych;
  • bezpieczna pamięć chroniona tajnym kluczem;
  • funkcja kryptograficzna zdolna do wykonywania standardowych funkcji asymetrycznych, symetrycznych i hashtagów.
Rysunek 2. Układy FPGA zapewniają bezpieczeństwo danych dzięki zastosowaniu różnych metodologii

Wnioski

Przemysł 4.0 to postępująca rewolucja, a jej powszechne przyjęcie bazuje na solidnych, kompleksowych rozwiązaniach bezpieczeństwa. Implementacje funkcji bezpieczeństwa i funkcji kryptograficznych w oprogramowaniu mają wiele słabych punktów i są podatne na złośliwe oprogramowanie. Zupełnie przeciwnie jest w dzisiejszych rozwiązaniach sprzętowych z układami FPGA z wbudowanymi zaawansowanymi bezpiecznymi programowalnymi funkcjami, a także warstwami zabezpieczeń sprzętu, projektu i danych. Zapewnia to sprzęt zaprojektowany w celu ochrony IP klienta przed kradzieżą lub przebudową. Przykłady funkcji bezpieczeństwa danych obejmują ochronę DPA w celu przeciwdziałania atakom side-channel, która jest ogólnie licencjonowaną, opatentowaną funkcją. Ważne jest również bezpieczne rozwiązanie do zarządzania kluczami bazujące na funkcjach nieklonowanych fizycznie (PUF) oraz programowalny procesor kryptograficzny odporny na ataki boczne SCA, który obsługuje standardowe w branży funkcje asymetryczne, symetryczne i hashtag.

Rozwiązania sprzętowe torują drogę do naprawdę elastycznych i bezpiecznych systemów. Zabezpieczenia sprzętowe zawierające układy FPGA stają się właściwym wyborem dla kluczowych potrzeb bezpieczeństwa, głównie ze względu na programowalność, wydajność i znaczne korzyści w zakresie mocy, jakie oferują. Układy FPGA, które integrują akceleratory kryptograficzne odporne na ingerencję, obejmują zabezpieczenia przed manipulacją dla ochrony własności intelektualnej klientów i oferują zaufane zarządzanie łańcuchem dostaw, stanowią pewną platformę do opracowywania bezpiecznych systemów.​

Apurva Peri
Senior Engineer, Product Marketing w Microchip Technology

Artykuł ukazał się w
Elektronika Praktyczna
listopad 2022
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik grudzień 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio listopad - grudzień 2024

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje listopad - grudzień 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna grudzień 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich styczeń 2025

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów