universitatea transilvania din bra úov · 2018. 1. 30. · 7.3.2 puf circuits suitable for an fpga...

85
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

Upload: others

Post on 20-Jan-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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

Page 2: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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.

Page 3: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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.

Page 4: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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

Page 5: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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

Page 6: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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

Page 7: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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

Page 8: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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
Page 9: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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

Page 10: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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;

Page 11: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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 -

Page 12: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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

Page 13: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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

Page 14: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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.

Page 15: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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

Page 16: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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.

Page 17: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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

Page 18: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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

Page 19: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

2.4. Concluzii 11

spore³te gradul de securitate al codului stream.

Page 20: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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
Page 21: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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

Page 22: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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

Page 23: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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

Page 24: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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

Page 25: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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

Page 26: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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-

Page 27: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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 .

Page 28: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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 

Page 29: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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

Page 30: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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.

Page 31: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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

Page 32: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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 

Page 33: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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.

Page 34: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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

Page 35: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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

Page 36: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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

Page 37: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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,

Page 38: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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.

Page 39: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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

Page 40: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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

Page 41: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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

Page 42: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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

Page 43: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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

Page 44: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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

Page 45: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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

Page 46: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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

Page 47: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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

Page 48: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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

Page 49: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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

Page 50: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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

Page 51: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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 ,

Page 52: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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-

Page 53: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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.

Page 54: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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
Page 55: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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

Page 56: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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.

Page 57: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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.

Page 58: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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

Page 59: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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

Page 60: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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:

Page 61: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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

Page 62: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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.

Page 63: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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.

Page 64: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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
Page 65: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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

Page 66: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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.

Page 67: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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

Page 68: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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

Page 69: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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 

Page 70: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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.

Page 71: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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-

Page 72: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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.

Page 73: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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.

Page 74: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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
Page 75: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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

Page 76: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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

Page 77: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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.

Page 78: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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

Page 79: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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.

Page 80: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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.

Page 81: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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.

Page 82: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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
Page 83: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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.

Page 84: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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

Page 85: Universitatea Transilvania din Bra úov · 2018. 1. 30. · 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

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