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

Podobne dokumenty