Elke chip is anders. Tijdens de productie kunnen kleine variaties optreden. Voor chipontwerpers, die willen dat elke chip zich hetzelfde gedraagt, is dat een nachtmerrie. Veiligheidsexperts zien er dan weer een voordeel in: de kleine variaties geven chips een uniek profiel, net als vingerafdrukken bij mensen.
Mensen zijn uniek. Je kan ze volledig accuraat identificeren met vingerafdrukken en andere biometrische kenmerken. Dat geldt niet voor een groeiend aantal slimme toepassingen, zoals drones, sensoren of andere apparaten met een internetverbinding. Als je via je smartphone jouw zelfrijdende auto de opdracht geeft om je aan de luchthaven op te pikken, kan de auto niet helemaal zeker zijn of de opdracht wel komt van jouw smartphone of van een gekopieerd toestel. Daarin schuilt een beveiligingsrisico.
Een voor de hand liggende, gemakkelijke en goedkope oplossing zou erin bestaan om elke chip bij de productie een unieke identificatiecode mee te geven. Wordt zo’n chip door een applicatie gecontacteerd of ‘gechallenged’, dan kan die zich uniek kenbaar maken.
Toch is dat niet helemaal veilig. Een tweede, kwaadwillige chip kan nog steeds die unieke 'identifier' kopiëren. Daarom hebben we boven een unieke maar willekeurige identificatiecode nood aan een code die fysisch bij een chip hoort. Die oplossing is wat experts een physically unclonable function of PUF noemen. Het is een niet na te bootsen fysieke functie die de rol van een menselijke vingerafdruk vervult.
Hoe zou de ideale ‘vingerafdruk’ eruit zien?
‘Wat wij proberen te bereiken, is dat de chipidentiteit niet langer steunt op een programma dat in de circuits is geïnstalleerd, maar op de fysieke kenmerken van de chip zelf. Die identiteit is dan niet langer beschermd door wachtwoorden en cryptografie, maar steunt op willekeurige, oncontroleerbare fysieke kenmerken. Die kan je onmogelijk nabootsen’, zegt Ingrid Verbauwhede, die bij imec-COSIC-KU Leuven de groep Embedded systems and hardware leidt.
Tijdens de productie van een chip creëer je ontelbare willekeurige variaties. Op nanoschaal is het onmogelijk om twee identieke chips te fabriceren. Onderzoekers breken er al een tijdje hun hoofd over hoe ze dat unieke karakter van chips kunnen gebruiken om elke chip onweerlegbaar te identificeren.
‘De PUF’s die tot nu toe zijn gemaakt hebben een aantal nadelen’, zegt Verbauwhede. ‘Sommige kosten meer omdat je extra schakelingen moet toevoegen. Andere hebben een vingerafdruk die na een tijdje vanzelf wijzigt. Nog andere vertonen regelmatigheden, waardoor ze toch niet zo veilig zijn.’ Uit die problemen ontstaat het concept van een ideale vingerafdruk van een chip. Hij moet stabiel zijn en gemakkelijk af te lezen. Het gebruik van de vingerafdruk mag niet veel tijd en energie kosten en de vingerafdruk mag na verloop van tijd niet veranderen. Hij moet bovendien uniek zijn en onmogelijk na te bootsen in een andere chip. De vingerafdruk mag evenmin af te leiden zijn uit alle informatie (of sleutels) die de chip verspreidt. Ten slotte moet hij inbraakvrij zijn: als iemand de chip fysiek probeert te ontcijferen, moet de vingerafdruk zichzelf vernietigen of veranderen.
Volgens Verbauwhede kan je een vingerafdruk voor chips op twee manieren gebruiken. ‘In de eerste plaats kan je hem gebruiken om de chip te authenticeren. Een apparaat stuurt een challenge, die de vingerafdruk van de chip beantwoordt. Die respons vergelijk je dan met je vooraf samengestelde database van alle legitieme antwoorden. Elke challenge mag je natuurlijk maar één keer gebruiken. Anders kan een hacker de combinatie van challenge en respons onderscheppen.’
‘Met de vingerafdruk kan je ook cryptografische sleutels aanmaken. Die toepassing is wat complexer, omdat je extra algoritmes en hulpdata nodig hebt om de sleutels veilig te maken. Maar het resultaat is dan wel een sleutel die is afgeleid van de willekeurige eigenschappen van chips en niet van een opgeslagen geheim of van fysieke processen die je kan onderscheppen.’
Een vingerafdruk op basis van ‘gebrandmerkte’ transistoren
Dimitri Linten is R&D-manager bij imec. Samen met zijn collega’s bestudeert hij de variaties bij de productie van toekomstige transistoren. ‘Onze technieken moeten ervoor zorgen dat die variaties geen effect hebben op hoe de chips werken’, zegt Linten. ‘Maar daarnaast zoeken dus ook naar stabiele PUF’s waar geen extra circuits of processen voor nodig zijn.’
Na verloop van tijd kan een transistor op een willekeurige plaats ‘doorslaan’. De oxide- of isolatielaag aan de transitorgate is uiterst dun. Door herhaaldelijk gebruik bouwen zich in die dunne laag willekeurige defecten op. Op een bepaald ogenblik ontstaat doorheen die defecten een lekstroompad. Op dat moment doormaakt de transistor een soft breakdown en kan hij zijn taak niet langer vervullen. ‘Wat ons interesseert, is de willekeurige positie van het lekstroompad en het feit dat je die positie kan meten’, zegt Linten.
‘Eigenlijk zijn de oxide-breakdowns een verouderingseffect. Die willen we normaal voorkomen of vertragen – een chip moet immers zo lang mogelijk gezond blijven. Maar voor de PUF's hebben we die veroudering net nodig. Daarvoor kunnen we bijvoorbeeld een apart blokje op de chip reserveren, waarop we éénmaal een hoge spanning zetten . We dwingen dus een klein deeltje van de chip om heel snel te verouderen, en als neveneffect krijgen we een willekeurige vingerafdruk’, aldus Linten.
Aan dit soort PUF hangt een extra beveiligingsvoordeel. De meeste PUF’s komen bij de productie zelf tot stand en kunnen dus door de fabrikant worden uitgelezen. Dit houdt een veiligheidsrisico in, aangezien zo ook een derde partij kennis van de geheime identifier kan verwerven. Maar bij de door imec toegepaste oxide breakdown is het de applicatiebouwer (een autoconstructeur, bijvoorbeeld) of zelfs de eindgebruiker die de PUF kan activeren. Geen enkele andere partij kent dan de echte identiteit van de chip.
Uitgebreide hardwarebeveiliging
Deze PUF’s zijn nog niet helemaal klaar voor verwerking in commerciële chips. De onderzoekers zien wel al toepassingen. Ze denken aan chips voor de draadloze besturingsnetwerken in auto’s, voor industriële machines of voor medische apparatuur.
Het onderzoek naar oxide-breakdown PUFs wordt gedeeltelijk gefinancierd door de Europese Commissie in het kader van het Horizon 2020 onderzoeks- en innovatieprogramma.