Secure component jako podstawa bezpieczeństwa systemów cyfrowych

We współczesnym świecie cyberbezpieczeństwo odgrywa coraz istotniejszą rolę, zaś poziom zabezpieczeń zapewniany przez różnego rodzaju systemy i technologie cyfrowe staje się jednym z najbardziej kluczowych parametrów, zarówno ze względu na postępujące regulacje prawne, jak i oczekiwania użytkowników. Jednym z fundamentów bezpieczeństwa urządzeń mobilnych oraz systemów embedded są podzespoły określane mianem Secure Element lub Secure Component. W tekście przedstawiono ich podstawowe funkcjonalności, charakterystykę oraz zastosowania.

Posłuchaj
00:00

Słabo zabezpieczone systemy cyfrowe bardzo szybko stają się atrakcyjnym celem dla cyberprzestępców. Przełamanie lub ominięcie zabezpieczeń systemu może stanowić punkt wyjścia do całej gamy różnorodnych ataków – uzyskania dostępu do wrażliwych informacji przechowywanych w urządzeniu, tworzenia kopii/podróbek układu czy przejęcia obecnych w systemie rozwiązań technologicznych poprzez wykorzystanie metod inżynierii odwrotnej. Jedno słabo zabezpieczone ogniwo w postaci urządzenia lub komponentu może doprowadzić do ogromnych szkód w całym systemie.

Z drugiej strony z punktu widzenia konstruktorów i programistów wymagania odnośnie do bezpieczeństwa są często dodatkowym utrudnieniem w dążeniu do spełnienia wyśrubowanych oczekiwań dotyczących m.in. wydajności, energooszczędności, budżetu oraz rozmiarów układu.

Stosowanie wybranych technik zabezpieczeń, jak np. szyfrowania oraz autentykacji, może przynieść istotne benefity i znacząco utrudnić nieautoryzowany dostęp do systemu, z reguły jednak, jeśli nie jest głęboko osadzone w architekturze systemu i właściwie zintegrowane z pozostałymi jego komponentami, nie wystarcza do zapewnienia odpowiedniego poziomu zabezpieczeń. U podstaw właściwej implementacji i integracji zabezpieczeń leży zazwyczaj tzw. źródło zaufania (Root of Trust), czyli sprzętowy mechanizm, od którego zależą wszystkie bezpieczne operacje systemu cyfrowego. Komponent ten służy m.in. do przechowywania poufnych danych, takich jak klucze kryptograficzne i powinien być maksymalnie zabezpieczony przed jakimkolwiek dostępem z zewnątrz systemu.

Jednym z typów układów mogących pełnić funkcję sprzętowego źródła zaufania jest właśnie tzw. secure component/secure element, czyli główny bohater tego tekstu.

Czym jest Secure Element

Secure element (SE) to dedykowany układ sprzętowy, realizowany w formie osobnego chipu lub układu peryferyjnego wbudowanego w procesor. Jest on zbudowany w sposób uniemożliwiający nieautoryzowany dostęp z zewnątrz. Jego rolę w systemie porównać można do swego rodzaju sejfu, gdyż jedną z głównych funkcjonalności tego typu komponentów jest właśnie bezpieczne przechowywanie danych wrażliwych oraz kluczy i certyfikatów kryptograficznych.

Skuteczność zastosowanych w projekcie zabezpieczeń oraz metod kryptograficznych, takich jak szyfrowanie czy autentykacja, opiera się na założeniu poufności i integralności danych przechowywanych w SE. Element ten odgrywa zatem centralną i krytyczną rolę w architekturze bezpieczeństwa systemu, zaś jego ewentualne uszkodzenie lub naruszenie może prowadzić do bardzo poważnych konsekwencji. Z tego powodu niezwykle ważne jest, aby w roli SE wykorzystywać komponenty charakteryzujące się bardzo wysokim poziomem niezawodności oraz bezpieczeństwa. W tym celu opracowano i wprowadzono do użytku dokumenty standaryzacyjne, opisujące wymagania wobec układów SE. Prawdopodobnie najpopularniejszym i najpowszechniej wykorzystywanym z tego typu dokumentów jest specyfikacja opracowana przez GlobalPlatform, branżową organizację non-profit, której celem jest rozwój, wdrażanie oraz upowszechnianie technologii związanych z bezpieczeństwem urządzeń oraz usług cyfrowych.

Specyfikacja ta określa m.in. wymagania dotyczące interfejsów komunikacyjnych, poszczególnych komponentów systemu oraz jego funkcjonalności. GlobalPlatform prowadzi również program certyfikacyjny, którego celem jest sprawdzanie zgodności urządzeń i układów z wymaganiami standardu. W przypadku wyboru układu SE warto upewnić się, że rozważany produkt oznaczony jest odpowiednim certyfikatem, potwierdzającym jego jakość i niezawodność.

Zalety stosowania SE

Jak już wspomniano, SE odgrywa w systemie rolę "sejfu" – dostarcza bezpiecznej przestrzeni do przechowywania wrażliwych danych. W dodatku separuje znaczną część funkcjonalności związanych z bezpieczeństwem od reszty aplikacji, co upraszcza architekturę systemu i ułatwia jego późniejsze utrzymanie, modyfikacje oraz rozbudowę. Obecność SE pomaga też w organizacji procesu produkcji i montażu urządzeń – krytyczne i wrażliwe dane mogą być wgrane do komponentu SE na oddzielnym etapie procesu wytwarzania, w kontrolowanym oraz bezpiecznym środowisku.

Typowe zastosowania SE

Komponent SE dość często wykorzystywany jest do realizacji następujących funkcjonalności:

  • Autentykacja – w bezpiecznej przestrzeni przechowywać można dane identyfikacyjne urządzenia, jak również klucze kryptograficzne służące do ich bezpiecznej weryfikacji. Komponent SE zapewnia integralność oraz poufność przechowywanych danych, może również wykonywać obliczenia i operacje kryptograficzne niezbędne do przeprowadzenia procesu autentykacji.
  • Podpis cyfrowy – w obszarze pamięci udostępnianym przez SE przechowywać można certyfikaty oraz klucze prywatne służące do realizacji procedury podpisu cyfrowego. SE może samodzielnie wyliczać sygnaturę podpisu na podstawie dostarczonych danych wejściowych.
  • Kontrola dostępu – komponenty SE często znaleźć można w kartach i kluczach dostępowych, gdzie służą do przechowywania unikatowych identyfikatorów sprzętowych oraz ich przetwarzania.
  • Bezpieczne uruchamianie systemu – komponenty SE są również z powodzeniem wykorzystywane do realizacji bezpiecznego uruchomienia systemu operacyjnego (tzw. Secure Boot). Przechowywanie fragmentów kodu maszynowego odpowiedzialnych za uruchomienie systemu w bezpiecznej pamięci SE gwarantuje ochronę przed celową (lub przypadkową) modyfikacją tych niezwykle wrażliwych części oprogramowania systemowego.
  • Płatności zbliżeniowe – komponenty SE znaleźć można również w kartach płatniczych oraz urządzeniach mobilnych zdolnych do realizacji płatności zbliżeniowych. Służą one do zabezpieczenia wrażliwych danych niezbędnych do realizacji procesu płatności.

Główne funkcjonalności SE

Poszczególne modele SE różnią się posiadanym zestawem funkcjonalności, z pewnością wyszczególnić można jednak zbiór najczęściej spotykanych i wykorzystywanych, do których należą:

  • Ochrona kluczy kryptograficznych – jak już wspomniano, komponenty SE niemal zawsze odgrywają rolę sejfu służącego do bezpiecznego przechowywania różnego rodzaju istotnych informacji, w tym m.in. kluczy kryptograficznych. Klucze te pełnią centralną funkcję w realizacji różnego typu procedur, jak wspomniany już podpis cyfrowy lub szyfrowanie. Rolą SE jest ochrona kluczy przed nieautoryzowanym dostępem, nawet w przypadku udanego ataku na inne elementy systemu.
  • Realizacja operacji kryptograficznych – większość modeli SE pozwala na realizację wybranych operacji kryptograficznych, takich jak szyfrowanie, deszyfrowanie, generaowanie podpisu cyfrowego oraz jego weryfikacja. Realizacja tego typu zadań wewnątrz elementu SE chroni dane wrażliwe przed ujawnieniem oraz ekspozycją na zewnątrz komponentu, co istotnie ogranicza ryzyko złamania zabezpieczeń systemu.
  • Autentykacja – jak już wspomniano, komponenty SE bardzo często wykorzystywane są w procesie autentykacji. Co więcej, z reguły są one zdolne do samodzielnego przeprowadzania tej procedury, dzięki czemu jedynie autoryzowani użytkownicy i urządzenia mogą mieć dostęp do wybranych grup informacji.
  • Bezpieczna pamięć nieulotna – komponenty SE są w stanie przechowywać nie tylko dane kryptograficzne, ale również innego typu informacje istotne z punktu widzenia systemu oraz jego użytkowników. Zaliczyć do nich można m.in. dane biometryczne, identyfikatory urządzenia oraz wiele innych.
  • Kontrola integralności danych – komponenty SE są w stanie weryfikować poprawność przechowywanych danych, dzięki czemu mogą wykryć wszelkiego typu uszkodzenia oraz modyfikacje tych informacji, powstałe np. na skutek prób ataku. Funkcjonalność ta jest niezwykle ważna dla zapewnienia bezpieczeństwa całego systemu, pozwalając na jego kontrolowane wyłączenie w przypadku celowego lub przypadkowego uszkodzenia.
  • Generowanie kluczy kryptograficznych oraz liczb losowych – bardzo często komponenty SE pozwalają nie tylko na przechowywanie uprzednio stworzonych kluczy kryptograficznych, ale także ich dynamiczną generację. Z reguły umożliwiają również generowanie liczb losowych, niezbędnych do realizacji wielu procedur kryptograficznych.

Podsumowanie

Wysokie wymagania dotyczące cyberbezpieczeństwa stały się już standardem w przypadku ogromnej liczby typów systemów cyfrowych. Jednym ze skutecznych sposobów na realizację tych wymagań jest wykorzystanie komponentów SE, czyli dedykowanych chipów lub układów peryferyjnych służących do realizacji mechanizmów bezpieczeństwa. Do najczęściej spotykanych funkcjonalności SE zaliczyć można bezpieczne przechowywanie danych, w tym kluczy i certyfikatów kryptograficznych, a także realizację różnego typu operacji kryptograficznych. Komponenty SE dbają o integralność i poufność przechowywanych danych, stanowiąc sprzętowe źródło zaufania w systemie. Znajdują zastosowanie w wielu obszarach, takich jak systemy kontroli dostępu, elektroniczne dokumenty i identyfikatory, a także układy do realizacji płatności mobilnych oraz zbliżeniowych.

Damian Tomaszewski

Zobacz więcej w kategorii: Technika
Projektowanie i badania
Straty mocy w tranzystorach MOSFET
Projektowanie i badania
Projektowanie pod kątem testowania
Zasilanie
Zasilanie FPGA – wybór optymalnej sprawności, zakresu napięć I/O, tolerancji i wymiarów podzespołów
Pomiary
Cewka Rogowskiego – co to jest i jak działa?
Projektowanie i badania
Wykorzystanie przełączników SiC/GaN do zmniejszenia strat w układach napędowych silników
Projektowanie i badania
Zalety diod idealnych ze zintegrowanymi tranzystorami MOSFET
Zobacz więcej z tagiem: Mikrokontrolery i IoT
Gospodarka
Czołówka producentów mikrokontrolerów samochodowych
Gospodarka
Zarządzanie ryzykiem i regulacjami w IoT – przewodnik od Mouser i NXP
Gospodarka
Chiny stawiają na RISC-V
Zapytania ofertowe
Unikalny branżowy system komunikacji B2B Znajdź produkty i usługi, których potrzebujesz Katalog ponad 7000 firm i 60 tys. produktów