RFC 3757
Domain Name System KEY (DNSKEY) Resource Record (RR) Secure Entry Point (SEP) Flag
RFC 3757: Domain Name System KEY (DNSKEY) Resource Record (RR) Secure Entry Point (SEP) Flag ๐
Okay bestie, this is RFC 3757, and it's all about giving DNSKEY records a Secure Entry Point (SEP) flag ๐ โจ It was written by O. Kolkman from the RIPE NCC, J. Schlyter from NIC-SE, and E. Lewis from ARIN ๐ธ It's a Standards Track doc from April 2004, and it updates RFC 3755 and RFC 2535. It doesn't obsolete anything, so no drama there ๐ซถ
Status of this Memo ๐
This document specifies an Internet standards track protocol for the Internet community, and it asks for discussion and suggestions for improvements ๐ For the standardization state and status of this protocol, check the current edition of the "Internet Official Protocol Standards" (STD 1). Distribution of this memo is unlimited ๐ฆ
Copyright Notice ยฉ
Copyright (C) The Internet Society (2004). All Rights Reserved. ๐
Abstract ๐ง
So the Delegation Signer (DS) resource record (RR) brought in the idea of a public key acting as a secure entry point (SEP) ๐ When you swap public keys with the parent, you need a way to tell SEP keys apart from the other public keys in the Domain Name System KEY (DNSKEY) resource record set ๐ That's where a flag bit in the DNSKEY RR comes in. It says that this DNSKEY is meant to be used as a SEP. The flag helps with operational procedures, like generating DS resource records correctly, or spotting which DNSKEYs are meant for static configuration ๐ฅ The flag is NOT supposed to be used in the DNS verification protocol, so keep it out of there ๐ This document updates RFC 2535 and RFC 3755.
Table of Contents ๐๏ธ
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2
2. The Secure Entry Point (SEP) Flag. . . . . . . . . . . . . . . 4
3. DNSSEC Protocol Changes. . . . . . . . . . . . . . . . . . . . 4
4. Operational Guidelines . . . . . . . . . . . . . . . . . . . . 4
5. Security Considerations. . . . . . . . . . . . . . . . . . . . 5
6. IANA Considerations. . . . . . . . . . . . . . . . . . . . . . 6
7. Internationalization Considerations. . . . . . . . . . . . . . 6
8. Acknowledgments. . . . . . . . . . . . . . . . . . . . . . . . 6
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 6
9.1. Normative References . . . . . . . . . . . . . . . . . . 6
9.2. Informative References . . . . . . . . . . . . . . . . . 6
10. Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 7
11. Full Copyright Statement . . . . . . . . . . . . . . . . . . . 8
1. Introduction โจ
"All keys are equal but some keys are more equal than others" [6]. ๐ญ
Okay so, once the Delegation Signer Resource Record (DS RR) [5] showed up, it became really important to tell apart the keys in the DNSKEY RR set that parental DS RRs point to (or are going to point to) from all the other keys in that set ๐ We call these public keys Secure Entry Point (SEP) keys. A SEP key is either used to generate a DS RR, or it gets handed out to resolvers that use it as the root of a trusted subtree [3] ๐ธ
In early deployment tests, people mostly used two kinds of key pairs for each zone ๐ง For one kind, the private key only signs the zone's DNSKEY resource record (RR) set. Its public key is meant to be referenced by a DS RR at the parent, or configured statically in a resolver. The private key of the other kind signs the rest of the zone's data sets. The first pair is called a key-signing key (KSK), and the second is called a zone-signing key (ZSK). In practice there's usually one of each, but sometimes there are multiples of each ๐
Here's the thing: splitting key pairs into KSK's and ZSK's is NOT required by any definition of DNSSEC, not even after the DS RR showed up ๐ But in testing, the split was super helpful when designing key roll over (key super-cession) schemes ๐ฅ Since it proved so useful, the labels KSK and ZSK have started to stick ๐
So we need to tell apart the public keys for key pairs used for key signing from the ones that aren't (KSKs vs ZSKs) ๐ฆ This matters because you have to know which DNSKEYs get sent off to generate DS RRs, which DNSKEYs get distributed to resolvers, and which keys get fed to the signer application at the right time โญ
Basically, the SEP bit gives you an in-band way to tell third parties what a DNSKEY RR is meant to be used for ๐ง Here are 3 use cases where the bit is useful:
- The parent is a registry, and the parent and child use secured DNS queries and responses (with a preexisting trust-relation), or plain DNS over a secured channel, to swap the child's DNSKEY RR sets. Since a DNSKEY RR set will contain a complete DNSKEY RRset, the SEP bit can be used to isolate the DNSKEYs that need a DS RR created for them ๐
- An administrator has configured a DNSKEY as the root for a trusted subtree in a security aware resolver. Using a special purpose tool that queries for the KEY RRs from that domain's apex, the administrator can notice a roll over of the trusted anchor by seeing a change in the subset of KEY RRs with the DS flag set ๐
- A signer might use the SEP bit on the public key to decide which private key to use to exclusively sign the DNSKEY RRset, and which private key to use to sign the other RRsets in the zone ๐
As shown in those examples, it's really important to tell SEP keys apart from the other keys in a DNSKEY RR set, both in the flow between the signer and the (parental) key-collector and in the flow between the signer and the resolver configuration ๐ฅ The SEP flag is of no interest to the flow between the verifier and the authoritative data store ๐
The reason it's called "SEP" is that the split between KSK and ZSK key pairs is made by the signer, and a key pair could be used as both a KSK and a ZSK at the same time ๐ญ To be clear, the term SEP was coined to lessen the confusion caused by that overlap. (Once that label was applied, it also took away the temptation to have both a KSK flag bit and a ZSK flag bit ๐)
The key words "MAY","MAY NOT", "MUST", "MUST NOT", "REQUIRED", "RECOMMENDED", "SHOULD", and "SHOULD NOT" in this document are to be interpreted as described in BCP 14, RFC 2119 [1] ๐ซถ
2. The Secure Entry Point (SEP) Flag ๐
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| flags |S| protocol | algorithm |
| |E| | |
| |P| | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| /
/ public key /
/ /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
DNSKEY RR Format
This document gives the 15th bit in the flags field the job of being the secure entry point (SEP) bit ๐ If the bit is set to 1, the key is meant to be used as a secure entry point key โจ If it's set to 0, one SHOULD NOT assign special meaning to the key ๐ โโ๏ธ Operators can spot a secure entry point key by checking whether the decimal representation of the flag field is even or odd ๐งฎ
3. DNSSEC Protocol Changes ๐
The bit MUST NOT be used during the resolving and verification process ๐ซ The SEP flag only gives a hint about the key's different administrative properties. That's why using it doesn't change the DNS resolution protocol or the resolution process at all ๐ธ
4. Operational Guidelines ๐ ๏ธ
The SEP bit is set by the key-pair-generator, and the zone signer MAY use it to decide whether the public part of the key pair should be prepared for input to a DS RR generation function ๐ The SEP bit is recommended to be set (to 1) whenever the public key of the key pair will be distributed to the parent zone to build the authentication chain, or if the public key is going to be distributed for static configuration in verifiers ๐ฆ
When a key pair is created, the operator needs to say whether the SEP bit should be set in the DNSKEY RR ๐ง Since the SEP bit is part of the data used to compute the 'key tag field' in the SIG RR, changing the SEP bit changes the identity of the key within DNS ๐ฑ So once a key is used to generate signatures, the SEP bit setting has to stay constant. Otherwise, a verifier won't be able to find the relevant KEY RR ๐
When signing a zone, the key(s) with the SEP bit set (if any exist) are meant to be used to sign the KEY RR set of the zone ๐ The same key can also sign the rest of the zone data ๐ It's possible that not every key with the SEP bit set will sign the DNSKEY RR set, since those keys might be pending retirement or not yet in use โณ
When verifying an RR set, the SEP bit isn't meant to play a role ๐ How the verifier uses the key isn't supposed to be something you think about at key creation time โจ
Even though the SEP flag hints at which public key should be used as the trusted root, administrators can choose to ignore whether a DNSKEY has its SEP bit set when they configure a trusted root for their resolvers ๐ซถ
You can automate a key roll over using the SEP flag ๐ฅ The parent can use an existing trust relation to verify DNSKEY RR sets where a new DNSKEY RR with the SEP flag shows up ๐
Okay that's the first half, bestie ๐ฆ๐
8. Acknowledgments โจ
okay bestie, big thanks time ๐ซถ The ideas in this document came from lots of conversations with people, plus ideas other folks had already published. Mark Andrews, Rob Austein, Miek Gieben, Olafur Gudmundsson, Daniel Karrenberg, Dan Massey, Scott Rose, Marcos Sanz and Sam Weiler all contributed ideas and gave feedback. literal legends ๐
This document was born during a workshop on DNSSEC operations hosted by USC/ISI in August 2002. the origin story is giving ๐ธ
9. References
9.1. Normative References
- [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
- [2] Eastlake, D., "Domain Name System Security Extensions", RFC 2535, March 1999.
- [3] Lewis, E., "DNS Security Extension Clarification on Zone Status", RFC 3090, March 2001.
- [4] Weiler, S., "Legacy Resolver Compatibility for Delegation Signer (DS)", RFC 3755, April 2004.
9.2. Informative References
- [5] Gudmundsson, O., "Delegation Signer (DS) Resource Record (RR)", RFC 3658, December 2003.
- [6] Orwell, G. and R. Steadman (illustrator), "Animal Farm; a Fairy Story", ISBN 0151002177 (50th anniversary edition), April 1996.
Yes, [6] is a novel and not a protocol spec. Reference list chaos, but we love a plot twist ๐๐
10. Authors' Addresses
Here's where you can find the authors ๐ฆ
Olaf M. Kolkman
RIPE NCC
Singel 256
Amsterdam 1016 AB
NL
Phone: +31 20 535 4444
EMail: olaf@ripe.net
URI: http://www.ripe.net/
Jakob Schlyter
NIC-SE
Box 5774
SE-114 87 Stockholm
Sweden
EMail: jakob@nic.se
URI: http://www.nic.se/
Edward P. Lewis
ARIN
3635 Concorde Parkway Suite 200
Chantilly, VA 20151
US
Phone: +1 703 227 9854
EMail: edlewis@arin.net
URI: http://www.arin.net/
11. Full Copyright Statement
Copyright (C) The Internet Society (2004). This document is subject to the rights, licenses and restrictions contained in BCP 78 and except as set forth therein, the authors retain all their rights.
This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property
The IETF takes no position on whether any Intellectual Property Rights or other rights that might be claimed to cover the technology in this document are valid or in scope, or whether any license under those rights might be available. It also doesn't claim to have made any independent effort to find such rights. Info about how RFC rights work lives in BCP 78 and BCP 79 ๐ง
Copies of IPR disclosures made to the IETF Secretariat, any assurances of licenses to be made available, or the result of an attempt to get a general license or permission for implementers or users to use these proprietary rights can be found in the IETF's online IPR repository at http://www.ietf.org/ipr.
The IETF invites anyone interested to bring to its attention any copyrights, patents, patent applications or other proprietary rights that might cover technology needed to implement this standard. Send that info to the IETF at ietf-ipr@ietf.org ๐
Acknowledgement
Funding for the RFC Editor function is currently provided by the Internet Society. the people behind the scenes are everything ๐
๐ฆ where this page comes from
- ietf: rfc3757 2004-05
- ๐ girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms