Elektroda.pl
Elektroda.pl
X
Servizza
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Jak wybrać optymalny układ scalony do zapewnienia cyberbezpieczeństwa

ghost666 10 Sty 2019 16:32 831 0
  • Układy kryptograficzne dostępne obecnie na rynku posiadają wiele różnych cech, mechanizmów zabezpieczeń czy zaimplementowanych algorytmów. Trudno jest wybrać jeden odpowiedni układ, który spełni nasze oczekiwania i zaspokoi konkretne potrzeby.

    Obecnie wiele wysiłku wkłada się w ochronę urządzeń elektronicznych przed m.in. podróbkami. Tego rodzaju zabiegi realizuje się wszędzie, gdzie wsparta kryptograficznie autentykacja urządzeń jest istotna - w systemach wojskowych, lotniczych itp.

    Niestety większość oferowanych na rynku systemów zapewnia jedynie minimalny poziom ochrony. W wielu wypadkach inżynierowie, projektujący tego typu systemy, wybierają rozwiązania, które poważnie ograniczają możliwości ochrony przed podrabianymi urządzeniami - dużo bardziej niż spodziewają się tego projektanci.

    Jak wybrać optymalny układ scalony do zapewnienia cyberbezpieczeństwa
    Istnieją dwa zasadnicze typy układów do uwierzytelniania: "maszyny stanów" z predefiniowanymi funkcjami oraz programowalne układy, w których zaimplementowano wiele protokołów bezpieczeństwa. Na diagramie po lewej stronie pokazano, z jakich ogólnych bloków składa się tego typu układ scalony.

    Wysokowydajne procesory bezpieczeństwa mogą być wykorzystywane do realizacji szerokiej gamy zadań - jednym z nich jest autentykacja układu. Przykładem tego jest moduł platformy zaufanej (TPM), który realizuje szereg operacji kryptograficznych w systemie. Preprogramowany układ jest w stanie pełnić tylko jedną funkcję - bezpiecznie autentykować się w systemie zwracając odpowiedzi wygenerowane na podstawie zaimplementowanego w układzie algorytmu i nadesłanych o układu "wyzwań", czyli zapytań.

    Protokół wyzwanie-odpowiedź jest krytycznym elementem układów przeciwdziałających podróbkom. Najlepszym przykładem takiego algorytmu jest protokół CHAP (Protokół Uwierzytelniania Wyzwanie-Handshake). W systemie, który korzysta z CHAP, serwer uwierzytelniania wysyła wyzwanie do użytkownika w formie długiego ciągu losowych bitów. Hasło użytkownika (nieznane przez system) wykorzystywane jest do zaszyfrowania wyzwania, a następnie jest ono w tej formie odsyłane do serwera. Po otrzymaniu tej wiadomości serwer porównuje ją z zapisanymi u siebie danymi. Jeśli się zgadzają, to znaczy, że użytkownik wpisał poprawne hasło, a użytkownik zostaje uwierzytelniony.

    W podobny sposób działa układ scalony z predefiniowaną funkcją ACF. Otrzymuje on wyzwanie (również w formie długiej serii losowych bitów od weryfikującego urządzenie hosta. Korzystając z operacji kryptograficznych na otrzymanym wyzwaniu układ ACF generuje odpowiedź, która wysyłana jest następnie do odpytującego układu, który znając poprawną odpowiedź jest w stanie zweryfikować, czy układ wyliczył poprawną odpowiedź i może zostać uznany za autentyczny.





    Krytyczne aspekty siły klucza brane pod uwagę

    Jakkolwiek wszystkie układy scalone służące uwierzytelnianiu systemów biorą udział w wymianie danych wyzwanie/odpowiedź korzystając z sekretnego kodu, by w istotny sposób zwiększyć poziom zabezpieczenia przed podróbkami, konieczne jest przeprowadzenie kompletnego porównania krytycznych różnic pomiędzy poszczególnymi układami ACF. Na liście rzeczy do sprawdzenia znaleźć powinny się cztery istotne kwestie:

    Jak przechowywane są sekretne zdjęcie w układzie i jak dobrze chronione są te informacje

    Należy sprawdzić, jaka w systemie wykorzystana jest funkcja do generacji klucza (KDF), czyli jak sekret zamienia się w klucz, który wykorzystywany jest do szyfrowania wyzwania. Ważne są wszystkie detale algorytmu szyfrowanie, wliczając w to wszystkie aspekty związane z odpornością/podatnością na ataki typu DPA, takie jak wstrzykiwanie błędu. Krytyczna jest też odporność na manipulację układem w systemie.

    Początkowo projektant zapytać powinien o typ pamięci nieulotnej, jaka wykorzystana jest w systemie i na ile odporna jest na ataki, szczególnie te najbardziej inwazyjne. Krytycznym jest wybór producenta dotyczący przechowywania sekretnych danych w układzie. Różni producenci wykorzystują rozmaite rozwiązania w tym zakresie. Jednokrotnie programowalna pamięć (OTP) jest uważana za bezpieczniejszą niż pamięci oparte o ładunek, takie jak EEPROM czy wbudowana pamięć Flash. Wszystkie pamięci są podatne na ataki o wysokiej inwazyjności, ale w przypadku mniej inwazyjnych technik, takich jak wykorzystanie mikroskopu elektronowego do podglądania pamięci, to układy EEPROM są łatwiejsze w odczytaniu.

    Jak generowany jest klucz do szyfrowania wyzwania

    Drugim pytaniem, jakie musimy zadać, dotyczy tego jak generowany jest klucz do szyfrowania odpowiedzi. Jest to zadaniem KDF. Funkcja ta przyjmuje dane i przekształca je, generując w ten sposób klucz do szyfrowania wyzwania. Najlepiej jest korzystać z funkcji typu Proof-of-Work (PoW), tzn. takiego, który pracuje z przy tak szybkim zegarze i tak szerokim słowie bitowym danych, że nie da się go np. wydajnie emulować z pomocą niedrogiego mikrokontrolera.

    Dzięki temu, KDF z PoW zapewnia, że system działa - poprawnie uwierzytelnia się w systemie - ale także, że układ poprawnie działa. W ten sposób sprawdzana jest zarówno poprawność KDF jak i funkcji PoW. Taki mechanizm sprawia, że systemu autentykacji nie da się zastąpić np. komercyjnie dostępnym, niedrogim mikrokontrolerem, nawet jeżeli znamy sekretne dane zakodowane w układzie.

    Jaki algorytm lub protokół szyfrowania wykorzystywany jest do generacji odpowiedzi

    Trzecią istotną rzeczą, jaką o stosowanym układzie trzeba wiedzieć, to rodzaj protokołu lub algorytmu szyfrowania, jaki wykorzystuje on do generacji odpowiedzi. Istnieje szereg protokołów, jakie stosuje się do generacji odpowiedzi - niektóre układu używają Zaawansowanego Standardu Szyfrowania (AES) a inne tzw, Bezpieczny Algorytm Hashujący (SHA-2 lub SHA-3). Większość producentów jednakże stosuje jednakże Kryptografię z Krzywą Eliptyczną (ECC). Istnieją różne sposoby na wyznaczenie odpowiedzi z podanego wyzwania z pomocą ww algorytmów, dzięki czemu inżynierią wsteczną nie da się rozpracować klucza, nawet znając pary danych - wyzwanie i odpowiedź.

    Niezależnie jednak od wykorzystanego algorytmu, wszystkie układy tego rodzaju mogą być podatne na ataki typu DPA, czyli analizy różnicowego poboru prądu. Niemalże każdy algorytm sprawia, że w jakimś stopniu poprzez linie zasilania wyciekają z niego dane związane z sekretnym kluczem, wykorzystywanym w danym momencie do szyfrowania wyzwania i obliczania związanej z nią odpowiedzi.

    Uważaj na ataki DPA

    Mówiąc w skrócie, atak DPA polega na tym, że atakujący monitoruje zużycie prądu przez układ, podczas gdy wykonuje on operacje szyfrowania. Zmiany poboru prądu w czasie tego procesu są zapisywane wraz z podanymi wyzwaniami. W większości wypadków pozwala to na odzyskanie wartości sekretnego klucza z układu.

    Tego rodzaju atak przeprowadza się niedrogimi, nieinwazyjnymi metodami. Oznacza to, że do ochrony przed tego rodzaju atakiem nie liczy się jakiego rodzaju pamięć jest zastosowana w układzie, ani czy wyposażony jest w zaawansowane systemy ochrony przed manipulacjami. Do tego potrzebne są inne, dedykowane zabezpieczenia, które chronią układ przed atakami typu DPA, inaczej będzie on podatny na wyciek sekretnych danych przez linie zasilania.

    Z tego też powodu, wybierając algorytm do naszego systemu bezpiecznego uwierzytelniania powinniśmy upewnić się, że jest on odporny na ataki DPA. Jeśli tak jest, to nawet zgromadzenie milionów przebiegów poboru prądu w czasie nie pozwoli na zdekodowanie, jaki sekretny klucz zawarto w układzie.

    Jak wybrać optymalny układ scalony do zapewnienia cyberbezpieczeństwa
    Trzeba pamiętać, że są poważne różnice pomiędzy protokołami chronionymi przed DPA i odpornymi na DPA. Istnieje wiele istotnych różnic w budowie takich elementów:

    * Zasilanie układu może być monitorowane, co pozwala na dekodowanie sekretu.
    * Dla dużych zbiorów danych możliwe jest analizowanie korelacji pomiędzy odpowiedzią a zapytaniem.
    * Algorytmy odporne na DPA szyfrują wejściowe wyzwanie, co utrudnia analizę procesu generowania odpowiedzi.

    Przy wykorzystaniu protokołu odpornego na ataki DPA, atakujący nie jest w stanie zgromadzić dostatecznej ilości informacji na podstawie przebiegów zużycia prądu, by zrekonstruować sekretny klucz. W przypadku układów częściowo tylko chroniących dane przed atakami DPA, to ochrona ta nie jest stuprocentowa, ale istotnie zwiększa się ilość przebiegów, jakie trzeba zebrać - może ona wynosić setki milionów przebiegów, jakie potrzebne mogą być do zrekonstruowania sekretnego klucza zapisanego w układzie.

    Techniki zabezpieczające przed manipulacją w układzie

    Czwartym elementem, który sprawdzić trzeba wybierając układ do naszego urządzenia, jest jego odporność na manipulację w układzie. Mechanizmy zabezpieczania przed niepowołanymi manipulacjami w systemie nie są składowymi algorytmów, nie przekładają się bezpośrednio na bezpieczeństwo szyfrowania, są jednak one krytyczne w zabezpieczaniu systemu przed np. podsłuchaniem komunikacji w układzie czy innymi nieinwazyjnymi atakami (jak na przykład analiza DPA). Jeśli producent nie zabezpieczy naszego układu bezpieczeństwa przed wyciekiem sekretnych danych w ten sposób, to cały system zabezpieczenia jest niewiele wart...

    Niestety, większość producentów nie publikuje jawnie danych na temat zabezpieczeń przed nieuprawnionymi manipulacjami. Nie dość, że takie techniki są mocno dedykowane i różnią się pomiędzy producentami, to ich ujawnienie znacznie pomogłoby atakującym. Inżynierowie, projektujący tego rodzaju systemy, mogą zapoznać się z pełną dokumentacją po podpisaniu umów o zachowaniu poufności (NDA). Dopiero wtedy można w pełni ocenić, na ile bezpieczny będzie dany układ scalony w naszej aplikacji.

    Jak widzimy, by dokonać świadomego wyboru układu do uwierzytelniania naszego urządzenia, trzeba głęboko wejść w rynek tych elementów i dokładnie zapoznać się z szerokim wachlarzem parametrów tych układów. Tylko wtedy można będzie podjąć decyzję, która zapewni nam przewagę nad podróbkami.

    Źródło: https://www.eeweb.com/profile/scottbest/articles/going-above-and-beyond-basic-cyber-security-authentication-chips[/quote]


    Fajne! Ranking DIY
  • Servizza