Wykorzystanie wejściowego prądu bramkowego do róŜnicowej
Transkrypt
Wykorzystanie wejściowego prądu bramkowego do róŜnicowej
XI International PhD Workshop OWD 2009, 17–20 October 2009 Wykorzystanie wejściowego prądu bramkowego do róŜnicowej analizy mocy układów kryptograficznych Input Gate Current Uses To Differential Power Analysis Cryptographic Device Robert Piotrowski, Politechnika Gdańska (dr hab. inŜ. Stanisław Szczepański, prof. nadzw., Politechnika Gdańska) Streszczenie 1. Wiadomości wstępne W artykule przedstawiono róŜnicową analizę mocy (DPA) niskoskalowalnych scalonych układów kryptograficznych. W ataku DPA wykorzystano nowe źródła informacji z kanału bocznego. Dotychczas w DPA opisywanych w literaturze, głównym źródłem informacji był prąd pobierany ze źródła zasilania podczas zmiany stanów wyjściowych funktorów cyfrowych. Prąd ten związany jest z pojemnościami Cload podłączonymi do wyjść funktorów cyfrowych. Znacząca część pojemności Cload zaleŜna jest od pojemnością ścieŜek sygnałowych oraz pojemności wejściowych innych funktorów cyfrowych podłączonych do wyjścia danego funktora cyfrowego. Ze względu na duŜą liczbę wewnętrznych połączeń pomiędzy funktorami, w rozbudowanych układach cyfrowych moc związana z procesami przeładowania pojemności Cload stanowi największą część mocy dynamicznej pobieranej przez układ. Jednak ciągłe zmniejszanie minimalnych wymiarów tranzystorów oraz ścieŜek sygnałowych spowodowało, Ŝe w nowoczesnych niskoskalowalnych technologiach CMOS inne prądy tj. zwarciowy, przecieku czy przeładowania wewnętrznych pojemności pasoŜytniczych tranzystorów zwiększają swój udział w całkowitym prądzie pobieranym przez układ. Prądy te mogą być równie skutecznie wykorzystane do DPA jak prąd przeładowania pojemności Cload. W artykule zaproponowano nowy typ ataku DPA, w którym źródłem informacji z kanału bocznego jest prąd wejściowy funktorów cyfrowych. W artykule wykazano porównywalną skuteczność nowego typu ataku DPA w stosunku do standardowego ataku DPA. Przeprowadzono symulacje dla dwóch technologii CMOS ( UMC 130nm/180nm oraz AMS 350nm/800nm). W atakach na elektroniczne urządzenia kryptograficzne (np. karty bankomatowe) wykorzystywane są róŜne techniki wyodrębnienia z urządzenia informacji niejawnej (np. klucze kryptograficzne). W ostatnich latach szczególnie intensywnie rozwinęły się techniki wykorzystujące dodatkowe parametry fizyczne pracujących urządzeń kryptograficznych, tzw. informacje z kanału bocznego (side channel atack - SC). Informacje z SC nie są uwzględnione w matematycznym modelu algorytmu kryptograficznego i związane są jedynie z daną realizacją sprzętową i jej parametrami fizycznymi. Jednym z głównych parametrów wykorzystywanych w atakach SC jest wartość mocy pobieranej przez układ ze źródła zasilania. Powszechnie stosowane kryptograficzne urządzenia elektroniczne pobierają potrzebną moc z zewnętrznego źródła zasilania. Atakujący moŜe łatwo monitorować moc pobieraną przez układ. Dodatkowo, w przypadku dominującej w układach cyfrowych technologii CMOS, występuje ścisła zaleŜność pomiędzy mocą dynamiczną pobieraną przez układ a stanem wewnętrznym funktorów cyfrowych. W latach 90-tych przedstawiono pierwsze próby wykorzystania informacji z kanału bocznego oraz bezpośrednią analizę przebiegu prądu ze źródła zasilania (SPA- simple power analysis). Ze względu na duŜe zaszumienie sygnału uŜytecznego w kanale bocznym ataki SPA wykazywały nieduŜą skuteczność. W [1] wykorzystano metody statystyczne do wyodrębnienia z SC uŜytecznej informacji. W zaproponowanym rozwiązaniu dokonano porównania wyników otrzymanych z hipotetycznego prostego model urządzenia z wynikami pomiarowymi (tzw. DPA - róŜnicową analizę mocy). Ataki typu DPA okazały się wysoce skuteczne, niezaleŜnie od algorytmu kryptograficznego czy technologii. Wiele urządzeń kryptograficznych, w których nie uwzględniono 342 dodatkowych zabezpieczeń kanału bocznego, stało się łatwym celem dla atakujących. Wraz z pojawieniem się nowych typów ataków, przedstawiono równieŜ techniki ochrony urządzeń przed atakami w SC [2][3]. Znane są metody ochrony dostępne na róŜnym etapie projektowania urządzeń kryptograficznych tj. poziom bramek, systemu czy oprogramowania. Jednak najbardziej efektywne techniki usuwania korelacji pomiędzy pobieraną mocą a stanem układu wykształciły się na poziomie tranzystorów [4]. Powstało kilka nowych funktorów cyfrowych odpornych na DPA, np. WDDL, DualRail, Mask-Logic. Kosztem zwiększonej powierzchni układu oraz zwiększonego poboru mocy podniesiono poziom odporności układów kryptograficznych na DPA. Zmniejszanie skali wykonania tranzystorów spowodowało wzrost udział prądów upływu czy prądów przeładowania pojemności pasoŜytniczych w całkowitym poborze mocy. Pojawiają się więc nowe źródła wycieku, które mogą zagraŜać bezpieczeństwu dotychczasowym struktur odpornych na DPA [5]. W niniejszej pracy przedstawione zostaną badania podatności cyfrowych układów kryptograficznych CMOS na DPA wykorzystujące prąd przepływający przez pojemność pasoŜytniczą bramka-dren tranzystorów. Przebadane zostaną takŜe struktury dotychczas odporne na DPA zrealizowane w nowych niskoskalowalnych technologiach CMOS. Pdiss = Pdyn + Pstat = Ctotal ⋅ Vdd ⋅ f + Pstat = 2 (1) (Cload + C pas ) ⋅ Vdd ⋅ f + Pstat 2 W rozbudowanych układach cyfrowych wartość pojemności pasoŜytniczych Cpas jest duŜo mniejsza od pojemności Cload. Jednak wraz ze zmniejszeniem się minimalnych wymiarów technologicznych tranzystorów oraz ścieŜek sygnałowych zmniejsza się wartość pojemności Cload. Dodatkowo, zmiany parametrów technologicznych (np. zmniejszenie grubość izolacji pod bramką tranzystorów) zwiększają wartość pojemności Cpas w stosunku do Cload. Na Rys.1 zestawiono przykładowe wartości pojemności Cpas oraz Cload w dwóch technologiach (UMC i AMS) dla dwóch zestawów wymiarów minimalnych (UMC-130nm, 180nm oraz AMS350nm, 800nm). Cpas-UMC-130nm Cpas-UMC-180nm Cload-UMC-130nm Cload-UMC-180nm Cpas-AMS-800nm Cpas-AMS-350nm Cload-AMS-800nm Cload-AMS-350nm Pojemność [fF] 0 5 10 15 20 25 30 35 40 Rys.1. Wartość pojemności pasoŜytniczej Cpas oraz obciąŜenia Cload w technologiach AMS i UMC dla róŜnych rozmiarów minimalnych. 2. Moc pobierana przez cyfrowe układów CMOS Do realizacji funktorów cyfrowych w technologii CMOS wykorzystuje się pary tranzystorów PMOS i NMOS. Moc pobierana (Pdiss) przez parę tranzystorów realizującą funkcję cyfrową, związana jest z dynamicznymi procesami (Pdyn) przeładowania pojemności oraz statycznymi prądami upływu tranzystorów (Pstat). Jednak moc statyczna stanowi tylko niewielką część całkowitej mocy pobieranej przez układ, a największa część mocy pobierana jest podczas procesu ładowania pojemności obciąŜających Ctotal wyjście funktora cyfrowego. Moc dynamiczna zaleŜna jest od wartości pojemności Ctotal, ilości przeładowań (proporcjonalnych do częstotliwości f sygnału wejściowego) oraz wartości napięcia zasilającego Vdd . Pojemność Ctotal składa się z pojemności obciąŜenia Cload (pojemności ścieŜek sygnałowych oraz pojemności wejściowej innych funktorów podłączonych do wyjścia danego funktora) oraz wewnętrznej pojemności pasoŜytniczej Cpas. Moc pobieraną przez układ moŜna wyrazić zaleŜnością : 2.1 Wewnętrzna pojemność pasoŜytnicza tranzystorów CMOS Pomiędzy kaŜdą parą końcówek tranzystora istnieje pojemność pasoŜytnicza (Cgs, Cgd, Cgb, Csb, Cdb). Struktura poprzeczna tranzystora NMOS wraz z zaznaczonymi pojemnościami pasoŜytniczymi przedstawiona została na Rys.2. a) b) Rys.2. Strukura poprzeczna tranzystora NMOS (a) wraz z znaczonymi pojemnościami pasoŜytniczymi (b). KaŜdej zmianie napięcia na parze końcówek tranzystora towarzyszy przepływ prądu związanego z przeładowaniem pojemności pasoŜytniczej. W atakach DPA wykorzystuje się takie parametry układu (np. przepływające prądy), które zaleŜne są od stan wyjściowego funktora cyfrowego. Dodatkowo, w celu przeprowadzenia skutecznego 343 ataku DPA, atakujący musi mieć moŜliwość łatwego pomiaru danego parametru układu. W przypadku cyfrowych układów CMOS wyjściem funktora cyfrowego są wspólne dreny tranzystorów NMOS i PMOS, natomiast sterowanie funktorem odbywa się przez bramki tranzystorów. Prąd wejściowy płynący przez pojemność pasoŜytniczą drenem-bramka tranzystora jest więc uŜytecznym sygnałem z SC do przeprowadzenia efektywnego ataku DPA. Prąd wejściowy jest zaleŜny od wartości napięcia na drenie oraz moŜna dokonać bezpośredniego pomiaru prądu przepływającego przez bramkę tranzystora. Rys.4. Przepływ prądu przez źródło zasilania i źródło sygnału wejściowego podczas zmiany stanu funktora NOT. 2.2 Prąd wejściowy funktorów cyfrowych Dla zilustrowania zaleŜności pomiędzy stanem wyjściowym funktora a prądem przepływającym przez porty wejściowe funktora przeprowadzona została symulacja funktora NOT. Bramka NOT składa się z jednej pary tranzystorów NMOS i PMOS. Wejście funktora podłączone jest do bramek tranzystorów, natomiast wyjście do drenów. Źródła tranzystorów NMOS i PMOS podłączone są odpowiednio do masy Gnd i źródła zasilania Vdd. Schemat bramki NOT przedstawiony został na Rys.2a. Podczas zmiany stanu wyjściowego bramki następuję rozładowanie lub naładowanie pojemności obciąŜającej Cload prądem Iload, dodatkowo przeładowuje się duŜo mniejsza pojemność pasoŜytnicza Cgd prądem Igd. W przypadku ładowania pojemności Cload źródłem ładunku jest źródło Vdd, natomiast pojemność Cgd ładowana jest ze źródła sygnału wejściowego In. Na Rys.2b przedstawiony zostały przebieg prądu na poszczególnych końcówkach tranzystorów oraz źródle zasilania Vdd i sygnału wejściowego In podczas zmiany stanu wyjściowego Out. Rys.3. Schemat funktora NOT z zaznaczonymi prądami przeładowania pojemności obciąŜającej Cload. Z Rys.3 i Rys.4 wynika, Ŝe istnieje ścisła zaleŜność pomiędzy napięciem wyjściowym funktora a wartością prądów Iload oraz Igd. Wartość prądu Iload jest jednak ok. 10 razy większa niŜ prądu Igd. Wykorzystanie prądu Iload zwiększa skuteczność ataku DPA ze względu na większy poziom sygnału uŜytecznego w stosunku do szumu pomiarowego w SC. Jednak jak wykazano w rozdziale 2.1 wraz ze zmniejszeniem minimalnych rozmiarów technologicznych następuje wzrost prądu Igd w stosunku do Iload. Przypuszcza się, Ŝe w nowoczesnych submikronowych technologiach CMOS wartość prądów Iload oraz Igd będą porównywalne. Wówczas efektywność ataków będzie identyczna, a wybór danej metody ataku będzie zaleŜny od innych parametrów układu (np. dostępnych metod pomiarowych). 2.3 ZaleŜność prądu wejściowego od stanu wyjściowego standardowych funktorów cyfrowych Do realizacji algorytmów kryptograficznych wykorzystuje się kilka podstawowych funktorów cyfrowych tj. NOT, NAND, NOR oraz XOR. PoniŜej przedstawiona zostanie analiza podatności poszczególnych bramek na atak w SC z wykorzystaniem prądu wejściowego Igd funktorów cyfrowych. Dla dwuwejściowego funktora cyfrowego istnieje 8 kombinacji stanów przejściowych I={(0->1,0), (0>1,1), (1->0,0), (1->0,1), (0,0->1), (1,0->1), (0,0->1), (1,1->0)} oraz odpowiadające im wartości średnie prądu Psr={Psr1,….Psr8} lub wartość maksymalna prądu Pmax={Pmax1,….Pmax8}. W Tab.1 przedstawiono wszystkie moŜliwe przejściowe stany sygnałów wejściowych funktorów cyfrowych. Zestawiono takŜe wartość średnią i maksymalną prądu Igd. Dodatkowo, w celu określenia podatności funktorów cyfrowych na analizę DPA, wprowadzono dwie miary. Pierwsza z nich określona jest przez odchylenie standardowe w zbiorze Psr i Pmax. Większe odchylenie wskazuje większą zaleŜność przebiegu prądu od danych wejściowych. Natomiast druga miara wyliczona została na podstawie średniej wartości w zbiorze Psr i Pmax. Dla większych wartości średnich uzyskuje się mniejszy błąd pomiarów, gdyŜ zwiększa się poziom informacji uŜytecznej w stosunku do szumu. 344 Tab.1. Wartość prądu I g d dla funktor ów CMOS wykonan ych w róŜnych topografiach Not Xor 0->1,0 36/1.4 29/1.3 Xor WDDL 48/2.3 0->1,1 - 48/1.7 64/2.1 1->0,0 -36/-1.3 -28/-1.3 -33/-1.5 1->0,1 - -48/-1.8 -64/-1.9 0,0->1 - 46/3.8 53/4.5 1,0->1 - 48/2.1 48/2.6 1,1->0 - -47/-1.8 -67/-2.9 0,1->0 - -44/-2 -59/-2.9 Mean 0/0.05 0,5/0,2 -1.2/-.3 Dev Pm 72/2.7 46/2,2 59/3.1 dla takiego modelu istnieje silna korelacja pomiędzy przebiegiem estymowanym z modelu a wynikami pomiarowymi. Schemat blokowy DPA przedstawiony został na Rys.5. Rys.5. Schemat blokowy ataku DPA. Zaprezentowana powyŜej prosta analiza mocy (SPA) funktorów logicznych wskazuje, Ŝe standardowe układy cyfrowe oraz funktory dotychczas uwaŜane za odporne są podatne na ataki z wykorzystaniem prądu wejściowego Igd. W złoŜonych urządzeniach kryptograficznych poza częścią realizującą dany algorytm kryptograficzny mogą występować inne moduły (np. do komunikacji). Moc pobierana przez pozostałe moduły nakłada się na sygnały pochodzące od części kryptograficznej. Dlatego teŜ przeprowadzenie SPA często jest nieskuteczne. W takich przypadkach z wyników pomiaru mocy atakowanego system naleŜy wyodrębnić część pochodząca od funktorów realizujących część kryptograficzną. W tym celu naleŜy przeprowadzić złoŜoną analizę mocy w oparciu o metody statystyczne. Zidentyfikowanie w algorytmie kryptograficznym fragmentu zaleŜnego bezpośrednio od informacji niejawnej umoŜliwia znaczne uproszczenie modelu hipotetycznego. W artykule przeprowadzony zostanie atak DPA dla algorytmu AES. 3.2 Algorytm kryptograficzny AES Algorytm kryptograficzny AES jest blokowym szyfrem symetrycznym. AES podzielony jest na kilkanaście jednakowych rund, które składają się z 4 operacji tj. AddRoundKey, ShiftRow, MixColumn i SubByte. Alogrytm AES został zaakceptowany przez NITS jako standard szyfrowania symetrycznego w [7]. Schemat blokowy pojedynczej rundy algorytmu AES przedstawiony został na Rys.6. Rys.6. Schemat blokowy algorytmu AES. Źródłem wycieku informacji do SC jest prąd przepływający przez funktor XOR operacji AddRoundKey. 3. DPA algorytmu AES Za pomocą metod statystycznych moŜna oddzielić sygnały pochodzące od części kryptograficznej oraz pozostałych modułów urządzenia. W [1] zaproponowano róŜnicową analizę mocy (DPA), w której wykorzystano korelację pomiędzy wynikami estymowanymi oraz rzeczywistymi. 3.1 DPA W atakach typu DPA konstruuje się hipotetyczny model urządzenia kryptograficznego. Model ten musi estymować wartość parametru (np. pobierana moc) w kanale bocznym, w zaleŜności od tekstu wejściowego oraz stanu niejawnego urządzenia (np. klucza). W następnym kroku wynik z modelu hipotetycznego porównywany jest z wynikami pomiarowymi urządzenia. JeŜeli model hipotetyczny jest poprawny oraz załoŜono prawidłowo wartość niejawną (np. fragment klucza kryptograficznego) to Pierwszą operacją rundy jest AddRoundKey, w której odpowiednie bity danych wejściowych (In) oraz klucza (Key) wprowadzane są na wejście funktora XOR. W celu przeprowadzenia ataku DPA algorytmu AES skonstruowany zostanie model urządzenia, w którym estymowana będzie wartość prądu płynącego przez źródło sygnału In. Profil poboru mocy urządzenia sporządzony zostanie w symulatorze Spectra firmy Cadence. Profil poboru mocy składa się z m*k punktów pomiarowych {Pkm}. Dane te uzyskano podczas przetwarzania melementowego zbioru danych wejściowych {In1, …, Inm}. W czasie jednego cyklu przetwarzania zebrano k wartości prądu przepływającego przez port In funktora AddRoundKey. Atak DPA przeprowadzono w następujących krokach: 345 1) zdefiniowano funkcje selekcji S (key, In) = key ⊕ In . Funkcja selekcji zwraca wartość 0 lub 1. dla dowolnego klucza K0 wyliczono zbiór funkcji selekcji {Si(K0, Ini)}. podzielono dane pomiarowe {Pk1,..Pkm} na dwie grupy G0 i G1 (zgodnie z wartością funkcji selekcji uzyskana w pkt. 2). JeŜeli Si=0 to Pki ∈ G 0 , w przeciwnym przypadku 2) 3) Pki ∈ G1 . 4) wyznaczono krzywą DPA D(j) zgodnie z równaniem (2). jeŜeli klucz K0 został prawidłowo załoŜony to na krzywej D(j) występuje wyraźny pik. W przeciwnym przypadku naleŜy przeprowadzić ponownie analizę z nowym kluczem K0. 5) D( j ) = ∑ Pji − ∑ Pji , j = 1,.., k i∈G 0 (2) i∈G1 3.3 Wyniki symulacji Przeprowadzono dwa ataki DPA na dwie roŜne implementacje algorytmu AES. Pierwszy atak wykonano na układzie ze standardowymi funktorami CMOS, drugi natomiast dla funktorów WDDL. Dla obu ataków prawidłowo określono wartość klucza. W Tab.2 zestawiono liczbę potrzebnych danych wejściowych oraz róŜnicę pomiędzy dwiema maksymalnym wartościami na krzywej D(j) dla prawidłowego i nieprawidłowego klucza. Tab.2. Atak DPA z wyko rzystani em I g d dla standardowej implementacji oraz implemen tacji odpornej na D PA wykorzyst ujące I l o a d . Struktura Liczba danych wejściowych RóŜnica pomiędzy dwoma maksimami D(j) CMOS WDDL 600 2500 1.2*10^-3 0.6*10^-3 Na Rys.7 przedstawiono krzywe D(j) dla prawidłowego i nieprawidłowego klucza K0. Dla klucza poprawnego występuje wyraźny pik. Prawidlowuy klucz K0 D(j) 2,E-03 1,E-03 1,E-03 1,E-03 8,E-04 6,E-04 4,E-04 2,E-04 0,E+00 -2,E-04 -4,E-04 -6,E-04 Nieprawidłowy klucz K0 5. Podsumowanie W artykule przedstawiono róŜnicową analizę mocy (DPA) niskoskalowalnych scalonych układów kryptograficznych. W ataku DPA wykorzystano nowe źródła informacji z kanału bocznego. W zaproponowanym rozwiązaniu źródłem informacji z kanału bocznego jest prąd wejściowy funktorów cyfrowych. W artykule wykazano porównywalną skuteczność nowego typu ataku DPA w stosunku do standardowego ataku DPA. Przeprowadzono symulacje dla dwóch technologii CMOS ( UMC 130nm/180nm oraz AMS 350nm/800nm). Przeprowadzono takŜe skuteczny atak DPA na implementacje wykorzystującą funktory WDDL odporne na standardowy atak DPA. 6. Podziękowania Niniejsza praca była współfinansowana z środków grantu rozwojowego N N515 423034 oraz środków przeznaczonych na działalność statusową Politechniki Gdańskiej. Literatura 1. P. Kocher, J. Jaffe, and B. Jun, “Differential power analysis: leaking secrets,” Proc. of CRYPTO’99, LNCS 1666, pp. 388-397, 1999 2. R. Novak, “Side-channel attack on substitution blocks,” ACNS 2003, LNCS 2846, pp. 307–318, 2003. 3. K. Tiri, M. Akmal, and I. Verbauwhede, “A dynamic and differential CMOS logic with signal independent power consumption to withstand differential power analysis on smart cards,” 29 European Solid-State Circuits Conference, 2002. 4. T. Popp and S. Mangard, “Masked dual-rail precharge logic: DPA-resistance without routing constraints,” CHES 2005, LNCS 3659, pp. 172186, 2005. 5. K. Tiri, I. Verbauwhede, “Securing encryption algorithms against DPA at the logic level: next generation smart card technology,” CHES 2003, LNCS 2779, pp. 125-136, 2003. 6. Lang Lin, Wayne Burleson, “Leakage-Based Differential Power Analysis (LDPA)”, ISCAS 2008 7. National Institute of Standards and Technology. FIPS 197: Advanced Encryption Standard, November 2001. Adres słuŜbowy Autora: Mgr inŜ. Robert Piotrowski Politechnika Gdańska ul. G. Narutowicza 11/12 80-233 Gdańsk tel. (058) 347-20-19 Próbka (j) 1 14 27 40 53 66 79 92 105 118 131 144 157 170 183 196 email: [email protected] Rys.7. Krzywa D(j) dla klucza K0 poprawnego (kolor niebieski) oraz niepoprawnego (zielony). 346