Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
Investeşte în oameni! FONDUL SOCIAL EUROPEAN Programul Operaţional Sectorial Dezvoltarea Resurselor Umane 2007 – 2013 Axa prioritară 1 „Educaţie şi formare profesională în sprijinul creşterii economice şi dezvoltării societăţii bazate pe cunoaştere” Domeniul major de intervenţie 1.5. „Programe doctorale şi post-doctorale în sprijinul cercetării” Titlul proiectului: Burse doctorale si postdoctorale pentru cercetare de excelenta
Numărul de identificare al contractului: POSDRU/159/1.5/S/134378
Beneficiar: Universitatea Transilvania din Braşov
Universitatea Transilvania din Braşov
Şcoala Doctorală Interdisciplinară
Departament: Automatică şi Tehnologia Informaţiei
Ing. Alexandra STANCIU
Contribuţii la securizarea datelor în sistemele
pe chip folosind circuite PUF
Contributions to the System on Chip Data
security using PUF circuits
Conducător ştiinţific
Prof. dr. ing. Florin MOLDOVEANU
BRAŞOV, 2016
MINISTERUL EDUCAŢIEI NAȚIONALE ȘI CERCETĂRII ȘTIINȚIFICE
UNIVERSITATEA “TRANSILVANIA” DIN BRAŞOV
BRAŞOV, B-DUL EROILOR NR. 29, 500036, TEL. 0040-268-413000, FAX 0040-268-410525
RECTORAT
D-lui (D-nei) .................Alexandra Stanciu.........................................
COMPONENŢA
Comisiei de doctorat
Numită prin ordinul Rectorului Universităţii „Transilvania” din Braşov
Nr. 8368 din 7.11.2016
PREŞEDINTE: Conf. univ. dr. ing. Carmen GERIGAN
Universitatea Transilvania din Braşov
CONDUCĂTOR ŞTIINŢIFIC: Prof. univ. dr. ing. Florin Dumitru MOLDOVEANU
Universitatea Transilvania din Braşov
REFERENŢI: Prof. univ. dr. ing. Ioan SALOMIE
Universitatea Tehnică din Cluj-Napoca
Prof. univ. dr. ing. Decebal POPESCU
Universitatea „Politehnica” din București
Prof. univ. dr. ing. Sorin Aurel MORARU
Universitatea Transilvania din Braşov
Data, ora şi locul susţinerii publice a tezei de doctorat: 14.01.2017, ora 12:30, VIII9.
Eventualele aprecieri sau observaţii asupra conţinutului lucrării vă rugăm să le
transmiteţi în timp util, pe adresa [email protected] sau la numărul de fax:
Departamentul de Automatică şi Tehnologia Informaţiei: 0268-418836
Totodată vă invităm să luaţi parte la şedinţa publică de susţinere a tezei de doctorat.
Vă mulţumim.
Menµiuni
Aceast tez reprezint rezultatele cercet rilor întreprinse în perioada 2013-2016 în do-
meniul Ingineria Sistemelor, în cadrul Universit µii Transilvania din Bra³ov. În timpul
acestei perioade am bene�ciat de o burs doctoral prin proiectul "Burse doctorale ³i
postdoctorale pentru cercetare de excelenµ - POSDRU/159/1.5/S/137070. Elaborarea
³i fundamentarea ³tiinµi�c a unei teze de doctorat este posibil numai cu condiµia unei
îndrum ri ³tiinµi�ce de calitate realizat cu profesionalism ³i a unor condiµii adecvate
necesare desf ³ur rii activit µii de cercetare speci�ce temei abordate.
Trebuie s aduc mulµumiri lui Marius Tudorancea ³i d-lui conf. dr. ing. Constantin
Suciu pentru susµinerea ³tiinµi�c oferit , pentru sprijinul tehnic ³i material de care am
bene�ciat pe întreg parcursul studiilor doctorale, precum ³i pentru experienµa dobândit
de a lungul acestei colabor ri. Mai mult de atât, consolidarea cuno³tiinµelor tehnice ³i
teoretice, ce reprezint fundamentul care st la baza acestor cercet ri ³tiinµi�ce, a fost
realizat sub îndrumarea lui Marius Tudorancea, de-a lungul perioadei în care am fost
bursier în cadrul echipei de Electronic Design, Siemens CT. Aceast tez nu ar � fost
posibil f r sprijinul oferit de c tre Marius Tudorancea ³i de c tre dl. conf. dr. ing.
Constantin Suciu.
Doresc s mulµumesc d-lui. prof. dr. ing. Florin Dumitru Moldoveanu, conduc torul
acestei teze de doctorat, pentru colaborarea fructuoas avut ³i pentru sprijinul oferit
în elaborarea tezei de doctorat. Pasiunea ³i rabdarea d-lui profesor, profesionalismul ³i
îndrumarea tehnic acordate au contribuit la rezultatele publicate împreun precum ³i la
�nalizarea acestor cercet ri.
Nu în ultimul rând a³ dori s mulµumesc familiei mele pentru susµinerea cu maximum
de entuziasm pe tot parcursul studiilor doctorale, oferindu-mi suportul moral necesar.
CUPRINS
Pg.
teza
Pg.
rezumat
1. INTRODUCERE 1 1
1.1 Actualitatea și oportunitatea temei 1 1
1.2 Obiectivele tezei 6 2
1.3 Structura tezei 7 3
1.4Lista publicațiilor ............................................................................................. 8 5
2. Aspecte teoretice de analiză a valorilor aleatoare și pseudoaleatoare 11 7
2.1 Variațiile de proces în circuitele integrate programabile de tip FPGA 12 8
2.2 Physically Unclonable Functions 17 10
2.3 Generator de valori pseudoaleatoare 32 10
2.4 Concluzii 38 10
3. Atacuri asupra sistemelor pe chip și metode de contracarare a acestora 41 13
3.1 Atacuri asupra sistemelor pe chip 41 13
3.1.1 Atacuri asupra dispozitivului fizic pe FPGA 42 13
3.1.2 Atacuri asupra sistemului hardware implementat pe FPGA 45 14
3.1.3 Atacuri asupra programului software/firmware ce rulează pe sistemul
hardware
52 16
3.2 Metodele existente de protecție pentru clasele de atacuri menționate 56
3.2.1 Metodele pentru contracararea atacurilor asupra dispozitivului fizic cu
FPGA
78
3.2.2 Metodele pentru contracararea atacurilor asupra sistemului hardware
implementat pe FPGA
80
3.2.3 Metodele pentru contracararea atacurilor asupra programului software ce
ruleaza pe sistemul hardware
85
3.3 Corelația dintre atacurile de securitate și metodele prezentate 87 18
3.4 Concluzii 91 22
4. Studiul și dezvoltarea unui mecanism de securitate în sistemele pe chip 93 23
4.1 Obiective generale 93 23
4.2 Împărțirea în domenii și generarea identificatorilo unici 98 26
4.3 Criptarea datelor 99 27
4.4 Verificarea autenticității perifericelor 108 28
4.5 Concluzii 115 29
5. Implementarea valorilor pseudoaleatoare folosind circuite PUF 119 31
5.1 Circuite PUF 119 31
5.1.1 Implementarea circuitelor PUF pe FPGA
120
31
5.1.2 Metodologia de implementare a mediului de testare a circuitelor PUF 126 33
5.1.3 Rezultate experiementale 134 36
5.1.4 Îmbătrânirea circuiteor integrate și efectele acesteia asupra circuitelor
PUF
141
41
5.1.5 Fiabilitatea răspunsurilor circuitelor PUF. Detecția și corecția erorilor 143 42
5.1.6 Unicitatea răspunsurilor circuitelor PUF 144 42
5.2 Generatorul pseudoaleator – Salsa 20/20 145 42
5.2.1 Implementarea hardware a generatorului 145 42
5.2.2 Rezultate ale implementării generatorului pseudoaleator 147 43
5.3 Concluzii 150 43
6. Implementarea și analiza experimentală a mecanismului de securitate 153 47
6.1 Criptarea datelor în interiorul sistemelor pe chip 153 47
6.1.1 Criptarea datelor pentru perifericele ce permit accesul la interfețele de
I/O
154
48
6.1.2 Criptarea datelor pentru IP core-urile ce nu permit accesul la interfețele
de I/O
165
49
6.2 Autentificarea IP core-urilor în interiorul sistemelor pe chip 173 50
6.3 Analiză a sistemului pe chip folosind operațiile de criptare și autentificare 175 50
6.4 Comparație cu metodele existente 178 53
6.5 Concluzii 180 55
7. Concluzii 183 57
7.1 Prezentarea sintetică a tezei 183 57
7.2 Mecanismul de securitate 185 58
7.3 Contribuții originale 189 60
7.3.1 Atacuri de securitate asupra sistemelor pe chip și metode de
contracarare
189
60
7.3.2 Circuitele PUF potrivite implementărilor pe FPGA 190 60
7.3.3 Testarea și analiza răspunsurilor circuitelor PUF implementate pe
FPGA
190
61
7.3.4 Operații criptografice la nivelul sistemului pe chip implementate între
perifericele componente
191
62
7.4 Diseminarea rezultatelor 192 63
CONTENS
Page
thesis
Page
abstract
1. Introduction 1 1
1.1 The need of systems security 1 1
1.2 Research objectives 6 2
1.3 Structure and content of the thesis 7 3
1.3 List of publications 8 5
2. Theoretical aspects of random and pseudorandom values 11 7
2.1 Process variations on IC and FPGAs 12 8
2.2 Physically Unclonable Functions 17 10
2.3 Random and pseudorandm cryptographic keys 32 10
2.4 Conclusions 38 10
3. Security attacks against system on chip and security mechanisms 41 13
3.1 Classification of security attacks against system on chip 41 13
3.1.1 Physical security attacks against FPGA/ASIC 42 13
3.1.2 Hardware security attacks 45 14
3.1.3 Software/Firmware security attacks 52 16
3.2 Security mechanism for counteracting the mentioned security attacks 56
3.2.1 Security mechanism against physical attack 78
3.2.2 Security mechanism against hardware attacks 80
3.2.3 Security mechanism against software/firmware attacks 85
3.3 Correlation between the security attacks and the security mechanism 87 18
3.4 Conclusions 91 22
4. The study and developement of the security mechanism 93 23
4.1 Research objectives 93 23
4.2 Dividing peripherals into critical/non-critical domains and generating
unique identifier for each domain
98 26
4.3 Data encryption 99 27
4.4 Authentication of the IP cores 108 28
4.5 Conclusions 115 29
5. Implementation of pseudorandom values using PUF circuits 119 31
5.1 PUF Circuits 119 31
5.1.1 PUF circuits implemented on FPGAs 120 31
5.1.2 Implementation methodology of PUF testing environment 126 33
5.1.3 Experimental results 134 36
5.1.4 Analysis of FPGA aging and their effects on PUF responses.. 141 41
5.1.5 Analysis of PUF responses realiability 143 42
5.1.6 Analysis of PUF responses uniqueness 144 42
5.2 Psedorandom generator - Salsa20/20 145 42
5.2.1 Hardware implementation of Salsa20/20 145 42
5.2.2 Experimental results 147 43
5.3 Conclusions 150 43
6. Implementation and analysis of the presented security mechanism 153 47
6.1 Data encryption inside system on chip, between peripherals 153 47
6.1.1 Data encryption for IP cores that allow the direct acces to their I/O
interfaces
154
48
6.1.2 Data encryption for IP cores that do not allow the direct acces to their
I/O interfaces
165
49
6.2 Authentication of the IP cores 173 50
6.3 Analysis of system on chip properties with the security mechanism 175 50
6.4 The comparison between the presented security mechanism and the
existing security mechanism
178
53
6.5 Conclusions 180 55
7. Final conclusions 183 57
7.1 Summary 183 57
7.2 Security mechanism 185 58
7.3 Original contributions 189 60
7.3.1 Classification of security attacks against system on chip 189 60
7.3.2 PUF circuits suitable for an FPGA implementation 190 60
7.3.3 Analysis and testing of FPGA responses 190 61
7.3.4 Cryptographic operations inside system on chip between IP cores 191 62
7.4 Dissemination of results 192 63
7.5 Future research activities 193 64
A PUF circuits implementation and statistical analysis of responses 195
A.1 PUF circuits implementation attacks 195
A.2 PUF responses analysis attacks 197
A.3 Kolmogorov Smirnov statistical test attacks 208
B System on chip implementation 195
Capitolul 1.
Introducere
1.1 Actualitatea ³i oportunitatea temei
Suntem în plin desf ³urare a unei revoluµii digitale: dac în momentul de faµ num rul
sistemelor conectate la internet a dep ³it demult num rul locuitorilor de pe planet , pân
în anul 2020 se a³teapt ca acest num r s ajung la peste 50 de miliarde ³i internetul
lucrurilor (Internet of Things - IoT), mi³carea care st la baza acestei cre³teri, s valoreze
peste 14 trilioane de dolari [1].
Îns cre³terea num rului dispozitivelor conectate la internet va � direct proporµional
cu aceea a atacurilor hackerilor. Aceasta este ³i prognoza adjunctului Secretarului pen-
tru Comerµ din cadrul Departamentului Comerµului din SUA, Bruce Andrews [2]: "Cum
num rul atacurilor cibernetice cre³te în Europa ³i în întreaga lume, este timpul s iden-
ti�c m soluµiile tehnologice ³i politicile necesare pentru a ne proteja ³i a ne reveni dup
viitoarele ameninµ ri".
Sistemele menite s controleze procese mai simple sau complexe pot conµine bre³e de
securitate, introduse deliberat sau nu, în timp ce implementarea protocoalelor de interco-
nectare sau comunicare a acestor sisteme pot ampli�ca aceste bre³e de securitate sau pot
da na³tere altora noi cu efecte devastatoare asupra bene�ciarilor.
În opinia autorului, contracarea acestor atacuri de securitate asupra sistemelor, co-
nectate sau nu la internet, presupune o abordare de jos în sus, ³i anume: eliminarea unor
1
2 Capitolul 1. Introducere
potenµiale atacuri înc din stadiile de manufacturare ale platformelor hardware pot con-
duce la construirea unui sistem �nal mai sigur din punct de vedere al securit µii. Acest
lucru presupune identi�carea circuitelor pe care se bazeaz sistemul �nal. Un astfel de
circuit, utilizat din ce în ce mai des, este matricea de porµi logice programabile (Field
Programmable Gate Array - FPGA).
Odat îns cu evoluµia fulminant a utiliz rii pe scar larg a FPGA-urilor au început
s apar ³i probleme legate de securitate. Dispozitivele programabile sunt utilizate pentru
rezolvarea task-urilor din ce în ce mai complexe ce implic , bineînµeles ³i procesarea
datelor senzitive. De exemplu, chip-urile integrate în cardurile inteligente (smart card)
stocheaz informaµii personale, informaµii biologice pentru autenti�care, bani electronici
sau informaµii legate de cardul de credit, în timp ce preµul acestuia nu dep ³e³te 30 euro.
În timp ce atacurile software devin din ce în ce mai periculoase, atacurile hardware
încep s reprezinte o serioas ameninµare. Circuitele integrate de ast zi sunt atât de
complexe încât este imposibil pentru o singur companie s le realizeze f r a externa-
liza anumite task-uri din întregul proces de fabricaµie (concepµie, arhitectur hardware,
implementare, veri�care, integrare, execuµie �zic , testare). Se poate spune c design-ul
componentelor hardware a devenit ast zi similar cu design-ul aplicaµiilor software: de
multe ori produc torii de circuite integrate cump r ³i integreaz componente de la alte
organizaµii (third party organizations) pentru conceperea sistemelor embedded/SoC.
A³a cum este prezentat ³i în [3] un SoC este un sistem embedded ce conµine, în mare
3 niveluri: nivelul hardware, nivelul unu de software (�rmware-ul) ce conµine funcµiile de
con�gurare ale perifericelor ³i aplicaµia propriu-zis . În general, în cazul SoC-urilor lipsesc
sistemele de operare în timp-real. La oricare dintre aceste niveluri pot s apar atacuri de
securitate. Ideea pe care se bazeaz conceptul dezvoltat în aceast tez este introducerea
mecanismului de securitate la nivelul hardware pentru a contracara eventualele atacuri ce
pot ap rea la acest nivel precum ³i la celelalte niveluri.
1.2 Obiectivele tezei
Obiectivul principal al acestei teze îl reprezint studiul ³i dezvoltarea unui mecanism
hardware de securitate, ce are ca �nalitate asigurararea securit µii ³i protej rii datelor
con�denµiale procesate în sistemele electronice bazate pe SoC. Obiectivele secundare ale
mecanismului propus sunt enumerate în cele ce urmeaz :
- clasi�carea posibilelor atacuri de securitate ce pot afecta întregul SoC;
1.3. Structura tezei 3
- analiza critic a metodelor de securitate existente în literatura de specialitate;
- proiectarea, implementarea ³i validarea experimental a unui circuit PUF potrivit
pentru implement rile realizate pe FPGA;
- proiectarea, implementarea ³i validarea experimental a operaµiilor criptogra�ce în
interiorul SoC-ului, între IP (Intellectual Property) core-urile ce intr în alc tuirea
SoC-ului;
- validarea întregului mecanism bazat pe circuite PUF ³i operaµii criptogra�ce.
Avansul tehnologic ajut în mod remarcabil la progresul omenirii, îns totodat se
întoarce împotriva creatorilor ³i a dezvoltatorilor. Cu atât de multe tehnologii concepute
s ajute la proiectarea/veri�carea circuitelor integrate s-au creat totodat idei de atacuri
sau puncte de plecare pentru dezoltarea unor atacuri de securitate. Complexitatea SoC-
urilor ³i a atacurilor a crescut atât de mult încât SoC-ul poate � comparat cu o reµea de
calculatoare: microprocesorul sau microprocesoarele reprezint serverul/serverele în timp
ce perifericele sunt celelalte entit µi din reµea. Aceasta este ideea de baz de la care a
plecat conceptul de securitate introdus în aceast lucrarea - Au avansat lucrurile atât de
mult, încât sistemele cu microprocesor pot ridica probleme de securitate asem n toare cu
cele dintr-o reµea de calculatoare ? Cum ar � dac ³i în interiorul SoC-ului, perifericele ar
comunica dup regulile de securitate din reµele: criptare ³i autenti�care ? Bineînµeles acest
lucru trebuie realizat f r a afecta performanµa SoC-ului sau resursele hardware ocupate
de SoC. Apare astfel o a treia metric de evaluare a SoC-urilor, al turi de performanµa
de calcul ³i aria resurselor hardware utilizate - securitatea. Dac pân acum proiectanµii
de circuite integrate aveau de ales între vitez ridicat ³i arie minim , având câ³tig de
cauz viteza ridicat , începe s se contureze de pe acum necesitatea de a se g si o soluµie
de compromis între: frecvenµ ridicat , arie ocupat ³i securitate. Aceast soluµie este
libertatea de a acµiona a �ec rui proiectant de circuite integrate în funcµie de scopul
aplicaµiei �nale, resursele �nanciare ³i alµi factori ce trebuie luaµi în considerare.
1.3 Structura tezei
În scopul atingerii obiectivelor propuse, noµiunile teoretice ³i rezultatele obµinute au
fost prezentate în cadrul tezei, dup cum urmeaz .
Capitol întâi conµine o scurt descriere a contextului general pentru a se înµelege nece-
sitatea de a se acorda o atenµie din ce în ce mai mare securit µii SoC-urilor implementate
pe dispozitive programabile de tip FPGA. Capitolul evidenµiaz obiectivul general al -
4 Capitolul 1. Introducere
turi de obiectivele speci�ce, care au fost avute în vedere în cursul studiilor doctorale ³i
elabor rii tezei.
Capitolul al doilea descrie, pentru început, noµiuni matematice referitoare la valorile
aleatoare ³i pseudoaleatoare. Sunt prezentate diferenµele dintre acestea ³i modalit µile
prin care pot � dep ³ite aceste diferenµe în implement rile practice. Soluµia din aceast
tez se bazeaz pe circuitele PUF. Noµiuni teoretice ³i limit rile implement rilor acestor
circuite pe dispozitivele programabile cu FPGA sunt expuse, în continuare, în acest ca-
pitol. Capitolul prezint , de asemenea, opinia personal a autorului legat de utilizarea
circuitelor PUF pentru generarea unor secvenµe pseudoaleatoare.
Capitolul al treilea, în prima sa parte, face o trecere în revist ³i o clasi�care a tu-
turor atacurilor de securitate, considerate posibile de c tre autor, ce pot afecta SoC-ul.
Aceast clasi�care este o sintez ³i o selecµie din multitudinea de atacuri existente îm-
potriva sistemelor embedded sau ale aplicaµiilor software simple sau complexe. Capitolul
prezint , de asemenea, o selecµie ale unor mecanisme de contracarare a atacurilor prezen-
tate. Aceste mecanisme de securitate au fost selectare avându-se în vedere posibilitatea
de a � implementate sau adaptate pentru SoC-urile implementate pe FPGA.
Capitolul patru este dedicat prezent rii conceptului teoretic ce st la baza mecanismu-
lui de securitate al SoC-urilor. Este vorba despre modul în care pot � adaptate operaµiile
criptogra�ce din reµelele de calculatoare în interiorul SoC-ului ³i ce atacuri pot � contra-
carate astfel. Sunt tratate teoretic toate etapele mecanismului: împ rµirea în domenii ³i
generarea identi�catorilor unici; criptarea datelor; schimbarea informaµiilor între domenii;
veri�carea autenticit µii perifericelor, atacurile posibile asupra SoC-urilor ³i modul în care
acest protocol de securitate hardware le poate contracara.
Capitolele cinci ³i ³ase prezint implementarea etapelor mecanismului enunµat teoretic
în capitolul patru ³i analiza �nal a întregului sistem. Al turi de detaliile de implementare
³i rezultatele obµinute, sunt prezentate opiniile personale ale autorului legate de �ecare
etap precum ³i justi�carea deciziilor de implementare avute în vedere. Secµiunea, Cir-
cuite PUF, prezint detaliile de implementare ale circuitelor PUF pe FPGA, modi�c rile
aduse pentru obµinerea unor rezultate mai bune precum ³i analiza statistic a rezultatelor
obµinute. Secµiunea urm toare, Generator pseudoaleator Salsa20/20, prezint în detaliu
problemele de implementare ale generatorului pseudoaleator. Prin combinarea circuitelor
PUF cu un generator pseudoaleator, autorul reu³e³te s proiecteze un generator de chei
criptogra�ce simetrice ³i s utilizeze circuitele PUF în aplicaµii de securitate f r un algo-
ritm de detecµie ³i corecµie a erorilor, datorit elimin rii problemei r spunsurilor oscilante
1.4. Lista publicaµiilor 5
cauzate de îmb trânirea circuitelor integrate sau variaµia anumitor parametrii precum
temperatura sau tensiunea de alimentare. Secµiunea, Criptarea datelor în interiorul SoC-
ului, demonstreaz posibilitatea implement rii operaµiilor de criptare între perifericele
din SoC. Secµiunea urm toare, Autenti�carea IP core-urilor în interiorul SoC-ului, de-
monstreaz posibilitatea autenti�c rii SoC-urilor. Ultima parte a capitolului prezint o
analiz �nal din punct de vedere al ariei hardware utilizate precum ³i a peformanµei
sistemului în care informaµia este transferat criptat pe magistral .
Capitolul al ³aptelea prezint concluziile generale ³i contribuµiile originale ale autorului
diseminate în articolele publicate.
1.4 Lista publicaµiilor
Cercet rile întreprinse în perioada studiilor doctorale au permis elaborarea urm toa-
relor publicaµii:
- [4] A. Stanciu, A. Cr ciun, �Generating an Unique Identi�er for FPGA Devices�,
14th Inter. Conf. on Optimization of Electrical and Electronic Equipment - OPTIM
2014, pp. 802− 808, Bra³ov, May, 2014.
- [5] A. Stanciu, M. Tudorancea, F. Moldoveanu, �A chip ID generation circuit -
latch based�, Inter. Journal of Advances in Electrical Engineering - IJAEE, Vol.
4(3), 30 Sept., 2015.
- [6] A. Stanciu, F.D. Moldoveanu, �Generating a PUF secret key for securing the
inter- and intra- communications on system on chip�, 7th Inter. Conf. on Information
Technology and Communications Security, pp. 9−17, 11−13, Bucure³ti Iunie, 2015.
- [7] A. Stanciu, T. Ciocoiu, F.D. Moldoveanu, �A method to handle BCH(n,k,t)
algorithm over large GF(n) in practical hardware implementations, Bulletin of the
Transilvania University of Brasov, Vol.57, No. 1− 2015, Brasov.
- [8] A. Stanciu, A.V. Cr ciun, F.D. Moldoveanu, �Pseudo-random generator using
PUF circuits and Salsa stream cipher�, Design and Technology in Electronic Pa-
ckaging (SIITME), 2015 IEEE 21st Inter. Symp. for, pp. 345 − 348, Oct, 2015,
Brasov.
- [9] A. Stanciu, M. Cîrstea, F.D. Moldoveanu, "Analysis and Evaluation of PUF-
based SoC Designs for Security Applications", IEEE Transactions on Industrial
Electronics (FI. 6.383), Vol. 63, Sept. 2016
6 Capitolul 1. Introducere
- [10] A. Stanciu, M. Cîrstea, F.D. Moldoveanu, "A Novel PUF based Encryption
Protocol for Embedded System on Chip", 2016 Inter. Conf. on Development and
Application Systems, DAS 2016, pp. 158− 165, Suceava, Mai, 2016.
Capitolul 2.
Aspecte teoretice de analiz a valorilor
aleatoare ³i pseudoaleatoare
Cerinµa de valori pur aleatoare a dus la evoluµia tehnicilor de generare pân în punctul
în care, valori aleatoare au fost c utate ³i g site în structura diverselor entit µi aparent
identice. Astfel, au ap rut PUF-urile, entit µi �zice cu particularitatea de a � diferite,
pentru obiecte aparent identice. PUF-urile se bazeaz pe imperfecµiunea ³i haosul struc-
turilor �zice privite la o scar de ordinul nanometrilor, încorporate în structura diverselor
obiecte �zice, identice.
Considerând domeniul electric, PUF−urile se împart în dou categorii: circuitele PUF
bazate pe timpii de întârziere (delay based PUF) ³i circuitele PUF bazate pe structurile
de stocare (memory cell based PUF). Din prima categorie fac parte: Arbiter PUF ³i
Ring Oscillator PUF, iar în a doua categorie se încadreaz : SRAM PUF, Butter�y PUF,
Latch PUF ³i Flip-Flop PUF. Implementarea circuitelor PUF pe FPGA−uri este mai
di�cil datorit limit rilor impuse de circuitele programabile în ceea ce prive³te rutarea
sau plasarea. Circuitele PUF, atât cele care au la baz timpii de întârziere cât ³i cele care
se bazeaz pe elementele digitale de stocare, necesit rute simetrice ³i identice, lucru mai
greu de realizat pe circuitele FPGA.
7
8 Capitolul 2. Aspecte teoretice de analiz a valorilor aleatoare ³i pseudoaleatoare
2.1 Variaµiile de proces în circuitele integrate programabile de tip FPGA
PUF−urile în siliciu pun în evidenµ variaµiile de proces (process variation) ce apar
în timpul execuµiei �zice în siliciu a circuitelor integrate, FPGA sau ASIC. Dou circuite
integrate, identice din punct de vedere funcµional sunt aparent identice ³i din punct de
vedere �zic. De³i circuitele integrate sunt supuse acelora³i procese de fabricaµie, vor
exista diferenµe între circuitele de pe acela³i wafer ³i nu numai, diferenµe produse de c tre
imperfecµiunile (defectele) ce apar în timpul execuµiei �zice a circuitelor integrate. Aceste
defecte �zice numite ³i variaµii de proces devin din ce în ce mai importante în cazul
circuitelor produse sub 100nm, afectând performanµa circuitului integrat.
2.2 Physically Unclonable Functions
O instanµ a circuitului PUF este o entitate �zic , în timp ce un PUF este o procedur
întrebare-r spuns (a physical challenge-response procedure). Din punct de vedere teoretic
un PUF este notat Π : X → Y : Π(x) = y. Modi�carea unui PUF atrage dup sine
modi�carea propriet µilor acestuia ³i implicit a setului de întreb ri-r spunsuri.
Cele mai importante propriet µi de evaluare ale circuitelor PUF sunt unicitatea ³i
reproductibilitatea. În practic , pentru evaluarea celor dou propriet µi sunt utilizate
histogramele ³i mediile statistice calculate pe baza distanµei Hamming intra-chip ³i a
distanµei Hamming inter-chip.
Distanµa Hamming intra-chip reprezint num rul de biµi diferiµi între r spunsurile
pentru aceea³i întrebare ³i acela³i circuit PUF. Pornind de la aceast de�niµie unicitatea
poate � calculat folosind formula:
U =2
k(k − 1)Σi=k−1
i=1 Σj=kj=i+1
HD(Ri, Rj)
n∗ 100%. (2.1)
unde n este num rul de biµi al secvenµei PUF ³i k este num rul de secvenµe binare.
Distanµa Hamming inter-chip reprezint num rul de biµi diferiµi între r spunsurile
pentru aceea³i întrebare ³i acela³i PUF îns pe circuite integrate diferite. Considerând
r spunsurile, Ri = ri,1ri,2...ri,n ³i Rj = rj,1rj,2...rj,n la aceea³i întrebare, pentru un cir-
cuit PUF, de pe dou FPGA-uri diferite, distanµa Hamming inter-chip, se poate calcula
folosind formula:
HD(Ri, Rj) =1
nΣn
t=1(ri,t ⊕ rj,t). (2.2)
unde n este num rul de biµi al secvenµei PUF.
2.2. Physically Unclonable Functions 9
Circuitele PUF construite pe baza variaµiilor de proces, intrinseci sunt sensibile la
variaµiile de mediu, în special temperatur , tensiune de alimentare ³i îmb trânire. În
decursul timpului, multe studii ce trateaz variaµii ale temperaturii (cre³terea, sc derea
temperaturii ambientale prin înc lzirea sau r cirea circuitului) sau variaµii ale tensiunii de
alimentare au fost prezentate în literatura de specialitate. Îmb trânirea circuitelor inte-
grate ³i modul în care acest lucru este re�ectat în propriet µile circuitelor PUF au fost, de
asemenea, dezb tute în literatura de specialitate. Mai mult decât atât soluµii pentru îm-
bun t µirea propriet µilor circuitelor PUF la aceste variaµii sau încerc ri de imunizare ale
reacµiilor negative asupra acestor circuite PUF au fost realizate în experimente practice.
O metod utilizat pentru corecµia r spunsurilor unor circuite PUF necesar din cauza
variaµiilor de temperatur , tensiune de alimentare sau îmb trânire sunt codurile corec-
toare de erori. Un astfel de cod este BCH (Bose, Chaudhuri, Hocquenghem) prezentat,
implementat ³i testat în [6], [7]. BCH poate � aplicat doar dac r spunsurile sunt afectate
în anumite limite (de exemplu, 10% erori din totalul r spunsurilor circuitelor PUF). Pe
lîng variaµiile sistematice ale parametrilor din mediul înconjur tor precum cele amintite
anterior (temperatur , tensiune de alimentare ³i îmb trânire) exist ³i variaµii datorate
activ µii interne a sistemului digital (simplu sau complex) implementat al turi de cir-
cuitele PUF. Aceast activitate intern genereaz variaµii interne ale temperaturii sau
tensiunii de alimentare ce pot afecta r spunsul circuitelor PUF. Articolele [8], [11], [12],
[13] prezint , din punct de vedere teoretic ³i experimental, faptul c activitatea intern
a circuitului genereaz variaµii ale temperaturii ³i tensiunii de alimentare. Variaµii ale
temperaturii interne a circuitului integrat sunt declan³ate de activitatea normal a circui-
tului formând un gradient termic (thermal gradients). Acela³i lucru este valabil ³i pentru
variaµii ale tensiunii de alimentare (power supply noise). În momentul în care un pat-
tern este aplicat pe intr rile unui circuit integrat, acesta declan³eaz în circuit un num r
mare de modi�c ri ale semnalelor digitale (din 0 în 1 ³i din 1 în 0). Aceste schimb ri
bru³te ale valorilor semnalelor digitale vor cre³te consumul dinamic de putere (dynamic
power), vor produce sc deri ale valorilor tensiunii pe liniile de alimentare (voltage drop
on power lines) ³i vârfuri de tensiune pe liniile de mas (voltage increase on ground lines),
în interiorul circuitului integrat. Acest efect este cunoscut sub denumirea de zgomot în
tensiunea de alimentare (power supply noise). Dac tensiunea de alimentare a unei porµi
logice are variaµii nea³teptate (zgomot) timpul de întârzire prin poart va avea ³i el o
variaµie. Totodat , cu zgomotul tensiunii de alimentare apar ³i variaµii locale ale tempe-
raturii interne, în locurile în care s-au produs invers rile valorilor logice ale semnalelor
10 Capitolul 2. Aspecte teoretice de analiz a valorilor aleatoare ³i pseudoaleatoare
digitale. De³i aceste variaµii interne de temperatur ³i tensiune de alimentare sunt de
ordinul nano - sau chiar pico - pot in�uenµa circuitele PUF implementate, de asemenea,
la scar de nano -, pico - metrii. Variaµiile acestea interne nu afecteaz , îns , aplicaµia
principal implementat pe circuitul integrat FPGA.
Considerând o secvenµ de circuite PUF se poate forma un identi�cator unic, cheie de
criptare, secvenµ aleatoare pentru un circuit integrat ASIC sau FPGA sau o porµiune a
unui circuit integrat ASIC sau FPGA. Obµinerea mai multor astfel de secvenµe aleatoare
pentru acela³i circuit integrat sau pentru aceea³i porµiune dintr-un circuit integrat este
di�cil . S-ar putea folosi mai multe perechi de tipul întrebare-r spuns, îns acest num r
de perechi ar � limitat. În prezenta lucrare, în vederea obµinerii mai multor r spunsuri
s-a folosit o combinaµie între secvenµa aleatoare obµinut cu circuite PUF ³i un generator
de numere pseudoaleatoare. Noutatea ³i atuul acestei metode const în faptul c �ecare
secvenµ aleatoare va identi�ca unic un anumit circuit integrat ³i, prin urmare, toate
secvenµele obµinute cu generatorul pseudoaleator vor � unice pentru un circuit integrat
dat. Aceste secvenµe pseudoaleatoare, unice pentru �ecare circuit integrat sau porµiune a
circuitului integrat, vor � utilizate al turi de algoritmi de criptogra�e simetric .
2.3 Generator de valori pseudoaleatoare. Salsa20/20
Algoritmul Salsa20 a fost propus de Daniel Bernstein [14]. Salsa20 este un cod stream
bazat pe operaµii pe 32 de biµi: XOR, adunare ³i deplasare pe biµi. Algoritmul prime³te ca
intrare o cheie secret pe 256 biµi, un nonce pe 64 de biµi, o poziµie în stream pe 64 de biµi
³i 4 valori constante pe 32 de biµi. Ie³irea este o cheie stream pe 512 biµi ³i poate � folosit
pentru criptarea mesajelor printr-o simpl operaµie de XOR pe biµi. Generarea valorilor
pseudoaleatoare, din aceast tez , se bazeaz pe utilizarea r spunsurilor circuitelor PUF
ca valori de intrare pentru algoritmul Salsa20/20.
2.4 Concluzii
În concluzie, generarea unor valori aleatoare presupune eforturi mari atât tehnic cât
³i �nanciar. Mai mult, exist cazuri în care este practic imposibil obµinerea unor valori
aleatoare ³i întotdeauna este aproape imposibil obµinerea unui num r su�cient de valori
aleatoare pentru criptarea mesajelor, folosind algoritmi cu chei simetrice. O soluµie prac-
tic poate � combinarea unei valori aleatoare cu un generator pseudoaleator. Utilizarea
ca valoare aleatoare a unor circuite PUF ajut ca secvenµa de valori pseudoaleatoare s
�e unic pentru �ecare entitate, în cazul de faµ pentru �ecare circuit integrat, ceea ce
2.4. Concluzii 11
spore³te gradul de securitate al codului stream.
Capitolul 3.
Atacuri asupra sistemelor pe chip ³i
metode de contracarare a acestora
3.1 Clasi�carea atacurilor asupra securit µii sistemelor pe chip
Existenµa unei vulnerabilit µi ³i a unui potenµial adversar implic existenµa unui risc
de securitate [15]. Aceasta este o lege nescris ce arat importanµa cunoa³terii posibilelor
vulnerabilit µi ³i analiza puterii eventualilor adversari. Lista potenµialilor adversari poate
� un punct de pornire în evaluarea riscurilor. Exist câteva puncte de interes pe care
ace³tia le vizeaz : resursele de calcul, resursele �nanciare, resursele intelectuale, motivaµia,
amploarea ³i natura pagubelor pe care le pot cauza [15].
În general, mai multe atacuri simple pot � combinate pentru a se intra în posesia unor
informaµii. Considerând c atacatorul are supraputeri ³i poate realiza cu succes orice tip
de atac, s-a f cut o analiz critic a atacurile posibile asupra SoC-urilor implementate pe
FPGA, existente în literatura de specialitate. Astfel, s-a realizat o clasi�care a atacurilor
în funcµie de target-ul ales, ³i care este prezentat succint în cele ce urmeaz .
3.1.1 Atacuri asupra dispozitivului �zic FPGA/ASIC
Aceste atacuri vizeaz , în general, procesul de fabricaµie al circuitelor programabile de
tip FPGA ³i sunt, de obicei, acelea³i tipuri de atacuri ce pot ap rea în cazul tuturor circui-
telor integrate sau al altor componente electronice: clonarea circuitelor integrate (cloning)
13
14 Capitolul 3. Atacuri asupra sistemelor pe chip ³i metode de contracarare a acestora
sau manufacturarea ilegal a mai multor circuite integrate comparativ cu num rul agreat
iniµial de c tre produc tor (overbuilding, suprafabricarea).
Dou exemple mediatizate de atacuri asupra hardware-ului sunt: comercializarea cir-
cuitelor Xilinx vechi ie³ite din uz sub forma unora noi[16] ³i exploatarea securit µii siste-
mului Xbox prin interceptarea datelor de pe magistral [17].
3.1.2 Atacuri asupra sistemului hardware implementat pe FPGA
Atacuri pe bitstream
În general, FPGA-urile sunt programate folosind �³ierul de con�gurare bitstream de
�ecare dat la punerea sub tensiune sau reset. Acest mod de programare este nesigur din
punct de vedere al securit µii din cauza posibilit µii de interceptare a �³ierului de con�gu-
rare în momentul în care �³ierul este citit din memoria EEPROM (Electrically Erasable
Programmable Read-Only Memory) pentru con�gurare în memoria SRAM (Static Ac-
cess Random Memory). Memoriile SRAM sunt memorii volatile, ceea ce înseamn c la
scoaterea de sub tensiune, informaµia stocat în memorie se pierde. Astfel, va � necesar
un transfer al �³ierului de recon�gurare la �ecare repornire sau punere sub tensiune a
sistemului, moment în care �³ierul de con�gurare poate � interceptat. Memoriile SRAM
ce nu asigur protecµia �³ierului de con�gurare nu sunt e�ciente din punct de vedere al
securit µii. De altfel, citirea �³ierului de con�gurare este posibil prin facilit µile puse la
dispoziµie pentru depanare (debug).
Un alt mod de atac este introducerea unor modi�c ri maliµioase ce pot afecta func-
µionalitatea sistemului integrat. Odat ce atacatorii au acces la un �³ier de con�gurare,
ace³tia pot extrage informaµii privind perifericele sau sistemul.
Con�gurarea de la distanµ a FPGA-ului (remote con�guration) este o proprietate im-
portant întrucât permite actualizarea unor algoritmi sau actualizarea aplicaµiei software
folosind o versiune mai nou . Îns acest lucru trebuie f cut în condiµii de protecµie ³i
securitate maxim . Un posibil atac este cel prin care atacatorul poate schimba întreg
�³ierul de con�gurare neavând permisiunea utilizatorului. O alt ameninµare o reprezint
atacurile de tipul, "omul din mijloc" (man-in the middle), prin care �³ierul este incercep-
tat de c tre atacator ³i schimbat cu o con�guraµie fals . De aceea, conexiunea trebuie s
�e sigur .
Modi�c ri maliµioase ale circuitelor digitale. Troieni hardware
În anul 2007 guvernul israelian ³i militarii au depistat o instalaµie nuclear din nordul
3.1. Clasi�carea atacurilor asupra securit µii sistemelor pe chip 15
estul Siriei ce funcµiona într-un mod suspect. Problema ar � fost la sistemul radar de
ultim generaµie în care s-a investit enorm de mult. Nu a trecut mult timp pân când
[18] au ap rut supoziµiile conform c rora era vorba de un defect ce provenea de la partea
electronic ³i nu oricum ci o bre³ de securitate intenµionat introdus în chipul micropro-
cesorului. Trimiµând un cod preprogramat acestui chip, un atacator putea opri temporar
funcµionarea radarului [18]. Conform a�rmaµiilor unei �rme contractoare din U.S.A, un
produc tor european de circuite integrate a introdus recent în microprocesoarele sale un
comutator (switch) ce poate � accesat remote cu scopul de a opri funcµionarea micropro-
cesorului. Dac în viitor, circuitul integrat ajunge în mâinile unui adversar ostil, aceast
nou caracteristic introdus poate acµiona cu scop maliµios asupra securit µii circuitelor
integrate [18].
Troianul hardware este o mic modi�care ascuns în circuitul integrat ³i poate altera
funcµionarea circuitului într-un moment critic sau poate genera semnale false. De altfel,
atacatorul care introduce aceast modi�care maliµioas poate transmite informaµii sen-
zitive, ca de exemplu, chei de criptare sau parole, în mediul extern circuitului integrat
[19].
Sunt multe etape în care pot � introdu³i troieni hardware. Prima etapa ar � cea de
început, când un circuit este proiectat în limbaj de descriere hardware. Aceast etap
este însoµit de tool-uri CAD ce sunt create de companii specializate ³i conµin milioane
de rânduri de cod. Algoritmi noi sunt ad ugaµi des acestor tool-uri pentru a se optimiza
design-urile din punct de vedere a ariei ³i a puterii consumate, etc. Este simplu ca cineva
s introduc câteva linii de cod, pe lâng milioanele deja existente, cu scopul de a modi-
�ca hardware-ul �nal sau, de ce nu, de a crea un pattern de routare sau plasare. Troienii
hardware pot � introdu³i deliberat de c tre proiectantul circuitului, mai ales atunci când
componente ale circuitului sunt implementate de diver³i contractori. Spre exemplu, anu-
mite blocuri de rutin sunt implementate de produc tori externi (third parties) [20]. În
cazul circuitelor complexe, o inserµie deliberat a câtorva porµi logice, poate � descope-
rit târziu în spre �nalul etapelor de proiectare ³i veri�care, când nu se mai poate face
nimic. Mai mult decât atât, aceast inserµie poate � ad ugat în speci�caµiile �nale ale
chip-ului transformându-se mai târziu într-o bre³ de securitate. O alt etap vulnerabil
la introducerea de modi�c ri maliµioase este cea de execuµie �zic în siliciu a circuitului
integrat. Acest etap este externalizat , din cauza costurilor foarte mari, c tre fabrici
16 Capitolul 3. Atacuri asupra sistemelor pe chip ³i metode de contracarare a acestora
specializate din China, Corea de Sud, Taiwan sau Statele Unite ale Americii.
Atacuri de canal secundar (side channel attacks)
Atacurile cu canal secundar au ca scop obµinerea de informaµii senzitive ca, de exemplu,
cheile secrete. Atacurile de canal secundar sunt prezentate detaliat în [21]. Acestea sunt de
dou feluri: atacuri pasive prin care sunt doar observate propriet µi ale dispozitivului (cum
ar �: timpul de propagare, puterea consumat sau radiaµii ale câmpului electromagnetic)
³i atacuri active prin care este manipulat dispozitivul din exterior cu scopul de a se ajunge
la informaµia senzitiv procesat de acesta.
Injectarea unor erori în sistem
Injectarea în hardware a unor erori se poate realiza, în general, prin inserµia unei
modi�c ri la nivelul dispozitivului în vederea modi�c rii comportamentului aplicaµiei im-
plementate. Injectarea defectelor într-un circuit integrat reprezint tot o metod de a
obµine secrete din clasa atacurilor cu canal secundar.
3.1.3 Atacuri asupra programului software/�rmware ce ruleaz pe sistemul
hardware
Atacuri asupra memoriei DRAM a sistemului
Monitorizarea magistralei dintre microprocesor ³i memoria DRAM este un atac destul
de accesibil. Pe lâng atacurile ce necesit acces la circuitul hardware, exist analizoare
pentru memoriile din sistemele încorporate pe baz de microprocesor (Analysis tools for
DDR1, DDR2, DDR3, embedded DDR and Fully Bu�ered DIMM modules) cum sunt
cele prezentate în [22] ³i pe care atacatorii le pot folosi cu u³urinµ pentru interceptarea
datelor. Exist ³i atacuri care se bazeaz pe monitorizarea acceselor la memorie în vederea
identi�c rii unor operaµii repetitive (pattern-uri). De exemplu, algoritmul de criptare
AES folose³te tabele cu valori precalculate ³i ordinea de acces a valorilor din tabel poate
oferi informaµii despre cheile secrete [23]. De altfel, un periferic poate conµine un troian
hardware, inserat, de exemplu, în mecanismul de adresare al tuturor perifericelor din
sistem, ce permite interceptarea unor mesaje destinate unui alt periferic.
Un alt atac este cel al acces rii ilegale a datelor senzitive din zone ale memoriei de date
(data leakage) de c tre o aplicaµie software prin exploatarea unor vulnerabilit µi software.
O clas de atacuri software ce vizeaz memoria DRAM sunt, cele care suprascriu ilegal
parametrii unei funcµii (de exemplu adresa de întoarcere dintr-un apel de funcµie) din
3.1. Clasi�carea atacurilor asupra securit µii sistemelor pe chip 17
stiv (stack over�ow) sau datele alocate dinamic în secµiunea de heap, respectiv atacurile
asupra ³irurilor de caractere.
Accesul la regi³trii de con�gurare
Un alt exemplu de atac software este cel în care sunt exploatate vulnerabilit µile
perifericelor din SoC. Regi³trii de con�gurare ai unui periferic pot � suprascri³i în mod
maliµios, tot prin mecanisme precum dep ³irea spaµiului de memorie alocat pentru stiv
(stack over�ow), astfel încât perifericul poate � con�gurat s transmit în mediul extern
date senzitive. Exemplul prezentat în [24] folose³te comunicaµia dintre microprocesor ³i
interfaµa ARM Prime-Cell Advanced Audio CODEC Interface, care este un slave APB
(Advanced Peripheral Bus) ce comunic cu un codec audio. Interfaµa conµine 4 canale
ce pot � con�gurate ca: modem, audio, ie³ire audio c ³ti, intrare audio. Con�gurarea
interfeµei depinde de cerinµele aplicaµiei. Orice vulnerabilitate software poate duce la
o con�gurare gre³it a interfeµei prin intermediul setului de regi³trii astfel încât datele
necriptate pot ajunge pe ie³irea modem-ului.
Viru³i ³i viermi
În ziua de ast zi toate conceptele unui sistem computaµional pot � transpuse în sisteme
integrate de la programele software ³i pân la vulnerabilit µile de proiectare. Viru³ii ³i
viermii nu mai sunt demult o ameninµare doar pentru calculatoare ³i servere ci ³i pentru
sistemele integrate. Un studiu f cut de IBM estimeaz c num rul viru³ilor a crescut de
la 4 551 în 2002 la 28 327 în 2004. Studiul arat c noile atacuri de securitate ameninµ
³i alte dispozive ce conµin SoC-uri cum ar �: telefoanele mobile, player-ele, sistemele de
comunicaµie prin sateliµi, etc [25].
Cel mai bun exemplu în acest sens, este virusul Stuxnet descoperit în iunie 2010.
Acesta a infectat pe rând sistemul de operare Microsoft, apoi aplicaµia de programare a
dispozitivelor programabile Siemens Step7 ³i în ultim faz ³i automatele programabile.
Autorul Stuxnet avea apoi posibilitatea de spionare a sistemelor industriale ³i chiar con-
trolul instalaµiilor nucleare din Iran, f r cuno³tinµa operatorilor, dup ce, în prealabil,
au fost strânse su�cient de multe date. Dup descoperirea acestui virus, companiile de
securitate au mai avut de a face ³i cu alµi viru³i, viermi: Duqu, Flame, Gauss [26].
Primul virus care a afectat sistemele embedded ap rut în 2004, Cabir, a infectat
telefoanele mobile ce rulau sistemul de operare Symbian ³i s-a programat prin Bluetooth.
Atacuri asupra microprocesorului
18 Capitolul 3. Atacuri asupra sistemelor pe chip ³i metode de contracarare a acestora
Microblaze ³i Nios II sunt cele dou microprocesoare ce se g sesc, sub form de IP core-
uri, în bibliotecile de componente oferite de Xilinx ³i Altera. Prin analiza instrucµiunilor
în limbaj de asamblare ale algoritmilor de criptogra�e, ce ruleaz pe microprocesoare, se
pot a�a informaµii despre cheile de criptare sau algoritmul de criptare.
Update-uri software
Pro�tând de momentul în care este nevoie de o nou versiune a aplicaµiei software,
un atacator poate introduce cod maliµios tocmai cu scopul de a accesa date senzitive, �e
prin intermediul memoriei, �e prin cel al regi³trilor.
Reverse Engineering
Reverse engineering este munca realizat dup obµinerea �³ierului de programare pen-
tru a obµine con�gurarea dispozitivului (³i implicit descrierea logic a sistemului) sau
buc µi esenµiale de cod RTL din descrierea implement rii sistemului. Reverse enginee-
ring nu este limitat la analiza �³ierului de con�gurare, aceasta poate � realizat ³i prin
analiza transferurilor de date de pe magistral în timpul execuµiei unui program de c tre
un microprocesor. Exist �rme specializate care se ocup cu a�area informaµiilor secrete
dintr-un �³ier de con�gurare (bitstream) [27]. În acest mod, atacatorii pot a�a date sen-
zitive cum ar � parole de criptare sau p rµi ale implement rii algoritmilor criptogra�ci,
informaµii care nu sunt disponibile pentru public.
Managementul cheilor de criptare
Managementul cheilor de criptare este o problem în sistemele pe baz de micropro-
cesor. Cheile simetrice sau asimetrice necesare operaµiilor criptogra�ce trebuie stocate,
iar în timpul rul rii sistemului trebuie interschimbate sau generate aleator între diferite
procese. A³adar este nevoie de un management securizat al acestor chei de criptare [28].
3.2 Corelaµia dintre atacurile de securitate ³i metodele prezentate
Figurile 2.1, 2.2 ³i 2.3 prezint , într-un mod sintetic, atacurile ce pot � contracarate
cu metodele selecµionate din literatura de specialitate. XOM[29] poate contracara atacu-
rile, ce presupun accesul sau manipularea datelor din memorie, realizate prin: mecanisme
de tipul troieni hardware, injectarea de erori în memorie, HW, SW, accesul în zone de
memorie de date sau memorie I/O interzise, încercarea copierii ilegale a instrucµiunilor
unui program. XOM este o metod destul de greu de implementat în practic datorit
modi�c rilor ce trebuie aduse asupra microprocesorului. SAFES[30] contracareaz ata-
3.2. Corelaµia dintre atacurile de securitate ³i metodele prezentate 19
Figura 3.1: Atacuri Metode 1.
curile hardware prin monitorizarea continu a parametrilor circuitului integrat precum:
consumul de putere, temperatur , timpii de propagare. Spre deosebire de AEGIS [31]
³i XOM, metoda contracareaz atacurile asupra dispozitivului �zic. SAFES este ³i ea o
metod destul de greu de implementat în practic datorit monitoarelor. Acestea trebuie
s �e su�cient de senzitive pentru a percepe modi�c rile parametrilor dar ³i su�cient de
inteligente pentru a sesiza diferenµa dintre modi�c rile parametrilor datorit unui atac
de securitate sau datorit altor factori: îmb trânirea circuitului, temperatura mediului
înconjur tor, compatibilitatea elecromagnetic , etc. PE-ICE[32] contracareaz , în spe-
cial, atacurile asupra dispozitivului hardware (monitorizare magistral sau inserµie/citire
memorie). Îns , se poate spune c atât prin inserµii hardware maliµioase cât ³i prin
atacuri software se poate intercepta conµinutul magistralei. PE-ICE introduce o oare-
care latenµ , afectând astfel performanµa sistemului. FANCI[33], ART[34], Homomophic
Encryption[35] ³i Securitate în toate etapele de manufacturare[20] sunt destul de greu de
implementat în practic . Clock Sweeping[36] prezint , de asemenea, di�cult µi pentru
implementarea în practic .
20 Capitolul 3. Atacuri asupra sistemelor pe chip ³i metode de contracarare a acestora
Figura 3.2: Atacuri Metode 2.
GLIFT[37] este o metod ce reu³e³te s identi�ce un atac generat de un mecanism de
tipul troian hardware în IP core-uri ce sunt suspecte din punct de vedere al securit µii.
Condiµia este ca IP core-urile de încredere, s nu conµin , într-adev r, inserµii maliµioase
de acest tip. De³i autorii metodei consider c aceasta este o metod strict pentru trojenii
hardware, autorul tezei consider c aceasta poate neutraliza toate atacurile ce presupun
accesul în zone de memorie cu permisiuni limitate. Programele software ce conµin astfel
de atacuri, sunt, de fapt, instrucµiuni de asamblare executate de microprocesor, care la
rândul lor sunt translatate, la nivel logic, în porµi digitale interconectate dup anumite
reguli. Astfel, de la nivelul hardware, pot � urm rite o serie de atacuri de securitate
ce au punctul/punctele de vulnerabilitate atât în software cât ³i în hardware. Meca-
nismul presupune un efort pentru implementarea acestuia al turi de SoC. "Moats and
drawbridges"[38] este o metod implementat tot la nivelul hardware ³i presupune izola-
rea perifericelor ³i realizarea interconexiunilor doar între perifericele între care trebuie s
3.2. Corelaµia dintre atacurile de securitate ³i metodele prezentate 21
existe schimb de informaµie. Mecanismele de autenti�care bazate pe identi�catorii unici
generaµi cu circuite PUF[39] neutralizeaz atacurile ce au ca scop clonarea, contrafacerea,
copierea ilegal a dispozitivelor �zice, IP core-urilor, programelor software, etc. LFSR ge-
nereaz o sincronizare între cele dou periferice între care are loc transferul datelor. Este
o metod care veri�c dac mesajul a ajuns la perifericul corect ³i protejeaz informaµia,
dac mesajul a ajuns la un perifeirc nedorit, printr-un atact de securitate. Nu sunt date
îns detalii de implementare, analize a performanµei sau securit µii.
Figura 3.3: Atacuri Metode 3.
Clipper[40] este un mecanism de securitate ap rut în 1993 ³i compromis 3 ani mai
târziu. Prin criptarea datelor, în echipamentele de telecomunicaµii, poate contracara
22 Capitolul 3. Atacuri asupra sistemelor pe chip ³i metode de contracarare a acestora
anumite atacuri ce presupun tentative de interceptare a informaµiei. ARM TrustZone[41]
se adreseaz în special circuitelor integrate ASIC ³i mai puµin SoC-urilor implementate cu
FPGA. Se poate considera c metoda ar putea s contracareze anumite atacuri generate
prin inserµii maliµioase, de tipul trojeni HW sau SW, prin mecanismele de securitate
implementate în cele 2 zone de funcµionare a chip-ului: zona Secure ³i zona Normal.
TPMA[42] se aseam n cu metoda introdus în aceast tez folosind criptarea în interiorul
SoC-ului, între microprocesor ³i periferice.
3.3 Concluzii
Acest capitol prezint o sintez a atacurilor de securitate ce pot avea ca target, SoC-
urile implementate pe circuite programabile de tip FPGA sub toate formele: atacuri
asupra FPGA-ului �zic, atacuri asupra platformei hardware a SoC-ului implementat pe
FPGA sau atacuri asupra sistemului software rulat pe hardware-ul respectiv. Din multi-
tudinea ³i complexitatea acestor atacuri rezult faptul c avansul exploziv al tehnologie
poate � folosit ³i în scopuri distructive.
O sintez a metodelor de contracarare ale atacurilor mai sus menµionate este realizat
pe baza literaturii de specialitate. Au fost selectate mecanismele de protecµie ce pot �
aplicate asupra SoC-urilor implementate pe FPGA.
Capitolul prezint , în �nal, o corelaµie între atacurile identi�cate ³i cele 29 de metode
selecµionate: ce atacuri pot � contracarate de metodele respective ³i care este di�cultatea
de implementare în practic .
Atacurile ³i metodele prezentate constituie premisele necesare ale mecanismului de
securitate bazat pe circuite PUF, dezvoltat în capitolele urm toare.
Capitolul 4.
Studiul ³i dezvoltarea unui mecanism
de securitate în sistemele pe chip
4.1 Obiectivele generale
Mecanismul introdus în aceast lucrare î³i propune s ofere protecµie asupra datelor
senzitive ce sunt achiziµionate, stocate, prelucrate în SoC-urile implementate pe pl cile
de dezvoltare reprogramabile de tip FPGA. Analizând atacurile prezentate în capitolul 2
³i complexitatea avansat a SoC-urilor utilizate în diverse aplicaµii industriale, se poate
spune c un SoC este asem n tor cu un sistem de calculatoare (o reµea de calculatoare).
Prin analogie, serverul sau serverele din reµeaua de calculatoare este/sunt microproce-
sorul/microprocesoarele din SoC iar calculatoarele din reµea sunt perifericele din SoC.
Astfel, metoda î³i propune s analizeze posibilitatea implement rii ³i utiliz rii operaµii-
lor criptogra�ce importante în securizarea comunicaµiei în cadrul reµelele de calculatoare
precum: criptarea, autenti�carea respectiv veri�carea integrit µii datelor. Bineînµeles,
aceste operaµii trebuie implementate cu costuri minime (ideal zero) de penalizare a per-
formanµei (viteza de lucru, latenµa transferurilor) precum ³i cu costurile accesibile de arie.
Mecanismul presupune urm toarele etape:
- împ rµirea perifericelor existente în SoC, de c tre o persoan de încredere (poate
� proiectantul sistemului) în mai multe domenii, în funcµie de nivelul de securitate
23
24 Capitolul 4. Studiul ³i dezvoltarea unui mecanism de securitate în sistemele pe chip
necesar. Practic, exist dou tipuri de domenii: domenii critice, în care �uxul
de informaµie presupune ³i prelucrarea datelor cu caracter con�denµial ³i domenii
necritice, în care �uxul de informaµie este public (poate � v zut de c tre oricine
³i orice). Se realizeaz astfel, o izolare a informaµiei critice de informaµia banal ,
public ;
- generarea unei chei criptogra�ce unice �ec rui domeniu pe baza circuitelor PUF.
Dup cum este descris în capitolul 5, în cadrul secµiunii 1, circuitul FPGA poate
� împ rµit în mai multe subcircuite ³i pentru �ecare dintre acestea se poate genera
un identi�cator unic. Se poate spune c un domeniu este repartizat unui subcircuit
³i astfel �ecarui domeniu critic îi este atribut cheia unic a subcircuitului;
- ad ugarea mecanismelor necesare pentru criptarea ³i decriptarea datelor, în do-
meniul critic. Microprocesorul ³i perifericele trebuie s adauge generatorul chei-
lor criptogra�ce, generator pe baza cheilor unice PUF, precum ³i mecanismul de
criptare/decriptare al datelor, adaptat la semnalele de control de pe interfeµele de
intrare/ie³ire ale acestora;
- ad ugarea mecanismelor necesare pentru procesul de autenti�care al perifericelor în
domeniul critic. Atât microprocesorul cât ³i perifericele trebuie s adauge modulul
de implementare al funcµiei de autenti�care asupra cheilor de criptare ³i regi³trii
necesari;
- microprocesorul din domeniul critic trebuie s deµin ³i mecanismul de criptare al
datelor ce vor � stocate în memorie ³i de decriptare al datelor ce vor � citite din
memorie. Criptarea ³i decriptare datelor se va face folosind tot un generator de
chei pseudoaleatoare, folosind cheia PUF a domeniului ³i adresa memoriei la care se
opereaz ;
În funcµie de atacurile ³i de puterea atacatorului, mecanismul de protecµie poate im-
plementa parµial sau total etapele prezentate anterior. Mecanismul general este prezentat
în �gura 4.1; un SoC poate �, a³a cum s-a mai precizat, un sistem complex cu unul pân
la m microprocesoare. În funcµie de scopul aplicaµiei �nale, microprocesoarele al turi de
perifericele din sistem pot � grupate în mai multe domenii, �ecare domeniu având un
microprocesor ³i unul pân la n periferice. Fiecare domeniu are, de asemenea, câte o
cheie unic de identi�care accesibil atât microprocesorului cât ³i perifericelor. Domeniile
considerate critice vor � dotate cu mecanismul prezentat bazat în întregime pe cheia unic
4.1. Obiectivele generale 25
generat cu circuite PUF. Mecanismul de securitate este descris folosind sistemul cu dou
microprocesoare prezentat în �gura 4.2.
Figura 4.1: Sistem multiprocesor - schem general .
Mecanismul de securitate introdus în acest subcapitol are ca scop protejarea datelor
critice dintr-un sistem încorporat pe chip, cum ar �, de exemplu, sistemul din �gura 4.2.
Sistemul este format din um toarele periferice: 2 microprocesoare, 2 protocoale de comu-
nicaµie (RS232, I2C, SPI, ethernet, etc), o memorie comun celor dou microprocesoare
³i un modul criptogra�c. O aplicaµie general a acestui sistem ar putea �:
- un utilizator se autenti�c în cadrul sistemului cu datele personale prin intermediul
modulului de autenti�care;
- datele senzitive ale utilizatorului sunt transmise în sistem prin intermediul unui
protocol local de autenti�care. Aceste date pot � procesate de c tre modulul crip-
togra�c pentru a reconstitui o valoare de autenti�care public , o amprent , stocat
în SoC. Operaµiile de recepµionare a datelor de transfer între periferice sunt realizate
de c tre microprocesorul 1;
- odat ce utilizatorul s-a autenti�cat, acesta poate, de exemplu, s monitorizeze, s
analizeze datele primite prin intermediul reµelei. Pot � date criptate ce necesit
procesare cu ajutorul modulului criptogra�c sau date stocate în memorie. Aceste
date sunt recepµionate din reµea ³i transferate între diferite periferice de c tre mi-
croprocesorul 2.
26 Capitolul 4. Studiul ³i dezvoltarea unui mecanism de securitate în sistemele pe chip
Figura 4.2: Sistem cu dou microprocesoare.
A³a cum se poate observa, datele senzitive sunt trecute prin resurse comune cu datele
banale, (obi³nuite), lucru ce pune în pericol con�denµialitatea, integritatea ³i autentici-
tatea datelor critice.Sistemul prezentat anterior în �gura 4.2 poate � împ rµit în dou
domenii: primul domeniu asigurând procesarea informaµiei critice: protocolul de comuni-
caµie 1, microprocesorul 1, o parte din memorie ³i o parte din regi³trii modulului cripto-
gra�c; cel de-al doilea domeniu: protocolul de comunicaµie 2, microprocesorul 2, o parte
din memorie ³i o parte din regi³trii modulului de con�gurare. Fiecare domeniu va avea
un mecanism de criptare cunoscut de toate perifericele ce aparµin domeniului astfel încât
informaµia va � transferat sub form de criptotext. Exist posibilitatea ca domeniile s
necesite un schimb de informaµie, astfel, pe baza cheilor celor dou domenii, se va genera o
cheie comun folosit pentru partajarea informaµiei comune. Pot � contracarate, în acest
mod, atacurile de securitate prin care se poate accesa informaµie critic de c tre persoane
neautorizate prin intermediul unor modi�c ri maliµioase hardware sau software.
4.2 Împ rµirea în domenii ³i generarea identi�catorilor unici
Se consider un circuit integrat, ale c rui resurse hardware sunt împ rµite în 4 zone,
iar în �ecare zon sunt instanµiate câte N circuite de tip-ul PUF. Plasarea acestor circuite
4.3. Criptarea datelor 27
se poate face manual ³i mai mult de atât perifericele din SoC, IP core-urile, pot � plasate
manual în zonele dorite, realizându-se astfel o împ rµire pe domenii ³i la nivel �zic. În
funcµie de aplicaµia �nal , proiectantul de sistem poate stabili num rul domeniilor nece-
sar, precum ³i num rul identi�catorilor unici (cheilor de criptare) corespunz tori acestor
domenii.
Prin utilizarea circuitelor PUF al turi de un generator de secvenµe pseudoaleatoare
se elimin principalul inconvenient produs de instabilitatea r spunsurilor circuitelor PUF
din cauza variabilit µii temperaturii, tensiunii de alimentare sau îmb trânirii circuitelor
integrate.
4.3 Criptarea datelor
Transferurile între periferice la nivelul SoC-ului sunt rapide, în general într-un tact de
ceas. Acestea sunt iniµializate de c tre microprocesor sau perifericele master din sistem
prin execuµia unei instrucµiuni de transfer. Un transfer poate avea loc de la periferic c tre
microprocesor, în cazul execuµiei unei instrucµiuni de citire de c tre microprocesor sau
de la microprocesor c tre periferic în cazul execuµiei unei instrucµiuni de scriere de c tre
microprocesor.
Criptarea datelor se realizeaz prin utilizarea unor algoritmi criptogra�ci cu cheie si-
metric : criptarea ³i decriptarea datelor presupune o simpl operaµie XOR cu o cheie
aleatoare. Marele dezavantaj al acestor algoritmi îl reprezint imposibilitatea gener rii
în practic a cheilor aleatoare. Practic, pentru a se asigura o securitate perfect , cheia
criptogra�c trebuie utilizat o singur dat . În metoda propus în prezenta lucrare, s-a
utilizat un generator pseudoaleator Salsa20/20. Considerând perioada mare a generatoru-
lui, 268, ³i utilizarea unor date de intrare generate pe baza circuitelor de tip PUF descrise
în capitolul 2, se poate spune c este foarte greu s se disting între cheile generate cu
algoritmul Salsa20/20 ³i cheile pur aleatoare.
Astfel, considerând un domeniu în care este procesat informaµia critic , microproce-
sorul ³i �ecare periferic va include ³i mecanismul de generare a cheilor, pe lâng logica
ce-i asigur funcµionalitatea. Toate mecanismele vor funcµiona într-un mod "sincron",
ce permite ca în momentul în care un mesaj criptat este transferat pe magistral , toate
celelalte periferice s �e capabile s -³i genereze cheia de decriptare, pornind de la valorile
iniµiale generate cu circuite PUF: cheia de criptare de 128/256 biµi ³i valoarea nonce de
64 biµi.
În general, operaµiile de scriere ³i citire în zona de memorie a perifericelor (regi³trii
28 Capitolul 4. Studiul ³i dezvoltarea unui mecanism de securitate în sistemele pe chip
perifericelor sau memoria I/O) sunt constante din punct de vedere al num rului necesar
de tacte de ceas pentru transfer. În marea majoritate a cazurilor acest lucru se întâmpl
în unu, dou tacte de ceas. �inând cont de acest lucru, mecanismele de generare a cheilor
pseudoaleatoare (pentru microprocesor ³i periferic) pot � sincronizate cu scopul de a avea
aceea³i cheie de criptare atât la microprocesor cât ³i la periferic în timpul unui singur
transfer.
4.4 Veri�carea autenticit µii perifericelor
Întrucât exist o serie de atacuri prin care un periferic poate intra în posesia unor
informaµii destinate exclusiv unui alt periferic, mecanismul de protecµie dispune ³i de
posibilitatea ca microprocesorul sau masterul (de regul , cel care iniµiaz transferul pe
magistral ) s veri�ce autenticitatea unui periferic. În vederea autenti�c rii, wrapper-ul
ad ugat peste periferice conµine ³i un algoritm hash (de exemplu, SHA2) sau un alt algo-
ritm pentru calculul unei valori de autenti�care. Algoritmul calculeaz continuu valoarea
hash pentru cheile pseudorandom generate cu Salsa ³i stocheaz valorile în regi³trii. În
momentul în care se dore³te autenti�carea unui periferic de c tre microprocesor se cite³te
aceast valoare hash dintr-unul dintre regi³trii perifericului ³i se compar cu valoarea hash
corespunz toare din registrul microprocesorului. Dac se dore³te autenti�carea micropro-
cesorului de c tre periferic, microprocesorul scrie valoarea hash într-unul dintre regi³trii
corespunz tori perifericului ³i o compar cu valoarea sa.
Metoda poate contracara urm toarele atacuri asupra SoC-ului:
1. modi�carea sau ad ugarea unor mecanisme maliµioase de tipul troieni hardware cu
scopul scurgerii de informaµii secrete sau a disfuncµionalit µii SoC-ului. Criptarea
datelor asigur o protejare a informaµiilor senzitive. Dac aceste date ajung la un alt
periferic din afara domeniului, perifericul va decripta datele cu cheia sa rezultând
astfel o informaµie incorect . Folosirea mai departe a informaµiei incorecte poate
duce la disfuncµionalitatea sistemului. Aici intervine sistemul de autenti�care prin
care se poate cere validarea celor dou periferice;
2. bus snooping, ascultarea pe magistral atât extern, folosind diverse analizoare, cât ³i
intern de c tre un periferic cu scopul obµinerii unor date senzitive. Criptarea datelor
descurajeaz acest tip de atac. Chiar dac este posibil ascultarea unor informaµii,
acestea vor � criptate, ³i deci inutil de folosit. Încercarea obµinerii unui bloc de date
criptat ³i apoi aplicarea unor metode statistice în vedere obµinerii cheii criptogra�ce
4.5. Concluzii 29
este un proces anevoios, consumator de timp ³i resurse �nanciare. Chiar dac un
astfel de atac s-ar concretiza, cheia obµinut este valabil pentru un singur domeniu
³i pentru o singur plac cu FPGA;
3. accesarea unor zone de memorie sau regi³trii ai perifericelor cu date critice în vede-
rea modi�c rii valorilor sau citirii valorilor acestora. Accesul poate � din software
sau din hardware, din interiorul SoC-ului. Autenti�carea nu permite accesul decât
în zonele de memorie (datorit mecanismului de restricµionare la zonele de memorie
pe baza cheii PUF) sau memorie I/O (datorit mecanismului de criptare ³i auten-
ti�care) agreate din etapa de proiectare a SoC-ului;
4. citirea memoriei. Memoria va conµine date criptate. Dac cineva cite³te aceste
date criptate este necesar ³i o analiz statistic pentru încercarea obµinerii unor
informaµii corecte. Oricum faptul c �ecare device, circuit reprogramabil care im-
plementeaz SoC-ul are o alt cheie criptogra�c (datorit circuitelor PUF), a�area
unor informaµii din datele criptate este oarecum inutil , acestea neputând � utilizate
pe un alt circuit integrat.
5. atacurile pe bitstream. Aceste atacuri nu vor dezv lui foarte multe informaµii întru-
cât cheile criptogra�ce sunt generate datorit variaµiilor de proces ce apar în timpul
execuµiei �zice a circuitelor integrate, deci acestea nu vor � stocate în memorii sau
regi³trii.
4.5 Concluzii
În acest capitol este prezentat, din punct de vedere teoretic, un mecanism de protecµie
a datelor din cadrul unui SoC. Mecanismul se adreseaz nivelului hardware ³i î³i propune
s contracareze o serie de atacuri atât hardware cât ³i software. Cheile sau secvenµele
de biµi utilizate în cadrul operaµiilor criptogra�ce sunt generate cu ajutorul circuitelor
PUF ³i al unui generator pseudoaleator. Utilizarea circuitelor PUF în combinaµie cu ge-
neratoarele pseudoaleatoare elimin dezavantajul distanµei Hamming intra-chip precum
³i necesitatea unui algoritm pentru detecµia ³i corecµia erorilor. Un singur bit instabil în
secvenµele de pornire generate cu PUF-uri va duce la genererea altor chei pseudoaleatoare,
în comparaµie cu setul generat pornind de la valorile anterioare. Acest lucru cre³te gradul
de securitate al mecanismului, al turi de distanµa Hamming inter-chip a PUF-urilor. De
altfel, identi�catorul obµinut din r spunsurile instanµelor circuitelor PUF poate � utilizat
³i pentru autenti�carea FPGA-ului cu scopul de a contracara atacuri precum: clonarea,
30 Capitolul 4. Studiul ³i dezvoltarea unui mecanism de securitate în sistemele pe chip
contrafacerea. Sunt mai multe elemente ce asigur securitatea acestei metode: implemen-
tarea la nivel hardware; utilizarea circuitelor PUF pentru generarea cheilor criptogra�ce
³i izolarea �uxurilor ce proceseaz informaµia critic . Capitolul 2 prezint o sintez a
ceea ce pot reprezenta atacurile de securitate asupra SoC-urilor implementate pe FPGA
precum ³i metode de a contracara aceste atacuri, identi�cate în literatura de specialitate.
De³i aceste metode acoper majoritatea atacurilor referite ³i de mecanismul introdus în
acest capitol, o mare parte dintre ele necesit un efort mare de implementare, costuri ale
resurselor sau penalizare a performanµei. Mecanismul introdus î³i propune s elimine din
aceste dezavantaje, rezultate ale implement rii �ind descrise în capitolul 5. Spre deosebire
de metodele ce asigur criptarea datelor pe magistrala dintre microprocesor ³i memorie,
PE-ICE, AEGIS, TRESCA, mecanismul urm re³te criptarea datelor transferate între pe-
rifericele ce alc tuiesc acela³i sistem. FANCI este tot o metod implementat la nivelul
hardware pentru identi�carea modi�c rilor maliµioase, deliberat introduse, îns necesit
un efort mult prea mare din punct de vedere al resurselor, într-o implementare practic .
Mecanismul introdus se aseam n cu metodele Moats and Drawbridges ³i GLIFT doar
prin ideea de realizare a unei izol ri a informaµiei. TPMRA prin criptarea datelor de pe
magistral ³i monitorizarea transferurilor pe magistral se aseam n cu metoda propus
în acest capitol. Metoda merge îns mai departe ³i î³i propune s implementeze criptarea
datelor în memorie, criptarea datelor pe magistrala intern , autenti�carea datelor pe ma-
gistrala intern precum ³i izolarea �uxului informaµional. Tangenµial, etape din metod
pot � întâlnite ³i în alte mecanisme amintite succint mai sus. Noutatea metodei const
în utilizarea circuitelor PUF într-o aplicaµie ce elimin problema biµilor instabili datorit
variaµiilor de tensiune, temperatur sau îmb trânire precum ³i introducerea operaµiilor
criptogra�ce - criptare, autenti�care - la nivelul SoC-ului, între periferice, f r costuri
prea mari de penalizare a performanµei sau ale resurselor hardware. Utilizarea instan-
µelor circuitelor PUF elimin necesitatea unui canal securizat pentru transferul valorilor
iniµiale ale cheilor de criptare sau a unor parametrii necesari. Identi�catorii alc tuiµi din
r spunsurile circuitelor PUF pot � utilizaµi, f r a in�uenµa acest mecanims, ³i în cele-
lalte aplicaµii de securitate existente ³i prezentate în capitolul 2. Rezultatele prezentate
în acest capitol prezint , din punct de vedere teoretic, mecanismul de securitate care se
dore³te a � implementat. Validarea practic ³i avantajele ³i dezavantajele rezultate în
urma implement rii practice sunt prezentate în capitolul 5.
Capitolul 5.
Implementarea valorilor
pseudoaleatoare folosind circuite PUF
5.1 Circuite PUF
De³i exist multe circuite PUF pentru implement rile pe circuite integrate ASIC sau
FPGA, nu multe dintre acestea pot � implementate pe circuitele reprogramabile FPGA.
Motivul îl reprezint limitarea posibilit µilor de interconectare ³i plasare ale porµilor logice
pe resursele hardware �xe ale FPGA-urilor.
5.1.1 Implementarea circuitelor PUF pe FPGA
Pentru implementarea circuitelor PUF pe FPGA, dup o analiz am nunµit a posi-
bilit µilor de interconectare ³i plasare precum ³i a circuitelor PUF s-au ales dou circuite,
unul din categoria circuitelor PUF bazate pe timpii de întârziere iar cel lalt din categoria
circuitelor PUF bazate pe principiul de funcµionare al celulei de memorie SRAM. Cele
dou circuite sunt: RO PUF (oscilatorul în inel) ³i latch PUF (oscilatorul pe baz de
latch).
Oscilatorul în inel
Oscilatorul în inel este format dintr-un num r impar de inversoare conectate în inel
Conceptul a fost validat prin implementarea pe un caz particular folosindu-se pl cile de
dezvoltare cu circuite recon�gurabile din familiile: Spartan 3E, Spartan 6 ³i Virtex 4.
31
32 Capitolul 5. Implementarea vlorilor pseudoaleatoare folosind circuite PUF
Tool-ul folosit pentru implementare este FPGA Editor din suita de programe Xilinx.
Oscilatorul în inel genereaz un semnal periodic. La o temperatur constant ³i un
num r cunoscut de inversoare, semnalul generat depinde de variaµiile de proces ce apar în
timpul execuµiei �zice în Siliciu al circuitului integrat. Perioada semnalului generat este
dat de formula:
t = tpinversor + tpinterconexiuni + δprocessvariation (5.1)
unde tpinversor este timpul de propagare prin inversorul CMOS, tpinterconexiuni este timpul
de propagare prin interconexiuni ³i δprocessvariation sunt variaµiile de proces.
Plasat în diferite locaµii ale circuitului FPGA sau în aceea³i locaµie dar pe circuite
diferite, identice sau nu din punct de vedere funcµional, perioada oscilatorului în inel,
teoretic este aceea³i. Îns datorit variaµiilor de proces perioada oscilatorului va � diferit
de la caz la caz. Condiµia de a se pune în evidenµ aceste variaµii de proces este ca timpul
de propagare prin interconexiunile dintre inversoare ³i timpul de propagare prin inversoare
s �e identice pentru �ecare instanµ a oscilatorului în inel.
Accentuarea diferenµelor ce apar datorit variaµiilor de proces a fost menµionat pentru
prima dat de c tre Devadas în [74]. Cele dou oscilatoare în inel genereaz dou semnale
periodice cu frecvenµele freq1 ³i freq2, conectate pe intr rile de ceas a dou circuite
num r tor binar. Ideal, cele dou frecvenµe sunt identice ³i astfel cele dou circuite
num r tor se incrementeaz în aceala³i timp ³i ajung la valoarea maxim tot în acela³i
timp. Practic, îns unul dintre circuitele num r tor va ajunge primul la valoarea maxim
datorit variaµiilor de proces. Aceste variaµii de proces vor aduce u³oare diferenµe între
perioadele celor dou semnale generate ³i astfel un num r tor cu un num r de biµi su�cient
de mare (în cazul de faµ 13) va ajunge primul la valoarea maxim . În acest mod,
ie³irea comparatorului va � setat în 0 sau 1. Ie³irea comparatorului reprezint o valoarea
aleatoare strâns corelat cu variaµiile de proces. Astfel, pentru instanµe identice plasate
în locaµii diferite, r spunsul comparatorului va � diferit ³i impredictibil. Detaliile de
implementare ³i valorile timpilor de propagare estimate cu ajutorul utilitarului FPGA
Editor pentru o implementare a circuitului digital oscilator în inel sunt prezentate în
�gura 5.1.
Circuitul latch
A³a cum se poate vedea, RO PUF ocup destul de multe resurse, motiv pentru care
s-a încercat identi�carea unui alt circuit PUF care s ocupe mai puµine resurse ³i s
�e potrivit pentru o implementare pe FPGA, chiar ³i cu limit rile impuse de astfel de
5.1. Circuite PUF 33
Figura 5.1: Oscialtor în inel - implementare pe Spartan 3E.
pl ci de programare. Circuitele PUF bazate pe principiul de funcµionare al celulei de
memorie, dar implementate pe resursele hardware ale circuitului FPGA sunt greu de
implementat datorit cerinµei de simetrie ³i egalitate ale interconexiunilor. În aceast
lucrare s-a realizat implementarea ³i validarea unui astfel de circuit, chiar ³i cu acest
dezavantaj.
Detalii de implementare privind resursele hardware utilizate ³i timpii de propagare pe
interconexiuni pentru o familie de FPGA-uri: Spartan 3E ³i Spartan 6, sunt prezentate
în �gura 5.2.
5.1.2 Metodologia de implementare a mediului de testare a circuitelor PUF
Implementarea unui mediu de testare individual a circuitelor PUF
Pentru circuitele PUF cu oscilator în inel ³i circuitele PUF cu circuit latch au fost
realizate mai multe experimente.
Primul experiment se refer la colectarea a 128 de r spunsuri ale circuitelor PUF
cu oscilator în inel, de la 14 pl ci identice din familia Spartan 3E. S-a creat câte un
identi�cator unic de 128 de biµi prin concatenarea mai multor r spunsuri de tip PUF. Pe
aceste rezultate s-au calculat distanµa Hamming inter-chip ³i distanµa Hamming intra-
chip.
Al doilea experiment independent este realizat pentru circuitele PUF cu latch. Pentru
34 Capitolul 5. Implementarea vlorilor pseudoaleatoare folosind circuite PUF
Figura 5.2: Latch PUF implementat pe Spartan 3E.
generarea unei chei unice pentru un circuit integrat este necesar instanµierea mai multor
circuite PUF cu latch. Circuitele latch PUF au fost instanµiate manual.
Un test statistic a fost introdus, în aceast lucrare, pentru calculul distribuµiilor circu-
itelor integrate ³i compararea acestora cu testul Kolmogorov-Smirnov. Testul va � descris
teoretic, în continuare, folosindu-se circuite FPGA ³i PUF-uri pe baz de latch-uri. Testul
poate � îns folosit ³i pentru alt tip de circuite integrate ³i alte tipuri de circuite digitale
PUF.
Se consider o fereastr de NxN. Se plaseaz fereastra pe �ecare locaµie a matricei ³i cu
valorile cuprinse în aceast fereastr se calculeaz media aritmetic . Se pot aplica ³i alte
teste statistice asupra valorilor cuprinse în fereastr cum ar �: testul de frecvenµ , calculul
sumei cumulative sau alte teste din suite NIST a testelor pentru secvenµe aleatoare. Cu
noile valori obµinute dup aplicarea ferestrei NxN se obµine o nou matrice RxC, care se
va numi distribuµia Q a circuitului FPGA. Pe aceast distribuµie se aplic mai întâi testul
5.1. Circuite PUF 35
statistic Kolmorogov-Smirnov pentru a se determina dac distribuµia este o distribuµie
normal . În caz negativ, se poate aplica testul Kolmogorov-Smirnov pentru compararea a
dou distribuµii. În caz a�rmativ se poate aplica orice test parametric pentru a se veri�ca
dac dou circuite FPGA au distribuµii identice.
Al treilea experiment a fost implementat tot pe circuite din familia Spartan 3E, îns
puµin diferite din punct de vedere al plas rii PUF-urilor pe resursele hardware ale circu-
itului FPGA. Cel de-al treilea experiment a fost realizat pe 36 de pl ci identice Spartan
3E XC3S500E, atât pentru circuitele PUF cu oscilator în inel cât ³i pentru circuitele PUF
cu latch. Acest experiment a fost realizat pentru m surarea celor dou propriet µi impor-
tante ale circuitelor PUF: unicitatea ³i reproductibilitatea. Sunt considerate urm toarele
dou cazuri:
1. în primul caz sunt considerate n circuite PUF instanµiate în acela³i moment de timp.
R spunsurile sunt m surate ³i apoi circuitele PUF sunt relocate pe acelea³i circuite
FPGA ³i r spunsurile m surate. S-a dorit acoperirea întregului circuit FPGA folo-
sind aceste m sur tori. S-au instanµiat 128 de circuite PUF cu oscilator în inel ³i
[5] circuite PUF cu latch pentru o m surare. S-au realizat 3 m sur ri ca în �gura
5.14;
2. în cel de-al doilea caz, circuitul FPGA este împ rµit în 4 p rµi ³i pentru �ecare
parte este considerat un identi�cator unic generat cu circuite PUF. Circuitul FPGA
poate � considerat ca 4 circuite distincte, ca în �gura 5.15. Comparând cu scenariul
anterior, 4 identi�catori unici sunt plasaµi simultan pe circuit. Fiecare identi�cator
are o lungime de 32 de biµi.
În ambele cazuri r spunsurile circuitelor PUF sunt colectate folosind Xilinx Chipscope
Analyzer.
Implementarea unui mediu de testare a circuitelor, al turi de un alt design
În general, un SoC ce include tehnologie de securitate bazat pe circuite PUF cuprinde:
a) logica ce implementeaz funcµionalitatea sistemului ce trebuie protejat împotriva ata-
curilor de securitate; b) instanµierea circuitelor PUF ³i logica necesar pentru procesarea
r spunsurilor în vederea utiliz rii acestora în tehnica de securitate. Logica ce imple-
menteaz funcµionalitatea sistemului poate � un sistem digital complex implementat în
limbaj de descriere hardware (cum ar �, de exemplu, controlere utilizate la liniile auto-
mate din întreprinderi, routere) sau sisteme cu unul sau mai multe microprocesoare ce
ruleaz programe software. Exist dou situaµii ce trebuie analizate: a) dac circuitele
36 Capitolul 5. Implementarea vlorilor pseudoaleatoare folosind circuite PUF
PUF, al turate logicii de funcµionare a circuitului plasat pe resursele hardware FPGA,
au acela³i r spuns ca în cazul circuitelor PUF instanµiate pe resursele hardware f r alte
circuite digitale; b) dac r spunsul circuitului PUF r mâne constant (sau variaz în anu-
mite limite) în timpul funcµion rii sistemului. În primul caz, chiar dac r spunsul nu este
acela³i în ambele situaµii, acest lucru nu va afecta securitatea sistemului. Se poate spune
c schimb rile determinate de variaµiile sistematice contribuie la unicitatea identi�cato-
rului. În cel de-al doilea caz, dac r spunsurile sunt în anumite limite, cu ajutorul unui
cod de detecµie ³i corecµie de erori, acestea pot � corectate ³i cheia unic generat cu
PUF-uri poate � utilizat în tehnica de securitate � proprietatea de reproductibilitate nu
este afectat . Pentru a se analiza aceste dou situaµii s-au considerat 3 scenarii:
1. în primul caz, este considerat un circuit digital simplu constând din câteva circuite
num r tor. Valorile r spunsurilor circuitelor PUF pot � analizate în urm toarele
cazuri: i) colectarea r spunsurilor circuitelor PUF atunci când doar circuitele PUF
sunt instanµiate; ii) colectarea r spunsurilor circuitelor PUF, atunci când acestea
sunt instanµiate lâng circuitele num r tor; num r toarele sunt active; iii) plasarea
circuitelor PUF ³i ale circuitelor num r tor ca în cazul ii), cu excepµia faptului c
circuitele num r tor sunt inactive;
2. în cel de-al doilea scenariu, este considerat un sistem digital complex, descris în
limbaj de descriere hardware VHDL (un controller pentru un ecran touchscreen) de
la Digilent Inc. Instanµele circuitelor PUF au fost plasate lâng controler-ul TFT. Se
p streaz acelea³i locaµii pentru circuitele PUF ³i înainte de instaµierea modulului
complex ³i dup . Modulele ce intr în alc tuirea controler-ului TFT au fost plasate
manual folosind softwareul Planahead din suita de programe Xilinx;
3. cel de-al treilea scenariu consider un sistem cu microprocesor Microblaze ce ruleaz
un program C simplu care copiaz valoarea de pe switch-uri pe led-uri. Sistemul este
prezentat. Locaµiile PUF-urilor sunt acelea³i ³i înainte ³i dup instaµierea sistemului.
Echipamentul hardware utilizat const dintr-o plac de dezvoltare cu FPGA din fa-
milia Spartan 6 ³i un ecran LCD cu touchscreen. Softwareul utilizat const din suita
de tool-uri CAD oferit de Xilinx, printre care: Xilinx Ise Design Suite, FPGA Editor,
Planahead.
5.1.3 Rezultate experimentale
Rezultate ale implement rii circuitelor PUF
5.1. Circuite PUF 37
Implementarea circuitului RO PUF ocup un bloc logic con�gurabil cu 4 slice-uri
în cazul Spartan 3E, respectiv 2 slice-uri în cazul Spartan 6. Pe lâng acestea, pentru
obµinerea r spunsului RO PUF mai sunt necesare 2 num r toare binare ³i un circuit
pentru sincronizarea ceasului între dou domenii. Circuitele num r tor sunt pe 13 biµi. Au
fost realizate teste ³i cu circuite num r tor pe un num r mai mic de biµi, îns rezultatele
nu au fost su�cient de concludente.
Implementarea circuitului latch PUF ocup parµial 3 blocuri logice con�gurabile atât
pe Spartan 3E cât ³i pe Spartan 6. Au fost încercate multe alte con�guraµii, îns în
acest caz s-au obµinut cele mai bune rezultate privind interconexiunile din interiorul latch
PUF-ului, dup cum poate � v zut în Figurile 5.11 ³i 5.12. Un circuit num r tor pe 13
biµi, la 15 instanµe ale circuitelor latch PUF, este utilizat pentru obµinerea r spunsurilor.
Considerând aceste rezultate, se poate spune c circuitul latch PUF este mult mai
compact ³i ocup o arie mai restrâns din resursele hardware ale circuitului FPGA com-
parativ cu RO PUF.
Rezultate statistice privind r spunsurile circuitelor PUF implementate in-
dividual
Implementarea circuitului ³i rezultatele experimentale obµinute au fost prezentate în
[4]. Distanµa Hamming inter ³i intra sunt prezentate în �gura 5.4 ³i �gura 5.5. Aceste re-
zultate s-au obµinut pe o plac de dezvoltare cu FPGA din familia Spartan 3E XC3S500E.
În ceea ce prive³te analiza ipotezei conform c reia oricare dou circuite FPGA au dis-
tribuµii statistice independente, detaliile de implementare au fost prezentate în [5]. Pentru
compararea distribuµiilor au fost considerate circuite FPGA Spartan 6, XC6SLX45. Cele
3 distribuµii pentru 3 FPGA-uri diferite ³i rezultatele testului Kolmogorov-Smirnov sunt
prezentate în tabelul 5.1.
Figura 5.3: Distanµa Hamming inter-chip.
În cazul celui de-al treilea experiment rezultatele sunt prezentate în cele ce urmeaz .
Considerând secvenµele unice de identi�care, chei unice, obµinute folosind circuite PUF, se
38 Capitolul 5. Implementarea vlorilor pseudoaleatoare folosind circuite PUF
Figura 5.4: Distanµa Hamming intra-chip.
Tabel 5.1: Rezultatele testului statistic Kolmogorov - Smirnov.
FPGA FPGA Dn,n′ α c(α) c(α)√
n+n′
n∗n′ Di�erent
1 2 0,179012346 0,001 1,95 0,00007 Yes1 3 0,262345679 0,001 1,95 0,00007 Yes2 3 0,089506173 0,001 1,95 0,00007 Yes
poate spune c exist dou propriet µi importante: unicitatea ³i reproductibilitatea. Dac
se consider un set sau o populaµie de instanµe ale circuitelor PUF, informaµia conµinut în
r spunsul unui circuit PUF este corelat cu o partiµie din întreaga populaµie statistic . O
posibil metric de m surare a unicit µii, este histograma distanµei Hamming inter-chip,
sumarizat prin valoarea sa medie. În ceea ce prive³te proprietatea de reproductibilitate,
de�niµia este mai clar . R spunsurile pentru diferite evalu ri ale aceleia³i instanµe de
circuit PUF trebuie s �e similare.
Se de�ne³te o populaµie statistic incluzând toate circuitele recon�gurabile din familia
Spartan 3E, XC3S500E. Calcularea parametrilor mai multor circuite FPGA este de dorit
îns s-au utilizat doar cele la care exist acces pentru implementare. Se consider un
e³antion al populaµiei: 30 de circuite FPGA Spartan 3E XC3S500E. Parametrii populaµiei
ce se doresc a � a�aµi sunt media statistic ³i deviaµia standard pentru distanµa Hamming
inter- ³i intra-. Se poate spune c ace³ti parametrii ai populaµiei vor � estimaµi pe baza
unor m sur tori ³i calcule statistice pe e³antionul aleator avut la dispoziµie din întreaga
populaµie (v. �g. 5.6 - 5.11).
Figura 5.6 prezint histograma pentru inter-distanµa m surat folosind primul caz din
cel de-al doilea experiment, cu 128 de instanµe de circuit PUF cu oscilator în inel, în timp
ce �gura 5.7 consider histograma pentru inter-distanµa m surat tot în primul caz din
cel de-al doilea experiment, dar cu 77 de circuite PUF cu latch.
Figurile 5.8 ³i �gura 5.9 ilustreaz histograma pentru inter-distanµ în cazul al doilea
din cel de-al doilea experiment, folosind 4 identi�catori unici de 32 de biµi, generaµi folosind
5.1. Circuite PUF 39
Figura 5.5: Distanµa Hamming Inter Chip - 128 RO PUF µ=58,58, δ=5,92.
Figura 5.6: Distanµa Hamming Inter Chip - 77 latch PUF δ=34,73, µ=4,37.
PUF-uri cu oscilator în inel sau PUF-uri cu latch-uri. Toate cele 4 �guri menµionate
arat o distribuµie normal . Considerând de�niµia teoremei limitei centrale [43], media
statistic ³i deviaµia standard ale unui e³antion al populaµiei vor � apropiate ca valori de
media statistic ³i deviaµia standard ale populaµiei.
Figura 5.7: Distanµa Hamming Inter Chip - 4 x 32 RO PUF δ=15,21, µ=3,14..
Pe baza rezultatelor experimentale ³i a cerinµelor din literatur se poate spune c cele
dou circuite PUF au fost validate pentru implementarea ³i generarea unor chei unice pe
circuite integrate recon�gurabile de tip FPGA.
Rezultate statistice privind r spunsurile PUF-urilor implementate al turi
de alte circuite digitale
40 Capitolul 5. Implementarea vlorilor pseudoaleatoare folosind circuite PUF
Figura 5.8: Distanµa Hamming Inter Chip - 4 x 32 latch PUF δ=15,01, µ=2,85..
Figura 5.9: Distanµa Hamming Intra Chip - RO PUF.
Rezultatele referitoare la modul cum in�uenµeaz activitatea circuitelor digitale sau
a SoC-urilor, r spunsurile circuitelor PUF sunt prezentate considerând cele 3 cazuri din
secµiunea anterioar .
În toate situaµiile, r spunsurile PUF-urilor sunt m surate (vizualizate cu analizorul
logic) de 10 ori, p strând acelea³i condiµii. Nu sunt schimb ri majore, a³adar un num r
de 10 m sur ri se consider a � su�cient. Pentru �ecare caz se observ un num r de câµiva
biµi oscilanµi ce pot � corectaµi cu ajutorul unui algoritm de corecµie ³i detecµie de erori.
Considerând o secvenµ unic pentru un circuit integrat, generat cu circuite PUF este
important ca num rul biµilor oscilanµi s �e cât mai mic pentru a � detectaµi ³i corectaµi
cu o schem de corecµie ³i detecµie a erorilor.
Trebuie menµionat c r spunsurile circuitelor PUF sunt monitorizate din momentul în
care aceste circuite au fost implementate. Circuitul RO PUF a ajuns într-o form �nal
la sfâr³itul anului 2012, în timp ce circuitul latch a ajuns într-o form �nal la începutul
anului 2014. De atunci ³i pân în prezent au fost analizate r spunsurile circuitelor privind
cele dou propriet µi: unicitatea ³i reproductibilitatea. La �ecare analiz a reproducti-
bilit µii au fost luate în considerare o medie de 10 m sur ri. De �ecare data, rezultatele
privind atât proprietatea de reproductibilitate cât ³i unicitatea au fost satisf c toare.
Considerând acest aspect, se poate spune c îmbatrânirea circuitelor FPGA în decursul
5.1. Circuite PUF 41
Figura 5.10: Distanµa Hamming Intra Chip - latch PUF.
a 2-3 ani nu a afectat cele dou propriet µi importante.
5.1.4 Îmb trânirea circuitelor integrate ³i efectele acesteia asupra circuitelor
PUF
Problema îmb trânirii circuitelor integrate poate afecta reproductibilitatea circuitelor
PUF. Rezultatele practice din aceast lucrare indic faptul c efectul de îmb trânire al
circuitelor integrate nu este neap rat o problem pentru reproductibilitatea circuitelor
PUF din urm toarele considerente:
1. a³a cum a mai fost menµionat RO PUF-ul a fost implementat la sfâr³itul anului
2012 în timp ce latch PUF la începutul anului 2014. De atunci, circuitele au fost
monitorizate, r spunsurile acestora �ind analizate de mai multe ori. De �ecare dat
num rul de circuite PUF al c ror r spuns este oscilant, era acela³i - maximum 8%
din totalul instanµelor;
2. circuitele FPGA utilizate pentru aceast tez au ap rut pe piaµ în anii 2004 Spartan
3E ³i 2009 Spartan 6. Mai mult, pl cile Spartan 3E au fost achiziµionate în anul
2004 ³i de atunci ³i pân în prezent intens utilizate în diverse proiecte. Se poate
spune c pl cile sunt îmb trânite ³i utilizate, ³i totu³i, propriet µile circuitelor PUF:
unicitate ³i reproductibilitate, au valori satisf c toare;
3. exist circuite PUF în a c ror construcµie r mâne ³i procesul de îmb trânire [44].
Plecând de la aceast supoziµie se poate considera c în metoda introdus în aceast
tez , procesul de îmb trânire cre³te securitatea metodei. Prin utilizarea cicuitelor
PUF ca valoare de start pentru un generator pseudoaleator, r spunsurile oscilante
cresc perioada secvenµelor binare generate.
Ultimele m sur ri au fost realizate pe o perioad de 3 s pt mâni, timp în care rezultatele
42 Capitolul 5. Implementarea vlorilor pseudoaleatoare folosind circuite PUF
au fost colectate ³i monitorizate. Rezultatele obµinute au fost satisf c toare. De altfel, au
fost realizate ³i teste de variaµie ale temperaturii, prin înc lzirea FPGA-ului în intervalul
27◦C - 75◦C. Din nou, rezultatele au fost satisf c toare. Un FPGA utilizat în aplicaµiile
comerciale funcµioneaz la temperaturi de la 0◦C-85◦C grade celsius în timp ce un FPGA
utilizat în domeniul militar funcµioneaz în intervalul −40◦C - 100◦C.
5.1.5 Fiabilitatea r spunsurilor circuitelor PUF. Detecµia ³i corecµia erorilor
În urma rezultatelor descrise în �gurile 5.25 - 5.29 exist un num r de maxim 8% de
r spunsuri PUF oscilante (biµi oscilanµi) din totalul instanµelor circuitelor PUF. Conform
rezultatelor prezentate în literatura de specialitate, aceasta este o valoare acceptat ³i
ace³ti biµi pot � detectaµi ³i corectaµi prin diverse mecanisme. Un exemplu de imple-
mentare practic a unei metode pentru detecµia ³i corecµia erorilor, folosind BCH, este
prezentat în [7].
5.1.6 Unicitatea r spunsurilor circuitelor PUF
Rezultatele obµinute în aceast tez demonstreaz c ³i activitatea intern a circuitu-
lui/sistemului digital particip , al turi de variaµiile de proces, la generarea unui r spuns
aleator al unei instanµe PUF. Activitatea intern a circuitului/sistemului digital afecteaz ,
la rândul s u, parametrii porµilor logice ³i ai semnalelor digitale ³i implicit întârzierile prin
porµile logice. Activitatea intern afecteaz toate componentele sistemului atât blocurile
macro PUF cât ³i celelalte componente necesare pentru generarea r spunsurilor PUF ³i
care nu au o locaµie �x �ind plasate de c tre softwareul de sintez . Parametrii porµilor
logice afectaµi de c tre activitatea intern a circuitului sunt: nivelurile de tensiune garan-
tate la ie³ire ³i nivelurile de tensiune permise la intrare; imunitatea la perturbaµii; timpul
de propagare; factorii de înc rcare la intrare ³i la ie³ire; consumul de putere ³i factorul
de merit [45]. Variaµiile de proces suprapuse peste aceste variaµii conduc la obµinerea
r spunsurilor aleatoare.
5.2 Generatorul Pseudoaleator - Salsa20/20
5.2.1 Implementarea hardware a generatorului
Pornind de la ecuaµiile prezentate în capitolul 3 s-a implementat o versiune a algorit-
mului Salsa20/20 în limbaj de descriere hardware, VHDL (codul surs este prezentat în
anexa B). O rund este executat într-un tact de ceas prin paralelizarea celor 4 sferturi
de rund . Pentru 20 de runde vor � necesare 20 de tacte de ceas, în timp ce, adunarea
5.3. Concluzii 43
de la sfâr³it se va face combinaµional. Totu³i, pentru generarea urm toarei chei pe 512
biµi sunt necesare cele 20 de tacte plus înc un tact în care valorile regi³trilor de calcul
sunt înlocuiµi cu noile valori � se schimb doar valoarea blocului num r tor, care este
vechea valoare incrementat cu unu. Algoritmul a fost simulat cu ajutorul Modelsim iar
formele de und au fost comparate cu singurele rezultate intermediare g site în literatura
de specialitate ³i prezentate în [46].
5.2.2 Rezultate ale implement rii generatorului pseudoaleator
Algoritmul Salsa20/20 a fost implementat pe placa de dezvoltare Xilinx Spartan 3E,
în urma sintezei obµinându-se frecvenµa de 134 MHz ³i resursele hardware utilizate, pre-
zentate în tabelul 5.3.
Tabel 5.2: Implementare Salsa20/20 Spartan 3E.
Elemente logice Utilizate Disponibile Utilizare %Num r bistabile 516 9312 5%Num r LUT-uri 2234 9312 23%Num r Slice-uri ocu-pate
1143 4656 24%
De³i OTP ³i criptarea mesajelor printr-o simpl operaµie XOR presupune existenµa
unei chei care s �e utilizat o singur dat , metoda prezentat în acest capitol poate
asigura un grad înalt de securitate. Practic, perioada foarte mare de repetitivitate a cheilor
criptogra�ce, alegerea doar a unor chei în funcµie de necesitate (transferurile ce ar avea loc)
³i propriet µile matematice ale cifrului stream Salsa20/20 conduc la supoziµia c valorile
cheilor nu se pot deosebi de valorile pur aleatoare. Un atac în vederea obµinerii anumitor
informaµii private sau încercarea obµinerii cheii criptogra�ce presupune, în primul rând,
interceptarea unei cantit µi mari de criptotexte ³i analiza statistic a acestora în vederea
obµinerii unor corelaµii. Din sinteza atacurilor prezentate în [30] nu este cunoscut un atac
asupra crifrului stream Salsa20/20 ce folose³te cheie de 256 de biµi ³i 20 de runde.
5.3 Concluzii
În aceast capitol sunt prezentate, teoretic ³i practic, dou circuite PUF: unul din cate-
goria circuitelor bazate pe timpii de întârziere (RO PUF) ³i unul din categoria circuitelor
bazate pe principiul de funcµionare al celulei de memorie (latch PUF).
Exist diferenµe între implementarea ³i testarea circuitelor RO PUF prezentate în
aceast lucrare ³i implement rile prezentate în literatura de specialitate. În aceast tez ,
44 Capitolul 5. Implementarea vlorilor pseudoaleatoare folosind circuite PUF
RO PUF este analizat pe dou FPGA-uri din familii diferite, realizate în tehnologii di-
ferite. Spre deosebire de implement rile existente, sunt descrise detalii de implementare
³i statistici ale timpilor de propagare. Rezultatele obµinute arat c circuitele PUF pot
� implementate în ciuda diferenµelor de arhitectur ale familiilor de FPGA-uri ³i mai
mult, aceste diferenµe contribuie la unicitatea r spunsului circuitului PUF. Propriet µile
importante ale circuitelor RO PUF sunt analizate ³i în cazul în care circuitele PUF sunt
al turate altor circuite digitale, IP core-uri sau SoC-uri. Principalul scop al PUF-urilor
este utilizarea acestora în soluµii de securitate pentru protejarea anumitor sisteme digitale
simple sau complexe.
În aceast tez s-a reu³it implementarea circuitului latch PUF chiar ³i cu limit rilor
de rutare ale circuitelor programabile FPGA, datorit modi�c rii aduse circuitului latch
PUF. Propriet µile importante ale circuitului latch PUF au fost m surate ³i analizate în
acelea³i situaµii ca în cazul circuitului RO PUF.
De³i, cele dou circuite PUF sunt implementate ca un bloc macro în hardware, exist
componente digitale (de exemplu, num r torul binar) care sunt plasate de c tre sinte-
tizator. Maparea ³i rutarea automat ale acestor blocuri sunt afectate de complexita-
tea aplicaµiei principale (periferice IP, SoC) sau de modi�c ri ale aplicaµiei principale,
de exemplu, prin recon�gurare parµial . Acest lucru poate in�uenµa r spunsul circuite-
lor PUF. Activitatea intern a circuitului produce, la rândul ei, variaµii ale timpilor de
propagare prin porµile logice sau prin interconexiunile dintre porµile logice. Al turi de
variaµiile de proces, acestea contribuie la unicitatea r spunsului PUF.
Rezultatele analizelor statistice ale circuitelor PUF obµinute în aceast tez valideaz
utilizarea circuitelor PUF în aplicaµii practice de securitate. Mai mult, rezultatele de-
monstreaz c mai multe secvenµe de identi�care (chei cripotgra�ce) pot � obµinute pe
acelea³i circuite FPGA. Aceste lucruri con�rm prima etap din mecanismul prezentat ³i
anume: împ rµirea SoC-ului în mai multe domenii ³i generarea cheilor criptogra�ce.
Capitolul prezint rezultate ale implement rii în hardware a generatorului pseudoa-
leator Salsa20\20. Al turi de aceste detalii sunt prezentate ³i procedee de implementare
ale unui generator pseudoaleator având ca scop cre³terea perioadei secvenµei de valori pse-
udoaleatoare ³i implicit cre³terea securit µii împotriva atacurilor ce se bazeaz pe c utari
exhaustive sau analize statistice. O singur instanµ a generatorului Salsa20\20 nu nece-
sit costuri mari de arie sau penaliz ri ale performanµei de calcul. Combinarea secvenµelor
de identi�care obµinute cu circuite PUF asigur o bun securitate chiar ³i în situaµiile în
care se folose³te o singur instanµ a circuitului Salsa20\20. Mai mult, combinarea circu-
5.3. Concluzii 45
itelor PUF cu generatorul pseudoaleator Salsa20\20 elimin problema r spunsurilor PUF
instabile precum ³i necesitatea de a se folosi un mecanism de detecµie ³i corecµie al acestor
r spunsuri instabile.
Capitolul 6.
Implementarea ³i analiza experimental
a mecanismului de securitate
6.1 Criptarea datelor în interiorul sistemului pe chip
Pentru implementare s-au considerat pl cile cu FPGA oferite de Xilinx precum ³i IP-
core-urile din catalogul Xilinx. Biblioteca Xilinx ofer foarte multe periferice ce pot �
folosite într-un mare num r de aplicaµii simple sau complexe. Logica necesar gener rii
cheilor criptogra�ce ³i mecanismului de securizare este prezentat în anexa B.
S-au considerat dou situaµii: prima situaµie în care proiectantul de sistem are acces la
semnalele de intrare ³i ie³ire ale microprocesorului; a doua situaµie în care proiectantul nu
are acces la pinii de intrare ³i ie³ire ai microprocesorului. Prima situaµie se poate întâlni
în cazul în care logica necesar pentru criptare este ad ugat de c tre cei care au proiectat
microprocesorul. Exist foarte multe core-uri de microprocesoare ce pot � utilizate în SoC
în locul IP core-urilor de microprocesoare ce sunt furnizate de softwareurile EDA. Cea de-
a doua situaµie este aceea în care proiectantul SoC-ului folose³te un core de microprocesor
din biblioteca respectiv , cum ar �, de exemplu, Microblaze oferit de Xilinx. Perifericele
oferite în IP Catalog-ul Xilinx sunt criptate. Cel mult, exist acces la modelele de simulare
ale acestor IP core-uri.
47
48 Capitolul 6. Implementarea ³i analiza experimental a mecanismului de securitate
6.1.1 Criptarea datelor pentru IP core-urile ce permit accesul la interfeµele
de I/O
Pentru exempli�carea operaµiei de criptare între perifericele dintr-un SoC, s-a folo-
sit modelul de simulare al microprocesorului Xilinx Microblaze. Pentru cea de-a doua
situaµie, un criptoprocesor a fost conectat la Microblaze pentru realizarea operaµiilor crip-
togra�ce. A fost creat un sistem minimal cu un microprocesor Microblaze, un periferic
custom crypto ³i un periferic pentru porturile de ie³ire conectat la led-uri. Microproceso-
rul cite³te valoarea registrului 0 din perifericul crypto, incrementeaz aceast valoare cu 1
³i scrie noua valoare în registrul perifericului crypto ³i în registrul portului de ie³ire pen-
tru led-uri. Transferul datelor între periferice se realizeaz prin magistrala Xilinx PLB.
Comunicaµia între periferice, scrierea microprocesorului ³i cele dou citiri trebuie s �e
criptate.
Pentru ad ugarea operaµiei de criptare atât microprocesorului cât ³i perifericului, a
fost necesar înµelegerea protocolului de comunicaµie master-slave (semnalele de control
necesare transferului) dar ³i a arhitecturii microprocesorului. Perifericul a fost creat de
c tre utilizator ³i nu importat din catalogul Xilinx IP Core.
Operaµia de scriere criptat a unei date de c tre microprocesorul Microblaze într-unul
dintre regi³trii perifericului este prezentat în diagrama din �gura 6.1.
Figura 6.1: Semnalele implicate în transfer în cazul operaµiei de scriere criptat 1: micro-procesor - periferic.
6.1. Criptarea datelor în interiorul sistemului pe chip 49
Operaµia de citire, criptat , a unei date de c tre microprocesorul Microblaze dintr-unul
dintre regi³trii perifericului este prezentat în diagrama din �gura 6.2.
Figura 6.2: Semnalele implicate în transfer în cazul operaµiei de citire criptat : micropro-cesor - periferic.
Aria ocupat de sistemulpe chip utilizat, este descris în tabelul de mai jos.
Tabel 6.1: Resurse.
Elemente logice Utilizate Disponibile Utilizare %Num r bistabile 2357 10944 21%Num r LUT-uri 5519 10944 50%Num r Slice-uri 5963 10944 54%
6.1.2 Criptarea datelor pentru IP core-urile ce nu permit accesul la interfe-
µele de I/O
În a doua implementare a comunicaµiei criptate s-a utilizat un coprocesor pentru crip-
tarea datelor operate de c tre microprocesor. Aceast versiune se utilizeaz atunci când
nu avem acces la porturile microprocesorului. În cazul de faµ coprocesorul va conµine ge-
neratorul de chei pseudoaleatoare ³i mecanimsul de criptare/decriptare al datelor primite
sau transmise de microprocesor. În cazul microprocesorului Microblaze criptoproceso-
rul comunic cu microprocesorul printr-o magistral special FSL (Fast Simplex Link)
prezent în biblioteca de IP core-uri Xilinx EDK IP Catalog.
În acest caz al criptoprocesorului s-a folosit un singur generator pseudoaleator Salsa.
Aria ocupat în urma sintezei pe o plac de dezvoltare cu FPGA, din familia Virtex4,
device-ul xc4vfx20 este prezentat în tabelul 6.2.
50 Capitolul 6. Implementarea ³i analiza experimental a mecanismului de securitate
Tabel 6.2: Resurse.
Elemente logice Utilizate Disponibile Utilizare %Num r bistabile 1662 17088 9%Num r LUT-uri 7 1662 1%Num r Slice-uri 3116 17088 18%
Considerând aceste rezultate, se poate spune c teoria prezentat la începutul capi-
tolului, referitoare la transferul datelor criptat pe magistral a fost validat într-un caz
particular: un sistem cu microprocesor Microblaze, magistral PLB ³i un periferic custom
cu un registru pentru citire ³i scriere.
6.2 Autenti�carea IP core-urilor în interiorul sistemului pe chip
În conceptul prezentat în aceast tez , autenti�carea IP core-urilor este realizat prin
demonstrarea/con�rmarea faptului c ambele entit µi implicate în procesul de comunicare
cunosc la un moment dat, aceea³i secvenµ pseudoaleatoare. Numai perifericele care fac
parte din acela³i domeniu ³i au permisiunea de a comunica între ele, genereaz acelea³i
secvenµe pseudoaleatoare.
Perifericul poate veri�ca acum dac valoarea de autenti�care primit de la micropro-
cesor este identic cu a sa. În caz de neidentitate rezult c unul dintre periferice este
compromis, microprocesorul sau perifericul, caz în care se pot luat m suri de sistare a
perifericului/microprocesorului sau chiar a întregului SoC.
6.3 Analiz a sistemului pe chip folosind operaµiile de criptare ³i autenti�care
Resursele hardware utilizate pentru implementarea ³i analiza operaµiilor criptogra-
�ce pe baza circuitelor PUF în interiorul SoC-ului, între perifericele ce-l alc tuiesc este
prezentat în tabelul 6.3.
Tabel 6.3: Resursele hardware ocupate de SoC pentru implemen-tarea operaµiile de criptare ³i autenti�care.
Elemente logice UtilizateNum r bistabile 3064Num r LUT-uri 7365
SoC-ul poate � echivalentul unui domeniu, în care este necesar transferul criptat al
datelor, precum ³i autenti�carea IP core-urilor ³i conµine: microprocesorul Micoblaze,
coprocesorul pentru realizarea operaµiilor de criptare ³i autenti�care, perifericul GPIO
6.3. Analiz a sistemului pe chip folosind operaµiile de criptare ³i autenti�care 51
con�gurat pentru LED-uri ³i un periferic custom pentru alte operaµii criptogra�ce. Sis-
temul a fost dezvoltat în Xilinx EDK ³i toate perifericele fac parte din biblioteca Xilinx
EDK. Acest sistem a fost importat în Xilinx Project Navigator unde au fost ad ugate cele
128 de instanµe ale circuitelor PUF. Valoarea binar alc tuit din r spunsurile circuite-
lor PUF reprezint valoarea iniµial a generatorului pseudoaleator ³i a fost conectat la
generatoarele Salsa20/20 ale coprocesorului ³i perifericului de criptare. Astfel, transferul
datelor între microprocesor ³i periferic are loc criptat ³i exist posibilitatea autenti�c rii
perifericelor. S-a ales aceast versiune, cu coprocesor, datorit posibilit µii de implemen-
tare în practic . Rezultatele prezentate în secµiunile anterioare demonstreaz îns c
operaµiile de criptare ³i autenti�care pot � implementate ³i f r coprocesor, obµinându-se
latenµe mai mici.
Resursele hardware ocupate de sistemul descris mai sus ³i cele 128 de circuite PUF pe
baz de oscilator în inel sunt prezentate în tabelul 6.4.
Tabel 6.4: Resursele hardware ocupate de SoC cu operaµiile cripto-gra�ce ³i PUF-uri.
Elemente logice UtilizateNum r bistabile 6081Num r LUT-uri 12877Num r Slice-uri 7646
Dintre aceste resurse (considerând tabelele 5.2 ³i 6.3) aproximativ jum tate sunt alo-
cate pentru implementarea circuitelor PUF. Îns de³i pare o suprafaµ destul de mare
ocupat doar cu circuitele PUF, nici SoC-ul implementat nu este unul complex, �ind ales
pentru prototipul aplicaµie. În realitate, exist SoC-uri cu IP core-uri mult mai com-
plexe ³i implicit cu resurse hardware mai mari. Pentru un FPGA dintr-o familie low cost,
cum este de exemplu Spartan 3E, un astfel de sistem necesit o arie mult prea mare.
Spartan 3E are aproximativ un num r de 10000 de porµi logice echivalente. Îns , pentru
FPGA-urile mai noi, dar tot dintr-o gam low cost, cum ar � de exemplu Spartan 6, un
astfel de sistem au reursele necesare: XC6SLX25 are 24,051 porµi echivalente, XC6SLX45
are 43,661 porµi echivalente, XC6SLX75 are 74,637 porµi echivalente, XC6SLX100 are
101,261 iar XC6SLX150 are 147,443. Familiile Virtex, Spartan7 sau Artix 7 pot avea ³i
mai multe resurse hardware. De altfel, aria ocupat pentru ad ugarea mecanismului de
securitate r m ne aceea³i ³i const în esenµ din aria necesar implement rii circuitelor
PUF. Rezultatele obµinute în aceast tez arat c aceast arie este în jur de 4000 de
porµi echivalente, pentru circuitelor PUF bazate pe oscilatorul în inel. În cazul circuitelor
52 Capitolul 6. Implementarea ³i analiza experimental a mecanismului de securitate
PUF bazate pe principiul de funcµionare al latch-ului, aria este chiar mai mic .
Criptarea datelor în interiorul SoC-ului ³i autenti�carea IP core-urilor ajut la contra-
cararea atacurilor software sau hardware ce au fost descrise în capitolul 4. Combinarea
generatoarelor pseudoaleatoare al turi de circuitele PUF elimin problemele circuitelor
PUF din cauza îmb trânirii circuitelor integrate sau a variaµiei parametrilor interni sau
externi ³i produce o secvenµ de chei criptogra�ce pseudoaleatoare ce permite utilizarea
criptogra�ei simetrice în cazul SoC-urilor. Mai mult, datorit faptului c secvenµa alc -
tuit din r spunsurile circuitelor PUF este unic pentru �ecare circuit integrat, secvenµa
produs de generatorul pseudoaleator Salsa20/20 este unic pentru �ecare circuit integrat
³i pentru �ecare nou perioad a generatorului Salsa20/20. De la o citire la alta, secvenµa
r spunsurilor circuitelor PUF poate s difere cu câµiva biµi din cauza instabilit µii para-
metrilor. Acest lucru reprezint un avantaj deoarece un singur bit modi�cat în secvenµele
de start ale generatoarelor pseudoaleatoare conduce la generarea unor chei criptogra�ce
diferite. Datorit acestui mecanism de generare a cheilor, criptarea/decriptare datelor ³i
autenti�carea IP core-urilor se poate face într-un mod simplu ³i rapid: utilizarea operaµiei
pe biµi XOR sau demonstrarea faptului c dou IP core-uri din acela³i domeniu cunosc la
un moment dat aceea³i secvenµ binar . Chiar dac un atactor posibil ar putea intercepta
anumite date criptate ³i ar intra în posesia unor chei pseudoaleatoare, întregul sistem nu
ar � afectat - nu se poate face o diferenµ între secvenµele pseudoaleatoare ³i secvenµele
pur aleatoare cu resursele computaµionale existente în acest moment. Mai mult de atât,
utilizarea r spunsurilor circuitelor PUF pentru generarea cheilor simetrice elimin nece-
sitatea unui canal securizat pentru partajarea datelor iniµiale cu scopul de a � utilizate la
generarea cheilor. Necesitatea unui canal securizat reprezint un inconvenient în utilizarea
criptogra�ei simetrice.
Din punct de vedere al performanµei, se adaug o latenµ a execuµiei instrucµiunilor
din cauza transferului criptat al datelor. A³a cum a fost ar tat, utilizarea coprocesorului
induce o latenµ mai mare, în ciuda faptului c operaµiile de criptare/decriptare sunt
realizate combinaµional. Pentru analiza performanµei SoC-ului cu operaµiile de criptare
comparativ cu SoC-ul f r operaµiile de criptare s-a folosit ca metric timpul de execuµiei
al unei aplicaµii software.
Se consider o aplicaµie software cu Nr_inst num r de instrucµiuni de nivel înalt. Se
presupune c execuµia unui instrucµiuni de nivel înalt const în nr_tacte tacte de ceas.
Considerând frecvenµa f a sistemului hardware care ruleaz aplicaµia software, atunci
timpul de execuµie poate � dat de urm toarea ecuaµie:
6.4. Comparaµie cu metodele existente 53
Timpexecuie = Nr_inst ∗ nr_tacte/f (6.1)
Num rul de tacte de ceas al unei instrucµiuni de transfer, în cazul SoC-ului considerat
prototip în aceast lucrare, f r operaµiile de criptare ³i autenti�care, este, în medie,
de 8-9 tacte de ceas. Num rul de tacte de ceas al unei instrucµiuni de transfer, în cazul
aceluia³i SoC este de 40 de tacte de ceas, considerând operaµiile de criptare ³i autenti�care.
Astfel, se poate spune c , timpul de execuµie al unei aplicaµii cre³te, în medie, de 4 ori.
Acest lucru, nu este unul grav, având în vedere frecvenµele ridicate la care lucreaz SoC-
urile implementate pe FPGA ³i mai mult, faptul c este un sistem sigur la atacurile de
securitate. Pentru p strarea aceluia³i timp de execuµie se poate încerca ridicarea frecvenµei
întregului sistem, acolo unde este posibil.
6.4 Comparaµie cu metodele existente
Metoda introdus în aceast tez se bazeaz pe izolarea din punct de vedere logic a
informaµiei, criptarea informaµiei ³i autenti�carea entit µilor ce comunic între ele. Aceste
concepte: izolare, criptare ³i autenti�care sunt trei dintre pilonii securit µii în orice do-
meniu.
Criptarea instrucµiunilor sau a datelor stocate în memorie este o metod frecvent
utilizat în soluµiile de securitate, cum sunt ³i metodele prezentate în articolele [20],
[47], [29], [32]. De asemenea, autenti�carea datelor stocate în memorie este utilizat
des, cum sunt de exemplu, mecanismele propuse în [?], [39]. Criptarea datelor la nivelul
perifericelor, între IP core-urile dintr-un sistem pe chip este întâlnit în [48] [42].
Tehnici de izolare ale componentelor cu nivele de securizare diferite (încredere, ne-
încredere), prin care �uxul informaµional este urm rit, astfel încât datele critice s nu
ajung la perifericele compromise sunt prezentate în lucr rile [37], [38].
Tehnica propus în aceast tez folose³te, a³a cum s-a mai precizat, ideea de izolare
din punct de vedere logic a informaµiei spre deosebire de metodele amintite mai sus care
realizeaz mai mult o izolare �zic . De asemenea, tehnica folose³te ideea de criptare între
componentele unui SoC, îns printr-o tehnic diferit de cea prezentat în articolele din
literatura de specialitate. O noutate o reprezint operaµia de autenti�care a IP core-urilor
din alc tuirea unui SoC.
Spre deosebire de toate metodele descrise succint în capitolul 2 ³i considerate de autor,
metode potrivite pentru securitatea SoC-urilor implementate pe FPGA, mecanismul din
54 Capitolul 6. Implementarea ³i analiza experimental a mecanismului de securitate
aceast tez este construit ³i implementat exclusiv pentru circuitele integrate ³i î³i propune
s contracareze o serie de atacuri existente sau posibil existente prezentate de altfel în
clasi�carea din capitolul 2.
Elementele noi introduse sunt enumerate în continuare:
- analiza circuitelor PUF existente în literatura de specialitate ³i identi�carea a dou
circuite potrivite pentru implement rile pe FPGA: RO PUF ³i latch PUF;
- implementarea circuitului RO PUF pe circuitele FPGA ³i prezentarea acestor de-
talii la nivelul de porµi logice ³i interconexiuni. Modi�carea circuitului latch PUF
(circuit considerat, în literatura de specialitate ca �ind nepotrivit pentru pl cile
FPGA) ³i implementarea acestuia pe circuite FPGA; Rezultatele au fost prezentate
în articolele [4], [5];
- conceperea ³i implementarea unui mediu de testare a propriet µilor circuitelor PUF
prezentate anterior; Prezentarea opiniei originale a autorului, conform c reia ac-
tivitatea intern a circuitului digital contribuie al turi de variaµiile de proces, la
propriet µile circuitelor PUF: unicitate ³i reproductibilitate. Rezultatele au fost
prezetate în cadrul articolului [9];
- introducerea conceptului de criptare ³i autenti�care a datelor/IP core-urilor la nive-
lul SoC-ului, între periferice ³i microprocesor. Dac operaµia de criptare a mai fost
întâlnitâ în cadrul literaturii de specialitate, în câteva articole, ideea de autenti�care
a perifericelor nu a mai fost introdus pân acum; De altfel, criptarea între periferice
este realizat folosind circuite PUF, lucru ce elimin necesitatea unui canal sigur din
punct de vedere al securit µii pentru partajarea unui secret; Utilizarea circuitelor
PUF pentru criptarea datelor este o aplicaµie nou a acestor circuite;
- implementarea, validarea prin simulare ³i analiza unui prototip al unui SoC ce rea-
lizeaz transferul criptat ³i autenti�cat al datelor între periferice, la nivelul magis-
tralei. Rezultatele au fost prezentate în [6], [7], [8], [10] [?].
Bineînµeles, exist metode de securitate pentru SoC-uri (unele dintre ele adresate ex-
clusiv SoC-urilor, altele, adresate altor tipuri de sisteme electronice) ce pot � adaptate
(sau par a putea � adaptate) pentru SoC-uri; unele dintre aceste metode sunt descrise în
mediul academic ³i prezentate public, altele implementate în industrie dar nepublicate.
În aceast lucrare s-a încercat, pe cât posibil, sintetizarea metodelor descrise public. Do-
meniul de securitate hardware a experimentat o cre³tere substanµial în ultimul deceniu.
6.5. Concluzii 55
O multitudine de tehnici de securitate au fost dezvoltate atât de mediul academic cât
³i de cercet torii din industrie, îns e�cacitatea acestor tehnici nu este ceva universal
acceptat. Aceste mecanisme pot � aplicate unor anumite design-uri, unor anumite plat-
forme hardware, unor tehnologii sau unor industrii, dar nu pot � universal aplicate în
toate situaµiile (de exemplu, în cazul platformelor hardware pentru smart-carduri, a celor
pentru sistemele integrate în IoT, pentru stimulatoarele cardiace sau alte device-uri din
domeniul medical, etc). Din acest motiv ³i din cauza faptului c atacurile devin din ce în
ce mai complexe ³i mai u³or de realizat, necesitatea de a se dezvolta noi idei ³i concepte
de securitate devine imperioas . Rezultatele din acest capitol au încercat s vin cu o
mic completare la ceea ce înseamn securitatea hardware a sistemelor electronice.
6.5 Concluzii
Validarea experimental a operaµiilor de criptare ³i autenti�care a fost realizat , de
asemenea, în acest capitol. A³a cum a fost ar tat, exist dou posibilit µi de a se ad uga
logica necesar pentru criptare ³i autenti�care în funcµie de situaµie: dac IP core-urile
au fost implementate de c tre arhitectul de sistem ³i exist acces la interfeµele acestora
sau dac IP core-urile au fost implementate de un al treilea vendor ³i nu exist acces la
interfeµele acestora. Ambele situaµii au fost validate experimental ³i analizate din punct
de vedere al latenµelor introduse.
Utilizarea criptogra�ei simetrice în interiorul SoC-ului, între periferice ³i microprocesor
este posibil prin generarea cheilor pe baza circuitelor PUF ³i a generatorului pseudoa-
leator Salsa20/20.
Considerând aceste aspecte, se poate spune c toate etapele prezentate teoretic în
capitolul 4 au fost validate experimental.
Capitolul 7.
Concluzii �nale
Capitolul �nal prezint o sintez a tezei, necesitatea ³i avantajele implement rii mecanis-
mului de securitate folosind operaµiile criptogra�ce cu chei simetrice alc tuite din r spun-
sul circuitelor PUF, lista lucr rilor publicate ³i direcµiile viitoare de cercetare.
7.1 Prezentarea sintetic a tezei
Securitatea sistemelor electronice complexe este dat de cel mai slab grad de securi-
tate al componentelor ce intr în alc tuirea acestora. Astfel, un sistem electronic complex,
sigur din punct de vedere al securit µii, necesit asigurarea securit µii tuturor componen-
telor constituente precum ³i asigurarea securit µii transferului de date între componentele
electronice. Prin component electronic se înµelege un circuit integrat ce implementeaz
un sistem încorporat pe baz de microprocesor, folosit la achiziµia sau procesarea datelor.
Un sistem încorporat pe baz de microprocesor cuprinde atât partea hardware cât ³i cea
software. Ambele p rµi pot conµine vulnerabilit µi privind securitatea. Mult timp a fost
acordat atenµie vulnerabilit µilor software, îns odat cu avansul proceselor tehnologice
de manufacturare a circuitelor integrate, ce con�rm legea lui Moore, au început s apar
vulnerabilit µi în partea de hardware. O platform hardware sigur din punct de vedere
al securit µii este o cerinµ necesar pentru implementarea unui sistem complex sigur din
punct de vedere al securit µii.
57
58 Capitolul 7. Concluzii �nale
Aceast tez adreseaz problema securit µii hardware a unui tip de component elec-
tronic - SoC implementat pe FPGA - ce poate face parte din sisteme din ce în ce mai
complexe precum cele menµionate anterior. Se poate spune c SoC-urile sunt sisteme
încorporate (EmS - Embedded Systems) implementate pe FPGA.
Soluµia propus a pornit de la o analiz comparativ a securit µii SoC-urilor cu aceea
a reµelelor de calculatoare datorit asem n rii atacurilor de securitate împotriva reµele-
lor de calculatoare cu atacurile împotriva SoC-urilor. Exist posibilitatea de adaptare
a operaµiilor criptogra�ce (criptare, autenti�care, integritatea datelor) între perifericele
SoC-ului? Cât de mult poate � afectat performaµa SoC-ului ? Putem g si alternative
la AES, RSA, Di�e-Hellman, MD5, ³i mulµi alµi algoritmi criptogra�ci, pentru a repro-
duce operaµiile de criptare cu un compromis între performanµ ³i securitate ? Conceptul
teoretic de securitate ³i implementarea acestuia prezentate în tez au încercat s ofere un
r spuns la aceste întreb ri. Rezultatele obµinute arat c operaµiile de criptare ³i autenti-
�care pot � realizate la nivelul SoC-ului, între perifericele sistemului f r a se pierde foarte
mult din performanµa sistemului, datorit implement rii la nivel hardware a operaµiilor
criptogra�ce precum ³i a utiliz rii criptogra�ei simetrice.
Teza este structurat pe ³ase capitole. Dup capitolul introductiv urmeaz un capitol
dedicat prezent rii atacurilor de securitate ³i metodelor de protecµie ce pot � aplicate
SoC-urilor. În acest capitol a fost realizat o clasi�care a posibilelor atacuri considerate
de autor precum ³i o selecµie a metodelor de protecµie împotriva atacurilor. Nu toate
metodele selectate se adreseaz exclusiv SoC-urilor, îns acestea, în opinia autorului, pot
� modi�cate pentru a proteja aceste sisteme. Capitolul 3 prezint , din punct de vedere
teoretic, diferenµele dintre cheile pur aleatoare ³i cheile criptogra�ce pseudoaleatoare pre-
cum ³i posibilit µile de obµinere în practic a cheilor criptogra�ce. În capitolul 4 este
introdus, din punct de vedere teoretic, conceptul de securitate pentru SoC-uri. Capitolul
5 este dedicat prezent rii activit µii de validare experimental , �ind urmat de capitolul
curent, care prezint concluziile acestei teze.
Validarea experimental a fost realizat prin dezvoltarea unui mediu complex de tes-
tare a propriet µilor circuitelor PUF precum ³i a unui SoC simplu pentru care datele sunt
transferate criptat iar IP core-urile au posibilitatea de se autenti�ca.
7.2 Mecanismul de securitate
A³a cum a fost ar tat în capitolele anterioare, diversitatea atacurile asupra SoC-urilor,
hardware sau software, devine din ce în ce mai mare.
7.2. Mecanismul de securitate 59
Spre deosebire de marea majoritate a metodelor de securitate, mecanismul propus în
aceast tez se adreseaz nivelului hardware ³i nu software. Metoda se refer la problema
securit µii la cel mai de jos nivel al unui sistem electronic - nivelul hardware. Considerând
platforma sigur din punct de vedere al hardware-ului se pot construi sisteme complexe cât
mai sigure. Bineînµeles, mecanismul poate � combinat ³i cu alte protocoale de securitate
pentru a se asigura un nivel cât mai înalt de protejare a datelor. Avantajul implement rii
mecanismului de securitate la nivelul hardware este viteza ridicat a întregului sistem,
ce nu va � afectat odat cu ad ugarea conceptului de protecµie a con�denµialit µii ³i
integrit µii datelor.
Conceptul de securitate propus în aceast lucrare utilizeaz r spunsul circuitelor PUF
³i utilizeaz operaµiilor criptogra�ce (criptare, autenti�care) între perifericele ³i micropro-
cesoarele unui SoC. Exist multe aplicaµii de securitate realizate cu ajutorul circuitelor
PUF, îns niciuna dintre ele, nu utilizeaz r spunsul circuitelor în acest mod. În ceea ce
prive³te operaµiile criptogra�ce utilizate în interiorul SoC-ului, autorul a identi�cat în li-
teratura, de specialitate, din mediul academic, doar dou tentative de a se utiliza operaµia
de criptare/decriptare în modul în care a fost utilizat în aceast lucrare. Prima metod
este TPMRA în care cheile criptogra�ce sunt generate folosindu-se rezultate parµiale ale
algoritmului TPM*. Criptarea se face utilizând operaµia XOR ³i cheia generat . În acest
mod nu sunt introduse latenµe în transferul operaµiilor. Rezultatele �nale ale algoritmului
TPM* ar altera performanµa întregului sistem cu microprocesor. Autorii articolului nu
prezint informaµii legate de securitatea procesului de generare a cheii, singura operaµie
implementat �ind cea de criptare. Nu sunt prezentate nici informaµii legate de cât de
u³or sau nu ar � reproducerea cheilor criptogra�ce generate în acest mod. Mecanismul
propus în aceast tez ofer toate informaµiile necesare implement rii în practic a ope-
raµiilor criptogra�ce, o analiz a securit µii metodei precum ³i a performanµei SoC-ului
ce utilizeaz aceste operaµii. Cea de-a doua soluµie utilizeaz un LFSR pentru �ecare IP
core cu scopul de a obµine o metod de autenti�care a entit µilor implicate în transfer.
Mesajul transferat pe magistral conµine ³i valoarea generat cu LFSR deoarece doar en-
titatea autorizat pentru a primi data poate genera aceea³i valoare cu LFSR. Soluµia are
un dezavantaj: este necesar un pas iniµial prin care sunt agreate valorile de iniµializare.
Acest lucru necesit un canal sigur de comunicare între periferice, care este dezavantajul
utiliz rii criptogra�ei simetrice: dac este necesar un canal de transfer sigur din punct de
vedere al securit µii pentru transferul valorilor iniµiale, de ce nu ar putea � transmise toate
mesajele folosind acest canal ? Mecanismul propus în aceast lucrare elimin necesitatea
60 Capitolul 7. Concluzii �nale
unui canal de comunicaµie sigur pentru agrearea pa³ilor iniµiali datorit utiliz rii r spun-
surilor circuitelor PUF. Fiecare IP core are acces direct la cheia domeniului generat cu
circuite PUF.
7.3 Contribuµii originale
Prezenta lucrare de doctorat se înscrie în sfera preocup rilor de interes general din
domeniul securit µii sistemelor. Abordarea direcµiilor de cercetare urmate a presupus
utilizarea, în cadrul proiectului, a unor cuno³tinµe aprofundate din domenii ³tiinµi�ce
diverse precum electronic digital , proiectarea ³i veri�carea circuitelor integrate, teoria
sistemelor ³i, nu în ultimul rând, tehnologia informaµiei. Contribuµiile aduse se încadreaz
în urm toarele arii de cercetare:
- atacuri de securitate asupra SoC-urilor ³i metode de contracarare;
- circuite PUF potrivite implement rilor pe FPGA;
- testarea ³i analiza r spunsurilor circuitelor PUF implementate pe FPGA;
- operaµii criptogra�ce (criptare, autenti�care) la nivelului SoC-ului între perifericele
componente.
7.3.1 Atacuri de securitate asupra sistemelor pe chip ³i metode de contraca-
rare
1. Realizarea unei clasi�c ri a posibilelor atacuri de securitate asupra SoC-urilor imple-
mentate pe FPGA considerându-se urm toarele categorii: i) atacuri asupra dispozitivului
�zic FPGA; ii) atacuri asupra sistemului hardware implementat pe FPGA; iii) atacuri
asupra sistemului software/�rmware ce ruleaz pe sistemul hardware.
2. Identi�carea posibilelor metode de securitate ce pot contracara atacurile de secu-
ritate asupra SoC-urilor descrise în clasi�carea menµionat anterior. Au fost selectate
din literatura de specialitate, mecanismele existente ce se adreseaz securit µii SoC-urilor
precum ³i mecanismele, considerate de autor, ce pot � adaptate protecµiei SoC-urilor.
Aceste mecanisme au fost analizate cu scopul de a se stabili potenµialele atacuri ce pot �
contracarate.
7.3.2 Circuitele PUF potrivite implement rilor pe FPGA
3. Implementarea circuitului RO PUF pe diverse arhitecturi ale familiilor de FPGA-
uri: Spartan 3E, Spartan 6, Virtex 4. Porµile logice au fost plasate ³i interconectate
7.3. Contribuµii originale 61
manual. Instanµele circuitelor PUF au fost constrânse în diferite locaµii ale FPGA-ului
pentru a m sura r spunsurile acestora în mai multe situaµii. Implementarea unui me-
diu pentru citirea r spunsurilor circuitelor PUF folosite, ulterior, în analiza statistic a
propriet µilor importante.
4. Adaptarea ³i implementarea circuitului Latch PUF pe diverse arhitecturi ale fa-
miliilor de FPGA-uri, ca ³i în cazul circuitului RO PUF. Implementarea unui mediu de
citire a r spunsurilor circuitelor Latch PUF f r a introduce variaµii de proces sistematice
datorate parametrilor semnalelor precum: timpii de cre³tere ³i c dere (timming skew);
timpii de sosire (clock jitter). Rezultatele obµinute au fost utilizate în teste statistice
pentru validarea propriet µilor importante a PUF-urilor.
7.3.3 Testarea ³i analiza r spunsurilor circuitelor PUF implementate pe FPGA
5. Conceperea ³i implementarea unor medii de testare a propriet µilor r spunsuri-
lor circuitelor RO PUF ³i Latch PUF: unicitatea ³i �abilitatea. Unicitatea r spunsuri-
lor instanµelor circuitelor PUF a fost m surat folosind 35 de pl ci identice Spartan 3E
XC3S500E. Secvenµele obµinute au fost analizate din punct de vedere statistic folosind
testul Kolmogorov-Smirnov pentru distribuµii gaussiene.
6. Dezvoltarea unui mediu de testare a propriet µii de �abilitatea a r spunsurilor cir-
cuitelor PUF considerând 4 scenarii: i) plasarea circuitelor PUF pe toate cele 35 de pl ci
identice Spartan 3E; ii) plasarea circuitelor PUF al turi de circuite digitale simple, cum ar
� num r toarele binare; iii) plasare circuitelor PUF al turi de circuite digitale complexe,
cum ar � controlerul pentru LCD cu ecran tactil; iv) plasarea circuitelor PUF al turi
de SoC. Studiul comportamentului r spunsului PUF în toate aceste situaµii este impor-
tant având în vedere aplicaµia �nal a circuitelor PUF: generarea cheilor pseudoaleatoare
utilizate în operaµiile criptogra�ce de la nivelul SoC-ului.
7. A fost urm rit evoluµia r spunsurilor circuitelor PUF odat cu îmb trânirea cir-
cuitelor integrate. Acest lucru a fost realizat prin monitorizarea r spunsurilor circuitelor
PUF, pe toat perioada studiilor doctorale, din momentul în care au fost implementate
cele dou circuite (2013 - RO PUF ³i 2014 - Latch PUF) ³i pân în prezent.
8. Introducerea opiniei teoretice conform c reia activitatea intern a circuitului/siste-
mului digital particip , al turi de variaµiile de proces, la generarea unui r spuns aleator
al unei instanµe PUF. Variaµiile de proces suprapuse peste variaµiile parametrilor porµilor
logice, datorate activit µii interne a sistemului digital, conduc la obµinerea r spunsurilor
aleatoare. Testele implementate ³i analizate în aceast tez vin s înt reasc aceast
62 Capitolul 7. Concluzii �nale
a�rmaµie.
7.3.4 Operaµii criptogra�ce (criptare, autenti�care) la nivelului sistemului pe
chip între perifericele componente
9. Proiectarea unui concept de securitate pentru criptarea datelor ³i autenti�carea
IP core-urilor ce const din urm toarele etape: i) împ rµirea perifericelor în domenii de
securitate; ii) generarea cheilor corespunz toare �ec rui domeniu; iii) criptarea datelor;
iv) autenti�carea IP core-urilor. Mecanismul reprezint o nou aplicaµie a utiliz rii cir-
cuitelor PUF, eliminând dou inconveniente. Primul inconvenient se refer la necesitatea
unui algoritm de corecµie ³i detecµie a r spunsurilor instabile generate de c tre circuitele
PUF ³i a fost eliminat datorit utiliz rii circuitelor PUF al turi de un generator pseu-
doaleator. Cel de-al doilea inconvenient se refer la di�cultatea gener rii cheilor simetrice
folosite în algoritmii criptogra�ci. Accesul direct al perifericelor la r spunsurile circuitelor
PUF elimin acest dezavantaj f când posibil utilizarea cript rii simetrice. Împ rµirea
perifericelor în domenii de securitate este realizat de c tre proiectanul de sistem, în func-
µie de senzitivitatea datelor procesate de �ecare periferic precum ³i de necesitatea de a
schimba informaµii între periferice. Cheile criptogra�ce pentru �ecare domeniu sunt gene-
rate pseudoaleator folosind Salsa20/20 ³i r spunsurile circuitelor PUF. Toate perifericele
din acela³i domeniu au acces direct la r spunsurile circuitelor PUF eliminând necesita-
tea unui canal securizat pentru transferul anumitor informaµii de sincronizare. Criptarea
datelor transferate între periferice este realizat folosind regulile criptogra�ei simetrice.
Autenti�carea IP core-urilor din cadrul aceluia³i domeniu este realizat prin validarea
cunoa³terii acelea³i secvenµe pseudoaleatoare, într-un moment de timp precizat.
10. Implementarea unui prototip pentru validarea conceptului de securitate propus.
Prototipul const în realizarea unui SoC simplu pe FPGA având ca periferice: micro-
procesorul Microblaze, magistrala PLB, un periferic GPIO con�gurat pentru LED-uri ³i
un periferic custom pentru operaµii de criptare. Acestui sistem i-au fost ad ugate circu-
itele PUF ³i logica necesar pentru operaµiile de criptare ³i autenti�care. SoC-ul a fost
simulat funcµional pentru validarea corectitudinii operaµiilor de criptare ³i autenti�care ³i
implementat �zic pentru analiza resurselor utilizate.
11. Validarea conceptului este realizat prin analiza performanµei, a ariei utilizate ³i
a securit µii SoC-ului implementat conµinând mecanismul de securitate prezentat.
7.4. Diseminarea rezultatelor 63
7.4 Diseminarea rezultatelor
Cercet rile întreprinse în perioada de studii doctorale au permis elaborarea ³i publi-
carea, în calitate de prim autor, a unui num r de 7 articole ³tiinµi�ce în reviste ³i buletine
de specialitate, respectiv în volumele unor conferinµe ³tiinµi�ce internaµionale, dup cum
urmeaz :
- [4] A. Stanciu, A. Cr ciun, �Generating an Unique Identi�er for FPGA Devices�,
14th Inter. Conf. on Optimization of Electrical and Electronic Equipment - OPTIM
2014, pp. 802 − 808, Bra³ov, May, 2014. Articolul prezint cele dou propriet µi
importante ale r spunsurilor circuitelor PUF, unicitatea ³i reproductibilitatea, pre-
cum ³i metoda de generare a unui identi�cator unic folosind circuitele PUF pe baz
de oscilator în inel. PUF-ul pe baza oscilatoarelor în inel a fost implementat pe 16
FPGA-uri din familia Spartan 3E, iar algoritmul de corecµie ³i detecµie a erorilor
BCH (Bose, Chaudhuri, Hocquenghem) a fost implementat integral în limbaj de
descriere hardware.
- [5] A. Stanciu, M. Tudorancea, F. Moldoveanu, �A chip ID generation circuit -
latch based�, Inter. Journal of Advances in Electrical Engineering - IJAEE, Vol.
4(3), 30 Sept., 2015. În acest articol este tratat , în detaliu, modi�carea adus de
autori pentru a folosi circuitul latch în construcµia unui PUF pentru o implementare
pe FPGA. Sunt analizate statistic r spunsurile circuitelor PUF pe baza principiului
de funcµionare al latch-ului.
- [6] A. Stanciu, F.D. Moldoveanu, �Generating a PUF secret key for securing the
inter- and intra- communications on system on chip�, 7th Inter. Conf. on Information
Technology and Communications Security, pp. 9−17, Roma, 11−13 June, 2015. În
articol, algoritmi criptogra�ci, care se bazeaz pe secvenµe de identi� are generate
cu circuite PUF, sunt analizaµi din punct de vedere teoretic ³i practic.
- [7] A. Stanciu, T. Ciocoiu, F.D. Moldoveanu, �A method to handle BCH(n,k,t)
algorithm over large GF(n) in practical hardware implementations, Bulletin of the
Transilvania University of Brasov, Vol.57, No. 1 − 2015, Brasov. Detalii de im-
plementare, a unor algoritmi matematici peste câmpul Galois de valori foarte mari
(163 de biµi), folosiµi în criptogra�e, sunt expuse în aceast articol.
- [8] A. Stanciu, A.V. Cr ciun, F.D. Moldoveanu, �Pseudo-random generator using
PUF circuits and Salsa stream cipher�, Design and Technology in Electronic Packaging-
64 Capitolul 7. Concluzii �nale
SIITME, 2015 IEEE 21st Inter. Symp., pp. 345−348, Oct, 2015, Brasov. Noutatea
articolului const în al turarea secvenµei generate cu circuite PUF unui generator
de valori pseudoaleatoare, eliminându-se astfel problema r spunsurilor instanµelor
PUF la variaµia temperaturii, tensiunii de alimentare sau îmb trânirea circuitelor
integrate ³i crescând totdat gradul de securitate al cheilor pseudoaleatoare.
- [9] A. Stanciu, M. Cîrstea, F.D. Moldoveanu, "Analysis and Evaluation of PUF-
based SoC Designs for Security Applications", IEEE Trans. on Industrial Electro-
nics, acceptat spre publicare, FI. 6.383. Articolul prezint implementarea circuitelor
PUF pe FPGA-uri ³i analiza statistic a r spunsurilor. Contribuµiile autorilor în
acest articol sunt: i) prezentarea metodologiei de proiectare a circuitelor PUF pe
FPGA, PUF-uri, ce necesit interconexiuni simetrice ³i identice; ii) un mecanism
prin care circuitul PUF latch poate � adaptat la o implementare pe FPGA; iii) un
mediu de testare ³i analiz statistic a rezultatelor r spunsurilor circuitelor PUF;
iv) opinia teoretic a autorilor conform c reia r spunsurile instanµelor PUF sunt in-
�uenµate, atât de variaµiile de proces cât ³i de activitate intern a sistemului digital
implementat al turi de PUF-uri, contribuind la valorile celor dou propriet µi im-
portante: unicitatea ³i reproductibilitatea. Articolul reprezint punctul de plecare
pentru operaµiile criptogra�ce descrise în articolul urm tor ³i analizate în aceasta
tez .
- [10] A. Stanciu, M. Cîrstea, F.D. Moldoveanu, "A Novel PUF based Encryption
Protocol for Embedded System on Chip", 2016 Inter. Conf. on Development and
Application Systems - DAS 2016, pp. 158 − 165, Suceava, Mai, 2016. Articolul
descrie din punct de vedere teoretic ³i practic implementarea operaµiilor criptogra�ce
pe baza circuitelor PUF, în interiorul SoC-urilor, între IP core-urile ce intr în
alc tuirea sistemului.
7.5 Direcµii viitoare de cercetare
În urma studiilor efectuate ³i a experienµei dobândite, se pot identi�ca noi direcµii
pentru cercet ri ³tiinµi�ce ulterioare, în tematica tezei, dup cum urmeaz :
1. Extinderea mecanismului de securitate cu operaµii de criptogra�e prin identi�carea
unui mecanism mai potrivit de securitate pentru schimbul de informaµii între domenii. În
funcµie de aplicaµie, poate exista necesitatea ca unele date senzitive s �e transmise de la
un domeniu la cel lalt. Mai mult, mecanismul poate � extins prin ad ugarea unui modul
de veri�care a integrit µii datelor transmise, p strând îns performanµa SoC-ului.
7.5. Direcµii viitoare de cercetare 65
2. Identi�carea unor aplicaµii complexe din domeniul IoT sau CPSs pentru utilizarea
acestui mecanism de securitate. Analiza performanµei ³i a modului în care mecanismul
înglobat contribuie la securitatea general a aplicaµiilor complexe.
3. Dezvoltarea unor noi aplicaµii de securitate pe baza circuitelor PUF în sistemele
complexe precum IoT sau CPSs. O posibil aplicaµie ar putea � autenti�carea diverselor
componente electronice folosint secvenµe generate cu circuite PUF sau criptarea comuni-
caµiei între diverse SoC-uri. Pentru optimizarea ariei utilizate de circuitele PUF cât ³i de
algoritmii necesari postproces rii r spunsurilor circuitelor PUF, se poate utiliza recon�-
gurabilitatea parµial .
4. Identi�carea unor tehnici de securitate pentru sistemele complexe multiprocesor ³i
accesul în condiµii de siguranµ la resursele comune.
Bibliogra�e
[1] Universitatea Politehnica Timisoara, Facultatea de Automatica si Calculatoare,
�Site web - Departamentul de automatica si informatica aplicata. Motivatie,� Tech.
Rep., 2016. [Online]. Available: http://www.aut.upt.ro/motivatie.php
[2] ***, �Revolutia internetului. Peste 50 de miliarde de dispozitive vor �
conectate pana in 2020,� Realitatea Bucuresti, Tech. Rep., 2015. [Online].
Available: http://realitateabucuresti.ro/revolutia-internetului-peste-50-de-miliarde-
de-dispozitive-vor-�-conectate-pana-in-2020/
[3] ***, �Secure Embedded Systems: Digging for the Roots
of Trust,� Altera, Tech. Rep., July 2015. [Online]. Availa-
ble: http://systemdesign.altera.com/secure-embedded-systems-digging-for-
the-roots-of-trust/?elqTrackId=3122F56D02836808E58C4E98436ABE99&elq=
eee8f9d2b41a4ab7bcb7fcc7490ce169&elqCampaignId=1250&elqaid=1739&elqat=1
[4] A. Stanciu and A. Cr ciun, �Generating an unique identi�er for FPGA devices,� in
2014 International Conference on Optimization of Electrical and Electronic Equip-
ment (OPTIM), Bra³ov, România, May 2014, pp. 802�808.
[5] A. Stanciu, M. Tudorancea, and F. Moldoveanu, �A chip ID generation circuit�latch
based,� in Proc. of the Intl. Conf. on Adv. In Info. Proc. And Comm. Tech. - IPCT
2014, June 2014, pp. 58�64.
[6] A. Stanciu and F. D. Moldoveanu, �Generating a PUF secret key for securing the
inter- and intra- communications on system on chip,� in 7th International Conference
on Information Technology and Communications Security, Bucure³ti, România, June
2015, pp. 9�17.
67
68 Bibliogra�e
[7] A. Stanciu, T. Ciocoiu, and F. Moldoveanu, �A method to handle BCH(n,k,t) al-
gorithm over large GF(n) in practical hardware implementations,� Bulletin of the
Transilvania University of Brasov, vol. 8, no. 1, pp. 99�107, June 2015.
[8] A. Stanciu, A. Craciun, and F. Moldoveanu, �Pseudo-random generator using PUF
circuits and Salsa stream cipher,� in Design and Technology in Electronic Packa-
ging (SIITME), 2015 IEEE 21st International Symposium for, ser. 345-348, Bra³ov,
România, Oct. 2015.
[9] A. Stanciu, M. Cirstea, and F. Moldoveanu, �Analysis and Evaluation of PUF-based
SoC Designs for Security Applications,� IEEE Transactions on Industrial Electronics,
2016, acceptat spre publicare.
[10] A. Stanciu, F. D. Moldoveanu, and M. Cirstea, �A Novel PUF-Based Encryption
Protocol for Embedded System On Chip,� in 13th International Conference on DE-
VELOPMENT AND APPLICATION SYSTEMS, Suceva, România, May 2016.
[11] X. Wang, M. Tehranipoor, and J. Plusquellic, �Detecting malicious inclusions in
secure hardware: Challenges and solutions,� in HW.-Oriented Sec. and Trust, 2008.
HOST 2008. IEEE Inter. Work. on, 2008.
[12] S. K. Krishnappa, H. Singh, and H. Mahmoodi, �Incorporating E�ects of Process,
Voltage, and Temperature Variation in BTI Model for Circuit Design,� Proc. IEEE
Latin American Symp. on Circ. and Syst., pp. 236�239, Feb. 2010.
[13] J. F. Freijedo, J. Semião, J. J. Rodriguez-Andina, F. Vargas, I. C. Teixeira,
and J. P. Teixeira, �Modeling the E�ect of Process, Power-Supply Voltage and
Temperature Variations on the Timing Response of Nanometer Digital Circuits,�
Journal of Electronic Testing, vol. 28, no. 4, pp. 421�434, 2012. [Online]. Available:
http://dx.doi.org/10.1007/s10836-012-5297-0
[14] D. J. Bernstein, �Salsa20 design,� Department of Mathematics, Statistics, and
Computer Science, The University of Illinois at Chicago, 2005. [Online]. Available:
http://cr.yp.to/snu�e/design.pdf
[15] Introducere în Criptogra�e. Funcµii Criptogra�ce, Fundamente Matematice ³i
Computaµionale, 2012. [Online]. Available: http://www.aut.upt.ro/~bgroza/Slides/
Carte_Intro_Cripto.pdf
Bibliogra�e 69
[16] J. Villasenor and M. Tehranipoor, �The Hidden Dangers of Chop-Shop Electronics,�
IEEE Spectrum, Tech. Rep., 2013.
[17] A. �bunnie� Huang, �Keeping Secrets in Hardware: the Microsoft XBox TM Case
Study,� Massachusetts Institute of Technology - Arti�cial Intelligence Laboratory,
Tech. Rep., 2002. [Online]. Available: http://www.xenatera.com/bunnie/proj/
anatak/AIM-2002-008.pdf
[18] S. Adee, �The Hunt for the Kill Switch are chip makers building electronic
trapdoors in key military hardware? The Pentagon is making its biggest
e�ort yet to �nd out,� IEEE Spectrum, Tech. Rep., 2008. [Online]. Available:
http://spectrum.ieee.org/semiconductors/design/the-hunt-for-the-kill-switch
[19] S. Mitra, H.-S. P. Wong, and S. Wong, �Stopping Hardware Trojans in Their Tracks,�
IEEE Spectrum, Tech. Rep., 2015.
[20] J. Rajendran, A. K. Kanuparthi, M. Zahran, S. K. Addepalli, G. Ormazabal, and
R. Karri, Securing Processors Against Insider Attacks: A Circuit-Microarchitecture
Co-Design Approach, IEEE Design & Test Std., April 2013.
[21] C. L. PITU, �Modelarea, securizarea ³i veri�carea circuitelor digitale utilizate în
criptogra�e,� Ph.D. dissertation, Universitatea Transilvania Brasov, 2013.
[22] ***, �Analysis tools for DDR1, DDR2, DDR3, embedded DDR and Fully Bu�ered
DIMM modules,� EPN Solutions Test & Measurements Probes and Adapters, Tech.
Rep. [Online]. Available: http://www.epnsolutions.net/home.html
[23] P. Colp, J. Zhang, J. Gleeson, S. Suneja, E. de Lara, H. Raj, S. Saroiu, and
A. Wolman, �Protecting Data on Smartphones and Tablets from Memory Attacks,�
SIGARCH Comput. Archit. News, vol. 43, no. 1, pp. 177�189, Mar. 2015. [Online].
Available: http://doi.acm.org/10.1145/2786763.2694380
[24] J. Coburn, S. Ravi, A. Raghunathan, and S. Chakradhar, �SECA: Security-enhanced
Communication Architecture,� in Proc. of the 2005 Inter. Conf. on Comp., Arch.
and Syn. for Emb. Sys., ser. CASES '05. New York, NY, USA: ACM, 2005, pp.
78�89. [Online]. Available: http://doi.acm.org/10.1145/1086297.1086308
[25] ***, �2016 Cyber Security Intelligence Index,� IBM, Tech. Rep., 2016.
70 Bibliogra�e
[26] D. Kushner, �The Real Story of Stuxnet - How Kaspersky Lab tracked down the
malware that stymied Iran's nuclear-fuel enrichment program,� IEEE Spectrum,
Tech. Rep., 2014. [Online]. Available: http://spectrum.ieee.org/telecom/security/
the-real-story-of-stuxnet
[27] ***, �Xilinx Reverse Engineering Services,� Bottom Line Technologies Inc (BLT),
Tech. Rep. [Online]. Available: http://www.bltinc.com/Services.Xilinx-Reverse-
Engineering.htm
[28] E. Wanderley, R. Vaslin, J. Crenne, P. Cotret, G. Gogniat, J.-P. Diguet, J.-L. Danger,
P. Maurine, V. Fischer, B. Badrignans, L. Barthe, P. Benoit, and L. Torres, Security
Trends for FPGAS. Springer Netherlands, 2011, ch. Security FPGA Analysis, pp.
7�46.
[29] D. L. C. Thekkath, M. Mitchell, P. Lincoln, D. Boneh, J. Mitchell, and
M. Horowitz, �Architectural Support for Copy and Tamper Resistant Software,�
SIGOPS Oper. Syst. Rev., vol. 34, no. 5, pp. 168�177, Nov. 2000. [Online]. Available:
http://doi.acm.org/10.1145/384264.379237
[30] G. Gogniat, T. Wolf, W. Burleson, J.-P. Diguet, L. Bossuet, and R. Vaslin,
�Recon�gurable Hardware for High-security/High-performance Embedded Systems:
The SAFES Perspective,� IEEE Trans. Very Large Scale Integr. Syst., vol. 16,
no. 2, pp. 144�154, Feb. 2008. [Online]. Available: http://dx.doi.org/10.1109/
TVLSI.2007.912030
[31] G. E. Suh, C. W. O'Donnell, and S. Devadas, �Aegis: A Single-Chip Secure Proces-
sor,� IEEE Design & Test of Computers, vol. 24, no. 6, pp. 570�580, Dec. 2007.
[32] R. Elbaz, L. Torres, G. Sassatelli, P. Guillemin, M. Bardouillet, and A. Martinez,
�Transactions on Computational Science X,� in LNCS Springer, M. L. Gavrilova,
C. J. K. Tan, and E. D. Moreno, Eds. Berlin, Heidelberg: Springer-Verlag,
2010, ch. Block-level Added Redundancy Explicit Authentication for Parallelized
Encryption and Integrity Checking of Processor-memory Transactions, pp. 231�260.
[Online]. Available: http://dl.acm.org/citation.cfm?id=1985581.1985591
[33] A. Waksman, M. Suozzo, and S. Sethumadhavan, �FANCI: Identi�cation of
Stealthy Malicious Logic Using Boolean Functional Analysis,� in Proc. of
the 2013 ACM SIGSAC Conf. on Comp. & Comm. Sec., ser. CCS
Bibliogra�e 71
'13. New York, NY, USA: ACM, 2013, pp. 697�708. [Online]. Available:
http://doi.acm.org/10.1145/2508859.2516654
[34] A. Waksman, S. Sethumadhavan, and J. Eum, Practical, Lightweight Secure Inclusion
of Third-Party Intellectual Property, IEEE Design & Test Std. 30, Feb. 2013.
[35] R. A. Popa and N. Zeldovich, �How to Compute With Data You Can't See.
Web applications could increase security by keeping data encrypted even during
computations,� IEEE Spectrum, Tech. Rep., 2015. [Online]. Available: http:
//spectrum.ieee.org/computing/software/how-to-compute-with-data-you-cant-see
[36] K. Xiao, X. Zhang, and M. Tehranipoor, A Clock Sweeping Technique for Detecting
Hardware Trojans Impacting Circuits Delay, IEEE Design & Test Std. 2, March 2013.
[37] J. Oberg, T. Sherwood, and R. Kastner, �Eliminating Timing Information Flows
in a Mix-Trusted System-on-Chip,� IEEE Design & Test, vol. 30, no. 2, pp. 55�62,
February 2013.
[38] T. Hu�mire, B. Brotherton, N. Callegari, J. Valamehr, J. White, R. Kastner,
and T. Sherwood, �Designing Secure Systems on Recon�gurable Hardware,� ACM
Trans. Des. Autom. Electron. Syst., vol. 13, no. 3, pp. 44:1�44:24, Jul. 2008.
[Online]. Available: http://doi.acm.org/10.1145/1367045.1367053
[39] E. Simpson and P. Schaumont, Cryptographic Hardware and Embedded Systems -
CHES 2006: 8th International Workshop, Yokohama, Japan, October 10-13, 2006.
Proceedings. Berlin, Heidelberg: Springer Berlin Heidelberg, 2006, ch. O�ine
Hardware/Software Authentication for Recon�gurable Platforms, pp. 311�323.
[Online]. Available: http://dx.doi.org/10.1007/11894063_25
[40] Crypto Museum, �Clipper Chip - Cryptographic Key Escrow,� Tech. Rep. [Online].
Available: http://www.cryptomuseum.com/crypto/usa/clipper.htm
[41] ***, ARM Security Technology Building a Secure System using
TrustZone® Technology, c ed., ARM, April 2009. [Online]. Avai-
lable: http://infocenter.arm.com/help/topic/com.arm.doc.prd29-genc-009492c/
PRD29-GENC-009492C_trustzone_security_whitepaper.pdf
[42] S. Muhlbach and S. Wallner, �Secure and Authenticated Communication in Chip-
Level Microcomputer Bus Systems with Tree Parity Machines,� in 2007 Inter. Conf.
72 Bibliogra�e
on Emb.Comp. Syst.: Arch., Modeling and Simulation, Samos, Grecia, July 2007,
pp. 201�208.
[43] �The Central Limit Theorem,� Tech. Rep. [Online]. Available: http://
www.math.uah.edu/stat/sample/CLT.html
[44] S. Meguerdichian and M. Potkonjak, �Device aging-based physically unclonable func-
tions,� in Design Automation Conference (DAC), 2011 48th ACM/EDAC/IEEE,
New York, NY, June 2011, pp. 288�289.
[45] G. Toacse and D. Nicula, Electronica Digitala. Dispozitive, CCircuit, Proiectare (I),
Verilog HDL (II). Editura Universitatii Transilvania Brasov, 2005.
[46] D. J. Bernstein, The Salsa20 Family of Stream Ciphers. Berlin, Heidelberg:
Springer Berlin Heidelberg, 2008, pp. 84�97. [Online]. Available: http:
//dx.doi.org/10.1007/978-3-540-68351-3_8
[47] R. M. Best, �Crypto microprocessor for executing enciphered programs,� U.S.
Patent US4 278 837 A, 1981. [Online]. Available: http://www.google.com/patents/
US4278837
[48] M. Coppola, M. Grammatikakis, G. Kornaros, and A. Spyridakis, �Trusted Com-
puting on Heterogeneous Embedded Systems - on - Chip with Virtualization and
Memory Protection,� The 4th Inter. Conf. on Cloud Comp., GRIDs and Virtual.,
CLOUD COMPUTING, pp. 225�229, Mai 2013, Valencia, Spania.
Rezumat
Conceperea ³i proiectarea unui mecanism de securitate, înc din etapele incipiente ale
unui sistem de calcul, reprezint o abordare modern a realiz rii sistemelor pe baz de
microprocesor. SoC-urile reprezint un tip de sisteme electronice de calcul, ce pot �
înglobate în IoT sau CPS. De aceea, asigurarea securit µii acestor componente - SoC-uri
- devine un pas necesar ³i obligatoriu, pentru asigurarea securit µii generale a sistemelor
ce le utilizeaz .
Un pas important, în realizarea mecanismelor de securitate, îl reprezint posibilitatea
gener rii cheilor criptogra�ce. Astfel, se poate spune c obiectivul secundar al acestei
lucr ri îl reprezint analiza posbilit µilor de implementare a circuitelor PUF pe circuite
programabile FPGA precum ³i analiza propriet µilor acestor r spunsuri cu scopul �nal
de a genera secvenµe binare unice pentru �ecare circuit integrat. Mecanismul introdus
în aceast lucrare utilizeaz circuitele PUF pentru generarea unor secvenµe binare unice
�ec rui circuit integrat ³i implicit �ec rui SoC. Cheile unice generate sunt utilizate în
operaµii criptogra�ce, mai exact, criptare ³i autenti�care, la nivelul SoC-ului de c tre
perifericele constituente.
Obiectivul principal îl reprezint utilizarea operaµiilor criptogra�ce, în contracararea
atacurilor de securitate împotriva SoC-urilor ³i implicit împotriva sistemelor complexe,
precum IoT sau CPS. În vederea asigur rii securit µii SoC-urilor, a fost introdus, în
aceast tez , un concept teoretic privind utilizarea operaµiilor criptogra�ce între periferi-
cele ce alc tuiesc un SoC. Validarea conceptului teoretic a fost realizat prin implemen-
tarea unui prototip ³i analiza parametrilor SoC-ului: frecvenµ de funcµionare, resurse
hardware utilizate, timp de execuµie al programelor software ³i atacurile ce pot � contra-
carate.
Abstract
This thesis presents a novel security mechanism for sensitive data stored, acquired or
processed by a complex electronic circuit implemented as SoC on an FPGA recon�gurable
device. Such circuits are increasingly used in embedded or cyber systems employed in civil
and military applications. Therefore, securing SoC is an absolutely necessary step in order
to ensure the overall security of the system they use.
An important step in achieving security mechanisms, is the posibility of generating
cryptographic keys. Thus, this thesis analyzes the posibilities to implement PUF circuits
on FPGA devices despite of asymmetric interconnections. A critical analysis and statisti-
cal evaluation of two categories of PUF: ring oscillator PUF and a new proposed adapted
latch based PUF, are presented. The main contribution is that of measuring the proper-
ties of PUF which provide the basic information for using them in security applications.
The original method involved the conceptual design of adapted latch based PUFs and
ring oscillator PUFs in combination with peripheral devices in order to create an environ-
ment for experimental analysis of PUF properties. Implementation, testing and analysis
of results followed. This approach has applications on high level security.
Managing security in the overarching SoC presents a challenge as part of the process of
securing such systems. The proposed new method is based on encrypted and authenticated
communications between the microprocessor cores, FPGA fabric and peripherals inside
the SoC. The encryption resides in a key generated with PUF circuits and a pseudorandom
generator. The conceptual design of the security circuit was validated through hardware
implementation, testing and analysis of results.
Curriculum Vitae Date personale: Nume: Stanciu
Prenume: Alexandra
Adresă: Str. Octavian Goga nr. 28, sc. C, ap. 8
Telefon: 0766 68 14 17
Email: [email protected]
Data naşterii: 9.11.1988
Educaţie: 2013 - prezent: studii de doctorat
Universitatea Transilvania din Braşov
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
Conducător ştiinţific: prof. dr. ing. Florin MOLDOVEANU
Contribuții la securizarea datelor în sistemele pe chip folosind circuite
PUF
2011-2013: diplomă de absolvire Master în Sisteme Electronice şi de
Comunicaţii Integrate, media 9.84
Universitatea Transilvania din Braşov
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
Specializarea: Sisteme Electronice şi de Comunicaţii Integrate
2007-2011: diplomă de absolvire studii licenţă în domeniul
Calculatoare, şef promoţie
Universitatea Transilvania din Braşov
Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor
Specializarea: Calculatoare
Experienţă
profesională:
Octombrie 2013 ÷ August 2016
Bursă de cercetare din partea Siemens SRL, Braşov, România,
Departamentul Corporate Technology
Curriculum Vitae Personal Data: Full Name: Stanciu Alexandra
Address: Str. Octavian Goga nr. 28, sc. C, ap. 8
Phone No: 0766 68 14 17
Email: [email protected]
Date of birth: 9.11.1988
Education: 2013 – present, Ph. D studies
Transilvania University of Brasov
Faculty of Electrical Engineering and Computer Science
PUF based security mecahnism for FPGA/ASIC devices
2011-2013: Master’s degree, Integrated Circuit Design
Transilvania University of Brasov
Faculty of Electrical Engineering and Computer Science
2007-2011: Bachelor’s degree, Computer Engineering
Transilvania University of Brasov
Faculty of Electrical Engineering and Computer Science
Professional
Experience:
2013 ÷ 2016
Research Fellowship, Siemens CT Electronic Design, Braşov,
România