RFC 8567
Customer Management DNS Resource Records
Customer Management DNS Resource Records ๐ธ
Okay bestie, let's get into RFC 8567 ๐ It's titled Customer Management DNS Resource Records, and it came in as an Independent Submission, so it wasn't produced by an IETF working group. Its category is Informational, its ISSN is 2070-1721, and it's dated 1 April 2019. The authors are E. Rye and R. Beverly, and CMAND is listed in the header next to them ๐ The title block doesn't list anything it obsoletes or updates, so this one's a solo main character ๐ฆ
Abstract ๐ฆ
Okay so, keeping customers happy (that's Quality of Experience, or QoE) is getting harder ๐ญ Network management has to be end-to-end and holistic now, and that includes the managed Customer Premises Equipment (CPE) sitting in people's homes. Customer management is a shared global responsibility, so the Domain Name System (DNS) is the perfect existing infrastructure for storing authoritative customer info that has to be easy to reach, reliable, and publicly accessible โจ
This doc describes four brand-new DNS resource record types for encoding customer information in the DNS. The goal is to boost customer QoE through cooperation between providers and smarter handling of customer data ๐
Status of This Memo ๐
This doc is not an Internet Standards Track specification. It's published for informational purposes ๐
It's a contribution to the RFC Series, independent of any other RFC stream. The RFC Editor chose to publish it at their discretion and makes no statement about its value for implementation or deployment. Documents the RFC Editor approves for publication aren't candidates for any level of Internet Standard, see Section 2 of RFC 7841 ๐
For the current status, any errata, and how to send feedback, check https://www.rfc-editor.org/info/rfc8567 ๐
Copyright Notice ๐ง
Copyright (c) 2019 IETF Trust and the persons identified as the document authors. All rights reserved โจ
This doc is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) as they stand on the publication date. Please read those carefully, because they spell out your rights and restrictions for this document ๐
Table of Contents ๐
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3
2. Customer Management Resource Records . . . . . . . . . . . . 3
2.1. The PASSWORD Resource Record . . . . . . . . . . . . . . 4
2.2. The CREDITCARD Resource Record . . . . . . . . . . . . . 4
2.3. The SSN Resource Record . . . . . . . . . . . . . . . . . 6
2.4. The SSNPTR Resource Record . . . . . . . . . . . . . . . 7
3. Related RR Types . . . . . . . . . . . . . . . . . . . . . . 7
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8
5. Security Considerations . . . . . . . . . . . . . . . . . . . 8
6. References . . . . . . . . . . . . . . . . . . . . . . . . . 9
6.1. Normative References . . . . . . . . . . . . . . . . . . 9
6.2. Informative References . . . . . . . . . . . . . . . . . 9
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 11
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11
1. Introduction โจ
A big chunk of today's Internet is residential access networks ๐ These networks and their providers are now critical infrastructure, which is why so much research goes into measuring residential broadband speed and reliability [SAMKNOWS] ๐ถ
Here's the tea, though: Customer Premises Equipment (CPE) is one of the weakest links between consumers and the Internet ๐ Customers usually don't do proactive maintenance, like firmware updates, on their own CPE. In lots of cases the CPE even ships with default authentication credentials, and various Internet-wide denial-of-service attacks have exploited that [MIRAI] ๐ญ
The central idea here is that customers simply can't be trusted to manage their own networks, let alone the path-critical CPE. Since keeping broadband access healthy and resilient is so hard, CPE maintenance should be treated as a shared global responsibility among Internet Service Providers (ISPs) ๐ซถ
Choice of ISP complicates things too. Nearly half of US households have that choice right now ๐บ๐ธ Customers can switch providers, but their biographical, billing, and technological details stay the same. So service providers need mechanisms that make moving customers in and out of their network as seamless as possible, both technically and for billing ๐
Last but not least, service providers, advertisers, and law enforcement agencies all have different (but important) reasons to track unique users' behavior on the Internet ๐ RFC 7043 [RFC7043] uses the EUI48 and EUI64 Resource Record (RR) types to uniquely identify CPE devices and better support third-party tracking. The catch is that the customer can defeat those mechanisms just by buying new CPE ๐
This document takes a holistic, end-to-end view of customer management, with the aim of boosting customer QoE and overall network security ๐ฅ To make shared CPE maintenance possible, it leverages the Domain Name System (DNS), described in RFC 1034 [RFC1034] and RFC 1035 [RFC1035], and introduces new RR types to help with network management ๐ฆ
1.1. Terminology ๐
This doc uses capitalized keywords like MUST and MAY to describe the requirements for using the registered RR types. Those keywords mean the same thing here as they do in RFC 2119 [RFC2119] and RFC 8174 [RFC8174] ๐ They're often used for normative requirements in IETF Standards, but using them in this document doesn't make it a standard of any kind ๐ธ
2. Customer Management Resource Records ๐
The ubiquity of residential broadband is amazing for consumers, but it's also a daunting challenge for Internet Service Providers. How do they best manage sensitive customer identifiers and billing details while keeping the CPE devices on their network resilient and secure? ๐ฉ
This document introduces four new RRs to help ISPs manage customer data โจ
This section covers the purpose and wire format of the new DNS RRs ๐ง
2.1. The PASSWORD Resource Record ๐
The PASSWORD RR makes remote management of CPE devices possible by storing the login credentials for the CPE in a single RR ๐๏ธ Authorized service providers use these credentials to authenticate to the CPE. Once they're authenticated, they can install important software and configuration updates that keep the provider's network secure and healthy ๐
0 1 2 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| USERNAME |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| PASSWORD |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: PASSWORD RDATA Format
Where:
USERNAME: The<character-string>username of the account holder located at the CPE. To limit gratuitous expressions of individuality ๐ค, usernames MUST be 16 or fewer ASCII characters and MUST NOT include punctuation.PASSWORD: The<character-string>password associated with the USERNAME. To keep the RR size to a minimum, passwords longer than 32 bits are not supported ๐
Hosts with multiple accounts SHOULD have a separate PASSWORD RR for each account. Hosts on which multiple accounts exist SHOULD have separate PASSWORD RRs for each account ๐
2.2. The CREDITCARD Resource Record ๐ณ
The CREDITCARD RR stores the billing details of the primary account holder located at the hostname associated with the CPE ๐ When an ISP gets a new subscriber, it enters their billing details in a CREDITCARD RR so that it MAY be queried as needed for automated billing. Any outside entity the customer sets up a recurring payment plan with MAY query this RR for payment details too ๐งพ
Storing payment info in an RR, instead of in the databases of a bunch of different organizations with varying data security postures, helps cut down the attack vectors that malicious actors can use to get at this data ๐ก๏ธ Major "keep it safe" energy, periodt โจ
0 1 2 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| CARDNUMBER |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| EXPIRE |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| CHECKSUM |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: CREDITCARD RDATA Format
Where:
CARDNUMBER: The<character-string>16-digit credit card number used for billing by the host's service provider. This field MUST NOT contain punctuation or spaces, only numeric digits represented in ASCII are allowed. Because this field is 16 digits long, users MUST NOT use American Express cards ๐ โโ๏ธEXPIRE: A<character-string>giving the two-digit month and two-digit year in which the credit card expires. This field MUST NOT contain punctuation or spaces, only numeric digits represented in ASCII are allowed ๐CHECKSUM: To protect against bit errors in the CARDNUMBER field, this RR type MUST use error checking, as follows. Luhn's algorithm acts as a simple checksum to confirm that none of the 16 digits got corrupted in transit โจ Starting from the leftmost digit, add that digit's value to a running total. For every second digit (beginning with the second-from-left one), add twice its value to the running total. Keep going until all 16 digits are used up. With that partial sum in hand, solve for the value x such that x plus the partial sum is congruent to 0 modulo 10, then store x in the CHECKSUM field ๐งฎ
When a CREDITCARD RR is queried, the recipient just computes Luhn's algorithm the same way as above, and checks that their computed value of x matches the one stored in the CHECKSUM field ๐
Note that this novel use of Luhn's algorithm MAY have applications outside of the CREDITCARD RR ๐
2.3. The SSN Resource Record ๐
okay bestie, the SSN RR maps hostnames to the US Social Security number and birth date of a user living at that host ๐ซถ when there's CPE with multiple users behind it, each user needs their own SSN RR, so a separate SSN RR SHOULD be entered into the DNS for each user. and ngl, when residential broadband shows up outside the United States, those countries SHOULD adopt identifiers that are compatible with the US SSN so the DNS and multinational providers don't have a whole admin headache ๐
during tax season, the United States Internal Revenue Service WILL query the SSN RR to verify residency and proof of hostname ownership ๐ญ and the SSN RR MAY be used together with the CREDITCARD RR to automate the collection of back taxes owed ๐
0 1 2 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SOCIAL |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| BIRTHDATE |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 3: SSN RDATA Format
Here's what the fields mean, bestie ๐ธ
SOCIAL: the Social Security number of the user associated with the host, formatted as a 32-bit unsigned integer in network byte order.BIRTHDATE: a 64-bit timestamp counting the number of seconds past the Unix Epoch when the individual described by this RR was born. The Unix Epoch comes before the birth of every Internet user, so this field has a big enough range for ISPs to describe their subscribers ๐ง The 64-bit timestamp is also "future proof", dodging the Year 2038 problem and keeping SSN RR applicable well into the foreseeable future โญ
2.4. The SSNPTR Resource Record ๐ฆ
the SSNPTR RR is the reverse of the SSN RR, so it maps Social Security numbers to hostnames ๐ Every individual an ISP serves, not just the primary account holders, SHOULD have an SSNPTR RR entry in the DNS.
one benefit of the SSNPTR RR is that you can run some population census functions remotely ๐ imagine a residential ISP with SSNPTR RRs for each of its subscribers. querying all of their SSNs returns the host where those individuals are located, which makes it super easy to link family members behind the same CPE device ๐ and then those hosts can be geolocated with an IP geolocation service or LOC RR [RFC1876], so you can figure out municipal populations and use that to inform decisions about appropriations and public policies. it's giving surveillance energy, not okay ๐
0 1 2 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
/ DNAME /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 4: SSNPTR RDATA Format
DNAME: a<domain-name>that points to a location in the domain name space.
3. Related RR Types ๐
the practice of adding new RR types to the DNS for stuff that's only tangentially related to name resolution, or totally unrelated, is very well established ๐
[RFC2539] describes the Diffie-Hellman KEY RR type, which is used to conveniently store public key parameters for a domain ๐ The SRV RR type [RFC2782] combines name resolution with transport- and application-layer details, giving network admins a "no-fuss" way to advertise where specific services live โจ The Name Authority PTR (NAPTR) RR [RFC2915] recognized and fixed the DNS's lack of POSIX Extended Regular Expression support, which allowed DNS-based automobile parts identification systems [RFC3402] among other use cases ๐ Having already established the DNS's role in encryption in [RFC2539], the IPSECKEY RR brought back the ability to store public key parameters for IPsec encryption [RFC4025], even though it had been obsoleted ๐ฅ [RFC4255] codified the natural relationship between the Secure Shell (SSH) protocol [RFC4253] and DNS with the SSHFP RR type, which is used to verify the host key of a server ๐ซถ
extending the idea of distributing public keys through DNS, [RFC4398] introduced the CERT RR type to publish X.509 and PGP certificates ๐ [RFC4701] introduces the DHCID RR type to solve the problem of Fully Qualified Domain Name (FQDN) collisions when Dynamic Host Configuration Protocol (DHCP) clients make DNS updates after getting a DHCP lease ๐ The TLSA RR type [RFC6698] associates a TLS certificate with a domain, using DNSSEC as the binding, and the CAA RR type [RFC6844] specifies which Certificate Authority is allowed to issue certificates for a domain ๐ฆ The EUI48 and EUI64 RR types specified in [RFC7043] try to erase the boundaries in the TCP/IP model by basically creating A records for MAC addresses ๐ง
4. IANA Considerations ๐
this document has no IANA actions, so no registry drama here โจ
5. Security Considerations ๐จ
bestie, this one is serious. DNSSEC [RFC4033] SHOULD be used alongside the PASSWORD, CREDITCARD, SSN, and SSNPTR RR types to provide data integrity ๐ Using DNSSEC makes sure the data in these RRs actually comes from an authoritative source, and not from an attacker trying to hand over invalid login credentials in response to a legit request for a PASSWORD RR ๐ญ No cap, skipping this is how people get hurt.
6. References ๐
6.1. Normative References
- [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. - [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017,
<https://www.rfc-editor.org/info/rfc8174>.
6.2. Informative References
- [CAMEL] Hubert, B., "The DNS Camel", March 2018,
<https://blog.powerdns.com/2018/03/22/the-dns-camel-or-the-rise-in-dns-complexit/>. - [MIRAI] Antonakakis, M., April, T., Bailey, M., Bernhard, M., Bursztein, E., Cochran, J., Durumeric, Z., Halderman, J., Invernizzi, L., Kallitsis, M., Kumar, D., Lever, C., Ma, Z., Mason, J., Menscher, D., Seaman, C., Sullivan, N., Thomas, K., and Y. Zhou, "Understanding the Mirai Botnet", Proceedings of the 26th USENIX Security Symposium, August 2017,
<https://www.usenix.org/system/files/conference/usenixsecurity17/sec17-antonakakis.pdf>. - [RFC1034] Mockapetris, P., "Domain names - concepts and facilities", STD 13, RFC 1034, DOI 10.17487/RFC1034, November 1987,
<https://www.rfc-editor.org/info/rfc1034>. - [RFC1035] Mockapetris, P., "Domain names - implementation and specification", STD 13, RFC 1035, DOI 10.17487/RFC1035, November 1987,
<https://www.rfc-editor.org/info/rfc1035>. - [RFC1876] Davis, C., Vixie, P., Goodwin, T., and I. Dickinson, "A Means for Expressing Location Information in the Domain Name System", RFC 1876, DOI 10.17487/RFC1876, January 1996,
<https://www.rfc-editor.org/info/rfc1876>. - [RFC2539] Eastlake 3rd, D., "Storage of Diffie-Hellman Keys in the Domain Name System (DNS)", RFC 2539, DOI 10.17487/RFC2539, March 1999,
<https://www.rfc-editor.org/info/rfc2539>. - [RFC2782] Gulbrandsen, A., Vixie, P., and L. Esibov, "A DNS RR for specifying the location of services (DNS SRV)", RFC 2782, DOI 10.17487/RFC2782, February 2000,
<https://www.rfc-editor.org/info/rfc2782>. - [RFC2915] Mealling, M. and R. Daniel, "The Naming Authority Pointer (NAPTR) DNS Resource Record", RFC 2915, DOI 10.17487/RFC2915, September 2000,
<https://www.rfc-editor.org/info/rfc2915>. - [RFC3402] Mealling, M., "Dynamic Delegation Discovery System (DDDS) Part Two: The Algorithm", RFC 3402, DOI 10.17487/RFC3402, October 2002,
<https://www.rfc-editor.org/info/rfc3402>. - [RFC4025] Richardson, M., "A Method for Storing IPsec Keying Material in DNS", RFC 4025, DOI 10.17487/RFC4025, March 2005,
<https://www.rfc-editor.org/info/rfc4025>. - [RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S. Rose, "DNS Security Introduction and Requirements", RFC 4033, DOI 10.17487/RFC4033, March 2005,
<https://www.rfc-editor.org/info/rfc4033>. - [RFC4253] Ylonen, T. and C. Lonvick, Ed., "The Secure Shell (SSH) Transport Layer Protocol", RFC 4253, DOI 10.17487/RFC4253, January 2006,
<https://www.rfc-editor.org/info/rfc4253>. - [RFC4255] Schlyter, J. and W. Griffin, "Using DNS to Securely Publish Secure Shell (SSH) Key Fingerprints", RFC 4255, DOI 10.17487/RFC4255, January 2006,
<https://www.rfc-editor.org/info/rfc4255>. - [RFC4398] Josefsson, S., "Storing Certificates in the Domain Name System (DNS)", RFC 4398, DOI 10.17487/RFC4398, March 2006,
<https://www.rfc-editor.org/info/rfc4398>. - [RFC4701] Stapp, M., Lemon, T., and A. Gustafsson, "A DNS Resource Record (RR) for Encoding Dynamic Host Configuration Protocol (DHCP) Information (DHCID RR)", RFC 4701, DOI 10.17487/RFC4701, October 2006,
<https://www.rfc-editor.org/info/rfc4701>. - [RFC6698] Hoffman, P. and J. Schlyter, "The DNS-Based Authentication of Named Entities (DANE) Transport Layer Security (TLS) Protocol: TLSA", RFC 6698, DOI 10.17487/RFC6698, August 2012,
<https://www.rfc-editor.org/info/rfc6698>. - [RFC6844] Hallam-Baker, P. and R. Stradling, "DNS Certification Authority Authorization (CAA) Resource Record", RFC 6844, DOI 10.17487/RFC6844, January 2013,
<https://www.rfc-editor.org/info/rfc6844>. - [RFC7043] Abley, J., "Resource Records for EUI-48 and EUI-64 Addresses in the DNS", RFC 7043, DOI 10.17487/RFC7043, October 2013,
<https://www.rfc-editor.org/info/rfc7043>. - [SAMKNOWS] Crawford, S., "SamKnows: The Internet Measurement Standard",
<https://samknows.com/>.
Acknowledgements ๐
we thank the US Federal Communications Commission for the repeal of network neutrality legislation ๐ which lets ISPs give their customers the level and type of service that ISPs have come to expect. iconic behavior, truly ๐
we also thank Bert Hubert for pointing out the dearth of DNS RR standards in his blog post and IETF lecture, The DNS Camel [CAMEL] ๐ช It's named that because of the drought of DNS-enabled functionality over the last several decades. so relatable ๐ญ
Authors' Addresses ๐ซถ
Erik C. Rye CMAND 1 University Circle Monterey, CA 93943 United States of America
Email: rye@cmand.org
Robert Beverly CMAND 1 University Circle Monterey, CA 93943 United States of America
Email: rbeverly@cmand.org
๐ฆ where this page comes from
- ietf: rfc8567 2019-04
- ๐ girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms