< Terug naar vorige pagina

Project

PUF constructies met geringe lekkage van informatie

Het is meer dan 15 jaar geleden dat een fysisch onkloonbare functie, of kortweg een PUF in het Engels, voor het eerst op een silicium chip geïmplementeerd werd door onderzoekers van MIT. Het beloftevolle idee is dat een geminiaturiseerde elektronische schakeling, en dus niet externe apparatuur, de procesvariaties van een chip detecteert en een groot aantal ingangs-uitgangsparen, of kortweg CRPs in het Engels, creëert waarmee deze chip geauthenticeerd kan worden. Een PUF is, in tegenstelling tot een conventionele wiskundige functie, echter onderhevig aan fysische ruis. Wanneer dezelfde ingang herhaaldelijk geëvalueerd wordt, zullen een aantal bits van de uitgang van waarde veranderen. Het aantal
gewijzigde bits stijgt met de amplitude van externe storingen. De fysische en ruizige aard van PUF schakelingen is doorheen de jaren een belemmering gebleken voor hun veilig gebruik.
Voor toepassingen van PUFs waarbij een chip op een efficiënte wijze geauthenticeerd wordt, kunnen de ruizige uitgangsbits “vergeven” worden door middel van een drempelwaarde-gebaseerde vergelijking. Helaas kunnen
concepten uit de klassieke cryptografie zoals verwarring, diffusie, en modulaire machtsverheffingen niet rechtstreeks toegepast worden op de ruizige uitgangsbits (zonder foutcorrectie); deze operaties zijn namelijk ontworpen op een manier
waarbij een kleine wijziging van hun ingang een grote wijziging van hun uitgang tot gevolg heeft. Om de verspreiding van fysische ruis te beperken, zijn PUF constructies die gebruikt worden voor authenticatie meestal samengesteld uit
lineare bouwblokken. Hierdoor kunnen ze echter aangevallen worden door methodes voor machinaal leren.

Voor toepassingen van PUFs waarbij een geheime sleutel gegenereerd wordt, kunnen ruizige uitgangsbits niet getolereerd worden. Om de gewijzigde bits te corrigeren, moeten pariteitsbits in ge-encodeerde vorm blootgesteld worden. Het
ruisniveau van een PUF is vaak echter hoger dan bij traditionele toepassingen van foutcorrectie zoals de langdurige opslag en de draadloze transmissie van data. Speciale technieken moeten dus ontwikkeld worden. De blootgestelde pariteitsbits kunnen echter informatie lekken over de PUF-gebaseerde sleutel. Er is een delicate balans tussen de foutcorrigerende capaciteit en de hoeveelheid min-entropie die lekt. Voor encoderingsschema’s voorgesteld in de vaklitteratuur werd later veelal ontdekt dat ze informatie vrijgeven over de sleutel.

In deze thesis presenteren we PUF-gebaseerde schema’s voor authenticatie en sleutelgeneratie die de lekkage van informatie minimalizeren, inclusief ontwerpen die resistent zijn tegen machinaal leren.

Eerst instantiëren we een PUF die voordien gebroken is door machinaal leren op een veilige manier. Ons schema gebruikt een server-gecontrolleerde vergrendeling van de CRPs. In tegenstelling tot eerdere voorstellen, kan een aanvaller die
adaptief ingangen kan kiezen geen nieuwe CRPs bekomen zonder de impliciete toestemming van de server. De aanvaller heeft dus zeer weinig informatie om het gedrag van de PUF te leren. We presenteren eveneens een vereenvoudigd
schema dat een SRAM als PUF gebruikt en dat veilig is tegen een aanvaller met onbeperkte rekenkracht. We zijn tevens de eerste om een authenticatieschema voor te stellen waarbij de moeilijkheid om de PUF te leren exponentieel schaalt
met de oppervlakte van de schakeling. Dit kadert in de context van PAC-leren.  We demonstreren de praktische toepasbaarheid van ons voorstel met ASIC data, waarbij 10, 1000, of 10^6 authenticaties ondersteund worden.

Vervolgens beschouwen we configuraties waarbij een hashfunctie wordt toegepast op de ruizige uitgangsbits van een PUF. De CRPs van dergelijke configuraties zijn goed beschermd tegen machinaal leren, maar indien de ruis niet wordt
aangepakt, kan de verifieerder de chip niet authenticeren. We presenteren het eerste schema waarbij de ruis gezien door de aanvaller en de ruis gezien door verifieerder verschillen. De ruis voor de aanvaller ηa → 0.50 terwijl de ruis voor
de verifieerder, ηv, constant blijft bij een verhoging van het veiligheidsniveau. We valideren ons voorstel met ruizige PUF data van een 28nm FPGA en presenteren de resultaten van experimenten met machinaal leren.

Ten slotte, in de context van PUF-gebaseerde sleutelgeneratie, presenteren we een schema dat een foutcorrigerende blokcode aanvult. Opzichzelfstaand, is deze laatste inefficiënt bij hoge ruisniveaus. Onze aanvullende codering behelst een
index-gebaseerde syndroom, of kortweg IBS in het Engels. Ook andere auteurs hebben terzelfder tijd een alternatief voorgesteld, inclusief een codering die het zekerheidsniveau van iedere uitgangsbit vrijgeeft, een schema dat de locaties van de meest stabiele bits vrijgeeft, en een schema dat berust op een herhalingscode. Van deze laatste drie schema’s is later echter gebleken dat ze meer min-entropie lekken dan oorsprokelijk beweerd werd. Onze claims, daarentegen, zijn later
bevestigd door derden. Noteer dat IBS, ondanks zijn simpliciteit, verscheidene derivaten heeft voortgebracht, inclusief DSC en C-IBS.

Datum:5 feb 2013 →  5 jul 2018
Trefwoorden:PUF, Authentication, Error Correction, Silicon Manufacturing Variation, FPGAs, ASICs, Stress Testing, Signal Processing, Machine Learning, Information Theoretic Security
Disciplines:Toegepaste wiskunde, Computerarchitectuur en -netwerken, Distributed computing, Informatiewetenschappen, Informatiesystemen, Programmeertalen, Scientific computing, Theoretische informatica, Visual computing, Andere informatie- en computerwetenschappen, Modellering, Biologische systeemtechnologie, Signaalverwerking, Controlesystemen, robotica en automatisatie, Ontwerptheorieën en -methoden, Mechatronica en robotica, Computertheorie
Project type:PhD project