A Physical Unclonable Function ( PUF ) är en funktion som ingår i en fysisk struktur som är lätt att utvärdera men svår att karakterisera, modellera eller reproducera. Den fysiska strukturen som innehåller PUF består av många slumpmässiga komponenter. Dessa slumpmässiga komponenter introduceras under tillverkningsprocessen och kontrolleras inte. PUF är ett fysiskt system som, när det agerar på (en begäran), genererar ett unikt men oförutsägbart svar. En specifik utmaning och dess motsvarande svar bildar tillsammans ett Challenge - Response Pair ( CRP ) . PUF liknar på många sätt en hashfunktion, ett fysiskt system som består av många slumpmässiga komponenter motsvarar en nyckel . PUF är också en irreversibel funktion.
PUF:er är icke-kloningsbara på grund av att varje PUF har ett unikt och oförutsägbart sätt att visa samtal. Två PUF:er som skapas från samma produktionsprocesser kommer fortfarande att ha olika beteende.
PUF har två viktiga egenskaper:
Dessa egenskaper tillsammans kallas icke-klonbarhet.
PUF kan använda olika källor till fysisk slumpmässighet. Man skiljer på PUF:er där godtycke introduceras av yttre faktorer och de där det är en egenskap som är inneboende i det fysiska systemet.
De första referenserna till system som använder slumpmässiga variationer i produktionsprocessen finns i verk av Bauder 1983 [1] och Simmons 1984 [2] [3] . Naccache och Fremanto 1992 designade ett schema för att autentisera minneskort. [4] Termerna POWF (fysisk envägsfunktion) och PUF (fysisk oklonbar funktion) dök upp 2001 [5] och 2002. [6]
Mellan 2010 och 2013 började PUF användas i smartkortsindustrin som en lovande metod för att skapa ett "elektroniskt fingeravtryck" - unika kryptografiska nycklar för varje enskilt smartkort. [7] [8]
För närvarande har PUF:er visat sig vara ett pålitligt alternativ till privata nyckelbutiker i kommersiella FPGA- designer som Xilinx Zynq Ultrascale+ [9] och Altera Stratix 10. [10]
PUFs förlitar sig på det unika med deras fysiska mikrostruktur. Denna mikrostruktur beror på slumpmässiga faktorer som uppstår under produktionsprocessen. Dessa faktorer är oförutsägbara och okontrollerbara, vilket gör det praktiskt taget omöjligt att återskapa eller klona en PUF:s struktur.
PUFs arbetar på en utmaning-svar (eller utmaning-svar) basis . När en fysisk signal appliceras på en PUF-enhet svarar den på ett oförutsägbart men repeterbart sätt på grund av signalens komplexa interaktion med enhetens mikrostruktur. Signalen som appliceras på PUF kallas en utmaning (eller begäran), och utgångstillståndet för PUF kallas ett svar. En specifik begäran och dess motsvarande svar bildar ett utmaning-svar-par ( Challenge-Response Pair, CRP ) . Identiteten för enheten fastställs av egenskaperna hos dess mikrostruktur. Eftersom denna mikrostruktur inte exponeras av begäran-svarsmekanismen är en sådan anordning resistent mot spoofing .
PUFs kan också användas för att härleda starka kryptografiska nycklar från den fysiska mikrostrukturen. [11] Med varje begäran genererar PUF samma unika kryptografiska nyckel. [12] [13] Utmaningssvarsmekanismen kan implementeras med hjälp av kryptografi .
PUF:er kan implementeras med små hårdvarukostnader. Till exempel kräver ett ROM som innehåller en tabell med svar på alla möjliga förfrågningar antalet komponenter som ska byggas, vilket växer exponentiellt med antalet bitar i begäran. Samtidigt kan PUF utformas på ett sådant sätt att antalet nödvändiga komponenter kommer att växa linjärt med antalet bitar i begäran.
Icke-klonbarhet innebär att varje PUF-enhet är unik och har ett oförutsägbart svar på en förfrågan, även om den producerades på samma sätt som en annan enhet. Med andra ord är det inte möjligt att skapa en PUF med samma uppsättning begäran-svarspar som en annan PUF har, eftersom små fel i tillverkningsprocessen är okontrollerbara. Matematiskt betyder icke-klonbarhet att det är mycket svårt att beräkna ett okänt svar på en begäran eller egenskaper hos någon PUF-komponent, eftersom svaret bildas av den komplexa interaktionen mellan begäran och många PUF-komponenter. Med andra ord, med tanke på det schema som PUF producerades med, men utan att känna till alla de fysiska egenskaperna hos dess slumpmässiga komponenter, är svaren på förfrågningar nästan oförutsägbara. Kombinationen av fysisk och matematisk icke-klonbarhet gör PUF verkligen icke-kloningsbar. [12] [14]
Observera att PUF:er är icke-kloningsbara i den meningen att varje enhet är unik, givet samma tillverkningsprocess. Men om nyckeln som lagras av PUF har exponerats, är det inte svårt att kopiera den nyckeln (utgången av PUF) med andra metoder.
På grund av dessa egenskaper kan PUF:er användas som unika identifierare för andra enheter. PUFs kan också användas som hemliga nyckelgeneratorer och butiker, såväl som källor till slumpmässighet .
Ett stort antal enheter kan utrustas med en PUF, såsom tokens , smarta kort , bankkort , värdepapper , integrerade kretsar , säkerhetskameror.
PUF:er är användbara för system där verifieraren med säkerhet vet att mätinstrumenten kan lita på och den riktiga PUF:en används för forskning. PUF är svårt att använda för att identifiera fjärråtkomstprotokoll. En angripare kan kopiera data från vilken PUF som helst och sedan mata in data via tangentbordet. Styranordningen kan inte avgöra om en PUF faktiskt presenteras för den.
En optisk PUF består av ett transparent material (som glas) som innehåller slumpmässigt fördelade reflekterande partiklar (som luftbubblor). När en laserstråle belyser ett material skapas en fläckstruktur (ett slumpmässigt interferensmönster , som bildas av ömsesidig interferens av koherenta vågor med slumpmässiga fasskiftningar och/eller en slumpmässig uppsättning intensiteter). Fläckmönstret är en funktion av den inre strukturen hos PUF, laservåglängden och strålens infallsvinkel.
En implementering av PUF består av en koherent ljuskälla, CMOS-avkänningselement och elektroder som används för att rotera den flytande kristallen mellan två fasroterande tillstånd. Konfigurationen av elektroderna utgör anropet. Ljus från lasern träffar PUF och sprids. Det kan falla direkt på det ljuskänsliga elementet, eller delvis absorberas av elektroden, spridas och ändra polarisation, beroende på kristallens tillstånd. Vid varje känsligt element läggs bidragen från alla ljusutbredningsvägar sammanhängande. Konfigurationen av elektroderna påverkar avsevärt bilden som registreras av sensorn.
Optisk avkänning av PUF:er är svårt eftersom ljusspridning skymmer positionen för spridningspartiklar. För närvarande tillåter teknologier oss att utforska diffusionsmaterialet endast till ett djup av cirka 10 gånger strålningens våglängd. Men även om angriparen känner till alla positioner för spridningsobjekten, kommer han inte att kunna göra en fysisk kopia av PUF, eftersom osäkerhetsprincipen inte tillåter dig att exakt placera ett stort antal partiklar. Det kan tyckas lättare att modellera denna process och beräkna alla korrekta svar på lämpliga utmaningar. Men i verkligheten är detta en mycket svår uppgift i realtid, det kräver beräkningar av ordningen
PUF-beläggningar kan skapas på det översta lagret av integrerade kretsar . Mikrokretsarna som erhålls i massproduktionsprocessen kännetecknas av en icke-repeterande uppsättning elektriska egenskaper, som kan användas i säkerhetssystem som en garanterad icke-kopierbar identifieringsfunktion.
Den integrerade kretsen är täckt med ett skyddande skikt i vilket det finns dielektriska partiklar, det vill säga har en slumpmässig storlek, form och dielektrisk konstant . En uppsättning metallsonder förs direkt under passiveringsskiktet . En tillräcklig grad av slumpmässighet uppnås endast om dielektrikumets korn är jämförbara i storlek med avståndet mellan sensorerna, eller om dielektricitetskonstanten är stor, vilket skapar betydande avvikelser från medelvärdet. En spänning med en viss frekvens och amplitud appliceras på varje sensor. Sensorplattan beter sig som en kondensator med ett slumpmässigt värde på kapacitansen . Detta värde kan användas som en identifieringsnyckel .
Fördelar med PUF-beläggning: hög grad av integration, placering av elektronisk styrutrustning under PUF gör den kontrollerbar. Denna unikhet kan användas för att härleda en identifierare för enheten som bär täcknings-PUF. Dessutom skyddar placeringen av denna ogenomskinliga PUF i det översta lagret av integrerade kretsar de underliggande kretsarna från attack. Om en angripare försöker ta bort täckningen kommer den ursprungliga identifieraren att förstöras.
Silicon PUFs använder slumpmässiga variationer i fördröjningar i FET- ledare och grindar . Ett racetillstånd sätts upp i den elektriska kretsen och de två strömbrytarna fortplantar sig längs olika vägar och tar reda på vilken som kommer först. Medlaren, vanligtvis implementerad som en utlösare, ger 1 eller 0 beroende på vilken övergång som slutförs först. När en krets med samma masker produceras på olika chips, skiljer sig logikfunktionerna som implementeras i elektriska kretsar för varje chip på grund av slumpmässig variation i fördröjningar.
PUF för static random access memory ( SRAM )Denna PUF förlitar sig på variationer som oundvikligen finns för material som används vid tillverkning av apparater. De producerar för en given ingång en utdata som kommer att vara olika för olika delar av en given utrustning, vilket förhindrar att en exakt kopia av en given produkt görs. Dessa PUF finns på alla integrerade kretsar som har statiskt minne [15] . De låter dig skapa en identifierare som är en egenskap hos ett givet chip, snarare än att lagra det digitalt.
Magnetiska PUFsMagnetiska PUF finns på kort med magnetremsor. Den fysiska strukturen hos de magnetiska medier som används i kort produceras genom att blanda miljarder bariumferritpartiklar till en pasta under tillverkningsprocessen. Partiklar har olika former och storlekar. Pastan appliceras sedan på det mottagande lagret. Partiklar faller slumpmässigt. Det är fysiskt omöjligt att tvinga partiklarna att ligga exakt likadant en andra gång på grund av osäkerheten i processen, det enorma antalet partiklar och partiklarnas slumpmässiga geometri. När pastan torkar skärs det mottagande lagret i remsor och limmas sedan på plastkort, men den slumpmässiga ordningen på magnetremsan bevaras och kan inte ändras. På grund av deras fysiskt icke-replikerbara egenskaper är det högst osannolikt att två magnetiska kort någonsin kommer att vara identiska. Faktum är att för ett plastkort i standardstorlek uppskattas sannolikheten att två kort har exakt matchande magnetiska PUF:er vara 1 på 900 miljoner. Dessutom, eftersom PUF är magnetisk, vet vi att varje kort bär en distinkt, reproducerbar och läsbar magnetisk signal.
PUF-anpassning.
Personuppgifter kodade på en magnetremsa introducerar ytterligare slumpmässighet, i vilket fall sannolikheten uppskattas till 1 på 10 miljarder.
Magnethuvudet förstärker slumpmässiga magnetiska signaler. Eftersom magnethuvudet påverkas av hastighet, tryck, acceleration kommer varje träff av den magnetiska PUF att ge en probabilistisk, men på många sätt distinkt signal. Detta gör magnetremskortet till ett utmärkt verktyg för att generera nycklar, digitala signaturer och engångslösenord.