Groot nieuws! NIST standaardiseert 3 PQC-algoritmen

Wat betekent dit voor ons werk?

NIST-ingangsbord op de Gaithersburg-campus in Maryland (VS)

De oorspronkelijke blog is Engelstalig, dit is de Nederlandse vertaling ervan.

Op 13 augustus 2024 heeft het National Institute of Standards and Technology (NIST) 3 post-quantum cryptography (PQC)-algoritmen gestandaardiseerd. Dit is relevant voor het PQC-testbed waar we bij SIDN Labs aan werken. In deze blog leggen we kort uit wat deze standaarden betekenen voor ons werk aan post-kwantum DNS-beveiliging.

Hoe passen deze standaarden in ons werk aan het post-kwantum DNS?

De 3 gestandaardiseerde algoritmen worden beschreven in FIPS 203, 204 en 205 en vervullen 2 verschillende rollen. ML-KEM (FIPS 203) is een algoritme voor kwantumveilige sleuteluitwisseling, terwijl ML-DSA en SLH-DSA (FIPS 204 en FIPS 205) post-kwantum opties voor digitale handtekeningen bieden.

FIPS

Naam

Afgeleid van

Kleinste publieke sleutel

Kleinste handtekening

FIPS 203

ML-KEM

CRYSTALS-Kyber

-

-

FIPS 204

ML-DSA

CRYSTALS-Dilithium

1.312 bytes (ML-DSA-44)

2.420 bytes (ML-DSA-44)

FIPS 205

SHL-DSA

SPHINCS+

32 bytes (SLH-DSA-SHA2-128s)

7.856 bytes (SLH-DSA-SHA2-128s)

Wat de nieuwe standaarden betekenen voor DoH

Zoals beschreven in een eerdere blog, hebben we in onze DoH- en DoT-resolvers al een hybride KEM (namelijk X25519Kyber768) ingeschakeld om de privacy van de gebruikers van DNS4all.eu te beschermen tegen 'store-now-decrypt-later'-aanvallen. Aangezien ML-KEM gebaseerd is op datzelfde CRYSTALS-Kyber, is het waarschijnlijk dat er in de nabije toekomst een nieuw hybride algoritme bij zal komen dat gebaseerd is op ML-KEM zoals X-WING.

Wat de nieuwe standaarden zouden kunnen betekenen voor DNSSEC

Aan de onlangs gestandaardiseerde algoritmen voor digitale handtekeningen hebben we voor ons werk aan DNSSEC niet zoveel. ML-DSA-44 en SLH-DSA-SHA2-128s resulteren allebei in een handtekeninggrootte (respectievelijk 2,5 kB en 8 kB) die de omvang van DNS-antwoorden flink zou doen toenemen, en zijn daarom niet zomaar te gebruiken in DNSSEC. Als we het (standaard en veelgebruikte) transportprotocol DNS-over-UDP willen blijven ondersteunen, mogen antwoorden niet groter dan 1232 bytes zijn om binnen de limieten voor pakketlevering via UDP te blijven. Deze vereiste werd al vermeld in het kader van eerder onderzoek naar het retrofitten van PQC in DNSSEC.

Positief is wel dat de verwachting is dat NIST later dit jaar Falcon zal standaardiseren als een aanvullend alternatief voor deze standaarden, onder de naam FN-DSA. Falcon-512 is een algoritme dat publieke sleutels van 897 bytes en handtekeningen van 666 bytes oplevert, wat bruikbaar kan zijn voor DNSSEC. Daarom is Falcon-512 een van de algoritmen waarnaar we momenteel kijken voor implementatie in DNSSEC. Maar we zijn vooral enthousiast over een recente inzending genaamd MAYO, die handtekeninggroottes heeft die geschikter zijn voor DNSSEC.

Het PATAD-testbed

Om de werking van deze algoritmen binnen het DNS te evalueren, hebben we het PATAD-testbed opgezet, waarin we integraties van Falcon-512, SQISign-I en MAYO-2 voor PowerDNS hebben geïmplementeerd. Daarnaast is er nu een alternatieve implementatie voor PowerDNS en BIND die via liboqs ook Falcon-512 ondersteunt.

Volgende stappen

Vorige maand hebben we ons PATAD-testbed vrijgegeven, zodat iedereen die daarin geïnteresseerd is (jij misschien?) met PQC in DNSSEC kan experimenteren. Intussen hebben de mensen bij deSec en SandboxAQ al een aantal metingen verricht voor Falcon-512 (en andere algoritmen) en daar een blogpost over geschreven. Momenteel zijn we bezig met het uitvoeren van prestatiemetingen met het PQC-algoritme MAYO en we verwachten daar binnenkort iets over te publiceren.

Voor meer informatie over ons werk met PQC en PATAD raden we je aan om onze eerdere blog te lezen of om te luisteren naar deze aflevering van de PING-podcast, waarin we worden geïnterviewd over ons werk.