[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Protocol Policy Publication Was: DNSEXT future




On Mar 27, 2007, at 9:40 AM, Hallam-Baker, Phillip wrote:

One issue that keeps coming up is the desire to publish some form of policy indication through the DNS.

I don't think that the IETF can or should ignore this. If we do we will end up with the situation that most of us like least and is the reason that people tend to try to suppress such proposals - without success. In particular we end up with:

* Protocols that perform 'tree walking' and other forms of heuristic policy discovery

* DNS RRs being hijacked for other purposes (e.g. SPF use of the unprefixed TXT record)

  * A proliferation of unregistered, untracked TXT and SRV prefixes.

* People sticking large chunks of XML text into the DNS infrastructure itself

* People propose rival infrastructures (e.g. UDDI, XRI) that attempt to superceed the DNS.

* It is not yet happening but if we make DNS RR assignments into the equivalent of IP port numbers we should expect to see unauthorized and uncontrolled RR assignments becoming common.

These contortions of DNS overcome impediments imposed by messaging protocols that fail to offer client identification and a corporate environment lacking provisions for DNS. What new DNS feature will allow DNS to evolve when DNS development appears stagnant within the corporate environment? PRNP and Teredo is the change being offered, for good or bad.

I don't like any of the above. But from an architecture perspective I fully expect that in the future we will see most new protocols specify some form of policy layer. And expect the number of protocols to start to proliferate very quickly as Web Services / Mashups / Semantic web take hold over the next ten years.

While true, motivation appears related to messaging providers wishing to remain nameless. After being affected by various DoS attacks, one grows wary of a plan that has DNS servers synthesize large answers for a label anywhere within their bailiwick. Initiatives such as OpenID could be a cue HTTP is an appropriate repository for such extensions.

I fully expect that the number of protocols that define policy will be of the order of hundreds a year. I don't believe that this is compatible with the idea that each policy record should have its own RR. If we go that route we are committing to burn several hundred, possibly thousand RRs per year to keep up with something that is not core to the DNS protocol. That is something that we must also avoid.

HTTP is shifted to the edge of the network by various strategies which also makes it a compelling alternative. Efficiencies found in simple messaging protocols have been countered by abuse permitted through a lack of name based identifications. It is hard to know whether an IP address normally carries messages for some named entity. When such message traffic is amassed behind address translation gateways, such will become increasingly difficult. HTTP OpenID solves client identification issues in a manner independent of the IP address.

Rather than wait for the problem to become serious I would prefer to solve the problem now, once by anticipating it.

An attempt to repair a deficient messaging protocol with DNS wildcards can produce even greater harm. Can client identification be established without scanning domain hierarchies? Yes, especially when authentication and authorization is a component of the protocol. A scheme of synthesizing a DNS answer facilitates publishing information regarding protocol repairs, but over a vast name space. Often what is often needed is a means to associating one name with another. Name associations can be done without use of wildcards. Much of the authorization quandary can be resolved by associating two disparate names. Publishing a name as a base32 hash below the authorizing name allows a large array of associations using small DNS answers. DNS supports this today without searches or use of wildcards. Rate limits offer a solution for all unauthorized messages within an adoption phase.

The solution I want to propose makes use of either one new RR or possibly two new RRs. The objective here is to get ahead of the curve by anticipating a very large number of needs while sticking to the core principles of DNS. In particular:

AXIOM1 : The DNS infrastructure is the sole authortitative lookup scheme for DNS names

COROLARY1 : If a protocol policy is bound to a DNS name the mechanism for discovery of that policy must be mediated by the DNS.

The relationship between names can be established as a component of the protocol without requiring a modification to DNS.

AXIOM2     : The DNS supports lightweight queries and responses

COROLARY2 : If the policy does not fit onto a few lines of text the DNS should return a pointer (i.e. URI) to the results.

Cue HTTP.

COROLARY3 : If the form of the query requires any parameters other than a DNS name the DNS result must be a pointer to a service that can handle the extended query (e.g. SIP, LDAP, etc.)

It would be better to have this pushed to the edge of the network when possible. There is a fair amount of infrastructure in place to do this with HTTP as well.

AXIOM3 : Adding a new protocol to the Internet should not require any change to the core Internet infrastructure, including the DNS, nor should this require consumption of any finite resource (IP ports, DNS RRs).

It would be better to design authorization and authentication within the protocol initially, rather than adding these feature later. You describe a mechanism to publish SPF record sets across a vast name space. Whatever problem you see this as resolving creates a hazard many orders of magnitude worse. You are in a good position to know controlling a domain or even millions of domains means very little. When a domain wishes to be white listed, they will ensure all the pieces needed in this new puzzle are in the right place.

Much is still possible by defining new RRs without changing how they operate. Security demands simplicity.

-Doug





--
to unsubscribe send a message to namedroppers-request@ops.ietf.org with
the word 'unsubscribe' in a single line as the message text body.
archive: <http://ops.ietf.org/lists/namedroppers/>