UNIVERSITATEA TEHNICĂ "GHEORGHE ASACHI" DIN IAŞI FACULTATEA DE ELECTRONICĂ, TELECOMUNICAŢII ŞI TEHNOLOGIA
INFORMAŢIEI
METODE DE SECURIZARE A INFORMAŢIEI ÎN
SISTEMELE CU MICROCONTROLER
- REZUMATUL TEZEI DE DOCTORAT -
Doctorand ing. Emanuel-Florin C. Iftene
Conducător ştiinţific Prof. dr. ing. Horia-Nicolai Teodorescu, m.c. A.R.
Iaşi 2013
2
Cuprins
1. Introducere .................................................................................................... 4 1.1. Obiectivele tezei .............................................................................................................. 4 1.2. Scurtă prezentare a tezei................................................................................................... 4
2. Introducere în analiza de putere pentru microsisteme................................ 4
3. Tehnici de protecţie actuale .......................................................................... 6
4. Metode de protecţie propuse ......................................................................... 7
5. Concluzii şi contribuţii ................................................................................ 18
Bibliografie ......................................................................................................... 21
4
1. Introducere
1.1. Obiectivele tezei
Teza are la bază două obiective principale. Primul obiectiv este acela de a realiza o bază de
informaţii care să cuprindă pattern-ul de execuţie a unui set de instrucţiuni executate de un
microcontroler şi consumul specific acestora. Al doilea obiectiv este reprezentat de dezvoltarea
unor metode de protecţie împotriva atacurilor de tip analiză a puterii consumate de tip SPA/DPA.
1.2. Scurtă prezentare a tezei
Tema prezentei teze, intitulată „Metode de securizare a informaţiei în sistemele cu
microcontroler”, este cuprinsă în domeniul microsistemelor şi foloseşte analiza statistică pentru
identificarea, analiza şi securizarea datelor manipulate de un microsistem. Teza este organizată
pe cinci capitole astfel:
capitolul 1 cuprinde o introducere în analiza de putere în care sunt prezentate
metodele cunoscute şi utilizate pentru optimizarea consumului în microsisteme; de
asemenea sunt prezentate metodele de atac lateral de tip SPA/DPA.
capitolul 2 prezintă câteva metode de protecţie software şi hardware, actuale, ce se
adresează atacurilor laterale de tip SPA/DPA.
în capitolul 3 am realizat baza de informaţii care cuprinde pattern-ul de execuţie şi
consumul specific a opt instrucţiuni executate de un microcontroler pe 8 biţi, din
familia PIC16F87x.
capitolul 4 prezintă trei metode de protecţie şi analiza acestora în faţa atacurilor
laterale de tip SPA/DPA.
ultimul capitol prezintă concluziile, contribuţiile şi perspectivele.
2. Introducere în analiza de putere pentru microsisteme
Avansul tehnologic a dus la apariţia şi dezvoltarea aplicaţiilor şi dispozitivelor portabile cu
microsisteme şi microprocesoare ce rulează diverse aplicaţii software. Toate aceste dispozitive
portabile sunt alimentate de la baterii sau acumulatori şi trebuie să aibă o autonomie mare de
funcţionare. Pentru a obţine acest lucru trebuie ca dispozitivul să fie proiectat pentru un consum
cât mai mic de energie atât din punct de vedere hardware cât şi din punct de vedere software.
Aici intervine analiza de putere pentru microsisteme şi aplicaţii portabile pentru determinarea şi
optimizarea consumului de energie.
5
Microsistemele conţin o parte hardware şi o parte software. Partea hardware este realizată
cu componente şi circuite specifice aplicaţiei iar partea software rulează pe microcontrolere
dedicate [1]. Mare parte din circuitele integrate, microcontrolere, microprocesoare sunt realizate
în tehnologie CMOS (Complementary Metal Oxid Semiconductor). Ca exemplu o poartă logică
CMOS inversoare este reprezentată în figura 2.1a. Ieşirea fiecărei porţi logice are o sarcină
capacitivă reprezentată de conexiuni cu alte blocuri funcţionale sau porţi logice [2].
Figura 2.1 a – Poartă inversor CMOS [2]. Figura 2.1 b – Încărcare/descărcare capacitate pentru
un inversor CMOS 74HC04 [3].
Prin urmare o modificare în starea logică la intrarea porţii inversoare încarcă sau descarcă
sarcina capacitivă, adică se absoarbe sau nu un curent din sursa de alimentare. Monitorizând
curentul absorbit din sursa de alimentare se poate observa tranziţia de nivel logic din 0 în 1 de la
ieşirea porţii logice [2]. Rezultatele măsurătorilor pentru un inversor din circuitul 74HC04 sunt
prezentate în figura 1.1b [3] în care se observă încărcarea şi descărcarea capacităţii de sarcină.
Analiza de putere la nivel de instrucţiune se bazează pe posibilitatea măsurării curentului
absorbit de microsistem în timpul execuţiei unui set predefinit de instrucţiuni. În acest mod se
obţine o valoare medie a curentului absorbit specific instrucţiunilor executate.
Analiza puterii consumate în sistemele cu microcontroler a fost iniţial implementată pentru
a optimiza consumul de energie [2], [4-7]. În scurt timp acest tip de analiză a devenit o metodă
de atac evidenţiată prima dată de către Paul C. Kocher în anii ’90 [8-9]. În [8-11] au fost puse în
evidenţă câteva metode de analiză a puterii consumate cu ajutorul cărora se pot extrage
informaţii sensibile din microsisteme:
- analiza simplă a puterii consumate (SPA - Simple Power Analysis) presupune observarea
directă, pe osciloscop, a pattern-ului de execuţie;
- analiza diferenţială a puterii consumate (DPA - Differential Power Analysis) implică
analiza statistică şi se bazează pe corelaţia dintre frecvenţa de lucru a microsistemului şi ciclii
maşină necesari pentru execuţia instrucţiunilor;
- analiza câmpului electromagnetic emis de dispozitiv sau a undelor de radio-frecvenţă se
bazează pe atacul de tip DPA însă diferă metoda de culegere şi înregistrare a datelor.
În cadrul analizei puterii consumate de un microsistem o schemă de bază propusă în [8]
este prezentată în figura 2.2.a, cu ajutorul căreia se realizează măsurarea variaţiilor de curent din
6
timpul execuţei unui program de către un microsistem. Aceasta este compusă din o sursă de
alimentare (A), un rezistor de măsură, R1 cu valoare de 50 Ω şi rol de traductor curent-tensiune,
prin intermediul căruia se alimentează microsistemul (B) şi un osciloscop digital (C) cu ajutorul
căruia se fac înregistrările variaţiilor de curent pe rezistorul R1.
Figura 2.2.a – Schema bloc a bancului de măsură. Figura 2.2.b – Pattern instrucţiune rrf.
Cu ajutorul schemei bloc din figura 2.2.a se măsoară variaţiile de curent din timpul
execuţiei unui program, de către microsistem, şi în urma analizei datelor înregistrate se pot
obţine informaţii cu privire la programul rulat sau datele manipulate de microcontroler. În figura
2.2.b este prezentată, ca exemplu, semnătura instrucţiunii rrf executate de microcontrolerul
PIC16F877A-I/P obţinute în urma măsurătorilor efectuate în cadrul acestei teze.
3. Tehnici de protecţie actuale
Ca metode de protecţie implementate de producători, acestea sunt de tip software şi
hardware sau combinate software cu hardware. Metodele de protecţie software se bazează pe
criptatea datelor manipulate de microcontroler astfel încât un eventual atac de tip analiză a
puterii consumate să nu poată face distincţia dintre codul executat de microcontroler pentru a
îndeplini o anumită funcţie şi codul anex executat pentru criptarea datelor sau a valorilor
manipulate. Pentru criptarea datelor sunt standardizaţi o serie de algoritmi matematici: RSA,
DES, 3-DES şi AES. Aceşti algoritmi de criptare sunt implementaţi pe microsisteme, în trei
moduri posibile: software – însemnând că microcontrolerul realizează criptarea datelor cu
ajutorul unei rutine implementate în programul curent; hardware – microcontrolerul are înglobat
un cripto-procesor separat care realizează criptatea datelor; combinaţie software şi hardware în
care microcontrolerul are înglobate ambele variante.
În literatura de specialitate [12-14], sunt prezentate modalităţi de atac a microsistemelor
chiar în condiţiile în care acestea au implementate măsuri de protecţie bazate pe criptare. Aceste
analize utilizează atacul de tip analiză diferenţială, statistică, a puterii consumate ce presupune
un număr mai mare de înregistrări a variaţiilor de curent şi se bazează pe faptul că operaţiile de
criptare utilizează operaţii matematice complexe pentru microcontroler, exemplu operaţiile de
A
C
R1
Placă de dezvoltare sau
Microsistem +VDD
Osciloscop digital
Sursă de alimentare
B
7
multiplicare şi ridicare la pătrat, care necesită un curent mai mare şi sunt uşor de pus în evidenţă.
O altă categorie de metode de protecţie o reprezintă protecţiile hardware, integrate pe
microcontroler, care se bazează pe: uniformizarea curentului absorbit de microsistem [15], porţi
logice interne cu un consum independent de starea logică [16], injectarea de pulsuri pe linia de
alimentare [17] sau modificarea frecvenţei şi tensiunii de lucru [18].
Ca exemplu, în [16], autorii propun implementarea unei logici SABL (Sense Amplifier
Based Logic) al cărei “consum de putere să fie independent de nivelul logic al porţii, cu
proprietatea de a încărca, în fiecare ciclu de tranziţie o capacitanţă cu o valoare constantă. Acest
lucru se obţine în două moduri: 1) prin comutarea ieşirii independent de secvenţa logică de
intrare şi 2) având o capacitanţă de sarcină constantă şi egală cu toate nodurile interne
combinate” [16].
Metodele de protecţie hardware vin în completarea metodelor de protecţie software. Un
avantaj al acestora este faptul că nu depind de algoritmul de criptare, lucrează la aceeaşi
frecvenţă cu microsistemul, sunt transparente programatorului şi uşor de integrat pe un
microsistem. În proiectarea circuitelor de protecţie hardware trebuiesc luate în considerare
consumul redus de energie, uniformizarea curentului absorbit de microsistem şi o frecvenţă de
lucru egală cu frecvenţa de lucru a microsistemului protejat.
4. Metode de protecţie propuse
În capitolul 3 al tezei am realizat instrumentele de analiză şi detecţie a instrucţiunilor
executate de microsistem, ce are la bază microcontrolerul PIC16F877A-I/P, care au ajutat apoi la
determinarea eficienţei măsurilor de securitate implementate.
În cadrul analizei am urmărit înregistrarea şi analiza variaţiilor de tensiune specifice
execuţiei unui program predefinit. Programele de test utilizate în cadrul experimentelor sunt
scrise în limbaj de asamblare şi, pentru fiecare instrucţiune analizată, conţin 100 de instrucţiuni
consecutive care se repetă în buclă infinită. Instrucţiunile analizate sunt addwf, andwf, rrf,
movf, btfsc, btfss, andlw şi movlw. Am folosit o instrucţiune cu rezultat fix pentru a putea
înregistra o semnătură identică la rulări repetate şi am obţinut semnătura specifică unei singure
instrucţiuni. Registrul de lucru a avut aceeaşi adresă şi aceeaşi valoare pe tot parcursul
programului de test. În acest fel am obţinut un pattern al instrucţiunii neinfluenţat de modificarea
adresei registrului de lucru sau de valoarea scrisă/citită. Ca exemplu, este prezentată mai jos
rutina de program utilizată la înregistrarea instrucţiunii addwf executate de microcontroler:
rutina_addwf: addwf reg_test, 0 ; execuţia 1 addwf reg_test, 0 ; execuţia 2 ……………………………………………………
8
addwf reg_test, 0 ; execuţia 99 addwf reg_test, 0 ; execuţia 100 goto rutina_addwf ;
Structura internă de pipeline în 4 etape, a microcontrolerului PIC16F877A-I/P presupune
operaţiunile de “fetch”, “decode”, “execute” şi “write-back”. Fiecare din aceste patru operaţii
necesită o perioadă de un tact a oscilatorului, rezultând în total o perioadă de 4 tacte pentru
execuţia unei singure instrucţiuni, respectiv un ciclu maşină. Datorită structurii de pipeline
execuţia primei instrucţiunii se suprapune cu operaţia de “fetch” a instrucţiunii următoare. Acest
lucru va “polua” semnalul înregistrat pentru instrucţiunea la care dorim să înregistrăm semnătura
şi depinde de instrucţiunea la care se face “fetch”.
Schema bloc utilizată la înregistrarea variaţiilor de curent în timpul rulării programului de
test de către microcontroler este prezentată în figura 4.1.a şi este compusă din: o sursă de
alimentare de laborator (A) model Mastech HY3003S-3; o baterie de condensatori (B), cu
schema detaliată în figura 4.1.b, cu rol de filtrare; rezistorul de măsură R1, cu valoarea de 50 Ω şi
rol de traductor curent-tensiune conectat între sursa de alimentare şi microsistem; o placă de
dezvoltare (C) care are la bază microcontrolerul pe 8 bit de tip PIC16F877A-I/P; un osciloscop
digital (D), model Tektronix TDS3012B, conectat în paralel pe rezistorul R1, pentru măsurarea şi
înregistrarea variaţiilor de tensiune.
C510nF
C61nF
C1
100uF
+Vdd In L1 C210uF
C31uF
+Vdd OutC4100nF
C7100pF
Figura 4.1.a – Schema bloc a bancului de măsură. Figura 4.1.b – Bateria de condensatori (B).
Circuitul de alimentare este prevăzut cu o baterie de condensatori, ca în figura 4.1.b, de
valori diferite (100 uF, 10 uF, 100 nF, 10 nF, 1 nF), cu rol de filtrare, care asigură o impedanţă
redusă într-o bandă largă de frecvenţe. Grupul de condensatori împreună cu bobina L şi
rezistorul R de la ieşirea sursei de alimentare formează un filtru trece-jos. Se previne astfel
influenţa unei surse de alimentare imperfecte şi a conexiunilor dintre generatorul de tensiune şi
circuit.
Condiţiile de măsură au fost:
- microcontrolerul utilizat este de tip RISC, PIC16F877A – I/P, producător Microchip;
- microcontrolerul foloseşte oscilatorul propriu, cu quarţ, cu frecvenţa de Fosc = 4 MHz;
- baza de timp a osciloscopului fixată la 200 ns pentru toate înregistrările;
În urma înregistrării variaţiilor de tensiune pentru fiecare instrucţiune analizată, addwf,
B
A
D
R1
Placă de dezvoltare
PIC16F877A-I/P +VDD
Osciloscop digital TDS3012B
Baterie de condensatori
Sursă de alimentare
C
9
andwf, rrf, movf, btfsc, btfss, andlw şi movlw, am determinat că:
a) fiecare instrucţiune are un pattern de execuţie bine definit;
b) pattern-ul nu se modifică datorită structurii interne de pipeline a microcontrolerului;
c) pattern-ul unei instrucţiuni îşi modifică valoarea amplitudinii curentului absorbit atunci
când se modifică valoarea manipulată de instrucţiune.
În figurile 4.2.a-d sunt redate pattern-urile obţinute pentru patru instrucţiuni.
Figura 4.2.a – Pattern-ul
instrucţiunii andwf. Figura 4.2.b – Pattern-ul
instrucţiunii movf. Figura 4.2.c – Pattern-ul
instrucţiunii rrf. Figura 4.2.d – Pattern-ul
instrucţiunii btfsc.
În capitolul 4, al prezentei teze, am implementat trei metode de protecţie împotriva
atacurilor de tip analiză a puterii consumate, propuse de profesorul coordonator, în ipoteza de
lucru conform căreia „[...] prin utilizarea unei frecvenţe de lucru cu variaţii haotice se va
întrerupe corelaţia dintre frecvenţa de lucru a microcontrolerului şi instrucţiunea executată [...]”.
În acest scop am realizat un generator de semnal haotic (din [19-20]) cu schema prezentată
în figura 4.3.a; în figura 4.3.b este redată forma de undă, de la ieşirea generatorului haotic, cu
perioadele marcate aproximativ.
Figura 4.3.a – Schema generatorului de semnal haotic (din [19], [20]). Figura 4.3.b – Forma de undă a semnalului de tact haotic.
Generatorul de semnal haotic, propus de profesorul coordonator, a fost utilizat în cadrul
acestei teze ca generator de tact haotic pentru pilotarea microcontrolerului PIC16F877A-I/P şi
pentru comanda unui stabilizator de tensiune utilizat la injectarea de zgomot pe linia de
alimentare a microsistemului asa cum este reprezentat schematic în figura 4.3.c. Aceasta este
compusă din generatorul de semnal haotic (din [19], [20]) la ieşirea căruia este un bloc formator
de impulsuri realizat cu 2 porti logice de tip trigger Schmitt. La ieşirea celor două porţi
TCY0 TCY1 TCY2 TCY3
10
formatoare se obţin două semnale de tact haotice care sunt apoi utilizate ca semnal de tact extern
pentru pilotarea microsistemului şi pentru comanda stabilizatorul de tensiune.
Figura 4.3.c – Schema bloc pentru metoda de protecţie combinată
O primă metodă de protecţie împotriva atacurilor de tip analiză a puterii consumate,
propusă de profesorul coordonator, constă în utilizarea generatorului de semnal haotic ca
oscilator de tact haotic extern pentru pilotarea microcontrolerului. Prin această metodă se doreşte
mascarea pattern-ului specific execuţiei instrucţiunii analizate [21]. Pentru a determina
funcţionarea corectă a microsistemului, în cadrul rutinei de program am adăugat, la începutul şi
sfârşitul buclei, instrucţiunile bsf şi bcf care modifică starea logică a portului RA2 la care este
conectat un LED de control.
rutina_instructiune: bsf PORTA, RA2 ; LED conectat pe pin RA2 este activ instructiunea X ; execuţia 1 a instrucţiunii X ................... instructiunea X ; execuţia 100 a instrucţiunii X bcf PORTA, RA2 ; LED conectat pe pin RA2 este inactiv goto rutina_instructiune
Acest lucru se va remarca pe forma de undă deoarece curentul absorbit de microsistem
trebuie să scadă atunci când LED-ul de control este stins iar consumul de curent este mai mic şi
invers. Testul pentru corecta funcţionare a microsistemului este redat în figurile 4.4.a şi b.
Imagine osciloscop Ch 2 – 200 mV / 2 μs. Imagine osciloscop Ch 2 – 200 mV / 100 μs.
Figura 4.4.a – Sfârşitul buclei rutina_addwf – este marcată perioada de 12 μs.
Figura 4.4.b – Două execuţii complete ale buclei rutina_addwf – este marcată perioada de 408 μs.
În continuare am realizat înregistrările pentru cele opt instrucţiuni analizate. În figurile
4.5.a-d sunt prezentate ca exemplu, comparativ, semnăturile înregistrate pentru instrucţiunile
andlw şi rrf atunci când microsistemul nu foloseşte nicio metodă de protecţie şi când foloseşte
această metodă de protecţie cu generator de tact haotic.
aprox. 12 μs
aprox. 408 μs
Generator de semnal
haotic
Formator de
impulsuri
Tact μC
Stabilizator de tensiune comandat
+VDD μC
11
Figura 4.5.a – Instanţa #3 addwf – fără protecţie activă. Figura 4.5.b – Instanţa #3 addwf – cu protecţie activă.
Figura 4.5.c – Instanţa #1 rrf – fără protecţie activă. Figura 4.5.d – Instanţa #1 rrf – cu protecţie activă.
Din figurile 4.5.a-d se observă că: a) semnătura pentru aceeaşi instrucţiune executată de
microcontroler cu acelaşi program de test, este total diferită; b) fără metodă de protecţie activă,
valoarea tensiunii măsurate este de aproximativ 450 mV iar pentru cazul în care metoda de
protecţie este activă, figurile 4.5.b şi d, consumul creşte iar valoarea maximă a tensiunii ajunge la
aproximativ 650 mV. Această creştere se poate datora activării modulelor adiţionale din structura
internă a microcontrolerului, conectate la partea de oscilator, când acesta este configurat pentru
modul de lucru “clock from external system”.
În urma analizei statistice cu funcţiile de autocorelaţie şi intercorelaţie pentru a stabili
periodicitatea semnalului şi gradul de asemănare al acestuia cu instanţe de rulare diferite sau
gradul de asemănare dintre două instrucţiuni diferite, au rezultat următoarele:
Pattern-ul de tip autocorelaţie pentru cazul în care metoda de protecţie este activă, diferă de la o instanţă de rulare la alta şi în funcţie de instrucţiunea executată, figurile 4.6.a-b.
Figura 4.6.a – Autocorelaţie - #5 instrucţiunea addwf –
μC foloseşte tact haotic şi sursă de laborator. Figura 4.6.b – Autocorelaţie - #3 instrucţiunea andlw –
μC foloseşte tact haotic şi sursă de laborator.
Coeficientul de intercorelaţie dintre două instanţe diferite înregistrate, pentru aceeaşi instrucţiune, nu identifică pattern-ul ca fiind al aceleiaşi instrucţiuni, exemplu figurile 4.7.a şi b.
Figura 4.7.a – Intercorelaţie addwf – #3 vs #4. Figura 4.7.b – Intercorelaţie rrf – #1 vs #6.
12
Coeficientul de intercorelaţie dintre semnăturile obţinute fără nicio metodă de protecţie activă cu semnăturile obţinute în cazul în care microsistemul foloseşte metoda de protecţie cu semnal de tact variabil haotic este sub nivelul minim de încredere stabilit la 0,8, exemplu în figurile 4.8.a-b.
Figura 4.8.a – Intercorelaţie - instrucţiunea addwf – #3
fără protecţie activă vs #3 cu protecţie activă. Figura 4.8.b – Intercorelaţie - instrucţiunea andwf – #1
fără protecţie activă vs #7 cu protecţie activă.
În urma analizelor realizate, pentru a determina eficienţa acestei metode de protecţie, am
stabilit că este eficientă în faţa atacurilor de tip analiză SPA şi DPA ce presupun identificarea
vizuală a formei de undă specifice unei instrucţiuni şi analiză statistică cu ajutorul funcţiilor de
corelaţie.
O altă metodă de protecţie, împotriva atacurilor de tip analiză a puterii consumate, propusă
de profesorul coordonator, este de a injecta o tensiune de zgomot pe circuitul de alimentare a
microsistemului. Am realizat acest lucru cu ajutorul unui stabilitator de tensiune cu element
regulator serie la care tensiunea de ieşire se modifică cu două ramuri stabilizatoare de tensiune
comandate de oscilatorul haotic. Ca oscilator de tact, în acest caz, microcontrolerul foloseşte
propriul oscilator cu quarţ şi frecvenţa de 4 MHz.
Schema bloc utilizată în cadrul măsurătorilor este prezentată în figura 4.9.a şi este compusă
din: o sursă de alimentare de laborator (A) model Mastech HY3003S-3; un stabilizator de
tensiune cu injectare de zgomot (B); generatorul de semnal haotic (C); o placă de dezvoltare (D)
pentru microcontrolerul PIC16F877A-I/P şi un osciloscop digital model Tektronix TDS3012B
(E). Schema stabilizatorului de tensiune cu injectare de zgomot cvasi-aleatoriu, pe linia de
alimentare a microsistemului, este prezentată în figura 4.9.b.
Figura 4.9.a – Schema bloc a circuitului de protecţie cu injectare de zgomot pe linia de alimentare.
Figura 4.9.b – Stabilizator de tensiune cu injectare de zgomot.
R1 ∆VDD
B
A
Generator de semnal haotic
Sursă de alimentare
Stabilizator de tensiune cu injectare de zgomot
Osciloscop digital model
TDS3012B
Placă de dezvoltare cu μC - PIC16F877A-I/P
PIC16F877A-I/P +VDD
C
D
E Generator
haotic
13
Am verificat funcţionarea corectă a sistemului prin monitorizarea şi înregistrarea formei de
undă rezultate, în urma execuţiei programului de test pentru fiecare instrucţiune analizată, cu
scopul de a detecta variaţiile de curent din timpul activării/dezactivării LED-ului de control.
Imagine osciloscop: 200 mV / 1 μs. Imagine osciloscop: 200 mV / 40 μs.
Figura 4.10.a – Instrucţiunea rrf – test 1. Figura 4.10.b – Instrucţiunea rrf – test 2.
Rezultatele sunt prezentate în figurile 4.10.a-b, în care sunt evidenţiate perioadele de 3 μs
şi 101 μs ce marchează execuţia instrucţiunilor bsf, de la începutul buclei programului de test, şi
bcf şi goto de la sfârşitul buclei programului de test. De aici rezultă că microsistemul este corect
funcţional cu acest tip de alimentare, variabilă, cu injectare de zgomot cvasi-aleatoriu. În
continuare am făcut înregistrările pentru forma de undă rezultată în timpul execuţiei programului
de test pentru cele opt instrucţiuni analizate. În figurile 4.11.a şi b sunt prezentate ca exemplu,
pattern-ul pentru instrucţiunea btfsc fără protecţie activă şi cu protecţie activă.
Figura 4.11.a – Instanţa #1 btfsc – fără protecţie activă. Figura 4.11.b – Instanţa #3 btfsc – cu protecţie activă.
Din comparaţia formelor de undă înregistrate pentru toate instrucţiunile analizate, am
observat că pattern-ul pentru aceeaşi instrucţiune executată de microcontroler este diferit şi nu se
identifică semnătura de execuţie în cazul unui atac simplu de tip SPA.
Pentru a stabili dacă această metodă de protecţie este eficientă şi în cazul unui atac de tip
DPA, am utilizat funcţiile de corelaţie şi au rezultat următoarele:
Funcţia de autocorelaţie nu pune în evidenţă o periodicitate a pattern-ului pentru nicio instrucţiune analizată şi fiecare pattern al aceleiaşi instrucţiuni, pentru diferite instanţe de rulare înregistrate, este diferit; exemplu în figurile 4.12.a şi b.
Figura 4.12.a – Autocorelaţie - #3 instrucţiunea movlw – μC foloseşte sursă cu injectare de zgomot cvasi-aleator.
Figura 4.12.b – Autocorelaţie - #4 instrucţiunea rrf – μC foloseşte sursă cu injectare de zgomot cvasi-aleator.
Gradul de corelaţie dintre instanţe de rulare diferite, înregistrate pentru aceeaşi instrucţiune, în condiţiile în care microsistemul foloseşte semnal de tact de la
3 μs
101 μs bcf goto bsf
14
oscilatorul propriu cu quarţ cu frecvenţa fixă de 4 MHz şi alimentare furnizată de stabilizatorul de tensiune, cu injectare de zgomot cvasi-aleatoriu, este cuprins în intervalul de 0,50 şi 0,87, exemplu figurile 4.13.a-b.
Figura 4.13.a – Intercorelaţie - movlw – #3 vs #6. Figura 4.13.b – Intercorelaţie - addwf – #1 vs #3.
Coeficientul de intercorelaţie dintre semnătura obţinută fără metode de protecţie active şi semnătura obţinută cu această metodă de protecţie activă este de maxim 0,5, exemplu redat în figurile 4.14.a-b.
Figura 4.14.a – Intercorelaţie - addwf #3 fără protecţie vs
addwf #3 cu protecţie activă. Figura 4.14.b – Intercorelaţie - rrf #1 fără protecţie vs
rrf #1 cu protecţie activă.
În urma analizelor realizate pentru cele opt instrucţiuni analizate, am determinat că această
metodă de protecţie este eficientă împotriva atacurilor de tip analiză a puterii consumate de tip
SPA şi DPA ce preusupune identificarea pattern-ului de execuţie a unei instrucţiuni.
Ultima metodă de protecţie realizată în cadrul acestei teze este cea în care microcontrolerul
utilizează simultan semnal de tact extern de la generatorul de semnal haotic şi alimentare de la
stabilizatorul de tensiune comandat. Şi în acest caz, în prima etapă, am verificat funcţionarea
corectă a microcontrolerului prin monitorizatrea variaţiilor de curent datorate activării şi
dezactivării LED-ului de control. Rezultatele sunt prezentate în figurile 4.15.a-b.
Imagine osciloscop: 200 mV / 2 μs. Imagine osciloscop: 200 mV / 100 μs.
Figura 4.15.a – Instrucţiunea rrf – test 1. Figura 4.15.b – Instrucţiunea rrf – test 2.
În analiza simplă a puterii consumate am făcut înregistrările pentru forma de undă rezultată
în timpul execuţiei programului de test când metoda de protecţie combinată este activă. În
figurile 4.16.a-b sunt redate pattern-urile instrucţiunii movlw executate de microsistem. În baza
rezultatelor obţinute putem afirma că această metodă de protecţie combinată este eficientă pentru
protecţia microsistemului în faţa atacurilor SPA ce presupun identificarea vizuală a pattern-ului
de execuţie a instrucţiunilor.
aprox. 13 μs
aprox. 400 μs
15
Figura 4.16.a – Instanţa #7 movlw – fără protecţie activă. Figura 4.16.b – Instanţa #4 movlw – cu protecţie activă.
În continuare am comparat semnăturile de tip autocorelaţie, pentru fiecare instrucţiune în
parte, rezultate din analiza datelor înregistrate fără nicio metodă de protecţie activă, cu cele
rezultate cu metoda de protecţie activă. Comparaţia pentru instrucţiunea movlw este redată în
figurile 4.17.a-b. Se observă că pentru o instrucţiune executată de microsistem, înregistrată fără
nicio metodă de protecţie activă, se detectează corect periodicitatea la exact 1250 de eşantioane
pe toată durata execuţiei, care în cazul de faţă corespunde la o frecvenţă de 1 MHz frecvenţă de
fază şi 4 MHz pe ciclu maşină, figura 4.17.a; în figura 4.17.b este prezentat rezultatul funcţiei de
autocorelaţie pentru aceeaşi instrucţiune, movlw, în care se observă că perioadele de ciclu maşină
variază între 4000 şi 4500 de eşantioane iar perioadele de fază între 1200 şi 2000 de eşantioane.
De aici rezultă că o instrucţiune înregistrată în condiţiile în care metoda de protecţie combinată
este activă, nu are o perioadă fixă de execuţie ci o perioadă variabilă, implicit, corelată cu
frecvenţa de tact a oscilatorului haotic.
Figura 4.17.a – Autocorelaţie instanţa #7 – a instrucţiunii
movlw – fără protecţie activă. Figura 4.17.b – Autocorelaţie instanţa #4 a instrucţiunii
movlw – cu protecţie activă.
Analiza cu funcţia de intercorelaţie am utilizat-o în primă fază pentru a stabili gradul de
similitudine dintre diferite instanţe de execuţie ale aceleiaşi instrucţiuni pentru cazul în care
microcontrolerul utilizează metoda de protecţie cu semnal de tact extern haotic şi alimentare de
la stabilizatorul de tensiune comandat. Două astfel de exemple sunt redate în figurile 4.18.a-b.
Figura 4.18.a – Intercorelaţie - movf – #3 vs #5. Figura 4.18.b – Intercorelaţie - rrf – #4 vs #5
Se observă că gradul de intercorelaţie evidenţiat de analiză este cuprins în intervalul de
0,66 şi 0,88 pentru aceeaşi instrucţiune executată si instanţe diferite de rulare. Rezultatul funcţiei
de intercorelaţie dintre o instrucţiune executată de microsistem fără nicio metodă de protecţie
activă şi aceeaşi instrucţiune executată de microsistem cu metoda de protecţie activă este
reprezentat în figurile 4.19.a-b.
1250 eşantioane
16
Figura 4.19.a – Intercorelaţie - addwf #2 fără protecţie vs
addwf #7 cu metoda de protecţie activă. Figura 4.19.b – Intercorelaţie – rrf #3 fără protecţie vs
rrf #6 cu metoda de protecţie activă.
Pentru metoda de protecţie combinată, valorile analizelor cu funcţiile de corelaţie sunt
prezentate în tabelele 1 şi 2. În tabelul 1 sunt valorile obţinute pentru instrucţiunile înregistrate
fără nicio metodă de protecţie activă şi se observă că funcţia de autocorelaţie are tot timpul
valoarea 1 pe diagonală, iar valorile pentru intercorelaţie între instrucţiuni diferite sunt sub 0,8. Tabel 1: Valori intercorelaţie a opt instrucţiuni nemascate.
addwf#2 andwf#7 movf#4 rrf#3 btfsc#4 btfss#3 andlw#2 movlw#7
addwf#2 1 0.73801 0.73584 0.60686 0.39528 0.75491 0.66487 0.78685 andwf#7 0.73801 1 0.85923 0.60065 0.4209 0.77955 0.73043 0.8248 movf#4 0.73584 0.85923 1 0.5919 0.39232 0.76756 0.67754 0.80839 rrf#3 0.60686 0.60065 0.5919 1 0.81175 0.57169 0.5507 0.57 btfsc#4 0.39528 0.4209 0.39232 0.81175 1 0.40628 0.46722 0.38796 btfss#3 0.75491 0.77955 0.76756 0.57169 0.40628 1 0.85267 0.73405 andlw#2 0.66487 0.73043 0.67754 0.5507 0.46722 0.85267 1 0.68391 movlw#7 0.78685 0.8248 0.80839 0.57 0.38796 0.73405 0.68391 1
În tabelul 2 sunt prezentate rezultatele funcţiilor de corelaţie între pattern-ul nemascat al
instrucţiunilor analizate (coloana 1) şi pattern-ul mascat (rândul 1) cu metoda de protecţie
combinată. Se observă că gradul de intercorelaţie dintre instrucţiuni diferite este mai mare decât
coeficientul de autocorelaţie, rezultat care este de dorit şi determină eficienţa metodei de
protecţie în faţa atacurilor laterale. Tabel 2: Valori intercorelaţie dintre pattern nemascat (coloana 1) şi pattern mascat (rând 1).
addwf#3 andwf#7 movf#3 rrf#6 btfsc#6 btfss#5 andlw#4 movlw#4
addwf#2 0.4508 0.30583 0.33292 0.27566 0.37544 0.37642 0.30343 0.44512 andwf#7 0.34256 0.36752 0.28884 0.41852 0.39059 0.30863 0.48923 movf#4 0.36011 0.29453 0.38931 0.40252 0.32866 0.45862 rrf#3 0.23007 0.47391 0.29884 0.27176 0.51101 btfsc#4 0.39219 0.22641 0.20155 0.40093 btfss#3 0.3588 0.28241 0.45588 andlw#2 0.21974 0.33482 movlw#7 0.44189
Din rezultatele analizei cu funcţia de intercorelaţie, putem trage concluzia că această
metodă de protecţie, ce presupune utilizarea unui semnal de tact variabil şi a unei surse de
tensiune cu injectare de zgomot pe linia de alimentare a microsistemului, este eficientă în
mascarea pattern-ului de execuţie a instrucţiunilor executate de un microcontroler. În plus un
eventual atac de tip analiză a puterii consumate, ce presupune utilizarea funcţiei de intercorelaţie
pentru identificarea semnăturii unei instrucţiuni, nu relevă pattern-ul de execuţie şi nici perioada
de ciclu maşină sau de fază de execuţie a unei instrucţiuni.
17
Prin analiza cu tranformata Fourier a înregistrărilor efectuate, se urmăreşte identificarea
frecvenţei de tact a microsisemului şi implicit a valorilor pentru ciclu maşină şi frecvenţă de fază
de execuţie din structura de pipeline. În figurile 4.20.a-d sunt redate două seturi de înregistrări
care cuprind 2 – 3 execuţii complete ale buclei programului de test, respectiv a unui număr de
200 – 300 execuţii complete ale instrucţiunii btfsc analizate. Sunt marcate variaţiile de
aproximativ 300 mV, ce reprezintă activarea şi dezactivarea LED-ului de control conectat pe
pinul RA2 al microcontrolerului.
Figura 4.20.a – Instrucţiunea btfsc – 3 execuţii
complete a programului de test - fără protecţie activă. Figura 4.20.d – Instrucţiunea btfsc – 2 execuţii
complete a programului de test – cu protecţie activă.
Figura 4.20.b – Analiza FFT cu fereastră dreptunghiulară – selecţie până la 100 KHz - instrucţiunea btfsc - fără
protecţie activă.
Figura 4.20.e – Analiza FFT cu fereastră dreptunghiulară – selecţie până la 10 KHz - instrucţiunea btfsc – cu
protecţie activă.
Figura 4.20.c – Analiză FFT cu fereastră Hamming –
selecţie până la 20 MHz - instrucţiunea btfsc - fără protecţie activă.
Figura 4.20.f – Analiza FFT cu fereastră Hamming – selecţie până la 5 MHz - instrucţiunea btfsc – cu
protecţie activă.
În figura 4.20.b este redată analiza FFT cu selecţie până la 100 KHz în care este pusă în
evidenţă frecvenţa de 10 KHz de activare/dezactivare a LED-ului de control; în figura 4.20.c este
analiza FFT, a întregii înregistrări, în care se observă că se detectează corect frecvenţa de lucru
de 4 MHz a microsistemul şi sunt puse în evidenţă şi fazele din structura de pipeline odată la 1
MHz. Analog, în figura 4.20.d este o înregistrare a 2 execuţii complete a programului de test
pentru instrucţiunea btfsc, realizată cînd microcontrolerul are metoda de protecţie activă, iar în
acest caz se observă variaţiile datorate LED-ului de control odată la aproximativ 450 µs ce
corespunde unei frecvenţe de 2,2 KHz. În figura 4.20.e este redat rezultatul analizei FFT, din
care am selectat spectrul până la 10 KHz pentru a evidenţia faptul că a fost detectată frecvenţa
activării/dezactivării LED-ului de control la 2 KHz. În figura 4.20.f este redată analiza FFT cu
fereastră Hamming, a întregii înregistrări, în care se observă că este detectată o frecvenţă centrală
a oscilatorului haotic la aproximativ 0,9 MHz cu pseudo-perioade la 1,9 MHz şi 2,8 MHz.
~ 300 mV aprox. 450 µs 104 µs
18
Metodele de protecţie împotriva atacurilor de tip SPA/DPA propuse şi analizate, în cadrul
acestei teze, au avantajul că sunt uşor de implementat, inclusiv în structura internă a
microcontrolerului, nu necesită resurse suplimentare de memorie sau putere de calcul şi sunt
„transparente” faţă de programator.
5. Concluzii şi contribuţii
Scopul acestei teze este de a contribui la îmbunătăţirea metodelor de protecţie a
informaţiei, program şi date, din microsisteme, în particular a microcontrolerelor împotriva
atacurilor laterale de tip analiză simplă şi diferenţială a puterii consumate. Am implementat,
analizat şi testat trei metode de protecţie propuse de coordonator şi anume:
a) prima metodă de protecţie constă în utilizarea unui generator de semnal haotic ca semnal
de tact extern pentru pilotarea microcontrolerului;
b) a doua metodă de protecţie presupune utilizarea unui stabilizator de tensiune cu element
regulator serie la care tensiunea de ieşire variază, între două limite prestabilite, în funcţie de
semnalul primit de la generatorul haotic;
c) a treia metodă de protecţie constă în utilizarea simultană a generatorul de tact haotic şi a
stabilizatorului de tensiune variabilă pentru mascarea instrucţiunilor executate.
Metoda de variaţie aleatorie, haotică, a semnalului de tact a microcontrolerului este
originală. De asemenea, metoda care combină generatorul haotic şi un regulator serie de tensiune
este nouă, cea mai apropiată variantă din literatură fiind prezentată în [18].
Cercetarea, din cadrul acestei teze, a demonstrat posibilitatea implementării efective a
metodelor şi a permis caracterizarea eficienţei metodelor de protecţie împotriva atacurilor
laterale. În acest scop a fost necesar să determin şi să caracterizez pattern-ul de consum al
microcontrolerului.
Contribuţiile principale sunt următoarele:
Am analizat posibilitatea generării unui semnal pseudo-haotic chiar de către
microsistemul ce urmează a fi protejat, folosind un algoritm nou preluat din [24], cu
rezultate prezentate în [25].
Am efectuat analiza pattern-urilor mascate, prin toate cele trei metode de protecţie,
folosind metodele cu funcţiile de autocorelaţie, intercorelaţie şi metoda comparării
spectrelor FFT.
Am demonstrat că din cele trei metode de protecţie, cea mai eficientă la mascare este
metoda care foloseşte simultan tact haotic şi sursa de tensiune cu injectare de zgomot.
19
Am demonstrat că minimul de protecţie împotriva atacurilor de tip SPA/DPA este
prima variantă; în [21] am demonstrat că prin filtrare pattern-ul de consum poate fi
evidenţiat.
Am arătat că prin injectarea de zgomot cvasi-aleatoriu pe linia de alimentare a
microsistemului se pot masca eficient pattern-urile de execuţie cu ajutorul unui circuit
simplu care ar putea fi inclus în aceeaşi capsulă cu microcontrolerul într-un circuit
multichip.
Rezultatele cercetării au fost publicate în lucrările:
Rezultatele analizei de pattern şi consum ale microcontrolerului, pentru cazul în care
acesta foloseşte metoda de protecţie cu tact de la generatorul haotic au fost publicate
în [21], lucrarea „Analysis of the Code Masking Efficiency of Chaotic Clocks in
Microcontroller Applications” susţinută la The Third International Symposium on
Electrical and Electronics Engineering, September 16-18, Galaţi, România, 2010.
Rezultatele obţinute pentru generarea de semnale pseudo-haotice de către
microcontroler folosind algoritmul din [24] au fost publicate în [25], lucrarea
„Generation of Long-Periodic Signals with Iterated Maps on Microcontrollers
without Multiplications” susţinută la International Symposium on Signals, Circuits
and Systems, ISSCS, Iaşi, România, 2011.
Rezultatele analizei de pattern şi consum ale microcontrolerului atunci când acesta
foloseşte metoda de protecţie cu stabilizator de tensiune cu injectare de zgomot cvasi-
periodic au fost publicate în [26], lucrarea „Masking the instructions of a
microcontroller using a ’chaotic’ power supply”, la Buletinul Institutului Politehnic
Iasi, România, 2013.
Rezultatele analizei de pattern şi consum ale microcontrolerului atunci când acesta
foloseşte metoda de protecţie combinată cu generator haotic şi stabilizator de tensiune
cu injectare de zgomot cvasi-periodic au fost publicate în [27], lucrarea „Protecting
the code against side attacks using chaotically controlled clock and supply”, susţinută
la International Conference on Electronics, Computers and Artificial Intelligence,
ECAI, Piteşti, România, 2013.
O analiză a rezultatelor obţinute cu metoda de protecţie combinată a fost publicată în
[28], în lucrarea „Effciency of a combined protection method against correlation
power analysis side-attacks on microsystems”, International Journal of Computers,
Communications & Control, trimisă la data 31 iulie 2013.
Rezultatele protecţiei la atacul în domeniul timp şi la cel în domeniul frecvenţă
urmează să apară în lucrarea „Comparaţii între eficienţele mascării instrucţiunilor
20
prin metoda combinată tact-alimentare haotice, împotriva DPA în domeniul timp,
respectiv DPA în domeniul frecvenţă”, în cadrul Zilelor Academice Ieşene, octombrie
2013.
Perspective:
Pentru ca oricare din metodele de protecţie propuse să aibă eficienţă maximă este
necesar să fie integrate pe microcontroler.
O posibilă direcţie de urmat este cea în care semnalul de tact haotic este generat de un
microcontroler folosind algoritmul din [24] şi metoda descrisă în [25] pentru pilotarea
unui alt microcontroler.
O altă variantă de studiat este cea în care generarea de semnal haotic este făcută direct
din program de microcontrolerul ce trebuie protejat.
Bibliografie
[1]. Vivek Tiwari, Mike Tien-Chien Lee, Power analysis of a 32-bit embedded microcontroller, VLSI Design Journal, Vol. 7, No. 3, pp.225-242, 1998.
[2]. Manfred Aigner şi Elisabeth Oswald, Power analysis tutorial, Institute for Applied Information Processing and Communication University of Technology Graz, http://www.iaik.tugraz.at/content/research/implementation_attacks/introduction_to_impa/dpa_tutorial.pdf, site disponibil la data 26 ianuarie 2012.
[3]. Eric Peeters, François-Xavier Standaert, Jean-Jacques Quisquater, Power and electromagnetic analysis: improved model, consequences and comparisons, Journal Integration, the VLSI Journal - Special issue: Embedded cryptographic hardware, Volume 40 Issue 1, January 2007.
[4]. P. Landman si J. Rabaey, Black-box capacitance models for architectural power analysis, Proceedings of the International Workshop on Low Power Design, pp. 165-170, Napa, CA, April 1994.
[5]. P. Landman si J. Rabaey, Activity-sensitive architectural power analysis for the control path, Proceedings of the International Symposium on Low Power Design, pp. 93-98, Dana Point, CA, April, 1995.
[6]. T. Sato, M. Nagamatsu, si H.Tago, Power and performance simulator: ESP and its application for 100MIPS/W class RISC design, Proceedings of IEEE Symposium on Low Power Electronics, pp. 46-47, San Diego, CA, Oct. 1994.
[7]. P.W.Ong, R.H.Yan, Power-conscious software design - a framework for modeling software on hardware, Proceedings of IEEE Symposium on Low Power Electronics, pp. 36-37, San Diego, CA, Oct. 1994.
[8]. Paul Kocher, Joshua Jaffe şi Benjamin Jun, (1998), Introduction to differential power analysis and related attacks, Cryptography Research Inc, site accesat în data de 26 ian. 2012, http://www.cryptography.com/public/pdf/DPATechInfo.pdf.
[9]. Paul Kocher, Joshua Jaffe şi Benjamin Jun, (2000), Differential power analysis, Cryptography Research Inc, www.cryptography.com/public/pdf/DPA.pdf, site accesat la data de 26 ian. 2012.
[10]. Paul C. Kocher, Timing attacks on implementations of Diffe-Hellman, RSA, DSS, and other systems, Advances in Cryptology - CRYPTO '96, 16th Annual International Cryptology Conference, pp 104-113, Santa Barbara, California, USA, August 18-22, 1996.
[11]. Gilbert Goodwill, Defending against side-channel attacks part I, II and III, Cryptography Research Inc., adresa site http://www.eetimes.com/General/PrintView/4397669 (adresă consultată la data de 1-oct-2012), ESC Boston 2011.
[12]. Sergei Skorobogatov, Optically enhanced position-locked power analysis, Cryptographic Hardware and Embedded Systems - CHES 2006, 8th International Workshop, Yokohama, Japan, October 10-13, 2006, Proceedings, pp. 61-75.
[13]. A. Theodore Markettos, Simon W. Moore, The frequency injection attack on ring-oscillator-based true random number generators, CHES 2009 Proceedings of the 11th International Workshop on Cryptographic Hardware and Embedded Systems, pp. 317-331.
[14]. Amir Moradi, Mahmoud Salmasizadeh, Mohammad Taghi Manzuri Shalmani, Thomas Eisenbarth, Vulnerability modeling of cryptographic hardware to power analysis attacks, Integration, the VLSI Journal, Volume 42, Issue 4, September 2009, pp. 468–478.
[15]. Radu Mureşan, Stefano Gregori, Protection Circuit against differential power analysis attacks for smart cards, IEEE Transaction on Computers, Vol. 57, No.11, pp. 1540-1549, Nov. 2008.
[16]. Kris Tiri, Moonmoon Akmal şi Ingrid Verbauwhede, A dynamic and differential CMOS logic with signal independent power consumption to whitstand differential power analysis on smart cards, European Solid-State Circuits Conference (ESSCIRC 2002), pp. 403-406, September 2002.
22
[17]. O. Schneider şi D. Uffmann, Circuit configuration for generating current pulses in the supply current of integrated circuits, US Pattent Application, 2006/7017048 B2, 2006.
[18]. Shengqi Yang, Wayne Wolf, N.Vijaykrishnan, D.N.Serpanos şi Yuan Xie, Power attack resistant cryptosystem design: a dynamic voltage and frequency switching approach, Design, Automation and Test in Europe, 2005. Proceedings, Conference Publications pp. 64 – 69, Vol. 3.
[19]. Horia-Nicolai L. Teodorescu, O nouă clasă de circuite haotice bazate pe buclă de reacţie capacitivă, 3rd Int. Conf. “Telecommunications, Electronics and Informatics” Proc. ICTEI 2010, The 3-rd Int. Conf. Telecommunications, Electronics and Informatics, vol. 1, pp. 319-325, Chişinău, 20-22 May 2010.
[20]. Horia-Nicolai L. Teodorescu, V.P. Cojocaru, Complex signal generators based on capacitors and on piezoelectric loads. Proc. CHAOS 2010 Conference, Chania, Crete, Greece, 1-4 June 2010.
[21]. Horia-Nicolai L. Teodorescu şi Emanuel-Florin Iftene, Analysis of the code masking efficiency of chaotic clocks in microcontroller applications, The Third International Symposium on Electrical and Electronics Engineering, September 16-18, Galaţi, România, 2010.
[22]. Horia-Nicolai L. Teodorescu, Victor P. Cojocaru, Biomimetic chaotic sensors for water salinity measurements and conductive titrimetry, 2012 Third International Conference on Emerging Security Technologies.
[23]. Horia-Nicolai L. Teodorescu, Characterization of nonlinear dynamic systems for engineering purposes – a partial review, International Journal of General Systems, 17 Sep 2012.
[24]. Horia-Nicolai L. Teodorescu, Classes of Diophantic Equations Arising in Relation to Function Implementation on Microcontrollers, Proceedings of the Romanian Academy, Series A, Vol. 11, No. 2/2010, pp. 179-187.
[25]. Horia-Nicolai L. Teodorescu, Emanuel-Florin Iftene, Generation of long-periodic signals with iterated maps on microcontrollers without multiplications, International Symposium on Signals, Circuits and Systems, ISSCS, Iaşi, România, 2011.
[26]. Horia-Nicolai L. Teodorescu, Emanuel-Florin Iftene, Masking the instructions of a microcontroller using a “chaotic” power supply, Buletinul Institutului Politehnic Iasi, România, 2013.
[27]. Horia-Nicolai L. Teodorescu, Emanuel-Florin Iftene, Protecting the code against side attacks using chaotically controlled clock and supply, International Conference on Electronics, Computers and Artificial Intelligence, ECAI, Piteşti, România, 2013.
[28]. Horia-Nicolai L. Teodorescu, Emanuel-Florin Iftene, Effciency of a combined protection method against correlation power analysis side-attacks on microsystems, International Journal of Computers, Communications & Control, trimisă la data 31 iulie 2013.
[29]. Emanuel-Florin Iftene, Comparaţii între eficienţele mascării instrucţiunilor prin metoda combinată tact-alimentare haotice, împotriva DPA în domeniul timp, respectiv DPA în domeniul frecvenţă, Zilele Academice Ieşene, octombrie 2013, în curs de publicare.