Waarom SHA-1 removal ?
Als onderdeel van de DNSSEC chain-of-trust worden er DS records toegevoegd aan de parent zone van een domein. De inhoud van een DS record is de hashwaarde van het publieke gedeelte van de KSK-key dat in het subdomein wordt gebruikt. DNS Belgium maakt gebruik van zowel de SHA-1 als de SHA-256 hashfunctie voor de DS-records in de zonefiles voor de domeinen .be, .vlaanderen en .brussels.
Een document getiteld “SHA-1 is a shambles” dat begin januari 2020 is gepresenteerd op het Real World Crypto Symposium, beschrijft een chosen-prefix collision attack op de SHA-1 hashfunctie waardoor we deze hashfunctie verder niet meer als veilig kunnen beschouwen. Het is dus aangewezen om de SHA-1 hashfunctie niet meer te gebruiken, ook niet meer in DNSSEC.
SHA-1 removal project
Deze pagina beschrijft het SHA-1 removal project. Het verduidelijkt hoe en wanneer DNS Belgium de SHA-1 DS records uit de zonefiles zal verwijderen voor de 3 domeinen, .be, .vlaanderen en .brussels.
In dit project halen we enkel de DS records met digest type 1 (SHA-1) uit de zone. De DNSKEY algoritmes die ook gebruik maken van SHA-1, zoals algoritme 5 (RSASHA1) en algoritme 7 (RSASHA1-NSEC3-SHA1) zijn nog steeds toegelaten. Deze staan in RFC8624 vermeld als NOT RECOMMENDED, en zullen in een ander project uitgefaseerd worden.
Root zone
De DS-records nodig voor de DNSSEC chain-of-trust voor de domeinen waarvoor DNS Belgium verantwoordelijk is (.be , .vlaanderen en .brussels) zijn aan de root zone toegevoegd. Voor aanvang van het SHA-1 removal project voegden we voor deze domeinen reeds 2 DS-records aan de root zone toe, één record met de SHA-1 hash value en één record met de SHA-256 hash value.
Omdat tegenwoordig al de DNSSEC validating DNS resolver nameservers overweg kunnen met SHA-256 hash values, kunnen we de SHA-1 DS records zonder impact voor de buitenwereld verwijderen uit de root zone voor deze 3 domeinen.
.be-zone
Via het registratieplatform van DNS Belgium uploadt de registrar het publiek gedeelte van de KSK key voor de subdomeinen van het .be-domein die DNSSEC geïmplementeerd hebben. DNS Belgium berekent hiervan de hash values voor de DS-records en voegt deze toe aan de .be-zonefile. Dit zijn voor aanvang van het ‘SHA-1 removal’ project nog 2 DS-records, één record met de SHA-1 hash value van de KSK publieke key, en één record met de SHA-256 hash value. De aanpassing die moet gebeuren in het kader van het SHA-1 removal project voor de .be-zone is volledig in handen van de registry , DNS Belgium, die het SHA-1 record niet meer zal toevoegen aan de .be-zonefile.
We passen deze wijziging gefaseerd toe op de zonefile, zodat de eventuele impact beperkt blijft. Eerst voegen we het SHA-1 DS record niet meer toe aan de zonefile voor al de subdomeinen die starten met de letter A (of met andere woorden: we voegen enkel het SHA-256 DS record nog toe aan de zonefile). Na verificatie doen we hetzelfde voor de subdomeinen die starten met de letters B tem G. Vervolgens voegen we voor de gehele .be-zone geen SHA-1 DS record meer toe aan de zonefile. Deze fasering kunnen we als dusdanig implementeren omdat de zonefile steeds opnieuw wordt gegenereerd door middel van Zonepub.
.vlaanderen-/.brussels-zone
De DS records in de zonefiles voor de gTLD -domeinen, .vlaanderen en .brussels, voegen we op een enigszins andere manier toe. De registrar berekent hier zelf de hash waarde voor het DS record en geeft deze via het EPP protocol door aan de registry, DNS Belgium.
DNS Belgium voegt dan dit record toe aan de respectievelijke zonefile van .vlaanderen of .brussels. Hier is het dus aan de registrars om geen SHA-1 DS records meer door te geven voor de subdomeinen die DNSSEC hebben geïmplementeerd, maar wel een SHA-256 DS record. We vragen bovendien aan de registrars om de SHA-1 DS records die al zijn toegevoegd aan de .brussels of .vlaanderen zonefile, te vervangen door SHA-256 DS records.
- Indien er voor een subdomein reeds 2 DS records zijn aangemaakt, kan de registrar zonder problemen het SHA-1 DS record verwijderen.
- Indien er voor een subdomein enkel 1 DS record is en deze bevat al een SHA-256 hash waarde, dan moet er niets gebeuren.
- Indien er voor een subdomein enkel 1 DS record is en deze bevat een SHA-1 hash waarde, dan moet de registrar deze vervangen door een SHA-256 DS record; dit gebeurt best op deze manier:
- Voeg het SHA-256 DS record toe
- Verifieer of deze effectief in de zone staat
- Wacht de periode van minstens 1 TTL (1 dag) af
- Verwijder het SHA-1 DS record
Meer informatie is te vinden op volgende pagina’s:
- DNSSEC, een update van het DNS-protocol
- Het command 'Update domain'
Planning
Dit is de DNS Belgium planning om al de SHA-1 DS records te verwijderen voor de domeinen, .be, .vlaanderen en .brussels:
- We verwijderen SHA-1 DS record uit de root zonefile voor de domeinen .vlaanderen en .brussels.
- Fase 1 van SHA-1 verwijdering uit de .be zonefile voor al de subdomeinen die starten met de letter A.
- Fase 2 van SHA-1 verwijdering uit de .be zonefile voor al de subdomeinen die starten met de letter A tem G.
- Fase 3 van SHA-1 verwijdering uit de .be zonefile voor al de subdomeinen.
- We verwijderen SHA-1 DS record uit de root zonefile voor het .be-domein.
- Start inforonde voor de verwijdering van de SHA-1 records uit de .vlaanderen- en .brussels- zonefile; vraag aan de registars om de SHA-1 DS records niet meer toe te voegen en ook om de reeds bestaande DS records met digest type 1 te vervangen door DS records met digest type 2.
Links
- SHA-1 chosen prefix collisions and DNSSEC (University of Cambridge)
- SHA-1 and DNSSEC validation (University of Cambridge)
- SHA-1 is a Shambles
- SHA-1 is a Shambles. First Chosen-Prefix Collision on SHA-1 and Application to the PGP Web of Trust
- SHA-1 is a Shambles∗ First Chosen-Prefix Collision on SHA-1 and Application to the PGP Web of Trust (pdf)
- SHA-1 is a Shambles: First Chosen-Prefix Collision on SHA
- Shattered. We have broken SHA-1 in practice
-
Waarom kiezen voor Zonepub?
‘Zonepub’ is de nieuwe manier van zonefile generatie ter vervanging van ‘Dynamic Update’. DNS Belgium heeft deze nieuwe methode in productie gezet.