Dr hab. inż. Paweł Rosa i mgr Daniel Waszkiewicz z Instytutu Łączności - PIB przeprowadzili eksperymentalną ocenę wycieków z implementacji szyfru AES-256 w programowalnym układzie FPGA. Choć bezpośrednim obiektem badania była laboratoryjna płytka, praca dotyczy szerszego problemu: czy urządzenie przechowujące tajny klucz potrafi zachować go dla siebie także wtedy, gdy ktoś ma fizyczny dostęp do sprzętu i może dokładnie obserwować jego działanie.
To pytanie ma praktyczne znaczenie wszędzie tam, gdzie bezpieczny układ trafia w ręce użytkownika albo pracuje poza dobrze strzeżoną serwerownią. Dotyczy kart z chipem, sprzętowych portfeli kryptowalut, tokenów uwierzytelniających, zamków elektronicznych, liczników, czujników oraz wielu innych urządzeń Internetu Rzeczy. W każdym z nich klucz może pozostawać zamknięty wewnątrz układu, a mimo to sposób wykonywania obliczeń może pozostawiać ślady.
Nie atakować szyfru, lecz jego wykonanie
AES jest jednym z najważniejszych współczesnych standardów szyfrowania symetrycznego. W wariancie AES-256 wykorzystuje klucz o długości 256 bitów i wykonuje 14 kolejnych rund przekształceń. Próba odgadnięcia takiego klucza przez sprawdzanie wszystkich możliwości jest praktycznie niewykonalna. Atakujący nie musi jednak zawsze mierzyć się bezpośrednio z matematyką. Czasem łatwiej obserwować urządzenie, które wykonuje obliczenia.
Tak działają ataki z wykorzystaniem kanałów bocznych. Ich celem nie jest znalezienie błędu w samym algorytmie, lecz wykorzystanie ubocznych efektów jego działania. Można to porównać do obserwowania zamkniętego sejfu. Nie widzimy jego mechanizmu i nie znamy kodu, ale analizując kliknięcia, drgania czy czas reakcji, próbujemy ustalić, co dzieje się w środku. Trochę jak w "Gangu Olsena", gdy filmowy kasiarz zamiast rozbijać sejf, przykłada do niego stetoskop i wsłuchuje się w pracę mechanizmu. W elektronice odpowiednikiem takich sygnałów mogą być chwilowe zmiany poboru prądu albo emisja elektromagnetyczna.
Karta w cudzych rękach
Karty płatnicze, dostępowe, identyfikacyjne i karty SIM są naturalnymi przykładami urządzeń, które muszą chronić sekret, choć fizycznie znajdują się poza kontrolą jego wydawcy. Właścicielem klucza uwierzytelniającego może być bank, operator lub administrator systemu, ale sam nośnik trzyma użytkownik. Jeżeli karta trafi do osoby próbującej ją sklonować albo obejść zabezpieczenia, przeciwnik otrzymuje do ręki układ wykonujący operacje kryptograficzne.
Szczególnie wygodnym celem badawczym są karty stykowe. Nie mają własnego źródła energii: zasilanie i sygnał zegarowy dostarcza czytnik. Kto dysponuje odpowiednio przygotowanym stanowiskiem, może więc kontrolować warunki pracy karty, wielokrotnie wywoływać tę samą operację i za każdym razem mierzyć drobne wahania poboru prądu lub pole elektromagnetyczne w pobliżu układu.
Nie chodzi przy tym o zwykłe podsłuchanie danych przesyłanych między kartą a czytnikiem. Transmisja może być prawidłowo zabezpieczona. Kanał boczny powstaje obok niej: jest niezamierzonym fizycznym śladem obliczeń wykonywanych wewnątrz chipu. Tak jak filmowy kasiarz nie odczytuje kodu zapisanego na kartce, lecz słucha mechanizmu zamka, tak badacz nie musi widzieć klucza w komunikacji, aby sprawdzić, czy układ pośrednio czegoś o nim nie ujawnia.
Portfel sprzętowy w kieszeni
Sprzętowy portfel kryptowalut to niewielkie urządzenie, którego zadaniem jest przechowywanie klucza prywatnego i podpisywanie transakcji. Główna obietnica brzmi: klucz nie opuszcza portfela. Komputer otrzymuje gotowy podpis, ale nie sam sekret pozwalający dysponować środkami. Z punktu widzenia programu klucz może więc pozostać szczelnie zamknięty.
Sytuacja zmienia się, gdy urządzenie zostanie zgubione, skradzione albo celowo kupione do badań. Przeciwnik może zabrać je do laboratorium i analizować fizyczne zachowanie układu podczas dozwolonych operacji. Nie znaczy to, że każdy portfel da się w ten sposób otworzyć. Skuteczność ataku zależy od konkretnego modelu, sposobu realizacji kryptografii, ograniczeń liczby prób i zastosowanych zabezpieczeń. Badania wybranych rzeczywistych portfeli pokazały jednak, że w źle chronionej implementacji kanały boczne mogą ujawniać informacje związane z kodem PIN lub kluczem podpisującym. Ponieważ stawką jest bezpośredni dostęp do aktywów, producenci takiego sprzętu traktują odporność na ataki fizyczne jako podstawowy element projektu.
Urządzenie IoT w terenie
Internet Rzeczy to nie tylko domowe gadżety. To również inteligentne liczniki energii, czujniki w fabrykach i sieciach telekomunikacyjnych, elektroniczne zamki, sterowniki, elementy samochodów oraz urządzenia medyczne. Wiele z nich działa "w terenie" - na klatce schodowej, słupie, w hali produkcyjnej albo pojeździe - a więc poza stałą kontrolą właściciela systemu.
Atakujący nie musi prowadzić pomiarów przy każdym zainstalowanym urządzeniu. Może kupić taki sam model, zdobyć jeden egzemplarz i badać go bez pośpiechu. Znając budowę oraz fizyczne ślady konkretnej platformy, łatwiej później oceniać inne urządzenia tej samej serii. Szczególnie niebezpieczna byłaby sytuacja, w której wiele egzemplarzy korzysta z identycznego sekretu. To błąd projektowy, ale jego konsekwencje są łatwe do wyobrażenia: jeden wydobyty klucz mógłby otwierać nie jeden zamek, lecz znaczną część całej floty. Indywidualne klucze dla każdego urządzenia ograniczają skalę takiego zdarzenia.
W przypadku sprzętu masowego dochodzi jeszcze presja kosztowa. Ochrona przed analizą fizyczną wymaga dodatkowych zasobów, czasu projektantów i testów. Tymczasem urządzenia IoT mają być tanie, energooszczędne i działać przez wiele lat. Właśnie dlatego ocena kanałów bocznych powinna pojawiać się przed wdrożeniem, a nie dopiero po odkryciu podatności w tysiącach już zainstalowanych egzemplarzy.
Bliskość i możliwość powtarzania
Kartę, portfel i urządzenie IoT łączą dwa warunki. Po pierwsze, przeciwnik może znaleźć się bardzo blisko układu przechowującego sekret, często mając urządzenie fizycznie w ręku. Po drugie, może wielokrotnie uruchamiać tę samą operację i porównywać tysiące pomiarów. Pojedynczy ślad jest zwykle zbyt słaby i zbyt zaszumiony, by powiedzieć wiele. Dopiero powtarzanie i statystyka pozwalają wydobyć z niego regularność.
Emisję elektromagnetyczną można mierzyć bez wpinania się w linię zasilania, ale nie należy od razu wyobrażać sobie odczytywania klucza z drugiego końca ulicy. W badaniu IŁ-PIB sonda znajdowała się bardzo blisko powierzchni układu, a najlepsze miejsce pomiaru wyszukano, przesuwając ją nad chipem. Odległość, obudowa, zakłócenia i umiejscowienie sondy mają ogromny wpływ na jakość sygnału.
Od codziennego urządzenia do stanowiska badawczego
Aby sprawdzić, czy taki wyciek można wiarygodnie wykryć, Paweł Rosa i Daniel Waszkiewicz wykorzystali platformę ChipWhisperer CW305 z układem FPGA Xilinx Artix-7. FPGA jest programowalnym układem cyfrowym, którego strukturę można skonfigurować do wykonywania określonych zadań. Płyta ewaluacyjna nie udawała karty ani portfela. Była kontrolowanym obiektem badawczym, na którym można precyzyjnie mierzyć zachowanie konkretnej implementacji kryptografii, zanim podobne rozwiązania trafią do produktu.
Badany rdzeń AES-256 był celowo pozbawiony zabezpieczeń przed analizą kanałów bocznych. Nie stosował między innymi maskowania danych, losowania kolejności operacji ani zmian taktowania. Dla każdego kanału pomiarowego - poboru energii i emisji elektromagnetycznej - zarejestrowano po 20 tysięcy krótkich przebiegów, nazywanych śladami. 10 022 pomiary wykonano dla jednego stałego zestawu danych wejściowych, a 9978 dla danych dobieranych losowo. Obie klasy przeplatano, aby ograniczyć wpływ temperatury, dryftu aparatury i innych zmian niezwiązanych z szyfrowaniem.
Gdy różnicę dostrzega dopiero statystyka
Nałożone na siebie przebiegi mogą wyglądać niemal identycznie. Dlatego badacze zastosowali metodę TVLA, wykorzystywaną do oceny wycieków kanałami bocznymi zgodnie z normą ISO/IEC 17825. Nie próbuje ona od razu odtworzyć klucza. Odpowiada na wcześniejsze pytanie: czy fizyczne zachowanie urządzenia w sposób mierzalny zależy od przetwarzanych danych?
W każdym punkcie czasowym porównano wyniki dla danych stałych i losowych za pomocą testu statystycznego Welcha. Jeśli jego wartość przekracza 4,5 lub spada poniżej -4,5, różnicę uznaje się za zbyt dużą, by łatwo wyjaśnić ją przypadkowym szumem. Cały zbiór podzielono dodatkowo na dwie niezależne części. Za wyciek uznawano tylko punkty, w których próg został przekroczony w obu częściach jednocześnie.
Wyciek wykryty w obu kanałach
Statystycznie istotną zależność od danych wykryto zarówno w pomiarach poboru energii, jak i emisji elektromagnetycznej. W analizowanym fragmencie przebiegu próg został przekroczony w 84 punktach czasowych kanału energetycznego oraz w 10 punktach kanału elektromagnetycznego. W obu niezależnych połowach danych przekroczenia występowały w tych samych miejscach, co potwierdziło spójność wyniku.
Liczby te nie oznaczają, że pobór energii ujawnił 84 fragmenty klucza ani że ten kanał okazał się dokładnie 8,4 raza bardziej niebezpieczny. Określają punkty próbkowania, w których zarejestrowano przekroczenie progu statystycznego. Pokazują jednak, że badana implementacja nie spełniła kryterium odporności określonego w normie i w obecnej postaci wymaga zabezpieczeń.
Czy to znaczy, że AES-256 został złamany?
Nie. Badanie nie podważa bezpieczeństwa matematycznego AES-256 i nie zakończyło się odzyskaniem tajnego klucza. TVLA jest testem przesiewowym. Wykrywa, że urządzenie zdradza informacje zależne od danych, ale nie wskazuje automatycznie, jaka wartość wycieka ani ile pracy wymagałoby jej wykorzystanie. Do tego potrzebne byłyby dalsze badania, na przykład korelacyjna lub różnicowa analiza poboru mocy.
Wyniku nie można również przenosić na wszystkie układy FPGA, karty, portfele czy urządzenia IoT. Profil emisji zależy od architektury, rozmieszczenia elementów, sposobu prowadzenia połączeń, częstotliwości zegara, zasilania, obudowy, położenia sondy i parametrów aparatury. Badanie dotyczyło konkretnego projektu oraz konkretnej konfiguracji stanowiska.
Jak nauczyć urządzenie milczeć?
Projektanci mogą utrudniać analizę kanałów bocznych na kilku poziomach. Maskowanie polega na takim przekształcaniu wartości pośrednich, aby pojedynczy pomiar nie odpowiadał bezpośrednio rzeczywistym danym. Techniki ukrywania zmniejszają czytelność sygnału, na przykład przez losowanie momentu lub kolejności operacji. Znaczenie mają także sposób rozmieszczenia logiki, konstrukcja zasilania, filtrowanie, ekranowanie elektromagnetyczne i dobór częstotliwości pracy. W urządzeniach wdrażanych masowo ważne jest również stosowanie indywidualnych kluczy, aby ewentualne przełamanie jednego egzemplarza nie otwierało całej floty.
Nie istnieje jednak jedno uniwersalne zabezpieczenie. Każda modyfikacja może wpływać na wydajność, zużycie zasobów i pobór energii, a sama deklaracja zastosowania ochrony nie wystarcza. Wzmocniony projekt trzeba ponownie zmierzyć i poddać tym samym testom. Autorzy zapowiadają dalsze prace nad oceną konkretnych mechanizmów ochronnych oraz porównaniem różnych sposobów implementacji algorytmu.
Bezpieczeństwo nie kończy się na algorytmie
Badanie przeprowadzone w IŁ-PIB pokazuje, dlaczego współczesna kryptografia musi łączyć matematykę, elektronikę i inżynierię pomiarową. System może korzystać z uznanego standardu i poprawnie szyfrować dane, a mimo to pozostawiać fizyczny ślad, który stanie się punktem wyjścia do ataku. Dlatego ocena bezpieczeństwa nie powinna kończyć się na sprawdzeniu poprawności obliczeń. Musi obejmować również rzeczywiste zachowanie urządzenia podczas pracy.
Dla użytkownika wniosek jest prosty: nie każde urządzenie korzystające z silnego szyfru jest automatycznie odporne na ataki fizyczne. Dla konstruktorów oznacza to konieczność projektowania i testowania całego produktu, nie tylko jego algorytmu. Silny zamek to dopiero początek. Trzeba jeszcze zadbać, aby mechanizm nie podpowiadał kombinacji komuś, kto umie bardzo uważnie słuchać.
Źródło: Paweł Rosa, Daniel Waszkiewicz, "Side-Channel Leakage Assessment of an FPGA-Based AES-256 Implementation Using TVLA", Electronics 2026, 15, 3306, DOI: 10.3390/electronics15153306.