Pieter Edelman
7 April 2011

Écht willekeurige getallen zijn lastig te verkrijgen, maar een vereiste voor zo‘n beetje alle beveiligingsprotocollen. Het Eindhovense Intrinsic-ID komt met een oplossing voor dit probleem die de ruis van SRam-geheugen inzet om daadwerkelijk willekeurige nummers te genereren. IRNG, zoals het product heet, is beschikbaar als IP-blok om in te bouwen in nieuwe IC‘s, of als C-bibliotheek voor bestaande hardware.

Willekeurige getallen worden nu vaak gegenereerd met een algoritme dat weliswaar toevallig lijkende nummers uitspuugt, maar in werkelijkheid deterministisch is. Door een min of meer willekeurig getal zoals de tijd als invoer te nemen voor deze pseudorandom number generator (PRNG), kan er een redelijke mate van veiligheid worden verkregen. Bij geavanceerde aanvallen kan een hacker dit proces echter onder controle houden, en daarmee de ’willekeurige‘ nummers.

Met IRNG is dat niet het geval. Bij het opstarten van SRam-geheugen nemen de cellen automatisch een 0 of een 1 aan, afhankelijk van de drempelspanningen van de transistoren. Volgens CEO Pim Tuyls zit hier voldoende ruis in om een willekeurig getal te genereren. Dit dient vervolgens als de seed voor een PNRG.

IRNG is een vervolg op de bestaande Quiddikey-oplossing, die het unieke patroon van drempelspanningen in SRam gebruikt om cryptografische sleutels te genereren voor een device. ’Wat we hier doen, is het reciproque ervan‘, zegt Tuyls. Niet het terugkerende patroon maar juist de ruis wordt gebruikt voor IRNG. De twee oplossingen zijn los of in combinatie te gebruiken. Ze hebben vergelijkbare hoeveelheden SRam nodig: 1 kilobyte voor 128 bits randomness.

Tuyls ziet IRNG als een goede aanvulling op Quiddikey. ’We krijgen zo een productportfolio die alle fundamentele primitieven van de securitywereld omvat. Een sleutel opslaan op een veilige manier is een belangrijke primitieve in de beveiliging. Random getallen zitten in veel securityprotocollen; die primitieve voegen we nu toe. Dat past ook in de lijn om een geheel securitybedrijf te worden.‘

Volgens Intrinsic-ID hebben zijn oplossingen nog een aantal andere voordelen boven het bestaande aanbod. Een populaire manier om aan ruis te komen, is door een ringoscillator in te bakken in een circuit. IRNG werkt echter veel sneller. ’Bij een ringoscillator heb je enkele tientallen milliseconden nodig voordat die is opgestart. Bij gelijke klok is de SRam-oplossing binnen een milliseconde gereed‘, zegt Tuyls.

Ook is het een goedkope manier om veiligheid in te bakken in nieuwe chips, aangezien alleen standaard IC-componenten worden gebruikt die eenvoudig kunnen worden ingepast. Er is wel ongeïnitialiseerd en dus gereserveerd SRam nodig. Tuyls ziet wel mogelijkheden om hetzelfde SRam te gebruikten voor Quiddikey en IRNG. ’Dat zal je per applicatie moeten bekijken en hangt af van wat je precies wilt‘, zegt hij.

De software-uitvoering van IRNG is vooral handig voor bestaande producten. ’Sommige devices zijn nooit met security in het achterhoofd ontworpen, maar komen wel ineens in een omgeving waar dat nodig is. Met deze software kun je de leeftijd van het device verlengen.‘