Sign in
P-2ProposedGlobal, Registry Council

DNSSEC and keys

Version
v1
In force since
Not yet
Next review
At adoption
Snapshot
None yet
Adopted by
Proposed for founding adoption
Signature
At adoption
Log entry
Not appended yet
Binding text
English

Proposed, not in force

Open for comment until 28 October 2026, 00:00 UTC. Nothing here binds anyone until it is adopted.

1

Scope

1.1
Bindingp2-c1

This policy sets how the root and every TLD zone Gelhaus Solutions signs are keyed, signed, published and rolled. A self-hosted TLD keeps its keys under controls no weaker than these.

2

Algorithms

2.1
Enforced settingp2-c2Not enforced yet

Every DNSSEC key uses algorithm 13fixed, ECDSA P-256 with SHA-256, and every DS record we publish uses digest type 2fixed, SHA-256. SHA-1 is used nowhere.

2.2
Bindingp2-c3

An algorithm rollover is rehearsed every year on the local stack, so that moving to a post-quantum algorithm later is routine.

3

Keys and custody

3.1
Bindingp2-c4

Every key has exactly one role and its own key in Vault: the root KSK and ZSK, each TLD's KSK and ZSK, the CA roots and issuing CAs, the anchor bundle key, the release key, the log checkpoint key, TSIG keys and the mirror enrolment CA.

3.2
Enforced rulep2-c5

Every signing key is a non-exportable Vault Transit key with plaintext backup disabled, and every signature is made inside Vault. There is no fallback to a local key.

Rule keys.in_vault. Limits: A non-negotiable, which no scope, motion or emergency reaches.

3.3
Bindingp2-c6

Vault is reachable only from named hosts over WireGuard, keeps two audit devices, binds every credential to network addresses, and holds no standing root token.

3.4
Enforced settingp2-c7Not enforced yet

A signer refuses to sign when its clock is not synchronised by NTS or is off by more than 1 secondfixed.

3.5
Bindingp2-c8

The root KSK is offline. It is held in a separate ceremony Vault that stays sealed outside ceremonies and opens only with 3 of 5 key shares, each held by a different person in a tamper-evident bag at a separate site. The online signer never holds it.

4

Ceremonies

4.1
Bindingp2-c9

Offline keys, namely the root KSK, the CA roots and the anchor bundle key, are generated and used only in scripted ceremonies with at least two witnesses, published scripts, a recording or signed notes, and minutes entered in the transparency log.

5

Signing and publication

5.1
Enforced settingp2-c10Not enforced yet

Signatures are valid for 30 daysfixed, with jitter. A zone is re-signed when fewer than 21 daysfixed remain, the publishing gate refuses a zone with fewer than 20 daysfixed, and alarms fire at 17 daysfixed and at 14 daysfixed remaining.

5.2
Enforced rulep2-c11Not enforced yet

Every zone we publish carries a SHA-384 ZONEMD record. Two independent validators check each zone before it is published; a zone that fails either is not published, and the version already serving stays. Mirrors reject any copy whose ZONEMD or DNSSEC chain fails.

Rule zone.integrity.

5.3
Enforced settingp2-c12Not enforced yet

The root uses NSEC. A TLD uses NSECfloor unless its own policy chooses NSEC3, with the parameters RFC 9276 recommends.

6

Rollovers

6.1
Enforced settingp2-c13Not enforced yet

ZSKs roll by pre-publication every 180 daysfloor. TLD KSKs roll every 12 monthsfloor by double-DS. The root KSK rolls every 2 yearsfixed under the timers of RFC 5011, the first time within 12 months of launch.

6.2
Bindingp2-c14

An emergency rollover is rehearsed every year for every key role. A rollover runs under a validation watch, can be paused, and blocks non-emergency root changes while it runs.

7

DS records of child zones

7.1
Enforced rulep2-c15

A registrant's DS record is accepted for algorithms 8, 13, 14, 15 and 16 and digest types 2 and 4, and is published only where the child zone's keys match it, since a DS record that matches no key makes the name fail validation for everyone.

Rule ds.preflight.

8

Trust anchors

8.1
Enforced settingp2-c16Not enforced yet

Every trust anchor, the root KSK's DS and DNSKEY and the CA roots, is published through at least 3 independent channelsfixed: HTTPS at cdr.gplatform.org, the transparency log and signed release packages. A change is announced through all of them at least 30 daysfixed ahead.

8.2
Bindingp2-c17

While the root anchor is a test anchor, it may be replaced at shorter notice than 8.1 sets. Every replacement is still announced through every channel and recorded in the transparency log.