Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe...

69
Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen: elektrotechniek, optie Geïntegreerde elektronica Promotoren: Prof. dr. ir. Bart Preneel Prof. dr. ir. Ingrid Verbauwhede Assessoren: Dr. ir. Stefaan Seys Prof. dr. ir. Patrick Reynaert Begeleiders: Ir. Roel Peeters Ir. Roel Maes Ir. Junfeng Fan Academiejaar 2010 – 2011

Transcript of Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe...

Page 1: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

Drempelbeveiling mogelijk maken voorRFID

Philippe Jeurissen

Thesis voorgedragen tot hetbehalen van de graad van Master

in de ingenieurswetenschappen:elektrotechniek, optie

Geïntegreerde elektronica

Promotoren:Prof. dr. ir. Bart Preneel

Prof. dr. ir. Ingrid Verbauwhede

Assessoren:Dr. ir. Stefaan Seys

Prof. dr. ir. Patrick Reynaert

Begeleiders:Ir. Roel Peeters

Ir. Roel MaesIr. Junfeng Fan

Academiejaar 2010 – 2011

Page 2: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

c© Copyright K.U.Leuven

Zonder voorafgaande schriftelijke toestemming van zowel de promotor(en) als deauteur(s) is overnemen, kopieren, gebruiken of realiseren van deze uitgave of ge-deelten ervan verboden. Voor aanvragen tot of informatie i.v.m. het overnemenen/of gebruik en/of realisatie van gedeelten uit deze publicatie, wend u tot ESAT,Kasteelpark Arenberg 10 postbus 2440, B-3001 Heverlee, +32-16-321130 of via [email protected].

Voorafgaande schriftelijke toestemming van de promotor(en) is eveneens vereistvoor het aanwenden van de in deze masterproef beschreven (originele) methoden,producten, schakelingen en programma’s voor industrieel of commercieel nut envoor de inzending van deze publicatie ter deelname aan wetenschappelijke prijzen ofwedstrijden.

Page 3: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

Voorwoord

Deze masterproef was een unieke ervaring en heeft me op vele vlakken nieuwe dingenbijgebracht. Via deze weg wil ik een aantal mensen bedanken die me bijgestaanhebben in heel deze ervaring. Zonder hen was het resultaat nooit hetzelfde geweest.

Allereerst wil ik mijn dagelijkse begeleiders, Roel Maes, Roel Peeters en JunfengFan, bedanken voor de vele uren die zij hebben gestoken in mijn begeleiding. Zonderjullie hulp had ik dit resultaat nooit kunnen bereiken.

Ook wil ik mijn promotors Prof. Dr. Ir. Bart Preneel en Prof. Dr. Ir. In-grid Verbauwhede bedanken voor het mogelijk maken van deze thesis. Alsook mijnassessoren Dr. Ir. Stefaan Seys en Prof. Dr. Ir. Patrick Reynaert voor het lezen enbeoordelen van deze thesis.

Via deze weg zou ik ook graag mijn ouders en de rest van mijn familie willenbedanken voor hun grote steun tijdens mijn gehele opleiding. Zonder hen had ik ditnooit bereikt.

Ten slotte wil ik ook mijn klasgenoten en vrienden bedanken voor hun steun en debroodnodige ontspanning tussen het werken door.

Philippe Jeurissen

i

Page 4: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

Inhoudsopgave

Voorwoord i

Samenvatting v

Lijst van figuren en tabellen vi

Lijst van afkortingen en symbolen viii

1 Inleiding 11.1 Een nieuwe aanpak . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Probleemstelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.3 Bijdrage van deze thesis . . . . . . . . . . . . . . . . . . . . . . . . . 31.4 Aanpak van de thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 Cryptografie 52.1 Symmetrische sleutel cryptografie . . . . . . . . . . . . . . . . . . . . 62.2 Publieke sleutel cryptografie . . . . . . . . . . . . . . . . . . . . . . . 7

2.2.1 Versleuteling . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.2.2 Authenticatie . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.3 Sterkte van cryptografische systemen . . . . . . . . . . . . . . . . . . 92.3.1 Het factorisatieprobleem . . . . . . . . . . . . . . . . . . . . . 102.3.2 Discrete logaritmeprobleem . . . . . . . . . . . . . . . . . . . 102.3.3 Het Diffie-Hellmanprobleem . . . . . . . . . . . . . . . . . . . 10

3 Wiskundige concepten 113.1 Elliptische krommen . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3.1.1 Elliptische kromme discrete logaritmeprobleem . . . . . . . . 133.2 Paringen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.2.1 Wiskundige problemen gebaseerd op paringen . . . . . . . . . 16

4 Drempelcryptografie 174.1 Drempelschema’s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

4.1.1 De verdelingsfase . . . . . . . . . . . . . . . . . . . . . . . . . 184.1.2 De verificatiefase . . . . . . . . . . . . . . . . . . . . . . . . . 194.1.3 De reconstructiefase . . . . . . . . . . . . . . . . . . . . . . . 20

Nulkennisbewijzen . . . . . . . . . . . . . . . . . . . . . . . . 21Langrangeveelterminterpolatie . . . . . . . . . . . . . . . . . 22

4.1.4 Gebruik in cryptografische systemen . . . . . . . . . . . . . . 22Elgamalversleutelingsschema . . . . . . . . . . . . . . . . . . 22

ii

Page 5: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

Inhoudsopgave

Schnorr digitale handtekeningsschema . . . . . . . . . . . . . 23

4.1.5 Gedistribueerde sleutelgeneratie . . . . . . . . . . . . . . . . . 23

4.2 Het basisdrempelschema voor de implementatie . . . . . . . . . . . . 24

4.2.1 Kenmerken van het schema . . . . . . . . . . . . . . . . . . . 24

4.2.2 Publiek verifieerbaar geheimverdelingsschema . . . . . . . . . 25

4.2.3 Gedistribueerde sleutelgeneratieschema’s . . . . . . . . . . . . 25

4.2.4 Versleuteling en ontsleuteling . . . . . . . . . . . . . . . . . . 26

5 Ontwerp 29

5.1 Praktische aspecten en ontwerpbeslissingen . . . . . . . . . . . . . . 29

5.1.1 Soorten apparaten . . . . . . . . . . . . . . . . . . . . . . . . 30

5.1.2 Het verificatieprobleem . . . . . . . . . . . . . . . . . . . . . 30

5.1.3 Het inverteringsprobleem . . . . . . . . . . . . . . . . . . . . 31

5.2 Programmaverloop . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

5.2.1 De initialisatiefase . . . . . . . . . . . . . . . . . . . . . . . . 32

5.2.2 De gedistribueerde sleutelgeneratiefase . . . . . . . . . . . . . 32

5.2.3 De toepassingsfase . . . . . . . . . . . . . . . . . . . . . . . . 33

6 Implementatie 35

6.1 Implementatie op PC . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

6.1.1 Programeertaal . . . . . . . . . . . . . . . . . . . . . . . . . . 35

6.1.2 Softwarebibliotheken . . . . . . . . . . . . . . . . . . . . . . . 35

6.1.3 Programmaontwerp . . . . . . . . . . . . . . . . . . . . . . . 37

Apparaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

Modulariteit . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

Inkapseling . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

6.2 Implementatie op FPGA . . . . . . . . . . . . . . . . . . . . . . . . . 38

6.2.1 Field-programmable Gate Array . . . . . . . . . . . . . . . . . 38

Opbouw FPGA . . . . . . . . . . . . . . . . . . . . . . . . . . 38

Xilinx Microblaze . . . . . . . . . . . . . . . . . . . . . . . . . 39

6.2.2 Implementatie . . . . . . . . . . . . . . . . . . . . . . . . . . 40

Compileren van de bibliotheken . . . . . . . . . . . . . . . . . 41

Communicatie met de computer . . . . . . . . . . . . . . . . 42

7 Radio Frequency Identification 43

7.1 Algemene kenmerken . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

7.1.1 Huidige ontwikkelingen . . . . . . . . . . . . . . . . . . . . . 44

7.2 ECC coprocessor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

7.3 Integratie met het drempelschema . . . . . . . . . . . . . . . . . . . 45

8 Resultaten 47

8.1 Testplatformen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

8.2 Tijdsmetingen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

8.2.1 Initialisatie van de elliptische kromme . . . . . . . . . . . . . 47

8.2.2 Paringen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

8.3 Integratietest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

8.3.1 Situatieschets . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

iii

Page 6: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

Inhoudsopgave

8.3.2 Testopstellingen . . . . . . . . . . . . . . . . . . . . . . . . . 49Test 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49Test 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51Test 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

9 Besluit 539.1 Vervolgwerk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

Bibliografie 55

iv

Page 7: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

Samenvatting

Tegenwoordig heeft men steeds meer intelligente apparaten op zak. Dit zorgt er-voor dat de mogelijkheden ervan uitgebreider worden. Een GSM is bijvoorbeeldgeevolueerd naar een zakcomputer met de mogelijkheid om draadloos op het internette surfen, je e-mailberichten te lezen of berichten achter te laten op je favorietesociale netwerksite. Deze evolutie zorgt echter voor nieuwe uitdagingen zoals bij-voorbeeld het beveiligen van de persoonlijke informatie opgeslagen op deze apparaten.

Dremplecryptografie kan een alternatief vormen voor de beveiliging van deze mobieleapparaten. Hierbij gaan apparaten samenwerken om zo een beveiliging te creerenvoor alle apparaten. Commerciele implementaties van zulke drempelcryptografischeschema’s voor het beveiligen van mobiele apparaten zijn echter nog niet opgedoken.Dit is onder andere te wijten aan het feit dat deze drempelschema’s gebruik makenvan rekenintensieve technieken die slechts op een beperkt aantal van de huidige inge-bedde mobiele apparaten kunnen uitgevoerd worden. Ze vereisen ook de aanwezigheidvan veilige opslagruimte op deze apparaten die niet door buitenstaanders uitgelezenkan worden. Zulke opslag is echter kostelijk. Deze twee factoren belemmeren deopkomst van drempelschema’s.

Deze thesis toont aan dat het echter toch mogelijk is om apparaten met een be-perkte hoeveelheid rekenkracht en zonder beveiligde opslag te laten deelnemen aandrempelschema’s. Om dit te bewijzen wordt een bestaand drempelschema gea-nalyseerd en wordt er op basis daarvan een praktische implementatie geschreven.Ook wordt er specifiek gekeken naar de mogelijkheid om RFID tags te laten deel-nemen aan drempelschema’s. RFID tags kunnen immers goedkoop gefabriceerdworden en makkelijk in kleding of schoenen verwerkt worden. De implementatievan het schema gebeurt op PC en de apparaten met beperkte rekenkracht wordengesimuleerd op FPGA met behulp van een soft core processor. Om te bewijzendat de implementatie werkt, werd het drempelschema gebruikt om de gebruikerte identificeren aan een gesimuleerd toegangskaartsysteem. Ook werd de snelheidvan de implementatie geanalyseerd in functie van het aantal apparaten dat deelneemt.

Uit deze thesis kan dus besloten worden dat het praktisch mogelijk is apparaten metbeperkte rekenkracht en zonder veilige opslag, zoals bijvoorbeeld RFID tags, deel telaten nemen aan drempelschema’s.

v

Page 8: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

Lijst van figuren en tabellen

Lijst van figuren

1.1 Identificatie aan een toegangsdeur met behulp van verschillendeapparaten die je op zak hebt. . . . . . . . . . . . . . . . . . . . . . . . . 2

2.1 Een overzicht van een symmetrische sleutel cryptografie schema. . . . . 6

2.2 Een overzicht van een asymmetrische sleutel cryptografie schema. . . . . 8

2.3 Een overzicht van een asymmetrische sleutel authenticatie schema. . . . 9

3.1 Elliptische kromme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.2 Elliptische kromme. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.3 Geometrische optelling van twee punten op een elliptische kromme . . . 14

3.4 Geometrische verdubbeling van een punt op een elliptische kromme. . . 15

4.1 Veeltermen door 1 punt . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4.2 Visuele voorstelling van Shamir’s geheimverdelingsschema . . . . . . . . 19

4.3 De grot van Ali Baba. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

4.4 Het publiek verifieerbaar geheimverdelingsschema van [24]. . . . . . . . 25

4.5 Fase 1 van het gedistribueerde sleutelgeneratieschema van Simoens etal. [24] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

4.6 Fase 2 van het gedistribueerde sleutelgeneratieschema van Simoens etal. [24] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

4.7 De aangepaste versie van het ElGamalversleutelingsschema van [24]. . . 28

5.1 Opstelling van de verschillende apparaten . . . . . . . . . . . . . . . . . 31

6.1 Schakelmatrix met logische blokken van een FPGA. . . . . . . . . . . . 38

6.2 Schema van een Configurable Logic Blok van een Xilinx Spartan 3E FPGA. 40

6.3 Schema van de Xilinx Microblaze architectuur. . . . . . . . . . . . . . . 41

7.1 Voorbeeld van een passsieve RFID tag. . . . . . . . . . . . . . . . . . . . 44

7.2 Layout van de ECC coprocessor ontworpen door Lee et al. [13]. . . . . . 45

8.1 De resultaten van de variatie van het aantal apparaten in testsituatie 1. 50

8.2 De resultaten van de variatie van de drempelwaarde in testsituatie 1. . . 50

8.3 De resultaten van de variatie van het aantal apparaten in testsituatie 2. 52

vi

Page 9: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

Lijst van figuren en tabellen

8.4 De resultaten van de variatie van de drempelwaarde in testsituatie 2. . . 52

Lijst van tabellen

6.1 De waardes van de parameters van de gebruikte curve van type D81 [14]. 366.2 Specificaties van de Xilinx Spartan 3ES250 FPGA [29]. . . . . . . . . . 39

7.1 Specificaties van de elliptische kromme cryptografische processor van [13]. 45

8.1 Testresulaten van de ECC initialisatie. . . . . . . . . . . . . . . . . . . . 488.2 Resultaten van de snelheidstest van paringen. . . . . . . . . . . . . . . . 48

vii

Page 10: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

Lijst van afkortingen ensymbolen

Symbolen

G1 Cyclische groep van orde p

G2 Cyclische groep van orde p

GT Cyclische groep van orde p

Z∗p Cyclische groep van de gehele getallen van orde p

P Generator van G1

P ′ Generator van G1

P ′′ Generator van G1

Q Generator van G2

Di Apparaat i

si De geheime sleutel van apparaat i

Si De publieke sleutel van apparaat i

t De drempel van het drempelschema

n Het totaal aantal apparaten

g Paring e(P,Q)

Ci Sleuteldeel van apparaat i

Ai,k Verbintenis k van apparaat i

Bi,k Verbintenis k van het nulkennisbewijs van apparaat i

Zi Nulbewijsfactor van apparaat i

λi Interpolatiefactor van apparaat i

m Het te versleutelen of ontsleutelen bericht

kP De willekeurigheid of randomness gebruikt bij het ElGamalschema

e De versleutelde boodschap

viii

Page 11: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

Afkortingen

RFID Radio frequentie identificatie

FPGA Field-programmable gate array

VSS Verifieerbare geheimverdeling

PVSS Publiek verifieerbare geheimverdeling

DKG Gedistribueerde sleutelgeneratie

DLOG Discreet logaritmeprobleem

DH Diffie-Hellmanprobleem

PBC Paringgebaseerde cryptografie

ECC Elliptische kromme cryptografie

GMP GNU Multiple Precision Arithmetic Library

ix

Page 12: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:
Page 13: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

Hoofdstuk 1

Inleiding

Technische vooruitgang heeft ervoor gezorgd dat mobiele apparaten steeds krachtigerworden. GSM’s bijvoorbeeld hebben een hele weg afgelegd van de onhandige appa-raten toen ze net op de markt kwamen tot de multifunctionele zakcomputers vantegenwoordig. Deze zakcomputers geven bijvoorbeeld de mogelijkheid om onderwegje e-mailberichten te lezen, berichten te plaatsen op je favoriete sociale netwerksite ofje bankzaken te regelen. Zakcomputers bevatten dus een zeer grote hoeveelheid aanpersoonlijke informatie. Ook laptops verschijnen met steeds meer opslagcapaciteit diegebruikt kan worden om persoonlijke gegevens in op te slaan. Deze ontwikkelingenbrengen echter ook een nieuw probleem met zich mee, met name de beveiligingvan al deze data. Immers door de mobiliteit van deze apparaten worden ze vakerblootgesteld aan beveiligingsrisico’s dan bijvoorbeeld je PC op je bureau thuis ofop het werk. Zo kan je je zakcomputer verliezen, kan hij gestolen worden of kan jehem onbewaakt achterlaten,... Dat dit regelmatig voorkomt, kan afgeleid wordenuit de vele nieuwsberichten over de diefstal of het verlies van apparaten waar zeergevoelige informatie zoals persoonsgegevens in opgeslagen zijn. De beveiliging vandeze apparaten is dan ook essentieel.

Een veelgebruikte techniek tegenwoordig is het individueel beveiligen van dezeapparaten [30]. Zo heeft je zakcomputer bijvoorbeeld een PIN code en je laptop eengebruikersnaam en wachtwoord. Dit zorgt er echter voor dat je steeds verschillendewachtwoorden en pincodes moet onthouden. Immers hetzelfde wachtwoord kiezenvoor al je apparaten zal al deze apparaten compromitteren als het wachtwoordgeraden wordt. Als het wachtwoord verloren gaat verlies je ook toegang tot hetapparaat. Deze aanpak heeft dus inherent een aantal nadelen.

1.1 Een nieuwe aanpak

Recentelijk duiken er echter nieuwe technieken op om deze mobiele apparaten tebeveiligen [30], [19]. Deze technieken maken gebruik van het feit dat men er vanuitkan gaan dat de gebruiker steeds meerdere apparaten op zak heeft en wordt drempel-beveiliging genoemd. Men gaat apparaten combineren om zo een totale beveiliging

1

Page 14: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

1. Inleiding

Figuur 1.1: Identificatie aan een toegangsdeur met behulp van verschillendeapparaten die je op zak hebt. (Met dank aan Roel Peeters voor de afbeelding)

van alle apparaten te creeren. Drempelbeveiliging werkt met een parameter t, dedrempel genoemd. Deze parameter geeft weer hoeveel apparaten minstens moetensamenwerken om ze bijvoorbeeld te ontgrendelen. De waarde van de parameter t ligtlager dan het totaal aantal apparaten, die beveiligd moeten worden, zodat niet alleapparaten noodzakelijk zijn om de beveiliging te laten werken [30]. Dit laat toe datde gebruiker een aantal apparaten thuislaat als bijvoorbeeld de batterij ervan moetopgeladen worden of in het slechtste geval hij er eentje verliest. Zolang hij over meerdan t apparaten beschikt is er geen probleem en kan hij de apparaten ontgrendelenen gebruiken. Dit heeft als gevolg dat een buitenstaander enkel toegang krijgt tot deapparaten als hij minstens t apparaten bezit. Door t te verhogen kan dus de graadvan veiligheid verhoogd worden. [30].

Deze techniek kan niet alleen gebruikt worden voor de beveiliging van appara-ten. Laat ons bijvoorbeeld een toegangskaartsysteem aan een deur bekijken. Huidigetechnieken vereisen dat de gebruiker zijn toegangskaart gebruikt om zich te iden-tificeren en de deur te openen. Verliest hij echter deze toegangskaart, dan kanhij de deur niet meer openen. Een kwaadwillige gebruiker heeft ook genoeg aande toegangskaart van iemand met toegang om de deur te openen, tenzij er extra(fysieke) veiligheidsmaatregels getroffen worden. Als we echter drempelbeveiliginggaan gebruiken om de gebruiker te identificeren dan moet de gebruiker minstenst apparaten bij zich hebben voor een juiste identificatie. Dit biedt een grotereflexibiliteit en veiligheid. Immers het verlies van de toegangskaart kan opgevangenworden indien de gebruiker minstens t andere apparaten bij zich heeft. Een aan-valler daarentegen moet minstens t apparaten stelen vooraleer hij de deur kan openen.

Een andere toepassing van drempelbeveiliging kan het beveiligen van data op de hardeschijf van een computer zijn. Normaal wordt de data op de harde schijf beveiligd met

2

Page 15: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

1.2. Probleemstelling

een wachtwoord. Dit vormt ook weer een risico voor de gebruiker. Immers indien ditwachtwoord verloren gaat, is de data niet meer toegankelijk. Gebruiken we echterdrempelbeveiliging dan kan het wachtwoord vervangen worden door een identificatiemet minstens t apparaten.

Het is dus makkelijk in te zien dat drempelbeveiliging vele vormen kan aanne-men en een belangrijk onderzoeksdomein vormt. Het biedt dus een hogere graadvan veiligheid en een grotere flexibiliteit naar de gebruiker toe. Bovendien kan menook stellen dat als er meer en verschillende apparaten gebruikt worden voor deidentificatie, de flexibiliteit stijgt [30].

1.2 Probleemstelling

De huidige implementaties van drempelbeveiligingsschema’s hebben echter een aantalnadelen. Er zijn voorwaarden waaraan de deelnemende apparaten moeten voldoen.We kunnen twee belangrijke voorwaarden onderscheiden [24]:

• De apparaten moeten beschikken over genoeg rekenkracht. Drempelschema’sgebruiken zeer rekenintensieve bewerkingen die niet door alle mobiele apparatenkunnen uitgevoerd worden.

• De apparaten moeten beschikken over beveiligde opslag. Dit wil zeggen dat eropslagruimte moet zijn die afgeschermd is van de buitenwereld om belangrijkeparameters van het drempelschema in op te slaan die niet publiek gemaaktmogen worden.

Dit vormt een zeer beperkende factor voor zulke schema’s want de graad van flexibi-liteit en veiligheid wordt bepaald door het aantal en het soort apparaten dat eraandeelneemt [30]. Enkel de duurdere apparaten met genoeg rekenkracht en beveiligdeopslag komen in aanmerking. Als er een manier kan gevonden worden om goedkopeapparaten die niet over bovenstaande eigenschappen beschikken, toch te laten deel-nemen in drempelbeveiligingsschema’s, zou dit een enorme vooruitgang zijn. Dit zoude deur openen om zeer eenvoudige en goedkope apparaten zoals bijvoorbeeld RadioFrequentie Identificatie (RFID) tags te gebruiken in deze schema’s.

1.3 Bijdrage van deze thesis

Er is reeds een artikel verschenen met een theoretisch drempelbeveiligingsschemadat gebruikt kan worden om de integratie van apparaten met beperkte rekenkrachten zonder beveiligde opslag in deze schema’s mogelijk te maken [24]. De bijdrage diedeze thesis wil leveren bestaat uit drie delen:

1. Deze thesis zal analyseren als het praktisch haalbaar is om goedkope apparatenmet beperkte rekenkracht en zonder beveiligde opslag in drempelschema’s teintegreren.

3

Page 16: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

1. Inleiding

2. Er zal een praktische implementatie van zulk een drempelbeveiligingsschemageımplementeerd worden. Praktische aspecten en problemen die tevoorschijnkomen, zullen geadresseerd worden.

3. Als specifiek voorbeeld van een goedkoop apparaat met beperkte rekenkrachten zonder beveiligde opslag wordt een RFID tag gebruikt. Er wordt gekekenals dit soort apparaten kunnen deelnemen aan drempelschema’s.

De doelstelling van deze thesis kan dus als volgt samengevat worden:

Het aantonen dat apparaten met beperkte rekenkracht en zonder veilige op-slag, zoals bijvoorbeeld RFID tags, kunnen deelnemen aan drempelbeveiligings-schema’s en dit door een effectieve implementatie van zo een drempelbeveili-gingsschema te schrijven.

1.4 Aanpak van de thesis

Allereerst zal een studie van het vakgebied van de cryptografie gebeuren in hoofdstuk2. Hierin zal de evolutie van cryptografie besproken worden alsook een aantalbasisconcepten die noodzakelijk zijn om het verdere verloop van de thesis te kunnenvolgen. Deze studie wordt gevolgd door een kort overzicht van een aantal wiskundigeconcepten in hoofdstuk 3 die een wiskundige basis geven voor drempelschema’sen cryptografie in het algemeen. Vervolgens zal drempelcryptografie uitgebreidbesproken worden alsook het drempelschema waarop de implementatie gebaseerdis. Dit gebeurt in hoofdstuk 4. Hoofdstuk 5 geeft de ontwerpbeslissingen weer diegenomen zijn bij het ontwerp van het drempelbeveiligingsprogramma. Het eerste deelvan hoofdstuk 6 bespreekt de effectieve implementatie op de PC en de praktischeaspecten die hierbij naar boven kwamen. In het tweede deel van dit hoofdstukworden de praktische aspecten van de implementatie op FPGA bekeken. Hoofdstuk7 bekijkt Radio frequentie identificatie (RFID) als een specifiek voorbeeld van eenapparaat met beperkte rekenkracht en zonder veilige opslag, alsook de integratie vaneen specifieke RFID met de implementatie van het drempelschema. Hoofdstuk 8bespreekt een opstelling van verschillende apparaten gemaakt met de implementatievan het drempelschema die alle aspecten van de implementatie test. De resultatenvan deze test worden in dit hoofdstuk ook besproken alsook mogelijke verbeteringendie in de toekomst eraan zouden kunnen worden toegevoegd. Ten slotte wordt eenkort overzicht gegeven van de bekomen resultaten.

4

Page 17: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

Hoofdstuk 2

Cryptografie

In dit inleidende hoofdstuk willen we een overzicht geven van een aantal belangrijkecryptografische begrippen om de lezer een achtergrond te geven bij het lezen van dezethesis. Allereerst wordt het begrip cryptografie zelf bekeken en geschetst in de ge-schiedenis. Vervolgens wordt symmetrische en publieke sleutel cryptografie besproken.

Cryptografie is de wetenschap van de beveiliging van informatie. Het woord isafgeleid van het Griekse kryptos dat verborgen betekent. Onderzoek naar systemenom informatie te beveiligen, gebeurt al geruime tijd. Al reeds ten tijde van deheerschappij van Julius Caesar werd er informatie beveiligd. Het Caesarcijfer zaliedere letter van een bericht vervangen door de letter die drie plaatsen verder in hetalfabet staat. Deze parameter(iedere letter vervangen door een andere letter) wordtde sleutel van het cijfer genoemd. Deze sleutel bevat dus de parameters die nodigzijn om het bericht te ’versleutelen’ of ’ontsleutelen’. Een discipline nauw verwantaan de cryptografie is de cryptologie. Deze houdt zich bezig met het achterhalen vande werking van cryptografische systemen om zo de berichten die ermee versleuteldzijn te kunnen ”kraken”. De opkomst van de computer rond de Tweede Wereld-oorlog heeft gezorgd voor een grote vooruitgang van deze wetenschap. Een vande bekendste voorbeelden van cryptologie stamt ook uit deze periode. Het krakenvan de Duitse Enigma machine, een elektromechanische rotormachine, die gebruiktwerd om militaire communicatie te versleutelen leverde de Geallieerden belangrijkeinformatie over de Duitse militaire beslissingen. Dit was een belangrijke bijdrage totde uiteindelijke overwinning van de Geallieerden.

Nu volgt een overzicht van de moderne cryptografische systemen. Moderne crypto-grafische systemen hebben een of meerdere doelen voor ogen [12]:

• Vertrouwelijkheid. Informatie beveiligingen zodat enkel de partij voor wie zebedoeld is deze kan lezen.

• Integriteit. Garanderen dat de beveiligde informatie niet door andere partijenaangepast is.

5

Page 18: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

2. Cryptografie

Figuur 2.1: Een overzicht van een symmetrische sleutel cryptografie schema.

• Onloochenbaarheid. Ervoor zorgen dat de maker van het bericht niet kanontkennen dat hij het bericht verzonden heeft.

• Authenticatie. De oorsprong van de informatie valideren.

Deze systemen kunnen worden ingedeeld naargelang het aantal verschillende sleutelsdat gebruikt wordt:

• Symmetrische sleutel cryptografie. Er wordt slechts een sleutel gebruikt.

• Asymmetrische sleutel cryptografie. Er worden twee sleutels gebruikt. Eenpublieke, die door iedereen gekend is, en een private.

• Hashfuncties. De versleuteling gebeurt via een eenwegs hashfunctie en is nietomkeerbaar.

In de volgende paragrafen worden symmetrische en asymmetrische cryptografie verderbesproken.

2.1 Symmetrische sleutel cryptografie

Symmetrische sleutel algoritmes gebruiken dezelfde sleutel voor versleutelen als ont-sleutelen van een boodschap. Er wordt dus een gedeelde sleutel gebruikt door beidepartijen. Figuur 2.1 geeft een overzicht van de werking van dit soort algoritmes.Alice wil een bericht m verzenden aan Bob zonder dat Eve dit kan lezen. Ze kiest een

6

Page 19: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

2.2. Publieke sleutel cryptografie

geheime sleutel k en past deze toe op haar bericht en krijgt het versleutelde berichtc door Ek(m) = c. Dan zorgt ze ervoor dat die sleutel via een veilig kanaal tot bijBob geraakt. Het bericht zendt ze over het onveilige kanaal waarop Eve meeluistert.Bob kan met deze sleutel het versleutelde bericht ontsleutelen: Dk(c) = m. Eve kanhet versleutelde bericht c wel lezen maar zonder de geheime sleutel k kan ze het nietontsleutelen [1]. Alhoewel symmetrische cryptografische algoritmes in het algemeenzeer efficient grote hoeveelheden informatie kunnen versleutelen hebben ze een grootnadeel nl. sleutelbeheer. Men moet immers in staat zijn een veilig kanaal te creerenom de gedeelde sleutel k uit te wisselen. Immers iedereen die in het bezit is vandeze sleutel kan het bericht ontsleutelen. Zo zou Eve in het schema op figuur 2.1het bericht ook kunnen ontsleutelen als ze tijdens de fase van het uitwisselen van desleutel k deze kan bemachtigen.

Symmetrische sleutel cryptografie voor het versturen van berichten wordt zeldenmeer gebruikt in zijn originele vorm wegens het sleuteluitwisselingsprobleem. Bij hetversleutelen van data zonder dat deze verzonden wordt, wordt symmetrische sleutelcryptografie wel nog toegepast. Een voorbeeld hiervan is het versleutelen van dataop de harde schijf van een computer.

2.2 Publieke sleutel cryptografie

Tot midden jaren 70 waren er geen alternatieven voor symmetrische sleutel cryp-tografie. In 1976 echter kwamen Diffie en Hellman met een cryptografisch systeemdat het veilig uitwisselen van de geheime sleutel k sterk vereenvoudigde [3]. Ditnieuwe systeem was de asymmetrische of publieke sleutel cryptografie. Hierbij wordter gebruik gemaakt van 2 verschillende soorten sleutels voor het versleutelen enontsleutelen.

• De publieke sleutel kan over een onveilig kanaal verdeeld worden en kan eenbericht versleutelen of een handtekening verifieren.

• De private of geheime sleutel wordt geheim gehouden en kan een berichtontsleutelen of handtekenen.

Een asymmetrisch schema kan vergeleken worden met een brievenbus. Iedereenkan brieven in de brievenbus steken, maar enkel de persoon met de sleutel van debrievenbus, de geheime sleutel, kan de brieven lezen. Dit is een andere aanpak dansymmetrische sleutel cryptografische systemen die gezien kunnen worden als een kistmet een slot op. Iedereen die iets in de kist wil achterlaten moet de sleutel van hetslot hebben. En iedereen die de sleutel heeft kan alle brieven in de kist lezen. Bijasymmetrische sleutel cryptografische schema’s is een veilig kanaal voor sleutelbeheerdus niet langer vereist. De sleutels worden gegenereerd met behulp van eenwegsvalluik functies. Deze eenwegs valluik functies kunnen makkelijk worden toegepastin een richting. De omgekeerde richting is echter zeer rekenintensief. In paragraaf2.3 worden zulke functies verder uitgediept. Men kan deze functies zien als de sleufvan de brievenbus. Deze kan maar in een richting openzwaaien.

7

Page 20: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

2. Cryptografie

Figuur 2.2: Een overzicht van een asymmetrische sleutel cryptografie schema.

2.2.1 Versleuteling

Allereerst kunnen publieke sleutelschema’s gebruikt worden om berichten te versleu-telen en te ontsleutelen. Het versleutelingsschema van een publieke sleutelalgoritmebevat een aantal belangrijke wijzigingen ten opzichte van een symmetrische sleutelal-goritme. Figuur 2.2 geeft hier een voorbeeld van. Alice kiest met behulp van eentrapdoor functie haar geheime en publieke sleutelpaar (d, e). Vervolgens zendt zehaar publieke sleutel e naar Bob. Dit mag over een onbeveiligd kanaal waarop Evemeeluistert. Het bericht m dat Bob aan Alice wil verzenden wordt versleuteld doorde publieke sleutel e van Alice erop toe te passen: Ee(m) = c en daarna over hetonbeveiligde kanaal naar Alice gestuurd. Alice past haar geheime sleutel d toe ophet versleutelde bericht c en bekomt zo terug het originele bericht: Dd(c) = m [1].Dit schema maakt het sleutelbeheer veel eenvoudiger aangezien enkel de publiekesleutel dient uitgedeeld te worden. Eve kan echter het bericht niet ontsleutelen alsze in het bezit is van de publieke sleutel. De geheime sleutel is nodig om het berichtte ontsleutelen en deze wordt niet uitgewisseld.

2.2.2 Authenticatie

In het schema dat beschreven werd in paragraaf 2.2.1 kan de ontvanger (Alice) nietverifieren of het ontvangen bericht effectief van Bob afkomstig is. In vele gevallen isdeze informatie even belangrijk dan de boodschap zelf. Publieke sleutel cryptografievoorziet een schema om een bericht te handtekenen en zo te bevestigen dat hetbericht van de juiste afzender afkomstig is. Figuur 2.2 geeft een overzicht van hetverificatieproces. Bob stuurt een bericht m aan Alice maar wil haar verzekeren dathet bericht van hem afkomstig is. Hij kiest daartoe een privaat, publiek sleutelpaar

8

Page 21: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

2.3. Sterkte van cryptografische systemen

Figuur 2.3: Een overzicht van een asymmetrische sleutel authenticatie schema.

(d, e). Het bericht tekent hij door zijn geheime sleutel d erop toe te passen: Sd(m) =c. Alice ontvangt het getekende bericht c en past de publieke sleutel e van Bobtoe op het bericht om te verifieren of het afkomstig is van Bob. Deze digitalehandtekeningen worden zeer veel gebruikt bij communicatie waar de afkomst vanhet bericht zeer belangrijk is. Zo kunnen e-mailberichten voorzien worden van eendigitale handtekening of transacties over het internet,...

2.3 Sterkte van cryptografische systemen

Cryptografische systemen worden ingedeeld in twee categorieen:

• Informatietheoretisch veilige systemen;

• Getaltheoretisch veilige systemen (computationally secure systems).

Informatietheoretisch veilige systemen berusten op een wiskundige onmogelijkheidom een sleutel te achterhalen of een bericht te ontsleutelen. Getaltheoretischeveiligheid berust op het ontbreken van een efficient algoritme om het gebruiktewiskundige probleem op te lossen. Deze systemen zijn dus in theorie te krakenindien men over een oneindige hoeveelheid rekenkracht beschikt. In de praktijkis de hoeveelheid rekenkracht die men beschikbaar heeft echter beperkt en hiermaken getaltheoretisch veilige systemen gebruik van om informatie te beveiligen. Devolgende paragraaf beschrijft enkele van deze numeriek veilige systemen die gebruiktworden in cryptografische systemen.

9

Page 22: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

2. Cryptografie

2.3.1 Het factorisatieprobleem

Het factorisatieprobleem stelt dat het zeer moeilijk is om een product van heel grotepriemgetallen terug in zijn factoren te ontbinden:

Definitie: Het geheel getal factorisatieprobleem: gegeven een positief geheel getaln, schrijf n als:

n = pe11 pe22 . . . pekk , waar pi paarsgewijze unieke priemfactoren zijn en elke ei ≥ 1.

(2.1)

Dit probleem wordt veelvuldig in de cryptografie gebruikt. Het bekendste systeemgebaseerd op het factorisatieprobleem is het RSA algoritme. Dit algoritme is ge-noemd naar de de bedenkers ervan: Rivest, Shamir en Adleman. Het is een vande eerste publieke sleutelschema’s dat zowel versleuteling als authenticatie toelaat [21].

In het algemeen wordt dit probleem als voldoende getaltheoretisch veilig beschouwdals men een sleutellengte van minstens 1024 bit kiest [11].

2.3.2 Discrete logaritmeprobleem

Een ander wiskundig probleem dat vaak gebruikt wordt, is het discrete logaritmepro-bleem. De discrete logaritme is de inverse operatie van een machtsverheffing in eeneindige cyclische groep.Beschouwen we een cyclische groep G van orde p met generator α en een vermenig-vuldigingsoperatie ∗. Dan is de machtsverheffing gedefinieerd als:

αx = α ∗ α ∗ . . . ∗ α︸ ︷︷ ︸x

= b mod p. (2.2)

De discrete logaritme is vervolgens gedefinieerd als:

logα b = x mod p. (2.3)

Het discrete logaritmeprobleem is dan:

Definitie: Het discrete logaritmeprobleem: gegeven een priemgetal p, generator αvan G van orde p en een element b ∈ Z∗p, vind het geheel getal x,0 ≤ x ≤ p− 2, zodat

αx = b mod p. (2.4)

2.3.3 Het Diffie-Hellmanprobleem

Een laatste wiskundig probleem dat besproken wordt is het Diffie-Hellmanprobleem.Dit is gerelateerd aan het discrete logaritmeprobleem.

Definitie: Het Diffie-Hellmanprobleem: gegeven een priemgetal p, generator α vanG en αa,αb mod p met a, b ∈ Z∗p, vind

αab mod p. (2.5)

10

Page 23: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

Hoofdstuk 3

Wiskundige concepten

In dit hoofdstuk wordt een kort overzicht gegeven van een aantal wiskundige begrippendie vaak gebruikt worden in de cryptografie en die veelvuldig in deze thesis aan bodkomen. Dit hoofdstuk wil zeker geen volledig beeld geven van de achterliggendewiskunde van de cryptografische systemen. Voor een volledigere uiteenzetting verwijsik naar [8], [2] en [16]. Allereerst worden elliptische krommen besproken en ookparingen. Daarna worden deze concepten gelinkt aan de wiskundige problemen diede veiligheid van cryptografische systemen garanderen.

3.1 Elliptische krommen

Elliptische krommen worden reeds lange tijd bestudeerd. In 1985 echter kwamen zeop de voorgrond door de voorstelling van een publieke sleutel cryptografisch schemaop basis van elliptische krommen [8]. Sindsdien is er veel vooruitgang geboekt enworden ze stilaan ook gebruikt in commerciele applicaties.

Een van de belangrijkste redenen waarom elliptische krommen zo populair aanhet worden zijn in cryptografische systemen, is dat de sleutellengte nodig om een-zelfde graad van veiligheid te bieden met bijvoorbeeld RSA veel kleiner kan zijn. AlsRSA een sleutellengte van 1024 bit vereist, dan volstaat een sleutellengte van 160 bitvoor eenzelfde graad van veiligheid [11].

Definitie: Een elliptische kromme E over een veld K is gedefinieerd door de verge-lijking:

E : y2 + a1xy + a3y = x3 + a2x2 + a4x+ a5 (3.1)

waar a1, a2, a3, a4, a5 ∈ K en Λ 6= 0, met Λ de discriminant van E gedefinieerdals volgt:

11

Page 24: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

3. Wiskundige concepten

Figuur 3.1: E1 = y2 = x3 − x (Het auteursrecht op deze afbeelding behoort toeaan [8]).

Λ = −d22d8 − 8d34 − 27d26 + 9d2d4d6d2 = a21 + 4a2d4 = 2a4 + a1a3d6 = a23 + 4a5

d8 = a21a5 + 4a2a5 − a1a3a4 + a2a23 − a24.

(3.2)

Figuur 3.1 en 3.2 zijn voorbeelden van elliptische krommen die aan deze definitievoldoen.

Op deze elliptische krommen kunnen een aantal bewerkingen gedefinieerd wordenzoals een puntsoptelling, puntsverdubbeling en een scalar puntsvermenigvuldiging:

Definitie: Puntsoptelling: Neem P = (x1, y1) ∈ E(K) en Q = (x2, y2) ∈ E(K), metP 6= ±Q. Dan is P +Q = (x3, y3), met

x3 = (y2 − y1x2 − x1

)2 − x1 − x2 en y3 = (y2 − y1x2 − x1

)(x1 − x3)− y1. (3.3)

Dit wordt visueel weergegeven op figuur 3.3.

Definitie: Puntsverdubbeling: Neem P = (x1, y1) ∈ E(K), met P 6= −P . Dan is2P = (x3, y3), met

x3 = (3x21 + a

2y1)2 − 2x1 en y3 = (

3x21 + a

2y1)2(x1 − x3)− y1. (3.4)

12

Page 25: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

3.1. Elliptische krommen

Figuur 3.2: E2 = y2 = x3 + 14x+ 5

4(Het auteursrecht op deze afbeelding behoorttoe aan [8]).

Dit wordt visueel weergegeven op figuur 3.4.

Definitie: Scalar puntsvermenigvuldiging: Neem P ∈ E(K), en k ∈ Z∗p. Dan is

kP = P + P + P + . . .+ P︸ ︷︷ ︸k

. (3.5)

De scalar puntsvermenigvuldiging kan dus herleid worden naar een aantal puntsver-dubbelingen.

3.1.1 Elliptische kromme discrete logaritmeprobleem

Cryptografische systemen gebaseerd op elliptische krommen (ECC) gebruiken re-kenkundige bewerkingen op punten van deze krommen. Er kunnen dankzij dezeelliptische krommen nieuwe wiskundige problemen gebruikt worden om getaltheo-retisch veilige cryptografische systemen te ontwikkelen. Men kan nu een elliptischekromme discrete logaritmeprobleem definieren waarvoor geen efficient algoritmebestaat om het op te lossen:

Definitie: Het elliptische kromme discrete logaritmeprobleem: gegeven een ellipti-sche kromme E gedefinieerd over een eindig veld Fq, een punt P ∈ E(Fq) van orde nen een punt Q ∈ 〈P 〉, zoek het geheel getal l ∈ [0, n− 1] zodat Q = lP .

13

Page 26: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

3. Wiskundige concepten

Figuur 3.3: Geometrische optelling van twee punten op een elliptische kromme:P +Q = R (Het auteursrecht op deze afbeelding behoort toe aan [8]).

l wordt dan de discrete logaritme van Q over de basis P genoemd.

Het voordeel van dit probleem is dat sleutels van een beperkte lengte toch eengrote graad van veiligheid kunnen garanderen. Waar RSA , dat gebruikt maakt vanhet factorisatieprobleem, een sleutellengte van minstens 1024 bit nodig heeft omveilig te zijn, heeft elliptische kromme cryptografie gebaseerd op de aangepaste versievan het discrete logaritmeprobleem al genoeg aan sleutels met een lengte van 160 bitom dezelfde graad van veiligheid te geven [11].

3.2 Paringen

Een tweede concept is de paring of pairing. Paringen werden initieel gebruiktom het elliptische kromme discrete logaritmeprobleem efficient op te lossen (DeMOV-aanval) [17]. Paringen kunnen echter ook constructief ingezet worden incryptografische systemen aangezien ze toelaten dat er nieuwe wiskundige problemenmee kunnen gebouwd worden om getaltheoretische cryptografische systemen tebeveiligen.

Definitie: Laat G1 en G2 additieve cyclische groepen zijn van orde p en Gt eenmultiplicatieve cyclische groep van orde p met P ∈ G1, Q ∈ G2 generators van hunrespectievelijke groepen. Dan is een paring een niet degeneratieve bilineaire mapping

14

Page 27: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

3.2. Paringen

Figuur 3.4: Geometrische verdubbeling van een punt op een elliptische kromme:P + P = R (Het auteursrecht op deze afbeelding behoort toe aan [8]).

van:

e : G1 ×G2 → Gt. (3.6)

Waarvoor volgende eigenschappen gelden:

1. Bilineair:∀P, P ′ ∈ G1 en ∀Q,Q′ ∈ G2 : e(P + P ′, Q) = e(P,Q)e(P ′, Q) en

e(P,Q+Q′) = e(P,Q)e(P,Q′),

2. Niet degeneratief: e(P,Q) 6= 1,

3. e moet efficient te berekenen zijn.

(3.7)

De bilineairiteitseigenschap kan ook anders geformuleerd worden(additieve notatievoor G1 en G2):

∀a, b ∈ Z∗p : e(aP, bQ) = e(P,Q)ab. (3.8)

Deze formulering van de eigenschap zal later gebruikt worden bij het besprekenvan wiskundig moeilijke problemen met paringen.Indien G1 = G2, dan spreken we van een symmetrische paring.

15

Page 28: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

3. Wiskundige concepten

3.2.1 Wiskundige problemen gebaseerd op paringen

Paringen laten toe een grote groep van nieuwe wiskundige problemen te definierendie gebruikt kunnen worden in cryptografische systemen. De meeste hiervan zijngebaseerd op het Diffie-Hellmanprobleem dat reeds besproken werd in paragraaf 2.3.

Een van de varianten is het co-bilineaire Diffie-Hellmanprobleem:

Definitie: Het co-bilineaire Diffie-Hellmanprobleem: gegeven P ∈ G1,Q ∈ G2,aPen bP met a, b ∈ Z∗p, bereken

e(P,Q)ab. (3.9)

16

Page 29: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

Hoofdstuk 4

Drempelcryptografie

Na een inleiding van cryptografie in hoofdstuk 2 en een bespreking van elliptischekrommen en paringen in hoofdstuk 3 wordt nu het concept drempelcryptografiebesproken. Eerst wordt het algemene concept uitgelegd en worden de voordelen ervanbesproken. Vervolgens wordt er verder ingegaan op iedere fase van drempelschema’s.Als laatste wordt het drempelschema van Simoens et al. [24] bekeken aangezien ditde basis vormt van de implementatie in deze thesis.

4.1 Drempelschema’s

Drempelcryptografische schema’s zijn een variant van publieke sleutel cryptografischesystemen. Ze zorgen ervoor dat een aantal verschillende partijen kunnen samenwerkenen als een entiteit kunnen deelnemen aan een publieke sleutel cryptografisch systeem.De geheime sleutel van de entiteit zal verdeeld worden over deze verschillende partijen.Echter niet alle partijen zijn tegelijk vereist om te kunnen deelnemen. Als n het totaalaantal partijen is dan wordt gesteld dat t het aantal partijen is dat minstens aanwezigmoet zijn om de entiteit bijvoorbeeld een ontsleuteling uit te laten voeren. Dezeparameter t wordt de drempel genoemd en men spreekt van een (t, n) drempelschema.

De reden voor het ontwikkelen van deze drempelschema’s zit in de veiligheids-voordelen ervan. Door de geheime sleutel over verschillende apparaten te verdelen eneen juiste parameter t te kiezen, verbetert de veiligheid van publieke cryptografischesystemen en ook de flexibiliteit ervan. Immers:

• Het verlies van aantal delen van de sleutel kan opgevangen worden indien n > t.Zolang men beschikt over t delen van de sleutel kan men deze reconstrueren enberichten ontsleutelen. n− t stukken van de sleutel kunnen dus verloren gaan.Dit zorgt voor een verhoogde betrouwbaarheid en flexibiliteit, want niet alleapparaten moeten ten alle tijde aanwezig zijn voor een cryptografische actie.Problemen met defecte of gestolen apparaten kunnen dus opgevangen worden,alsook bijvoorbeeld apparaten met een lege batterij.

17

Page 30: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

4. Drempelcryptografie

Figuur 4.1: Door 2 punten kunnen oneindig veel veeltermen van graad 2 getekendworden (Het auteursrecht op deze afbeelding behoort toe aan Vlsergey).

• Een aanvaller moet over minstens t stukken van de sleutel beschikken om devolledige sleutel te reconstrueren. Dit verhoogt de veiligheid van het cryptogra-fische systeem.

Bij drempelschema’s is het de bedoeling dat een geheim (secret), bijvoorbeeld degeheime sleutel, verdeeld wordt over een aantal partijen of apparaten. De partij die hetgeheim verdeelt wordt deler (dealer) genoemd en de deelnemende partijen ontvangenelk een deel (share), ook sleuteldeel genoemd. Deze schema’s zijn opgebouwd uit eenaantal fases:

• De verdelingsfase. De deler kiest een geheim en berekent de sleuteldelen vooralle partijen. Deze sleuteldelen worden verstuurd naar deze partijen.

• De verificatiefase. Iedere partij verifieert het verkregen sleuteldeel. Indien dezeverificatie mislukt, betekent dit dat er iets misgelopen is bij het verdelen vanhet geheim en zal het drempelschema afgebroken worden.

• De reconstructiefase. Het geheim wordt gereconstrueerd uitgaande van deverschillende sleuteldelen.

• De toepassingsfase. Met het gereconstrueerde geheim wordt een cryptografischeactie uitgevoerd zoals een versleuteling of ontsleuteling van een bericht.

4.1.1 De verdelingsfase

In de verdelingsfase wordt het geheim, bijvoorbeeld een private sleutel, verdeeldin sleuteldelen voor alle partijen. Shamir ontwierp een systeem om een geheim teverdelen over verschillende partijen dat voldoet aan bovenstaande voorwaarden [23].Het is gebaseerd op het feit dat een functie f(x) van graad t− 1 volledig bepaald isdoor t punten ervan. Figuur 4.1 toont dat door 2 punten oneindig veel veeltermenvan graad 2 getekend kunnen worden. Om deze veelterm volledig te bepalen zijn dusminstens 3 punten vereist. Deze eigenschap werd door Shamir uitgebuit.

18

Page 31: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

4.1. Drempelschema’s

Figuur 4.2: Visuele voorstelling van Shamir’s geheimverdelingsschema (Het au-teursrecht op deze afbeelding behoort toe aan Michael Frei).

Voor een (t, n) drempelschema wordt een veelterm van graad t− 1 gekozen: f(x) =a0+a1x+a2x

2+. . .+atxt−1. a0 wordt gelijkgesteld aan het te verdelen geheim. Dit is

het punt waar de veelterm de y-as snijdt. Vervolgens krijgt iedere partij die deelneemteen punt op de veelterm toegewezen: (x1, f(x1)), (x2, f(x2)), . . . , (xn, f(xn)). Iedereverzameling van t punten kan de veelterm en vervolgens het geheim reconstrueren.Bovendien is het onmogelijk iets over de veelterm of het geheim te zeggen indienmen over minder dan t punten beschikt zoals reeds bleek uit figuur 4.1. Figuur 4.2geeft het schema van Shamir visueel weer.

4.1.2 De verificatiefase

De tweede fase van drempelschema’s is de verificatiefase. Deze fase is vereist omsleuteldelen die fouten bevatten te kunnen ontdekken. Deze fouten kunnen ontstaanbij het versturen van de sleuteldelen of kunnen ook opzettelijk gemaakt wordendoor een partij die het drempelschema wil verstoren. Om ervoor te zorgen datde sleuteldelen die de deler uitzendt naar de ander partijen geen fouten bevatten,werd door Feldman een systeem voorgesteld om deze sleuteldelen te verifieren ophun correctheid [5]. Zulke schema’s worden verifieerbare geheimverdelingschema’sgenoemd(VSS schema’s). De geheime sleutel wordt verdeeld met het schema vanShamir uit paragraaf 4.1.1. De coefficienten a0, a1, . . . , at van de gekozen veeltermworden echter gepubliceerd, verborgen in de exponent van een generator g van degroep Zp waarin een discreet logaritmeprobleem gedefinieerd kan worden. Dezeverbintenissen of commitments Ak = gak mod p voor k = 0, . . . , t worden dan doorde andere partijen gebruikt om te verifieren of het sleuteldeel dat ze gekregen hebbengeen fouten bevat door na te gaan dat

gf(zi) =

t∏k=0

(Ak)ik mod p. (4.1)

19

Page 32: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

4. Drempelcryptografie

Een probleem van dit schema is dat het gekozen geheim a0 ook indirect uit-gezonden wordt in de vorm ga0 . Indien men dus over een oneindige hoeveelheidrekenkracht beschikt, kan men dus alle waardes van a0 afgaan en kijken of een vandeze overeenstemt met ga0 . Dit schema is dus enkel getaltheoretisch veilig. Pedersenpubliceerde om deze reden een variant op dit schema dat informatietheoretisch veiligis indien de aanvaller logg h niet kan berekenen [18]. Het gebruikt twee willekeurig

gekozen veeltermen f(x) =∑

k akzk en f ′(x) =

∑k a′kzk van graad t− 1. f(0) bevat

het geheim a0. De coefficienten worden verborgen in de exponent van de generator gvan de groep Zp en h ∈ Z∗p, een subgroep van Zp en vormen zo de verbintenissen:

Ak = gakha′k mod p voor k = 0, . . . , t. (4.2)

Alle partijen kunnen hun verkregen sleuteldeel verifieren door volgende vergelij-king te controleren:

gf(zi)hf′(zi) =

t∏k=0

(Ak)ik mod p. (4.3)

De voorgaande verificatiesystemen vereisen een beveiligd kanaal tussen de deleren de andere partijen. Dat maakt dat een deelnemende partij enkel zijn eigenverkregen sleuteldeel kan verifieren. Een partij kan dus niet weten of de deler aanalle partijen juiste sleuteldelen gegeven heeft. Heidarvand en Villar stelden eenpubliek verifieerbaar geheimverdelingschema (PVSS schema) op dat toelaat dat allepartijen alle sleuteldelen kunnen verifieren [9]. Dit schema vereist ook geen beveiligdkanaal meer tussen de deler en de andere partijen. De sleuteldelen worden dus overpublieke kanalen verstuurd en de deler kan door elke partij gecontroleerd wordenalsook door een derde partij die buiten het drempelschema staat. Dit zorgt ervoordat alle partijen eenzelfde onveilig kanaal kunnen gebruiken om te communiceren. Erwordt gebruik gemaakt van paringen om deze publieke verifieerbaarheid mogelijk temaken. De verdelingsfase van het schema is gebaseerd op het schema van Shamir uitparagraaf 4.1.1 met de aanpassing dat het sleuteldeel verborgen wordt in de exponentvan de publieke sleutel van het apparaat waarvoor het deel bedoeld is:

Ci = Sf(xi)i . (4.4)

Iedereen kan deze sleuteldelen verifieren door de volgende gelijkheid te verifieren:

e(Xi, Si) = e(P,Ci) met Xi =t−1∏k=0

Aik

i . (4.5)

Indien deze verificatie mislukt, wordt het drempelschema gestopt.

4.1.3 De reconstructiefase

Als een geheime sleutel verdeeld is over de verschillende partijen moet deze ookkunnen gereconstrueerd worden om gebruikt te kunnen worden voor het versleutelenof ontsleutelen van berichten. Hiertoe dient de reconstructiefase. In deze fase worden

20

Page 33: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

4.1. Drempelschema’s

minstens t apparaten bij elkaar gebracht om de geheime sleutel te reconstrueren. Zebestaat uit twee delen:

• De apparaten die hun sleuteldelen ter beschikking stellen moeten bewijzen datdeze overeenkomen met de sleuteldelen van de verdelingsfase. Dit kan gebeurenmet dezelfde test als tijdens de verificatiefase [7] of met een nulkennisbewijs;

• t delen van het geheim worden terug gecombineerd tot het totale geheim.Hiervoor kan Lagrangeveelterminterpolatie gebruikt worden.

Nulkennisbewijzen

Nulkennisbewijzen (zero knowledge proofs) worden gebruikt om informatie te ve-rifieren zonder dat deze informatie bekend gemaakt dient te worden. Zulke bewijzenmoeten aan drie kenmerken voldoen:

1. Volledigheid: Als het bewijs positief is, zal een eerlijke verifieerder overtuigdzijn van de juistheid.

2. Soliditeit: Als het bewijs negatief is, kan een eerlijke verifieerder niet overtuigdworden dat het bewijs toch positief is.

3. Nulkennis: Als het bewijs positief is, zal een eerlijke verifieerder niet meerweten dan dat het bewijs positief is.

Dit kan geıllustreerd worden met het voorbeeld van de grot van Ali Baba. Dezegrot is cirkelvormig. Er zijn dus twee paden die in de grot samenkomen en eenmagische deur voorkomt dat je van de ene gang naar de andere kan(Figuur 4.3). Omde deur te openen, heb je een wachtwoord nodig. Peggy kent dit wachtwoord en Victorwil het wachtwoord van Peggy kopen, maar enkel als ze het juiste wachtwoord heeft.Peggy wil het wachtwoord pas geven als Victor betaald heeft. Een nulkennisbewijskan Peggy en Victor uit hun impasse helpen:

• Victor wacht buiten de grot als Peggy naar binnen gaat en een willekeurigegang kiest.

• Victor gaat nu aan de ingang van de grot staan en roept welke gang Peggymoet uitkomen.

• Peggy heeft nu 50 procent kans dat ze al in de juiste gang is. Is ze echter inde verkeerde gang en kent ze het wachtwoord, dan kan ze toch nog naar dejuiste gang indien ze het wachtwoord kent. Kent ze het wachtwoord niet en zitze in de verkeerde gang, dan kan ze Victor er niet van overtuigen dat ze hetwachtwoord heeft.

• Dit kan zoveel keer herhaald worden als Victor nodig acht om ervan overtuigdte zijn dat Peggy het wachtwoord kent.

21

Page 34: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

4. Drempelcryptografie

Figuur 4.3: De grot van Ali Baba. Dit is een voorbeeld van een nulkennisbewijs(Hetauteursrecht op deze afbeelding behoort toe aan Michael Frei).

Langrangeveelterminterpolatie

Lagrangeveelterminterpolatie laat toe om aan de hand van een aantal punten van eenveelterm deze veelterm te reconstrueren. Er zijn zoveel punten nodig als de graadvan de veelterm +1. De reconstructie van de veelterm is dan:

f(x) =

t∑j=1

yjlj(x), (4.6)

met

lj(x) =∏

0≤m≤km6=j

x− xmxj − xm

. (4.7)

4.1.4 Gebruik in cryptografische systemen

Tot nu toe werd er enkel gesproken over het verdelen en reconstrueren van een geheimtussen verschillende partijen. Als echter een private sleutel verdeeld wordt, kandeze gebruikt worden in publieke sleutel cryptografische systemen zoals besproken inhoofdstuk 2. Deze cryptografische systemen hoeven zelfs niet te weten dat de sleuteldie gebruikt wordt, verdeeld is opgeslagen. Voorbeelden van zulke publieke sleutelcryptografische systemen die met drempelschema’s kunnen samenwerken zijn hetElGamalversleutelingsschema of het Schnorr digitale handtekeningsschema.

Elgamalversleutelingsschema

Het ElGamalversleutelingsschema [4] is een publieke sleutel versleutelingsschemazoals besproken in paragraaf 2.2.1.

22

Page 35: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

4.1. Drempelschema’s

De partij die een bericht m wil handtekenen kiest een private sleutel x : 0 ≤ x ≤ q−1en de overeenkomstige publieke sleutel y is dan y = gx.

• Versleuteling: De verzender van het bericht m kiest een willekeurige k : 0 ≤k ≤ q− 1 en berekent de willekeurigheid R = gk. Vervolgens wordt s berekend:s = yk. Het versleutelde bericht is dan e = ms = myk.

• Ontsleuteling: Het versleutelde bericht e wordt ontsleuteld met s: m = es−1.

Schnorr digitale handtekeningsschema

Het Schnorr digitale handtekeningsschema [22] kan gedefinieerd worden in een cy-clische multiplicatieve groep G van orde q met generator g waarin het discretelogaritmeprobleem moeilijk oplosbaar is. Er moet ook een hashfunctie H beschikbaarzijn.

De partij die een bericht m wil handtekenen kiest een private sleutel x : 0 < x < qen de overeenkomstige publieke sleutel y is dan y = gx.

• Handtekening: Kies een willekeurige k : 0 < k < q, bereken r = gk en e =H(m‖r) (waar ‖ concateneren is). De handtekening s is dan s = (k−xe) mod q.

• Verificatie: Bereken rver = gsye en ever = H(m‖rver). Als e = ever dan is dehandtekening geverifieerd.

4.1.5 Gedistribueerde sleutelgeneratie

De tot nu toe besproken drempelschema’s hebben een partij die het volledige geheimbewaart, deler, en stukken ervan verdeelt naar de andere partijen. In sommigegevallen wil men voorkomen dat 1 partij het volledige geheim kent. Dit kan het gevalzijn als we een geheime sleutel van een publieke sleutel cryptografisch systeem willenverdelen zonder dat iemand deze sleutel volledig in zijn bezit heeft. Gedistribueerdesleutelgeneratie (DKG) is een drempelschema waarbij dit niet het geval is. Voor dezeschema’s is dus geen vertrouwde partij nodig die het volledige geheim in bewaringhoudt en het schema initieert.

Gedistribueerde sleutelgeneratieschema’s volgen een gelijkaardige werkwijze als voor-gaande drempelschema’s met het verschil dat iedere partij die deelneemt, een VSS ofPVSS uitvoert ( [7]) zoals in de voorgaande paragraaf gedefinieerd. Iedereen wordtdus als deler beschouwd. Men spreekt dus over n delers in een DKG schema:

• De verdelingsfase. Iedere partij initieert een VSS-schema door een geheim tekiezen en dit te verdelen naar de andere partijen. Er worden dus n VSS-schema’sopgestart die tegelijkertijd kunnen lopen.

• De verificatiefase. Iedere partij verifieert de verkregen sleuteldelen van deandere partijen. Per apparaat zijn er dus n sleuteldelen die geverifieerd moeten

23

Page 36: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

4. Drempelcryptografie

worden. Als alle sleuteldelen van een deler correct verifieren, wordt de deleraan een lijst met gekwalificeerde delers (QUAL) toegevoegd. Nadien telt iederapparaat de correct geverifieerde sleuteldelen Cj,i uit QUAL bij elkaar op omzo een totaal sleuteldeel Ci per apparaat i te krijgen:

Ci(x) =∑

i∈QUALCj,i, met Cj,i het sleuteldeel van deler j voor apparaat i .

(4.8)

• De reconstructie- en toepassingsfase. Het geheim wordt gereconstrueerd uit-gaande van de verschillende totale sleuteldelen Ci als dit het vereist is voor eenversleuteling of ontsleuteling zoals reeds uitgelegd in paragraaf 4.1.3 en 4.1.4.

4.2 Het basisdrempelschema voor de implementatie

Tot nu toe werd een algemeen overzicht gegeven van drempelcryptografie en geheim-verdelingsschema’s. In deze paragraaf wordt een specifiek drempelschema, ontwikkelddoor Simoens et al. [24] besproken. Dit schema heeft een aantal kenmerken dat hetideaal maakt om als basis te dienen voor de implementatie in deze thesis. Dezekenmerken hebben betrekking tot de deelname van apparaten met een beperktehoeveelheid rekenkracht en zonder veilige opslag aan drempelschema’s. Allereerstworden deze kenmerken besproken en ook hoe dit schema het mogelijk maakt voorzulke apparaten met beperkingen om aan drempelschema’s deel te nemen. Vervol-gens wordt het publiek verifieerbaar geheimverdelingsschema dat ze ontwikkeldenbesproken en daarna het volledige gedistribueerde sleutelgeneratieschema. Ten slottewordt het versleutelen en ontsleutelen van berichten met dit schema besproken.

4.2.1 Kenmerken van het schema

Er zijn reeds vele theoretische geheimverdelingsschema’s gepubliceerd( [23], [18], [5]en [9]). Het schema van Simoens et al. [24] maakt gebruik van elliptische krommenom de benodigde sleutellengtes klein te houden. Om publieke verifieerbaarheid tecreeren, wordt er gebruikgemaakt van paringen. Het schema biedt echter ook tweebelangrijke kenmerken die voor de implementatie in deze thesis zeer relevant zijn:

• Door een aanpassing van het Elgamalversleutelingsschema kunnen apparatenmet beperkte rekenkracht deelnemen aan ontsleutelingsacties. Ze moetenhiervoor slechts een scalar puntsvermenigvuldiging uitvoeren en een eigenprivate publieke sleutelpaar kunnen aanbieden. Dit wordt verder besproken inparagraaf 4.2.4.

• Het verhullen van de sleuteldelen in de exponent van de publieke sleutel van hetapparaat in kwestie zorgt dat de sleuteldelen over publieke kanalen verstuurdkunnen worden, alsook opgeslagen op plaatsen die voor iedereen toegankelijkzijn. Een speciale reconstructiefase zorgt er ook voor dat het sleuteldeel nooit

24

Page 37: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

4.2. Het basisdrempelschema voor de implementatie

De deler verdeelt het geheim xQ, met een willekeurig gekozen x ∈R Z` :

1. De deler construeert twee veeltermen f(z) en f ′(z) van graad t door wille-keurige coefficienten ck, c

′k ∈R Z∗` te kiezen voor k = 0 . . . t , behalve c0, want

c0 = x :

f(z) = c0 + c1z + · · ·+ ctzt , f ′(z) = c′0 + c′1z + · · ·+ c′tz

t .

De deler zendt de verbintenissen uit

Ak = ckP + c′kP′ , k = 0 . . . t .

2. Voor ieder apparaat Di, berekent en zendt de deler

xiSi , x′iSi met xi = f(i) , x′i = f ′(i) , i = 1 . . . n .

3. Ieder apparaat verifieert de uitgezonden sleuteldelen voor alle Di door vol-gende vergelijking na te gaan:

e(P, xiSi) · e(P ′, x′iSi) =

t∏k=0

e(Ak, Si)ik . (4.9)

Als deze test mislukt wordt het schema afgebroken.

Figuur 4.4: Het publiek verifieerbaar geheimverdelingsschema van [24].

in onbeveiligde vorm, niet verhult in de exponent van de publieke sleutel,benodigd is. Deze aanpassingen worden besproken in paragraaf 4.2.3.

4.2.2 Publiek verifieerbaar geheimverdelingsschema

Het publiek verifieerbaar geheimverdelingsschema dat in de paper gebruikt wordtin [24] is gebaseerd op het publiek verifieerbaar schema van Pedersen zoals uitgelegdin 4.1.2. Figuur 4.4 geeft de verschillende stappen aan. Na afloop van het schemazal ieder apparaat een sleuteldeel hebben gekregen van de deler.

4.2.3 Gedistribueerde sleutelgeneratieschema’s

Vervolgens wordt het PVSS-schema gebruikt in een gedistribueerde sleutelgeneratie-schema. In de eerste fase voert iedere partij die deelneemt een PVSS schema uit enstuurt naar elke partij een sleuteldeel. Dit wordt besproken in figuur 4.5. Deze sleu-teldelen worden vervolgens gevalideerd. In de tweede fase wordt een nulkennisbewijsuitgevoerd om de sleuteldelen die aangeleverd worden te verifieren. Een overzichtvan deze tweede fase wordt gegeven in figuur 4.6.

25

Page 38: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

4. Drempelcryptografie

Alle deelnemende apparaten Di voeren gelijktijdig een PVSS schema uit. Debeveiligde subdelen worden enkel uitgestuurd als alle verbintenissen van alleapparaten ontvangen zijn.

1. Elke Di kiest twee veeltermen fi(z) en f ′i(z) van graad t door willekeurigecoefficienten ci,k, c

′i,k ∈R Z∗` voor k = 0 . . . t:

fi(z) = ci,0 + ci,1z + · · ·+ ci,tzt , f ′i(z) = c′i,0 + c′i,1z + · · ·+ c′i,tz

t ,

en zendt de verbintenissen uit

Ai,k = ci,kP + c′i,kP′ , k = 0 . . . t .

2. Voor ieder apparaat Dj , berekent en zendt Di

xijSj , x′ijSj met xij = fi(j) , x

′ij = f ′i(j) .

3. Ieder apparaat verifieert de uitgezonden delen voor alle Di door te testen dat

e(P, xijSj) · e(P ′, x′ijSj) =t∏

k=0

e(Ai,k, Sj)jk .

Elke Di die niet gediskwalificeerd is, wordt toegevoegd aan de lijst met gekwa-lificeerde apparaten, QUAL. De private sleutel van de groep is gedefinieerd alsxQ =

∑i∈QUAL ci,0Q . Voor elke Di wordt zijn beveiligde sleuteldeel als volgt

berekendCi = xiSi =

∑j∈QUAL

xjiSi .

Figuur 4.5: Fase 1 van het gedistribueerde sleutelgeneratieschema van Simoenset al. [24]

4.2.4 Versleuteling en ontsleuteling

Na een gedistribueerde sleutelgeneratiefase is er een publieke sleutel beschikbaarwaarmee berichten versleuteld kunnen worden. Er wordt gebruik gemaakt van eengewijzigde versie van het ElGamalschema uitgelegd in paragraaf 4.1.4. Een overzichtvan het gewijzigde schema wordt gegeven in figuur 4.7.

• De versleutelingsfase blijft ongewijzigd. Een bericht m wordt versleuteld metde publieke sleutel y en een willekeurig gekozen k ∈ Z∗p:

e = myk. (4.10)

• De ontsleutelingsfase is herschreven om ervoor te zorgen dat totale geheimesleutel niet gereconstrueerd hoeft te worden. Er wordt rechtstreeks gebruik

26

Page 39: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

4.2. Het basisdrempelschema voor de implementatie

De gekwalificeerde apparaten stellengxi ter beschikking om de publieke sleutely = gx te berekenen.

1. Elke Di in QUAL zendt gxi en siP′′. Men kan eenvoudig verifieren dat

e(siP′′, Q) = e(P ′′, Si) . Ook kiest elke Di een willekeurige ri ∈R Z∗` en

zendt de verbintenissen gri en riSi.

2. Generatie van de uniforme uitdaging, nodig in het nulkennisbewijs.

• Apparaten QUAL voeren een gedeelde PVSS uit en bekomen beveiligdedelendiSi en d′iSi, die worden verzonden en geverifieerd. De verbinte-nissen van van de gedeelde PVSS worden genoteerd als Bi,k .

• Open reconstructie van dQ. Apparaten in QUAL zenden diQ en d′iQ.Deze worden geverifieerd door te testen dat

e(P, diQ) · e(P ′, d′iQ) =t∏

k=0

e(Bk, Q)jk

for Bk =∑

i∈QUALBi,k .

• Als d = ψ(dQ), waar ψ een bijective mapping is van G2 naar Z`.

3. Elke Di zendt Zi = s−1i (riSi + dCi) = (ri + dxi)Q. Ieder apparaat kanverifieren dat

e(P,Zi) = gri(gxi)d and e(siP′′, Zi) = e(P ′′, riSi) · e(P ′′, Ci)d .

4. De publieke sleutel y wordt berekend van t+ 1 correct geverifieerde gxi alsy =

∏gxiλi .

Figuur 4.6: Fase 2 van het gedistribueerde sleutelgeneratieschema van Simoenset al. [24]

gemaakt van de sleuteldelen van de verschillende partijen. De private sleutelvan het deelnemende apparaat wordt gebruikt om samen met de willekeurigheidR een partiele ontsleuteling te berekenen:

Di = s−1i R. (4.11)

Vervolgens zal een apparaat deze partiele ontsleutelingen ontvangen en verifierendoor de volgende vergelijking te testen:

e(Di, Si) = e(R,Q). (4.12)

Dit apparaat zal ook de uiteindelijke ontsleuteling uitvoeren aan de hand vanLangrangeinterpolatie met de sleuteldelen van t+ 1 apparaten.

27

Page 40: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

4. Drempelcryptografie

• Versleuteling: Om een bericht m ∈ GT met de publieke sleutel y teversleutelen, wordt een willekeurige k ∈R Z∗` gekozen en dan is de versleuteldeboodschap:

(R, e) = (kP,myk) ∈ G1 ×GT .

• Ontsleuteling: Om de boodschap (R, e) te ontsleutelen, levert ieder appa-raat Di een partiele ontsleuteling

Di = s−1i R = s−1i kP ∈ G1 .

Het combinerend apparaat ontvangt alle Di en verifieert e(Di, Si) = e(R,Q).Daarna combineert hij t+ 1 bijdrages om het bericht te ontsleutelen:

m =e

dmet d =

∏e(Di, Ci)

λi .

Figuur 4.7: De aangepaste versie van het ElGamalversleutelingsschema van [24].

28

Page 41: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

Hoofdstuk 5

Ontwerp

Zoals reeds eerder aangegeven is het doel van deze thesis het analyseren van depraktische aspecten van een implementatie van een drempelschema voor apparatenmet beperkte rekenkracht en zonder veilige opslag. De voorgaande hoofdstukkenboden een theoretische inleiding in de drempelcryptografie. Ook werd een specifiekdrempelschema besproken in paragraaf 4.2. Dit drempelschema van Simoens etal. [24] wordt geımplementeerd in deze thesis. In dit hoofdstuk wordt deze praktischezijde van het schema belicht en zullen er oplossingen gezocht worden om dezepraktische problemen op te lossen. Ook wordt er een overzicht gegeven van het geheleprogrammaverloop.

5.1 Praktische aspecten en ontwerpbeslissingen

De keuze voor het schema van Simoens et al. [24] als basis voor het programmavloeit voort uit het feit dat hierdoor de twee belangrijkste problemen, die deze thesisprobeert aan te pakken, omzeild kunnen worden:

• De beperking op de rekenkracht van de apparaten wordt omzeild door eenaanpassing van de ontsleuteling uitgelegd in paragraaf 4.2.4. Een apparaatmoet slechts een scalar puntsvermenigvuldiging kunnen uitvoeren om aan hetElGamalschema te kunnen deelnemen.

• De noodzaak voor veilige opslag wordt omzeild door het sleuteldeel eerst teverhullen in de exponent van de publieke sleutel van het apparaat waarvoorhet bestemd is. Ook is het schema zo geschreven dat het sleuteldeel nooitonverhuld nodig is.

Deze kenmerken zorgen ervoor dat dit schema een goede basis vormt voor onze im-plementatie. Er blijven echter nog een aantal praktische problemen. Deze praktischeproblemen worden in deze paragraaf besproken alsook de oplossingen die ervoorontworpen zijn.

29

Page 42: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

5. Ontwerp

5.1.1 Soorten apparaten

Het drempelschema van Simoens et al. [24] is gebaseerd op bilineaire paringen voorde verificaties. Deze paringen zijn echter rekenintensief. Om het mogelijk te makenvoor apparaten met beperkte rekenkracht om aan dit schema deel te nemen moeteen gedeelte van de verificatie door een externe partij gedaan worden of moet zeweggelaten worden. Aangezien voor de veiligheid van het schema getracht moetworden om bij zo weinig mogelijk apparaten de verificatiefase weg te laten, is ergekozen om drie categorien van apparaten te creeren:

• Apparaten met een grote hoeveelheid aan rekenkracht. Zij kunnen vlot paringenuitvoeren en kunnen deelnemen aan het volledige schema en voeren zelf deverificatie van de delers uit. Deze categorie van apparaten is ook de enigedie een reconstructie van de publieke sleutel of een ElGamalontsleuteling kaninitialiseren, omdat voor beide operaties een veelvoud aan paringen moetuitgerekend worden.

• Apparaten met een gemiddelde hoeveelheid rekenkracht. Zij nemen deel aan hetvolledige schema maar laten de verificatieberekeningen over aan een vertrouwdederde partij omdat het uitvoeren van paringen traag is.

• Apparaten met een beperkte hoeveelheid rekenkracht. Deze apparaten kunnengeen paringen uitvoeren. Aangezien er bij het gedistribueerde sleutelgenera-tieschema van paragraaf 4.2.3 buiten de verificatiefase nog steeds een paringuitgevoerd moet worden, kunnen deze apparaten niet actief aan de reconstruc-tiefase van het gedistribueerde sleutelgeneratieschema deelnemen. Ze zullen weleen totaal sleuteldeel ontvangen maar kunnen dat niet inzetten om de publiekesleutel te reconstrueren. Zij kunnen enkel deelnemen aan de ElGamalontsleute-ling zoals uitgelegd in paragraaf 4.2.4 voor de ontsleuteling van berichten enniet aan het gedistribueerde sleutelgeneratieschema.

Apparaten uit deze drie categorieen kunnen dus samen deelnemen aan het drempel-schema dat geımplementeerd is mits in achtneming van de voorgaande voorwaarden.Er zijn echter nog 2 extra voorwaarden. Voor de reconstructie van de publieke sleutelmoet minstens een apparaat uit eerste categorie aanwezig zijn om de sleuteldelen tecombineren tot de publieke sleutel. Dezelfde voorwaarde geldt voor de ElGamalont-sleuteling. Dit is nodig omdat beide fases paringen gebruiken voor het combinerenvan de sleuteldelen.

5.1.2 Het verificatieprobleem

Er is dus gekozen om voor bepaalde apparaten de verificatie over te laten aan eenonafhankelijke vertrouwelijke derde partij. Deze partij zal dan de verificatie uitvoerenmet behulp van paringen en vervolgens een oordeel vellen over de deler in kwestie.Dit antwoord wordt dan verstuurd naar de apparaten die hierom gevraagd hadden.Deze werkwijze is mogelijk aangezien alle sleuteldelen publiek verifieerbaar zijn. De

30

Page 43: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

5.1. Praktische aspecten en ontwerpbeslissingen

Figuur 5.1: Opstelling van de verschillende apparaten

invoering van deze onafhankelijke vertrouwelijke verificatiepartij brengt twee nieuweproblemen met zich mee:

• Er moet kunnen aangetoond worden dat het ontvangen antwoord effectiefafkomstig is van de verificator en niet van een buitenstaander die probeert hetdrempelschema te verstoren. Om dit probleem op te lossen zijn er meerdereoplossingen mogelijk. De verificator zou via lampjes kunnen aangeven ofeen deler eerlijk is of niet. De gebruiker moet dan zelf de oneerlijke delersverwijderen uit het schema. Een andere oplossing kan gevonden worden inhet handtekenen van de berichten die de verificator uitzendt. De berichtenzouden bijvoorbeeld met een Schnorr handtekeningsschema zoals besproken inparagraaf 4.1.4 gehandtekend kunnen worden. Dit zorgt wel voor een extraoverhead in het schema omdat het apparaat deze handtekening moet verifieren.

• De verificator wordt eerlijk verondersteld. Indien de verificator valsspeelt inhet schema kan dit ernstige gevolgen hebben. We gaan er in deze thesis vanuitdat deze onafhankelijke partij eerlijk werkt.

Figuur 5.1 geeft een overzicht van de opstelling en de communicatie tussen deverificator en de verschillende categorieen van apparaten. Voor de implementatiein deze thesis is gekozen om de oneerlijke delers met lampjes aan te geven op deverificator en ze door de gebruiker te laten verwijderen.

5.1.3 Het inverteringsprobleem

Het gedistribueerde sleutelgeneratieschema van Simoens et al. [24] definieert depublieke sleutel van een apparaat i als siQ met si de private sleutel van het apparaat

31

Page 44: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

5. Ontwerp

en Q een generator van G2. Deze notatie zorgt er echter voor dat bij de ontsleutelingvan een bericht ieder apparaat dat hieraan deelneemt de inverse van zijn privatesleutel moet berekenen, want de partiele ontsleuteling, zoals besproken in paragraaf4.2.4, is

Di = s−1i R. (5.1)

Inverteren is echter een operatie die veel rekenkracht vergt en we wensen de benodigderekenkracht tot een minimum te herleiden. Om deze reden is ervoor gekozen om depublieke sleutel te definieren als s−1Q. Dit maakt dat de inverse van de private sleutelniet meer vereist is in de ontsleutelingsfase van het aangepaste ElGamalschema, wantde partiele ontsleuteling is nu

Di = siR. (5.2)

Deze aanpassing maakt dat er wel een inversie vereist is bij het berekenen van depublieke sleutel tijdens de gedistribueerde sleutelgeneratiefase. Deze stap gebeurtechter slechts eenmaal en dit vormt dus geen grote extra rekenkost.

5.2 Programmaverloop

Het verloop van het programma, dat het drempelschema uitvoert, wordt nu geschetst:Allereerst kan het programma in drie belangrijke delen opgesplitst worden:

1. De initialisatiefase;

2. De gedistribueerde sleutelgeneratiefase;

3. De toepassingsfase.

5.2.1 De initialisatiefase

De initialisatiefase voert twee belangrijke taken uit:

• De publieke paramaters zoals de generators van de verschillende groepen wordengekozen en verdeeld naar alle partijen.

• Er wordt een lijst gemaakt van alle apparaten die binnen bereik zijn en willendeelnemen aan het drempelschema.

5.2.2 De gedistribueerde sleutelgeneratiefase

Deze fase verzorgt de gedistribueerde sleutelgeneratie.

1. De PVSS fase. Ieder apparaat dat deelneemt, kiest zijn veeltermen en berekentvoor alle partijen een sleuteldeel. Deze sleutel wordt dan verhult in de exponentvan de publieke sleutel van de bestemmeling.

2. De verificatiefase. Alle sleuteldelen worden geverifieerd door de partijen diedaartoe in staat zijn of door een onafhankelijke derde partij.

32

Page 45: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

5.2. Programmaverloop

3. De samenvoegfase. Iedereen telt de sleuteldelen van de geverifieerde delers opom zo een sleuteldeel te bekomen.

4. De nulkennisfase. De apparaten die willen deelnemen aan de publieke sleutelreconstructie voeren een nulkennisbewijs uit om aan te tonen dat hun sleuteldeelcorrect is.

5. De publieke sleutel reconstructie. De publieke sleutel wordt gereconstrueerd uitt sleuteldelen via Langrangeveelterminterpolatie zoals besproken in paragraaf4.1.3.

Op het einde van deze fase is er een geheime en publieke sleutelpaar verdeeld over deapparaten. Er kan nu deel genomen worden aan cryptografische toepassingen metdit sleutelpaar.

5.2.3 De toepassingsfase

Als laatste wordt het sleutelpaar gebruikt in een ElGamalversleuteling zoals besprokenin paragraaf 4.2.4. Een bericht wordt versleuteld met de gereconstrueerde publiekesleutel. Vervolgens stellen t apparaten hun sleuteldeel ter beschikking om het berichtte ontsleutelen. Indien het ontsleutelde bericht overeenstemt met verzonden berichtwerkt het programma correct.

33

Page 46: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:
Page 47: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

Hoofdstuk 6

Implementatie

In dit hoofdstuk wordt de effectieve implementatie van het ontwerp uit hoofdstuk 5besproken. Er wordt stilgestaan bij de opbouw van het programma en de gebruiktesoftware bibliotheken die de implementatie vereenvoudigd hebben. In het eerste deelwordt de implementatie op PC bekeken en in het tweede deel wordt de implementatieop FPGA besproken.

6.1 Implementatie op PC

6.1.1 Programeertaal

De keuze van de programmeertaal kan de implementatie van een programma heel ergbeınvloeden. Voor dit programma werd de taal C1 gebruikt. Deze taal is ontstaan alseen taal om systeemsoftware en programma’s voor ingebedde systemen te schrijven.Ze biedt laag niveau procedures aan om het geheugen en andere hardware rechtstreeksaan te spreken. Dit maakt dat er eenvoudig zeer krachtige en efficiente code meegeschreven kan worden. Aangezien het uiteindelijke doel was om de code werkendete krijgen op zulke ingebedde systemen, zoals zakcomputers, leek C de meest voor dehand liggende keuze. Ook de beschikbaarheid van meerdere cryptografische softwarebibliotheken vormde een pluspunt.

6.1.2 Softwarebibliotheken

Softwarebibliotheken vereenvoudigen het schrijven van programma’s. Ze makenabstractie van de onderliggende functionaliteit door methodes aan te bieden diegebruikt kunnen worden door andere programma’s om deze functionaliteit op teroepen. De programmeur heeft dus geen kennis van de onderliggende algoritmesnodig om deze te gebruiken.

Er bestaan verschillende bibliotheken die methodes specifiek voor cryptografische

1Meer informatie over C is te vinden op http://www.open-std.org/jtc1/sc22/wg14/

35

Page 48: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

6. Implementatie

Parameter Waarde

a 17946557270010392439606013b 13747689455785428065471621q 24195439571169018236015557r 3456491367309157050000913

Tabel 6.1: De waardes van de parameters van de gebruikte curve van type D81 [14].

systemen implementeren. Voor de implementatie van dit drempelschema werd ge-kozen voor de Pairing-Based Cryptography bibliotheek (PBC) geschreven door BenLynn aan de universiteit van Stanford [14]. Deze bibliotheek is gebaseerd op de GMPbibliotheek(GNU Multi-Precision Library) [20]. Dit is de standaard bibliotheek inLinuxsystemen om bewerkingen op grote getallen uit te voeren. De PBC-bibliotheekimplementeert volgende methodes:

• Rekenkundige bewerkingen over elliptische krommen.

• Paringen over elliptische krommen.

Er zijn 5 verschillende categorieen van elliptische krommen geımplementeerd in dezebibliotheek [15].

• Type A krommen hebben de vergelijking y2 = x3 + x over het veld Fq vooreen priemgetal q, de ingebedde graad k = 2 en de paringen over deze krommezijn symmetrisch.

• Type D krommen met de vergelijking y2 = x3 + ax + b met een ingebeddegraad k = 6.

• Type E krommen met de vergelijking y2 = x3 + ax+ b met ingebedde graadk = 1.

• Type F krommen met de vergelijking y2 = x3 + b met ingebedde graad k = 12.

• Type G krommen met de vergelijking y2 = x3 + ax+ b met ingebedde graadk = 10.

Tabel 6.1 toont de gekozen parameters voor de krommen van het type D diegekozen is in het programma. Deze parameters werden gekozen omwille van be-perkingen op de grootte van de punten van de elliptische kromme op het FPGAplatform. Voor elliptische krommen wordt een r van ±160 bit vooropgesteld om deveiligheid van een RSA systeem met een sleutellengte van 1024 bit te evenaren [11].Deze kromme heeft echter een r van ±81 [15]. Ze is dus niet veilig genoeg. Echterindien een geoptimaliseerde ECC coprocessor gebruikt zou worden op FPGA inplaats van een Microblaze processor, kunnen krommen die veilig genoeg zijn wel indeze implementatie gebruikt worden [13].

36

Page 49: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

6.1. Implementatie op PC

6.1.3 Programmaontwerp

Apparaten

Om het geheel overzichtelijk te houden wordt ieder apparaat intern voorgestelddoor een datastructuur Device die alle parameters van het apparaat bevat zoals hetgeheime en publieke sleutelpaar en de sleuteldelen die eraan zijn toegewezen. Indienhet schema gebruikt gaat worden met effectieve apparaten, kan de informatie vandeze datastructuren gewoon naar hen worden doorgespeeld.

Modulariteit

Het programma is modulair geschreven. Functionaliteit is gegroepeerd zodat enkelhet benodigde deel van het programma dient ingeladen te worden om een functieuit te voeren. Dit maakt de code overzichtelijk en voorkomt dat er fouten in hetprogramma sluipen. De volgende modules kunnen onderscheiden worden:

• De ECC-module initialiseert de elliptische krommen en verzorgt alle rekenkun-dige operaties over deze krommen.

• De paringmodule biedt een methode aan om paringen uit te voeren over dezeelliptische krommen.

• De interpolatiemodule zorgt voor het berekenen van de Lagrangeveelterminter-polatie.

• De versleutelings- en ontsleutelingsmodule implementeert de ElGamalversleu-teling en ontsleuteling van berichten.

• De nulkennisbewijsmodule biedt methodes aan om nulkennisbewijzen uit tevoeren.

• De DKG-module of gedistribueerde sleutelgeneratiemodule zorgt voor hetuitvoeren van de PVSS schema’s en de DKG schema’s

• De IO-module of input- outputmodule biedt methodes aan om te communicerenmet de gebruiker. Ook heeft deze module methodes om via een ethernet netwerkte communiceren met andere apparaten.

De modules kunnen onafhankelijk van elkaar werken. Enkel de modules die degebruiker nodig heeft dienen ingeladen te worden. Dit beperkt de programmagrootte.

Inkapseling

De softwarebibliotheek is volledig ingekapseld in het programma. Dit wil zeggendat methodes van de bibliotheek niet rechtstreeks worden aangeroepen maar viazelfgeschreven inkapselingsmethodes. Dit zorgt ervoor dat er eenvoudig van biblio-theek gewisseld kan worden of zelfs speciale coprocessoren ingezet kunnen worden omde bibliotheek te vervangen. Ook is de functionaliteit om te communiceren tussen

37

Page 50: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

6. Implementatie

Figuur 6.1: Schakelmatrix met logische blokken van een FPGA (Het auteursrechtop deze afbeelding behoort toe aan Xilinx).

apparaten ingekapseld zodat eenvoudig andere manieren van communiceren gebruiktkunnen worden.

6.2 Implementatie op FPGA

Na de implementatie van het programma op computer is er een programma geschrevendat een apparaat met een beperking in rekenkracht en opslag simuleert. Deze simulatiegebeurde op FPGA. In deze paragraaf wordt een overzicht gegeven van de kenmerkenvan het programma alsook van het FPGA platform dat gebruikt werd om dezeapparaten te simuleren.

6.2.1 Field-programmable Gate Array

Een Field-programmable Gate Array(FPGA) is een geıntegreerd circuit dat na fabri-catie geprogrammeerd en geherprogrammeerd kan worden. Zo kan de functionaliteitvan het circuit eenvoudig aangepast worden. Ze bestaan uit verschillende logischeblokken. De interactie tussen deze blokken wordt met behulp van een hardwarebe-schrijvingstaal geprogrammeerd. Voorbeelden van zulke talen zijn VHDL en Verilog.FPGA’s worden vaak in de industrie gebruikt omdat dit de ontwikkelingstijd vanproducten kan verkorten, want de ontwikkeling van specifieke hardware is overbodig.Ook kan de FPGA geherprogrammeerd worden als na verkoop van het product eenprobleem gevonden wordt.

Opbouw FPGA

Een FPGA is hoofdzakelijk opgebouwd uit een matrix met volgende blokken [26]:

38

Page 51: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

6.2. Implementatie op FPGA

Specificatie Waarde ($)

Klokfrequentie 20 MHzRAMgeheugen 64 MbyteCLB′s 612Slices 2448Technologie 90 nm

Tabel 6.2: Specificaties van de Xilinx Spartan 3ES250 FPGA [29].

• IOB’s of Input and Output Blokken. Deze blokken zorgen voor de verbin-ding tussen de interne logica en externe signalen die via de vele input- enoutputpinnen toekomen.

• CLB’s of Configurable Logic Blokken. CLB’s worden gebruikt om logischefuncties op te bouwen. Ze bestaan uit zogenaamde slices. Een slice bevatprogrammeerbare lookuptables, multiplexers, flipflops, e.d. De FPGA die indeze thesis gebruikt werd, heeft CLB’s met telkens vier slices zoals getoond infiguur 6.2.

• RAM of Random Access Memory. RAM wordt gebruikt om gegevens in op teslaan tijdens het uitvoeren van bewerkingen.

Deze blokken zijn gegroepeerd in een schakelmatrix met in het midden CLB’s en aande rand ervan IOB’s. De RAM modules zijn gegroepeerd in twee banken tussen deCLB’s. Dit is zichtbaar in figuur 6.1. De connecties tussen de verschillende blokkenkunnen geprogrammeerd worden om de functionaliteit te bepalen. Deze blokkenworden gecombineerd door de programmacode om de gewenste functionaliteit tecreeren. De taak van de programmeur is de beperkte hoeveelheid logische blokkenzo efficient mogelijk te benutten.

De FPGA die voor deze thesis gebruikt is, is een Xilinx Spartan 3ES250 [29]. DezeFGPA is ontworpen in een 90nm fabricatieproces. Enkele belangrijke specificatieszijn te vinden in tabel 6.2.

Xilinx Microblaze

Xilinx Microblaze [28] is een zogenaamde soft core processor. Dit wil zeggen dat deprocessor gesimuleerd wordt op de FPGA met de standaard logische blokken die ervoor handen zijn. Figuur 6.3 geeft een schematische voorstelling van de verschillendedelen van de processor. De prestaties van deze processor liggen echter ver onder dievan een processor die rechtstreeks in aangepaste hardware ontwikkeld is, maar hetvoordeel is dat men met deze Microblaze zonder al te veel moeite rechtstreeks C-codekan uitvoeren op een FPGA. De implementatie van Microblaze wordt geleverd bijde Software Development Toolkit van Xilinx [28]. De processor kan volledig zelfsamengesteld worden door modules die niet vereist zijn weg te laten. Dit zorgt ervoordat de processor minder CLB’s inneemt. Het is een 32bit processor gebaseerd op een

39

Page 52: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

6. Implementatie

Figuur 6.2: Schema van een Configurable Logic Blok van een Xilinx Spartan 3EFPGA (Het auteursrecht op deze afbeelding behoort toe aan Xilinx).

Reduced Instruction Set (RISC) architectuur. Deze instructieset verschilt van de x86instructieset die gebruikt wordt in bijna alle processoren voor PC’s. Om deze redenmoeten de softwarebibliotheken, die vereist zijn op FPGA, gecompileerd worden naardeze andere instructieset.

6.2.2 Implementatie

Zoals in hoofdstuk 5 uitgelegd, moet een apparaat met een beperkte hoeveelheidrekenkracht enkel een scalar puntsvermenigvuldiging uitvoeren. Om zo een appa-raat te simuleren op FPGA moet deze een scalar puntsvermenigvuldiging kunnenuitvoeren. Aangezien de implementaties op computer en op FPGA samen eenzelfdedrempelschema bepalen, moet de elliptische kromme, waarover de scalar puntsver-menigvuldiging op FPGA gebeurt, dezelfde zijn als op de computer. Er werd danook gekozen om de PBC-bibliotheek uit hoofdstuk 6 om te bouwen zodat deze opFPGA kon uitgevoerd worden. Xilinx biedt immers een hardware-ontwerp voor eenprocessor die geımplementeerd kan worden op FPGA die de mogelijkheid biedt omC-code uit te voeren. Deze processor heeft de naam Microblaze.

40

Page 53: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

6.2. Implementatie op FPGA

Figuur 6.3: Schema van de Xilinx Microblaze architectuur (Het auteursrecht opdeze afbeelding behoort toe aan www.eetimes.com).

Compileren van de bibliotheken

Zoals reeds eerder besproken in paragraaf 6.1.2 maakt de PBC-bibliotheek gebruikvan GMP. Dus allereerst moet de GMP-bibliotheek gecompileerd worden voor deMicroblaze processor. De Xilinx Software Development Toolkit gebruikt een compilerdie code rechtstreeks kan vertalen naar instructies voor de Microblaze processor.Deze compiler is gebaseerd op GCC [25]. GCC is een compiler die geschreven isvoor linux en die naar verschillende architecturen kan compileren. Met het volgendecommando kan de broncode van GMP gecompileerd worden voor Microblaze:

. / c o n f i g u r e −−d i sab l e−shared−−bu i ld=x868−gcc−l inux−gnu −−host=none−unknown−gnu CC=mb−gccmakemake i n s t a l l

Zulk een soort compilatie wordt een crosscompilatie genoemd. Er wordt immers opeen x86 architectuur code gecompileerd die uitgevoerd kan worden op een anderearchitectuur nl. de Microblaze architectuur.

41

Page 54: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

6. Implementatie

Ook de PBC bibliotheek is vereist op FPGA om de puntsvermenigvuldiging uitte voeren. Van deze bibliotheek werden echter enkel de methodes die vereist warenom de elliptische kromme te initialiseren en om de scalar puntsvermenigvuldiging uitte voeren gecompileerd voor Microblaze.

Communicatie met de computer

Voor de communicatie met de computer is gekozen voor een ethernetverbinding 2.Op deze manier kunnen alle apparaten eenvoudig met elkaar spreken en informatieuitwisselen. Dit is mogelijk omdat, zoals uitgelegd in hoofdstuk 4, geen private kana-len vereist zijn tussen de apparaten. Voor de implementatie van de ethernet-interfaceop FPGA werd een door Xilinx aangeboden Intellectual Property blok gebruikt, lwIPgenoemd [27].

Het voordeel van het gebruik van een ethernet verbinding is dat vele mobiele appara-ten deze verbinding reeds ondersteunen. Ook is het ethernetprotocol geschikt ommeerdere apaparaten over een kanaal te laten communiceren.

2Meer informatie over het ethernetprotocol kan gevonden worden op http://www.ieee802.org/3/

42

Page 55: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

Hoofdstuk 7

Radio Frequency Identification

In dit hoofdstuk wordt een voorbeeld van een apparaat met beperkte rekenkrachtbesproken nl. de RFID of Radio frequentie identificatie tag. De kenmerken ervanworden besproken alsook de reden waardoor deze ingebedde apparaten gebruiktworden voor talloze doeleinden. De RFID tags die voor de thesis van belang zijn,bevatten een implementatie van een scalar puntsvermenigvuldiging over een elliptischekromme. Er wordt van deze soort een specifiek ontwerp [13] bekeken en er wordtgetracht deze te integreren in de implementatie van hoofdstuk 6.

7.1 Algemene kenmerken

RFID of Radio frequentie identificatie is een technologie die bestaat uit een lezeren tag die over korte afstanden via radiogolven met elkaar communiceren. Hetcommunicatieprotocol begint telkens op dezelfde manier: de lezer zendt een signaaluit dat opgevangen wordt door de tag en deze zal een reactie versturen. Men kantwee soorten RFID tags onderscheiden [10]:

• Passieve RFID tags halen hun energie uit de radiogolf uitgezonden door delezer via inductie. Ze zijn dus afhankelijk van de lezer voor hun energie en ditmaakt dat de afstand waarop ze uitgelezen kunnen worden zeer beperkt is. Ditlegt ook een zware beperking op aan het maximale vermogenverbruik van detag en zorgt ervoor dat de beschikbare rekenkracht zeer beperkt is.

• Actieve RFID tags hebben zelf een energiebron. Dit maakt ze minder afhankelijkvan de lezer en laat toe dat ze vanop een grotere afstand uitgelezen kunnenworden en krachtigere berekeningen kunnen uitvoeren. Actieve tags zijn echterduurder in productie dan passieve en ook hun energiebron is geen eeuwig levenbeschoren.

RFID tags kunnen zeer goedkoop gefabriceerd worden. Ze worden tegenwoordigveel gebruikt in de logistieke sector om bijvoorbeeld producten te traceren in ma-gazijnen. Ze bieden meer functionaliteit dan het oudere barcodesysteem omdat zemeer productkenmerken kunnen opslaan.

43

Page 56: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

7. Radio Frequency Identification

Figuur 7.1: Een voorbeeld van een passieve RFID tag met de circulaire metaalbanenaan de zijkant voor inductieve energieopwekking (Deze afbeelding is eigendom van

SecuringPharma.com).

7.1.1 Huidige ontwikkelingen

De vooruitgang in de ontwikkeling van geıntegreerde circuits heeft ervoor gezorgd datde RFID tags steeds ingewikkeldere operaties kunnen uitvoeren. Dit opent de deurvoor nieuwe toepassingen met RFID. Zo duiken er elliptische kromme cryptografischeimplementaties voor RFID op in de literatuur [13], [6]. Zulke systemen kunnengeıntegreerd worden in het geımplementeerde drempelschema in deze thesis. RFIDtags zullen onder de categorie van de apparaten met een beperkte hoeveelheid reken-kracht vallen die enkel kunnen deelnemen aan de ontsleutelingsfase. Het gebruik vanRFID tags in het schema heeft als voordeel dat men goedkoop het aantal deelnemendeapparaten kan verhogen. Deze tags kunnen in schoenen gestopt worden of in klerenbevestigd worden. De veiligheid en flexibiliteit van het schema kan dus goedkoopverhoogd worden met RFID tags.

7.2 ECC coprocessor

Op de afdeling COSIC van het departement Elektrotechniek van de KatholiekeUniversiteit Leuven is een elliptische kromme cryptografische coprocessor ontworpendie zeer compact is en uitermate weinig energie verbruikt [13]. Om deze redenenkan deze coprocessor gebruikt worden in RFID tags. Tabel 7.1 geeft een overzichtvan de belangrijkste specificaties van de ECC processor. Deze ECC processor maakthet mogelijk voor deze RFID tag om publieke sleutelcryptografie toe te passen. Deprocessor implementeert de volgende elliptische curve:

44

Page 57: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

7.3. Integratie met het drempelschema

Figuur 7.2: Layout van de ECC coprocessor ontworpen door Lee et al. [13].

Specificatie Waarde

Klokfrequentie 323 kHzBewerkingen ECC Puntsmul. en mod bewerk.V ermogenverbruik 10 µWRekentijdvoorSchnorrhandtekening 243.17 msTechnologie 130 nm

Tabel 7.1: Specificaties van de elliptische kromme cryptografische processor van [13].

y2 + xy = x3 + ax2 + b, met b = 1 en a ∈ GF (2163). (7.1)

De ECC processor is in staat een elliptische kromme scalar puntsvermenigvuldiginguit te voeren over deze curve alsook modulaire bewerkingen (additie en multiplicatie)in GF (2163).

7.3 Integratie met het drempelschema

Op het eerste zicht lijkt de ECC processor aan de eisen van het drempelschema tevoldoen. Er is echter een probleem. De elliptische kromme die gebruikt wordt inde processor is echter niet paringvriendelijk. Dit betekent dat een paring over dezecurve zeer moeilijk te implementeren is. En aangezien op verschillende plaatsen inhet schema paringen ingezet worden, kan deze kromme dus niet gebruikt worden inonze implementatie. Een elliptische kromme wordt paringvriendelijk genoemd als

45

Page 58: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

7. Radio Frequency Identification

de ingebedde graad k van de kromme klein is. Deze ingebedde factor k bepaalt deorde van de elliptische kromme. Het is dus zo een waardemeter voor de complexiteitvan de kromme en dus ook voor de bewerkingen over deze kromme. Vaak wordt eenlage k waarde vooropgesteld [15]. Bij grote waardes van k kan de paring theoretischgedefinieerd worden, maar een efficiente implementatie is niet mogelijk. Voor dezekromme is k ≈ 1046. Deze ECC processor kan dus geen paringen efficient uitrekenenen niet in het ontwerp gebruikt worden.

Een andere ECC processor ontworpen voor RFID die een paringvriendelijke el-liptische kromme implementeert, zou wel in het schema opgenomen kunnen worden.Tot op heden heb ik echter in de literatuur geen ontwerp van zo een ECC processorgevonden die dit toelaat binnen de vermogenbeperkingen van een RFID tag.

46

Page 59: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

Hoofdstuk 8

Resultaten

In dit hoofdstuk worden de verschillende testen besproken die uitgevoerd werdenop de implementatie uit hoofdstuk 6. Allereerst worden een aantal meetresultatenbesproken van belangrijke rekenintensieve delen van de implementatie. Vervolgenswordt een integratietest besproken die de implementatie toepast op een situatie uithet echte leven en worden de resultaten hiervan besproken.

8.1 Testplatformen

De platformen waarop de testen uit de volgende paragrafen uitgevoerd worden:

• PC: Intel Core i5 460M met 4GB DDR3 RAM-geheugen en een 5400tpm SATAharde schijf.

• FPGA: Xilinx Spartan 3E waarvan de specificaties te vinden zijn in tabel 6.2.

8.2 Tijdsmetingen

Om een idee te krijgen van de performantie van ingebedde systemen en ook van decomplexiteit van bepaalde operaties zijn er een aantal testen uitgevoerd.

8.2.1 Initialisatie van de elliptische kromme

Het initialiseren van de elliptische krommen vergt zeer veel rekenkracht. Indien dezeinitialisatie niet mogelijk is, kunnen verdere operaties over deze krommen ook nietuitgevoerd worden. Om deze reden zijn er een aantal tests uitgevoerd om te zien ofen hoe snel bepaalde elliptische krommen op FPGA en op PC kunnen geınitialiseerdworden. Tabel 8.1 geeft de resultaten van deze tests. Op de computer is geblekendat de initialisatie van elliptische krommen geen probleem vormt en ook zeer snelgebeurt. Op FPGA echter is gebleken dat de initialisatie vele grootteordes trager is.Ook staan er strengere beperkingen op de grote van de getallen waarmee gewerktwordt. Dit vormde een probleem bij de initialisatie van de elliptische kromme van

47

Page 60: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

8. Resultaten

Platform Type D159 Type D81

PC 72ms 60msFPGA - 35s

Tabel 8.1: Testresulaten van de ECC initialisatie.

Platform Type D159 Type D81 Type F

PC 4.5ms 4.2ms 57msFPGA - −s -

Tabel 8.2: Resultaten van de snelheidstest van paringen.

het type D159 [14]. Om deze reden is dan ook gekozen voor de kromme van type D81zoals beschreven in paragraaf 6.1.2. Deze kromme werkt met kleinere coefficienten.

8.2.2 Paringen

Paringen zijn ook rekenintensieve operaties. Om deze reden werden er ook een aantalsnelheidstesten gedaan om te zien of ze binnen redelijke termijnen uitgevoerd kondenworden op de testplatformen. Ook hier werden de testen uitgevoerd voor elliptischekrommen van type D159 alsook type D81 en type F. De resultaten van de testenzijn terug te vinden in tabel 8.2. Op FPGA bleken paringen niet uitvoerbaar doorde beperkingen van de Microblaze processor. Het grote snelheidsverschil tussenparingen van type D en type F ligt erin dat paringen over krommen van type F meerrekenintensief zijn maar hierdoor ook wel een hogere veiligheid geven [14].

8.3 Integratietest

Deze integratietest combineert de verschillende implementaties van deze thesis om zoeen drempelschema te simuleren. Aangezien het doel van de thesis het analyseren enhet implementeren van drempelcryptografie op RFID tags was, bestaan de testen uitopstellingen met meerdere apparaten,waaronder RFID tags, die een cryptografischeactie uitvoeren.

8.3.1 Situatieschets

Als cryptografische actie is er gekozen voor het identificeren van een persoon aaneen deur die beveiligd is met een toegangskaartsysteem. De deur heeft een lijstmet publieke sleutels van personen waaraan toegang verleend moet worden. Dezepersonen gebruiken het drempelschema dat in deze thesis geımplementeerd is. Hetidentificatieproces bestaat uit de volgende stappen:

1. De persoon die zich wil identificeren maakt zich kenbaar aan de deur door zijnpublieke sleutel te sturen.

48

Page 61: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

8.3. Integratietest

2. Het toegangssysteem zal kijken of deze publieke sleutel in de lijst met toe-gelaten publieke sleutels zit. Indien dit het geval is, zal het een willekeurigeboodschap m kiezen en deze versleutelen met de verkregen publieke sleutel viaeen ElGamalversleuteling en deze versleuteling uitsturen naar de persoon.

3. De persoon combineert t apparaten om het bericht te ontsleutelen met deaangepaste versie van het ElGamalschema uit paragraaf 4.2.4 en stuurt hetontsleutelde bericht terug naar het toegangssysteem.

4. Het toegangssysteem verifieert of het verkregen bericht overeenstemt met hetwillekeurig gekozen bericht m. Indien dit het geval is, wordt de persoon correctgeıdentificeerd en krijgt hij toegang.

8.3.2 Testopstellingen

De testopstellingen zijn gebaseerd op het hierboven beschreven toegangskaartsysteem.Er zijn drie opstellingen gemaakt met telkens een andere samenstelling van apparatenom zo verschillende combinaties van apparaten met en zonder beperkte rekenkrachtte hebben zoals gedefinieerd in paragraaf 5.1.1.

Test 1

De eerste test bestond uit twee categorieen van apparaten: apparaten met een groteen een gemiddelde hoeveelheid rekenkracht. Deze apparaten werden allen op PCgesimuleerd. De verificatiefase bij de apparaten met een gemiddelde hoeveelheidrekenkracht werd uitgevoerd door een vertrouwde verificator zoals beschreven inparagraaf 5.1.2.

Het verloop van deze eerste test kan in drie delen gesplitst worden:

• Er wordt getest of de functionaliteit die gevraagd was, aangeboden wordt.Eerst worden alle apparaten gecombineerd en wordt er zo een publieke sleutelgereconstrueerd. Vervolgens worden er apparaten weggelaten totdat men onderde drempelwaarde zit. Zo wordt er getest of het drempelschema dan effectieffaalt.

• De hoeveelheid apparaten die deelnemen aan het drempelschema wordt ge-varieerd. Zo wordt er gekeken welke invloed dit heeft op de totale rekentijd.Resultaten van deze testen kunnen teruggevonden worden op figuur 8.1. Erwerd gewerkt met een vaste drempelwaarde van 4. Er kan geconstateerd wordendat de rekentijd ongeveer lineair stijgt met de hoeveelheid apparaten die deel-nemen. Dit komt door het toenemend aantal paringen die uitgevoerd moetenworden in de verificatiefase.

• De drempelwaarde wordt gevarieerd om te zien welke invloed dit heeft op debenodigde rekentijd. Er wordt getest met een vaste hoeveelheid apparaten nl.20. De resultaten van deze test zijn te zien op figuur 8.2. Merk hier op dat de

49

Page 62: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

8. Resultaten

Figuur 8.1: De resultaten van de variatie van het aantal apparaten in testsituatie1.

Figuur 8.2: De resultaten van de variatie van de drempelwaarde in testsituatie 1.

benodigde rekentijd niet zo snel stijgt als in de vorige test. De reden hiervooris dat het aantal paringen dat uitgevoerd moet worden tijdens de verificatiefasehetzelfde blijft. De stijging is dus te wijten aan andere berekeningen zoalsbijvoorbeeld het aantal paringen dat tijdens de reconstructie van de publiekesleutel dient uitgevoerd te worden.

50

Page 63: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

8.3. Integratietest

Test 2

De tweede test combineert apparaten uit alle drie de categorieen. Een apparaat metbeperkte rekenkracht en zonder veilige opslag werd gesimuleerd op FPGA. De FPGAcommuniceert met de PC via een ethernetverbinding zoals besproken in paragraaf6.2.2

Het verloop van deze tweede test kan ook weer in drie delen gesplitst worden:

• Er wordt getest of de implementatie op FPGA effectief een scalar puntsverme-nigvuldiging kan uitvoeren. De test bestaat uit het versturen van een punt opde elliptische kromme naar de FPGA via ethernet. Het vermenigvuldigen vandit punt met een scalar en vervolgens het terugzenden van de uitkomst naar dePC. Deze test nam 9s in beslag. Dit is verschillende grootteordes meer dandezelfde operatie op PC.

• De hoeveelheid apparaten met veel rekenkracht die deelnemen aan het drem-pelschema wordt gevarieerd zoals reeds eerder gedaan in testsituatie 1. Zowordt er gekeken welke invloed dit heeft op de totale rekentijd. Resultaten vandeze testen kunnen teruggevonden worden op figuur 8.3. Er werd gewerkt meteen vaste drempelwaarde van 4. Er kan geconstateerd worden dat de rekentijdongeveer lineair stijgt met de hoeveelheid apparaten die deelnemen. Ook is debenodigde tijd veel groter dan in testsituatie 1. Men kan zien dat het telkensongeveer 9s langer duurt. Dit is de tijd die in de eerste situatie opgemeten werdbij het uitvoeren van een scalar puntsvermenigvuldiging op FPGA. Men kandus veronderstellen dat wanneer er veel apparaten met beperkte hoeveelheidrekenkracht deelnemen aan het schema de benodigde rekentijd sterk stijgt.

• De drempelwaarde wordt gevarieerd om te zien welke invloed dit heeft op debenodigde rekentijd. Er wordt getest met een vaste hoeveelheid apparaten nl.20. De resultaten van deze test zijn te zien op figuur 8.2. Men kan dezelfdeconclusies trekken als bij eenzelfde test in testsituatie 1. Merk ook hier weerhet verschil op dat de testen ongeveer 9s langer duren dan in testsituatie 1.Dit is weer het gevolg van de de scalar puntsvermenigvuldiging op FPGA.

Test 3

Een laatste test met een hardware implementatie van een RFID ECC processorbleek onmogelijk omdat de gebruikte elliptische kromme van de ECC processor nietparingvriendelijk was zoals reeds besproken in paragraaf 7.2.

51

Page 64: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

8. Resultaten

Figuur 8.3: De resultaten van de variatie van het aantal apparaten in testsituatie2.

Figuur 8.4: De resultaten van de variatie van de drempelwaarde in testsituatie 2.

52

Page 65: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

Hoofdstuk 9

Besluit

Deze thesis toont aan dat het mogelijk is voor apparaten met een beperkte hoeveelheidrekenkracht om deel te nemen aan drempelschema’s. Om dit te bewijzen werd eenimplementatie van een drempelschema geschreven en werden er simulaties uitgevoerddie situaties uit het echte leven nabootsen zoals het identificeren van een persoondie toegang wil krijgen tot een deur beveiligd met een toegangskaartsysteem. Dezetesten werden met succes volbracht, maar er moeten een aantal kanttekeningen bijgemaakt worden. Het is met deze implementatie bijvoorbeeld niet mogelijk om enkelapparaten met beperkte rekenkracht te gebruiken. Er is dus nog steeds minstens eenapparaat nodig uit de eerste categorie van apparaten.

Niettegenstaande deze beperkingen kunnen implementaties zoals in deze thesistoch al op korte termijn ingezet worden. Ze kunnen zo het beveiligingsprobleem vanmobiele apparaten en informatie op een vernieuwende en goedkope manier oplossen.

9.1 Vervolgwerk

Onderzoek naar drempelschema’s is een vrij jong onderzoeksdomein. Er is dan ookzeer veel ruimte voor vervolgonderzoek op deze thesis mogelijk. Dit kan opgesplitstworden in twee richtingen:

• Verbeteringen van de implementatie. Er werd gebruik gemaakt van een softwarebibliotheek die via een Microblaze processor op FPGA gesimuleerd werd. Dezesoftwarebibliotheek is echter niet geoptimaliseerd voor ingebedde apparatenzoals een FPGA. Indien men gebruik zou maken van een coprocessor die descalar puntsvermenigvuldiging zou uitvoeren, zou dit minder logische blokkenop de FPGA innemen.

Een andere verbetering kan doorgevoerd worden in de verificatiefase. Erwordt hier voor bepaalde apparaten een vertrouwde verificator gebruikt. Indienechter deze verificator gecompromitteerd wordt, kan deze foutieve berichtenuitsturen. In de huidige implementatie is er geen manier om te testen of de

53

Page 66: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

9. Besluit

verificator wel degelijk eerlijk is. Het schema zou echter kunnen aangepastworden zodat een apparaat uit de tweede categorie niet enkel op de verificatorvertrouwt, maar ook op de verificaties van de apparaten uit de eerste categorie,die zelf de sleuteldelen controleren. Indien er dan een inconsistentie is tussende antwoorden van de verificator en die van de andere aparaten, dan kan hetschema afgebroken worden.

Ook kan er verder onderzoek gedaan worden naar ECC coprocessoren dieparingvriendelijke elliptische krommen implementeren met een laag vermogen-verbruik voor RFID. Onderzoek naar het efficiente implementaties van paringendie verenigbaar zijn met RFID is ook een mogelijk vervolgwerk.

• Uitbreidingen van de functionaliteit. Het schema zelf zou kunnen uitgebreidworden door apparaten te categoriseren en bij bepaalde categorieen een maxi-mumaantal apparaten die tegelijk kunnen deelnemen te bepalen. Als bijvoor-beeld je schoenen een RFID tag bevatten, zou een dief al je schoenen kunnenstelen en zo eenvoudig genoeg apparaten hebben om de drempel te bereiken.Als het schema echter rekening houdt dat je altijd maar maximaal twee schoe-nen draagt kan je de dief te slim af zijn. Ook kunnen bepaalde apparaten dieextra beveiligingen ingebouwd hebben, zoals bijvoorbeeld biometrische beveili-ging, een hogere waardering krijgen in het schema zodat er minder apparatenbenodigd zijn om de drempel te bereiken.

54

Page 67: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

Bibliografie

[1] P. C. v. O. Alfred J. Menezes and S. A. Vanstone. Handbook of AppliedCryptography. CRC Press, 1996. ISBN: 0-8493-8523-7.

[2] P. S. L. M. Barreto. The pairing-based crypto lounge. URL: http://www.larc.usp.br/~pbarreto/pblounge.html, laatst nagekeken op 2011-05-07.

[3] W. Diffie and M. E. Hellman. New directions in cryptography, 1976.

[4] T. El Gamal. A public key cryptosystem and a signature scheme based ondiscrete logarithms. In Proceedings of CRYPTO 84 on Advances in cryptology,pages 10–18, New York, NY, USA, 1985. Springer-Verlag New York, Inc.

[5] P. Feldman. A practical scheme for non-interactive verifiable secret sharing. InProceedings of the 28th Annual Symposium on Foundations of Computer Science,SFCS ’87, pages 427–438, Washington, DC, USA, 1987. IEEE Computer Society.

[6] F. Frbass and J. Wolkerstorfer. Ecc processor with low die size for rfid applica-tions. In 2007 IEEE INTERNATIONAL SYMPOSIUM ON CIRCUITS ANDSYSTEMS (ISCAS 2007), pages 1835–1838. IEEE, 2007.

[7] R. Gennaro, S. Jarecki, H. Krawczyk, and T. Rabin. Secure distributed keygeneration for discrete-log based cryptosystems. J. Cryptology, 20(1):51–83,2007.

[8] D. Hankerson, A. J. Menezes, and S. Vanstone. Guide to Elliptic Curve Crypto-graphy. Springer-Verlag New York, Inc., Secaucus, NJ, USA, 2003.

[9] S. Heidarvand and J. L. Villar. Public verifiability from pairings in secret sharingschemes. In Selected Areas in Cryptography, pages 294–308, 2008.

[10] S. Holloway. Rfid: An introduction. URL: http://msdn.microsoft.com/

en-us/library/aa479355.aspx, laatst nagekeken op 2011-05-07.

[11] E. II. Ecrypt ii yearly report on algorithms and key lengths (2010). URL:http://www.ecrypt.eu.org/documents/D.SPA.13.pdf, laatst nagekeken op2011-05-07.

[12] G. C. Kessler. An overview of cryptography. URL: http://www.garykessler.net/library/crypto.html#purpose, laatst nagekeken op 2011-05-07.

55

Page 68: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

Bibliografie

[13] Y. K. Lee, K. Sakiyama, L. Batina, and I. Verbauwhede. Elliptic-curve-basedsecurity processor for rfid. IEEE Trans. Comput., 57:1514–1527, November2008.

[14] B. Lynn. Pairing-based cryptography library. URL: http://crypto.stanford.edu/pbc/, laatst nagekeken op 2011-05-07.

[15] B. Lynn. on the implementation of pairing-based cryptosystems, 2007.

[16] A. Menezes. An introduction to pairing-based cryptography. notes from lecturesgiven in, 2005.

[17] A. Menezes, T. Okamoto, and S. A. Vanstone. Reducing elliptic curve logarithmsto logarithms in a finite field. IEEE Transactions on Information Theory,39(5):1639–1646, 1993.

[18] T. P. Pedersen. Non-interactive and information-theoretic secure verifiable secretsharing. In Proceedings of the 11th Annual International Cryptology Conferenceon Advances in Cryptology, CRYPTO ’91, pages 129–140, London, UK, 1992.Springer-Verlag.

[19] R. Peeters, M. Kohlweiss, and B. Preneel. Threshold things that think: Usableauthorisation for resharing [poster abstract soups 2009].

[20] T. G. Project. Gnu multi-precision library. URL: http://gmplib.org/, laatstnagekeken op 2011-05-07.

[21] R. Rivest, A. Shamir, and L. Adleman. A method for obtaining digital signaturesand public-key cryptosystems. Communications of the ACM, 21:120–126, 1978.

[22] C.-P. Schnorr. Efficient identification and signatures for smart cards. InProceedings of the 9th Annual International Cryptology Conference on Advancesin Cryptology, CRYPTO ’89, pages 239–252, London, UK, UK, 1990. Springer-Verlag.

[23] A. Shamir. How to share a secret. Commun. ACM, 22:612–613, November 1979.

[24] K. Simoens, R. Peeters, and B. Preneel. Increased Resilience in ThresholdCryptography: Sharing a Secret with Devices That Cannot Store Shares. InM. Joye, A. Miyaji, and A. Otsuka, editors, Pairing-Based Cryptography -Pairing 2010, volume 6487 of Lecture Notes in Computer Science, pages 116–135, Yamanaka Hot Spring,JP, 2010. Springer-Verlag.

[25] T. G. team. Gcc, the gnu compiler collection. URL: http://gcc.gnu.org/,laatst nagekeken op 2011-05-07.

[26] .-C. Technologies. Fpga logic cells comparison. URL: http://www.1-core.com/library/digital/fpga-logic-cells/, laatst nagekeken op 2011-05-07.

56

Page 69: Drempelbeveiling mogelijk maken voor RFID · Drempelbeveiling mogelijk maken voor RFID Philippe Jeurissen Thesis voorgedragen tot het behalen van de graad van Master in de ingenieurswetenschappen:

Bibliografie

[27] Xilinx. Lightweight ip (lwip) application examples. URL: http://www.xilinx.com/support/documentation/application_notes/xapp1026.pdf, laatst na-gekeken op 2011-05-07.

[28] Xilinx. Microblaze processor reference guide. URL: http://www.xilinx.

com/support/documentation/sw_manuals/xilinx13_1/mb_ref_guide.pdf,laatst nagekeken op 2011-05-07.

[29] Xilinx. Spartan-3e fpga family data sheet. URL: http://www.xilinx.com/support/documentation/data_sheets/ds312.pdf, laatst nagekeken op 2011-05-07.

[30] R. S.-N. Yvo Desmedt, Mike Burmester and H. Wang. Threshold things thatthink(t4): security requirements to cope with theft of handheld/handless internetdevices, 2001.

57