Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial Internet of Things >> Internet of Things-technologie

Basisprincipes van SRAM PUF en hoe het te implementeren voor IoT-beveiliging

Dit artikel behandelt de basisprincipes van wat een SRAM PUF (fysieke niet-kloneerbare functie) is en hoe het werkt, evenals de functionaliteit die het biedt in Internet of Things (IoT)-beveiliging als het vertrouwensanker voor elk apparaat.

In elke situatie begint veiligheid met vertrouwen. Als je een alarmsysteem in huis hebt, geef je de pincode alleen aan mensen die je vertrouwt. Of het nu een familielid is of je vriendelijke buur, zonder vertrouwen deel je je geheim niet. En zo hoort het ook!

Deze kwestie van vertrouwen vertaalt zich ook in persoonsidentificatie. Hier komt de basis van vertrouwen uit formele documenten, zoals een paspoort of een geboorteakte. Deze documenten moeten echter wel “veilig gekoppeld” zijn aan een bepaalde persoon. Dit werkt meestal met menselijke biometrie. ID-papieren hebben allemaal iets dat het document aan de juiste persoon koppelt, of het nu alleen een foto van de persoon is of biometrische identificatie door middel van vingerafdrukken, zoals in moderne paspoorten. De biometrie is dus het veiligheidsanker waarop een systeem met permissies (mag je de grens over?) is gebouwd.

Dit beveiligingsanker is nodig om te voorkomen dat een eenvoudig document wordt gekopieerd en gebruikt door onbevoegden. Als het document is verankerd in iets dat niet kan worden gekopieerd of gekloond, zoals vingerafdrukken, wordt de beveiliging sterk genoeg om van een relatief eenvoudig document een krachtige authenticatietool te maken.

Een vergelijkbare uitdaging geldt voor het internet der dingen (IoT). Een veilige verbinding van miljarden goedkope apparaten is alleen mogelijk als elk apparaat de mogelijkheid heeft om gevoelige gegevens en veilige communicatie te beschermen. Deze bescherming wordt geboden door certificaten en cryptografische sleutels, vergelijkbaar met het paspoort in het vorige voorbeeld. Deze sleutels en certificaten vereisen echter ook een fysiek beveiligingsanker om ervoor te zorgen dat ze niet kunnen worden gekopieerd naar een frauduleus apparaat dat zich voordoet als een echt apparaat. Een technologie die dit beveiligingsanker biedt, zijn fysieke niet-kloneerbare functies (PUF's). Een PUF is een fysieke structuur waaruit een apparaat-unieke en niet-kloneerbare cryptografische root-sleutel wordt gegenereerd. Deze rootsleutel wordt gebruikt om de applicatiesleutels en certificaten van een apparaat te beschermen.

Hoewel er veel verschillende soorten PUF's zijn, zullen we ons concentreren op de SRAM PUF vanwege zijn betrouwbaarheid, schaalbaarheid en gebruiksgemak. De SRAM PUF is eenvoudig en flexibel te implementeren op een manier die schaalbaar is over de vele verschillende technologieknooppunten die in het IoT worden ingezet. Het is ook het enige PUF-type dat tegenwoordig bekend is en dat eenvoudig kan worden geïmplementeerd door software op een chip te laden (als alternatief voor het integreren van een speciaal hardware-IP-blok, wat ook mogelijk is). De SRAM PUF is een op hardware gebaseerd beveiligingsanker dat steeds populairder wordt vanwege het steeds groter wordende aantal aangesloten apparaten.

Wat is een SRAM PUF?

Een PUF maakt gebruik van diepe submicronvariaties die van nature voorkomen tijdens de productie van halfgeleiders en die elke transistor enigszins willekeurige elektrische eigenschappen geven. Deze unieke eigenschappen vormen de basis van de unieke identiteit van een chip.

Een SRAM PUF is gebaseerd op het gedrag van standaard SRAM-geheugen dat beschikbaar is in elke digitale chip. Elke SRAM-cel heeft zijn eigen voorkeurstoestand telkens wanneer de SRAM wordt gevoed, als gevolg van willekeurige verschillen in de drempelspanningen van de transistor. Daarom zal bij het voeden van SRAM-geheugens elk geheugen een uniek en willekeurig patroon van nullen en enen opleveren. Deze patronen zijn als chipvingerafdrukken, omdat ze allemaal uniek zijn voor een bepaalde SRAM en dus voor een bepaalde chip.

Deze zogenaamde SRAM PUF-respons is echter een "luidruchtige" vingerafdruk en om er een hoogwaardige en veilige cryptografische sleutel van te maken, is verdere verwerking vereist. Door gebruik te maken van zogenaamde "Fuzzy Extractor" IP is het mogelijk om elke keer en onder alle omgevingsomstandigheden exact dezelfde cryptografische sleutel te reconstrueren.

Deze manier van het afleiden van een sleutel uit de SRAM-eigenschappen heeft grote beveiligingsvoordelen ten opzichte van traditionele sleutelopslag in niet-vluchtig geheugen (NVM). Omdat de sleutel niet permanent wordt opgeslagen, is deze niet aanwezig wanneer het apparaat niet actief is (geen sleutel in rust), en kan daarom niet worden gevonden door een aanvaller die het apparaat opent en de geheugeninhoud compromitteert.

Hoe kunnen SRAM PUF's worden gebruikt als een vertrouwensbasis?

Apparaten, met name apparaten die deel uitmaken van het IoT, hebben sleutels nodig om hun gegevens, IP en operaties te beschermen. Als de herkomst van deze sleutels te vertrouwen is en de sleutels veilig worden opgeslagen in hardware die bescherming biedt tegen aanvallen, vormen ze de zogenaamde "root of trust" van het apparaat.

De sleutels kunnen ofwel door de apparaatfabrikanten (ook wel OEM's genoemd) zelf op de apparaten worden geleverd of in een nog eerder stadium door een chipleverancier. Wanneer chipleveranciers vooraf geleverde chips leveren, verhoogt dit de waarde van het product dat ze aan de OEM's verkopen. Als OEM's besluiten om zelf de provisioning te doen, kunnen ze doorgaans chips kopen die minder kosten.

Ongeacht welke van de twee partijen de verantwoordelijkheid op zich neemt voor het verstrekken van de cryptografische sleutels, het is nooit een triviale taak om uit te voeren. Het injecteren van geheime sleutels in chips vereist een vertrouwde fabriek, het voegt kosten en complexiteit toe aan het productieproces en beperkt de flexibiliteit. Deze complexiteit kan worden vermeden door de sleutels in de chip te laten maken, hetzij door een interne random number generator (RNG) of een PUF te gebruiken.

Het verkrijgen van een cryptografische rootsleutel op een apparaat is niet de enige uitdaging. Het veilig opslaan van gevoelige gegevens op apparaten is ook verre van triviaal. Geheime sleutels kunnen niet zomaar in NVM worden opgeslagen, omdat NVM kwetsbaar is voor hardware-aanvallen. Hardware-aanvallen waarmee kwaadwillenden NVM-content kunnen lezen, komen steeds vaker voor, waardoor onbeveiligde sleutelopslag onhaalbaar wordt. Daarom is er behoefte aan alternatieve veilige sleutelopslag. Een benadering zou zijn om een ​​beveiligd element aan het apparaat toe te voegen. Het toevoegen van hardware brengt echter ook meer complexiteit en kosten met zich mee. Een siliconen PUF, zoals de SRAM PUF, kan cryptografische sleutels veilig opslaan zonder dat er extra hardware hoeft te worden toegevoegd.

De onderstaande tabel geeft een overzicht van het beveiligingsniveau, de overhead in de toeleveringsketen en de kosten van de technologische opties voor het leveren en opslaan van cryptografische sleutels:

Een sleutelkluis maken met een SRAM PUF

Als we deze root-sleutel van de SRAM PUF hebben, wat is dan de volgende stap om de root of trust te creëren? De volgende stap is om de SRAM PUF-sleutel te gebruiken voor het maken van een ingesloten sleutelkluis om alle geheime gegevens op een apparaat te beschermen. De sleutels die door deze kluis worden beveiligd, zijn vereist voor de hogere services en toepassingen van het apparaat. De sleutelkluis maakt dus beveiligingstoepassingen mogelijk, zoals authenticatie, berichtversleuteling, software-/firmwareversleuteling en nog veel meer.

Met de SRAM PUF kunnen we een sleutelkluis maken met de volgende eigenschappen:

  • Er worden nooit sleutels opgeslagen in de vlakte - met name de bovenste of "root" -sleutel
  • Verschillende applicaties kunnen hun eigen unieke sleutels opslaan en gebruiken
  • Uitvoer van sleutelkluis kan rechtstreeks naar een hardware-crypto-engine worden verzonden

Een op SRAM PUF gebaseerde sleutelkluis implementeert de volgende functies:

  • Inschrijven:de inschrijfbewerking wordt doorgaans eenmaal in de levenscyclus van het apparaat uitgevoerd. Het stelt de PUF-rootsleutel vast die gedurende de levensduur van het apparaat kan worden gereproduceerd. De PUF-rootsleutel verlaat het apparaat nooit en wordt nooit opgeslagen. Het wordt gebruikt om een ​​tweede laag sleutels af te leiden die kan worden uitgevoerd of gebruikt om gevoelige gegevens in/uit te pakken. Bovendien worden hulpgegevens voor foutcorrectie gemaakt. Deze gegevens zijn niet-gevoelig - ze geven geen informatie over de PUF-rootsleutel - en kunnen dus worden opgeslagen in NVM die toegankelijk is voor het apparaat. De helpergegevens worden alleen gebruikt om op betrouwbare wijze dezelfde rootsleutel uit de SRAM PUF te reconstrueren bij daaropvolgende uitlezingen van de inherent luidruchtige PUF.
  • Start:De startbewerking genereert de interne PUF-rootsleutel opnieuw, met behulp van de helpergegevens die zijn gegenereerd tijdens Enroll, in combinatie met een nieuwe, "luidruchtige" SRAM PUF-meting. De helpergegevens die op een apparaat worden gegenereerd, zijn uniek voor dat apparaat. Het gebruik van helpergegevens die zijn gekopieerd van een ander apparaat bij het uitvoeren van een startbewerking leidt tot een mislukte bewerking met de juiste foutindicatie.
  • Wrap:de wrap-bewerking converteert een extern verstrekte sleutel naar een sleutelcode (KC), een versleutelde en geverifieerde versie van de originele sleutel. Door deze bescherming kan de KC onbeschermd in de vlakte worden opgeslagen. De KC zal alleen toegang geven tot de originele sleutel op het apparaat waarop deze was "verpakt".
  • Unwrap:De unwrap-bewerking is het omgekeerde van de wrap-bewerking, dus het converteert een KC terug naar de originele sleutel die was ingepakt, nadat de authenticiteit ervan is geverifieerd.
  • Stop:de stop-bewerking kan worden uitgevoerd wanneer er geen onmiddellijke noodzaak is om verdere sleutelkluisbewerkingen uit te voeren. Het wist alle gevoelige gegevens, inclusief de root-sleutel, uit de interne registers en kan worden gebruikt voordat de slaapmodus wordt geactiveerd om het aanvalsoppervlak te verkleinen.

Meerdere sleutels afleiden uit een PUF

Een implementatie van een beveiligingssysteem vereist doorgaans meer dan een enkele cryptografische sleutel. Dit komt omdat:

  • het compromitteren van een bepaalde sleutel voor één applicatie mag geen invloed hebben op de beveiliging van geheimen die worden gebruikt door andere applicaties in hetzelfde systeem, wat vereist dat verschillende applicaties in een systeem verschillende sleutels gebruiken.
  • verschillende cryptografische algoritmen in het systeem verwachten sleutels met verschillende lengtes of verschillende structuren die niet compatibel zijn met elkaar.
  • verschillende applicaties hebben geheimen nodig met een verschillende levensduur, bijvoorbeeld een applicatie van het systeem heeft meerdere sleutels met een korte levensduur nodig, terwijl een tweede applicatie een enkele sleutel met een lange levensduur nodig heeft.
  • sleutels worden vaak geassocieerd met identiteiten en gebruikt voor authenticatiedoeleinden, wat alleen zinvol is als verschillende gebruikers van het systeem toegang hebben tot verschillende sleutels.

Om deze en andere redenen is het een algemeen aanvaarde best practice in beveiligingsontwerp om een ​​enkele sleutel slechts voor een enkel doel en/of een enkele toepassing te gebruiken. In veel praktische situaties heeft een implementatie van een beveiligingssysteem echter slechts toegang tot een enkel rootgeheim, zoals in dit geval van de SRAM PUF. Om te voldoen aan de eis van één sleutel voor eenmalig gebruik, moet een sleutelbeheercomponent worden gebruikt met de mogelijkheid om meerdere toepassingssleutels te genereren uit dat ene rootgeheim.

Een cruciale eigenschap van meerdere gegenereerde applicatiesleutels is dat ze cryptografisch gescheiden zijn, d.w.z. ze moeten op een zodanige manier worden gegenereerd dat de openbaarmaking van een bepaalde afgeleide sleutel de beveiligingssterkte van een andere afgeleide sleutel niet beïnvloedt. Dit betekent dat simplistische generatiemethoden (bijvoorbeeld het toepassen van eenvoudige rekenkundige bewerkingen of het gebruik van overlappende delen van een geheim) uit den boze zijn. In plaats daarvan moet een cryptografisch beveiligde sleutelafleidingsfunctie (KDF) worden gebruikt, die cryptografische primitieven (bijv. AES of SHA-256) gebruikt om cryptografische scheiding tussen de uitgangen te waarborgen. Daarom zal het gebruik van een goed geïmplementeerde KDF ervoor zorgen dat een vrijwel onbeperkt aantal sleutels kan worden afgeleid van een enkele SRAM PUF-instantie.

Een SRAM PUF implementeren via software

Een van de grootste voordelen van een SRAM PUF die nog niet is aangepakt, is dat deze is gebaseerd op een fysieke structuur die in vrijwel elke chip beschikbaar is:het SRAM-geheugen. Omdat dit PUF-type standaard "off-the-shelf" SRAM gebruikt, is het de enige hardware-entropiebronoptie voor het beveiligen van IoT-producten die niet bij de fabricage van silicium hoeven te worden geladen. Het kan later in de toeleveringsketen worden geïnstalleerd en zelfs op afstand achteraf worden ingebouwd op ingezette apparaten. Dit maakt een nooit eerder mogelijke externe "brownfield"-installatie van een hardware-root of trust mogelijk en maakt de weg vrij voor het schalen van het IoT naar miljarden apparaten.

De eerder beschreven functies voor het maken van een sleutelkluis en voor het afleiden van meerdere sleutels kunnen worden geïmplementeerd als hardware- of software-IP. De enige hardware die nodig is om een ​​PUF te ontwikkelen, is de daadwerkelijke unieke fysieke structuur van de PUF zelf. Dus op elk apparaat waar toegang tot (niet-geïnitialiseerde) SRAM beschikbaar is voor de PUF-algoritmen, kan een werkende SRAM PUF worden geïmplementeerd. Deze eigenschap maakt de SRAM PUF uniek in het spectrum van verschillende PUF's op de markt. Voor zover de auteur weet, is de SRAM PUF het enige momenteel bestaande type PUF dat in hardware kan worden geïmplementeerd door simpelweg software op een apparaat te laden.

Conclusie

Zonder vertrouwen is er geen veiligheid. Elke beveiligingsoplossing begint met iets dat de identiteit van het onderwerp zal bewijzen - of dat onderwerp nu een persoon is die een identiteitsbewijs moet krijgen, of een chip die in het IoT moet worden ingezet - zonder enige twijfel. In dit artikel hebben we SRAM PUF-technologie gepresenteerd als een betrouwbare, schaalbare en gebruiksvriendelijke root of trust voor elk IoT-apparaat. Of het nu is geïmplementeerd als een speciaal hardware IP-blok of als software die op een apparaat is geladen, het creëert een vertrouwde cryptografische basissleutel van kleine, apparaat-unieke variaties in het silicium van chips. Met behulp van een SRAM PUF wordt gegarandeerd dat de rootsleutel van een apparaat bij niemand in de toeleveringsketen bekend is en niet kan worden gewijzigd of gekloond als het apparaat in onbetrouwbare handen valt. Door de beveiligingsfunctionaliteit bovenop dit rootgeheim uit te breiden, kan een vertrouwde kluis voor gevoelige gegevens en geheime sleutels worden gebouwd en kunnen alle extra sleutels die nodig zijn voor het apparaat worden afgeleid en beschermd. Daarom zijn SRAM PUF's een geweldige manier om uw systeem vanaf de grond (of het silicium) te beveiligen.


Internet of Things-technologie

  1. IIoT-beveiligingstips en trends voor 2020
  2. Hoe IoT de beveiligingsrisico's in olie en gas aanpakt
  3. De zoektocht naar een universele IoT-beveiligingsstandaard
  4. Hoe u zich voorbereidt op AI met behulp van IoT
  5. Houden beveiliging en privacy IoT tegen?
  6. Uw IT-risico evalueren - hoe en waarom
  7. Hoe bedrijven IoT kunnen gebruiken voor grootschalige gegevensverzameling en analyse
  8. Automatisering en IoT:een match made in heaven voor logistiek en beveiliging van de gezondheidszorg
  9. Drie stappen voor wereldwijde IoT-beveiliging
  10. Memphis 'smart' maken:zichtbaarheid, controle en beveiliging voor IoT-apparaten
  11. 5 redenen waarom IoT-projecten mislukken en hoe u dit kunt vermijden