Lieneke Kusters. Foto | Bart van Overbeeke

Sluitstuk | Vingerafdruk voor het Internet of Things

Het Internet of Things (IoT) bestaat uit miljarden via internet verbonden sensoren en andere devices, die allemaal beveiligd moeten worden tegen kwaadwillende hackers. Een goedkope en energiezuinige oplossing voor de beveiliging van IoT-devices maakt gebruik van de unieke fysieke eigenschappen van de ingebouwde geheugenchips. Promovenda Lieneke Kusters onderzocht hoe je die digitale vingerafdruk van de chip het best kunt benutten om een beveiligingssleutel te genereren.

Hoe meer apparaten met elkaar verbonden zijn via het Internet of Things, hoe groter het risico dat kwaadwillende hackers zich toegang kunnen verschaffen tot belangrijke informatie - of zelfs hele systemen over kunnen nemen. Nog afgezien van allerlei privacy-issues, is het niet moeilijk voor te stellen dat iemand met controle over bijvoorbeeld temperatuursensoren in een chemische fabriek of kerncentrale grote schade kan aanrichten.

Om dergelijke problemen te voorkomen, moet elk IoT-device als het ware een identiteitsbewijs kunnen tonen - authenticatie, heet dat in vaktermen. Dat gebeurt normaal gesproken met een soort wachtwoord, dat in versleutelde vorm wordt opgestuurd naar degene die met het device communiceert. De beveiligingssleutel die daarvoor nodig is, moet op één of andere manier opgeslagen zijn in het IoT-device, legt Lieneke Kusters uit. “Maar dat zijn vaak kleine, goedkope apparaatjes, die niet veel energie mogen verbruiken. Om daarin een sleutel veilig op te slaan, heb je extra hardware nodig die voortdurend van stroom moet worden voorzien. Dat is dus niet praktisch.”

Digitale vingerafdruk

Het kan ook anders: namelijk door de beveiligingssleutel af te leiden van een unieke fysieke eigenschap van de geheugenchip (Static Random-Access Memory, ofwel SRAM) die in vrijwel elk IoT-device te vinden is. Afhankelijk van toevallige omstandigheden tijdens de fabricage van de chip, hebben de geheugenplaatsen namelijk een random ‘default’-waarde ‘0’ of ‘1’.

“Die binaire code, die je kunt uitlezen tijdens het aanzetten van de chip, vormt een soort digitale vingerafdruk van het device”, vertelt Kusters, die promoveerde in het Information and Communication Theory Laboratory van TU/e-faculteit Electrical Engineering. Zoiets wordt een Physical Unclonable Function (PUF) genoemd. “Het Eindhovense bedrijf Intrinsic ID verkoopt digitale beveiliging op basis van SRAM-PUFs. Met hen heb ik samengewerkt voor mijn promotieonderzoek, waarin ik met name heb gekeken hoe je uit die digitale vingerafdruk op een betrouwbare manier een zo lang mogelijke sleutel kunt genereren. Hoe langer, hoe veiliger namelijk.”

Het grote voordeel van beveiligingssleutels op basis van SRAM-PUFs is dat de sleutel alleen bestaat op het moment dat authenticatie nodig is. “Het device start zichzelf opnieuw op om de SRAM-PUF uit te lezen en creëert daarbij de sleutel die direct na gebruik weer wordt gewist. Daardoor is het voor een aanvaller vrijwel onmogelijk om de sleutel te stelen.”

Ruis en betrouwbaarheid

Maar dat is niet het hele verhaal. Van een klein deel van de bits van de SRAM is de waarde bij het opstarten namelijk niet altijd hetzelfde, legt Kusters uit. Tien tot vijftien procent van de bits blijkt niet gedetermineerd, waardoor de digitale vingerafdruk wat ‘wazig’ is. Hoe maak je daar een sleutel van die zo complex mogelijk is, maar toch - vrijwel - altijd in het ontvangende slot past?

“Je wilt voorkomen dat de gegenereerde sleutel door de ontvangende partij niet wordt herkend als gevolg van de ‘ruis’ in de SRAM-PUF”, legt Kusters uit. “Dat mag misschien één keer op een miljoen gebeuren, liefst nog minder vaak.” Met een minder lange sleutel is die foutkans kleiner, maar een kortere sleutel is voor kwaadwillenden ook makkelijker te raden. “Ik heb gezocht naar de langste betrouwbare sleutel, gegeven een bepaalde hoeveelheid ruis in de meting. Daarbij helpt het om extra informatie over de SRAM-PUF op te slaan, maar een eventuele aanvaller mag daar niets aan hebben. Mijn proefschrift is een analyse van hoe je met die extra informatie in verschillende situaties tot het optimale resultaat komt.”

Deel dit artikel