DNS: Secure at 27, what next?
For the last few IETF meetings, the Internet Society (ISOC) have arranged panel discussions on challenges facing the Internet engineering community. At IETF 78, here in Maastricht this week, the lunchtime discussion was on DNS.
With the root zone now signed with DNSSEC, the discussion was around were to go next with the DNS. Moderated by Leslie Daigle (ISOC), she started out by noting that “the DNS” can mean one of at least three things — the protocol, as documented in RFCs; the infrastructure of servers and resolvers; or the contents of the tree. Danny McPherson (Verisign) went on to frame the discussion by putting the DNS in the context of “confidentiality, integrity and availability” before talking about the DNS Quandry, a scale that went from truth at one end, the examples being DNSSEC, carriage of certificates, DKIM, service locators, through NAT and NAT-PT, topologically localised responses, and flux, either malicious or benign, through to lies at the other end of the scale, the examples of which were national policies, AAAA whitelisting, bot containment, response synthesis, reputation services, cache poisoning, rogue resolvers and ending up at static host records.
As more information is placed in the DNS, Patrik Faltstrom (Cisco) asked should that data be put in the DNS, or should all that appears in the DNS be a pointer to the data? A nod to the computer science maxim that anything can be solved by the addition of a layer of indirection!
This spurred a discussion about some of the things that have been put in the DNS that shouldn’t have been, and what constraints are placed by the hierarchical nature of the system and the exact match on name, class and type without any “fuzzy” matching.
From there the discussion moved to when do we start thinking about DNSng? What features should it have? Fuzzy matching? The ability for several names to point to the same object? There were a couple of ideas about this, Lars-Johan Liman (Autonomica) described a possible system with a much reduced, simpler DNS that might provide pointers to other resolution services. Patrik suggested it may not be so easy, which Lars-Johan readily agreed with. There have also been several proposals over the years about “peer to peer DNS.”
Some of the lessons that have been learned from previous attempts to modify the DNS brought up the topic of A6 records, which was once an alternative to the AAAA records now in widespread use. The A6 record, defined in RFC2874, was a flexible solution to having long IPv6 addresses in the DNS by using binary labels and having the ability to specify the prefix and the host address separately, but was a step too far in complexity for people getting to grips with IPv6. Another “learning opportunity” was the move from “ip6.int” to “ip6.arpa” for IPv6 reverse lookups. This is also a more generic topic about how to get new protocols into operation, not just with the DNS. It often requires a few iterations of protocol design, testing, initial deployment, and learning the lessons from that deployment.
To wrap up, the panel came back to the topic of DNSSEC. Whilst the root is now signed, top-level domains are starting to register their DS records in the root, and an increasing number of second level domains are signed, this is not useful until resolvers start to verify DNSSEC keys and report errors. It has taken 13 years since the publication of the first DNSSEC RFC to get this far, how long will it take to complete the picture?