PQC secure boot is eenvoudig te beschrijven, maar vervelend lastig te realiseren in silicium. In deze korte clip van Elektor TV bekijkt de spreker het probleem vanuit de flash-controllerkant: kleine opslagapparaten zoals microSD-kaarten hebben strikte beperkingen voor opstarttijden, beperkte rekenkracht en een reële behoefte om firmware-handtekeningen te verifiëren voordat de controle aan de rest van het systeem wordt overgedragen. Daardoor is NIST's FIPS 204 en het bijbehorende ML-DSA-handtekeningschema meer dan een abstracte standaard – het wordt een hardwareintegratieprobleem.

PQC secure boot in een flash-controller

De clip begint met een nuttig onderscheid. AES-versnelling, hashing in het datapad en echte willekeurige-getallengeneratie zijn al vertrouwde onderdelen van een beveiligd flash-controllerdesign. Ze blijven relevant, maar vormen niet het lastige deel van de post-kwantummigratie. Het moeilijke onderdeel is de publieke-sleutelcoprocessor die door de mask-ROM wordt gebruikt om het firmware-image te verifiëren tijdens secure boot.
 

Het vervangen van dat publieke-sleutelblok door ondersteuning voor ML-DSA is niet zomaar een kwestie van een nieuw IP-blok op een AXI-bus plaatsen. De spreker wijst op de gebruikelijke siliciumrealiteiten: verschillende klokdomeinen, klokgating, energiezuinigheid, logische verificatie, fysieke lay-out, multi-project wafer-prototypes, correcties en uiteindelijk maskgeneratie. Dat laatste punt is het onderdeel dat de aandacht scherp stelt, want maskersets zijn buitengewoon kostbaar.

Handtekeningverificatie verplaatsen naar een secure element

De voorgestelde uitweg is om de meeste beveiligingsfuncties naar een secure element te verplaatsen en tegelijkertijd realtime-encryptie en hashing in het flash-datapad te houden. In dat model verifieert de mask-ROM van de flash-controller de firmware-handtekening niet zelf. In plaats daarvan stuurt de controller de header van het firmware-image naar het secure element, dat de verificatie uitvoert en de controller alleen laat opstarten als het image correct is.

Hier speelt ook een stabiel protocol een belangrijke rol. De clip noemt ISO/IEC 7816, de smartcard-communicatiefamilie, als het soort interface dat vast kan blijven terwijl het secure element eronder verandert. De controller hoeft niet elk detail van het volgende handtekeningalgoritme te kennen, zolang de commandointerface maar stabiel genoeg is.

De opslagwereld kijkt al met interesse naar dit idee. De SD Association's kaartfunctieset omvat Fast Boot- en Secure Boot-functies, en Swissbit heeft een opslagmodule-aanpak beschreven waarbij NAND-flash, een controller en een security-controller van secure-element-klasse samenwerken binnen het opslagproduct.

Crypto-agility zonder nieuw maskerset

Voor ingenieurs is de sleutelbegrip crypto-agility, maar hier gaat het om crypto-agility in een zeer fysieke zin. Een nieuwer secure element kan andere algoritmen ondersteunen, grotere sleutelgroottes, beter beveiligde sleutelopslag of een betere weerstand tegen zijkanaalaanvallen. De flash-controller kan stabiel blijven terwijl de beveiligingscomponent verder evolueert.

Elektor volgt deze verschuiving ook vanuit een apparaatontwerpperspectief in een aankomend Elektor-webinar over post-kwantumcryptografie voor embedded producten. Dat is het punt dat steeds terugkeert in praktische PQC-discussies: de levensduur van een product, certificeringskosten en hardwareherontwerpcycli kunnen even belangrijk zijn als het algoritme zelf.

De belangrijkste les uit de clip is dat post-kwantummigratie niet simpelweg een bibliotheekupdate is. Bij embedded opslag kan het dure gedeelte de fysieke herontwerp zijn die nodig is om een nieuw soort handtekening snel genoeg tijdens het opstarten te verifiëren. PQC secure boot via een vervangbaar secure element is geen wondermiddel, maar wel een praktische manier om de impact van cryptografische wijzigingen te beperken.

Inschrijven
Tagmelding: Abonneer u op de tag post-quantum cryptography en u ontvangt een e-mail zodra er een nieuw item hierover op onze website wordt gepubliceerd!