Internet DRAFT - draft-reid-dnsext-aleatoric

draft-reid-dnsext-aleatoric






DNSEXT                                                           J. Reid
Internet-Draft                                                  RTFM Ltd
Intended status: Standards Track                          August 6, 2008
Expires: February 7, 2009


              A DNS Resource Record for Additional Entropy
                  <draft-reid-dnsext-aleatoric-00.txt>

Status of this Memo

   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, in accordance with Section 6 of BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on February 7, 2009.


















Reid                    Expires February 7, 2009                [Page 1]

Internet-Draft                Extra Entropy                  August 2008


Abstract

   A scheme to defend against cache poisoning attacks against the Domain
   Name System (DNS) by predicting the ID and source port number of
   outgoing queries is described in this draft.  It proposes a new
   resource record to provide a mechanism to introduce additional
   entropy into DNS queries.


Table of Contents

   1.  Terminology  . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  4
   3.  AL RR Format . . . . . . . . . . . . . . . . . . . . . . . . .  5
   4.  Protocol Operation . . . . . . . . . . . . . . . . . . . . . .  6
     4.1.  Query Generation . . . . . . . . . . . . . . . . . . . . .  6
     4.2.  Server Processing  . . . . . . . . . . . . . . . . . . . .  6
     4.3.  Client Processing of Responses . . . . . . . . . . . . . .  7
     4.4.  Other applications of the AR Record Type . . . . . . . . .  7
   5.  Operational Considerations . . . . . . . . . . . . . . . . . .  8
   6.  Security Considerations  . . . . . . . . . . . . . . . . . . .  9
   7.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 10
   8.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 11
   9.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 12
     9.1.  Normative References . . . . . . . . . . . . . . . . . . . 12
     9.2.  Informative References . . . . . . . . . . . . . . . . . . 12
   Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 13
   Intellectual Property and Copyright Statements . . . . . . . . . . 14























Reid                    Expires February 7, 2009                [Page 2]

Internet-Draft                Extra Entropy                  August 2008


1.  Terminology

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in BCP 14, RFC2119
   [RFC2119].













































Reid                    Expires February 7, 2009                [Page 3]

Internet-Draft                Extra Entropy                  August 2008


2.  Introduction

   The core DNS protocol is defined in RFC1034[RFC1034],
   RFC1035[RFC1035] and clarified in RFC2181[RFC2181].  It is a
   replicated hierarchical distributed database system that provides
   information fundamental to Internet operations, such as name to
   address mapping.

   One difficulty which affects most DNS implementations is a
   susceptibility to cache poisoning attacks as a result of forging DNS
   responses.  There are only 16 bits of random data for expressing a
   query ID, making it a frequent target for forgery.  [In fairness the
   query ID was never intended to provide resilience to forgery attacks.
   It was designed to allow a resolving name server to differentiate
   between responses to the outstanding queries it had sent to some
   other, presumably authoritative, name server.]  Until recently most
   DNS server implementations used a small set of fixed port numbers for
   outgoing queries.  This made the task of forging a response to a DNS
   query somewhat straightforward.  Stub resolvers can be vulnerable to
   forgery attacks because they generally rely on the underlying
   operating system to select a port number for their DNS queries and
   may also use predictable query IDs.  If these are insufficiently
   random, forging responses to queries from stub resolvers may not pose
   much of a challenge to attackers.

   Current defences against forgery of DNS responses include transaction
   authentication schemes such as TSIG RFC2845[RFC2845] and Secure DNS
   (DNSSEC) RFC4033[RFC4033] RFC4034[RFC4034] RFC4037[RFC4035].  These
   can be difficult to deploy and operate, particularly for non-experts.
   TSIG is usually impractical outside environments where clients and
   servers are under the same administrative control.  While DNSSEC
   provides integrity protection of DNS responses, it is not yet widely
   deployed.  Considerable time and effort will be required before
   adoption of DNSSEC is ubiquitous.

   This document proposes an interim solution that could be used until
   widespread deployment of DNSSEC.  It advocates the introduction of a
   new resource record type, AL, to add extra entropy to DNS queries,
   minimising ther potential exposure to DNS forgery attacks.












Reid                    Expires February 7, 2009                [Page 4]

Internet-Draft                Extra Entropy                  August 2008


3.  AL RR Format

   A new RR type whose mnemonic is AL (aleatoric) and type code FOO is
   proposed.  All RDATA in the proposed AL record are sent in network
   byte order (see Section 2.3.2 of RFC1034).  The AL record's RDATA
   consists of a fixed field of two octets containing a count of the
   number of octets in the following variable length field.  This
   variable length field SHOULD contain random data.

   ZS RDATA format

               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
               |                    COUNT                      |
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
               /                   ENTROPY                     /
               +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

   where: COUNT Number of octets in the ENTROPY field ENTROPY Random
   data
































Reid                    Expires February 7, 2009                [Page 5]

Internet-Draft                Extra Entropy                  August 2008


4.  Protocol Operation

   Use of this resource record for defending against forgery attacks is
   broadly comparable to the scheme used in RFC2845.  AL resource
   records will generally be related to one DNS query/response
   transaction.  Therefore there is no value in storing or
   retransmitting them.  This means that AL resource records should be
   treated as meta-RRs and MUST NOT be cached.

4.1.  Query Generation

   A client generates an AL record on the fly by populating it with
   suitably random data and a count of the number of octets of that
   data.  This is then inserted into the Additional Section of the query
   and the ARCOUNT incremented accordingly.  If the AL record cannot be
   added to the query without causing it to be truncated, the client
   MUST either adjust the message to allow the AL record to be added or
   use TCP to make the query.  Clients MUST NOT include more than one AL
   record in the Additional Section of each query.  The client MUST
   retain a copy of the random data for each query until a response is
   received or the query times out.  To maximise the opportunity for
   label compression, the name of the AL record SHOULD be identical to
   the QNAME in the query's Question Section.

4.2.  Server Processing

   Servers MUST NOT include more than one AL record in the Additional
   Section of a response.  If a server receives a query with more than
   one AL record in the Additional Section, the query MUST be discarded
   and a FORMERR (RCODE = 1) returned to the client.  When a server
   receives a query containing an AL record in the Additional Section,
   it MUST ensure this is copied to the Additional Section of the
   corresponding reply that it constructs.  If the AL record cannot be
   added to the response without causing it to be truncated, the server
   MAY adjust the message by discarding other data from the Additional
   Section.  A server MUST NOT discard any transaction signature from
   the Additional Section to make room for an AL record.  In some
   circumstances, the amount of data in the reply may make it impossible
   to include an AL record in the Additional Section without causing
   truncation.  In these cases the server MUST send a response
   consisting of empty Answer and Authority Sections, the original
   Question Section and the client's AL record in the Additional
   Section.  This reply MUST set the TC bit to signal truncation and set
   the RCODE to 0 (NOERROR).  The client SHOULD at this point retry the
   request using TCP in the manner described in Section 4.2.2 of
   RFC1035.





Reid                    Expires February 7, 2009                [Page 6]

Internet-Draft                Extra Entropy                  August 2008


4.3.  Client Processing of Responses

   On receipt of a response containing an AL record in the Additional
   Section, the client SHOULD compare this to the random data it had
   generated for the original query.  If these are not identical, the
   client MUST discard the reply and the corresponding state information
   for that query.  When the original random data and the contents of
   the returned AL record's data are identical, the response is returned
   to the resolver that initiated the query in the conventional manner.
   A response containing more than one AL record in the Additional
   Section MUST be discarded.

4.4.  Other applications of the AR Record Type

   The motivation of this document is the addition of extra randomness
   to DNS queries to make it harder to forge responses to them.  However
   it is also envisaged that clients could make explicit lookups for
   this record type as a way of obtaining random data from a name
   server: for example if the server has access to a strong source of
   such data.































Reid                    Expires February 7, 2009                [Page 7]

Internet-Draft                Extra Entropy                  August 2008


5.  Operational Considerations

   The generation and volume of random data for AR records need careful
   consideration.  The random data SHOULD originate from a good entropy
   source.  Large amounts of random data in an AR record is undesirable
   and may well be an unnecessary overhead because it increases the
   likelihood of truncated responses and an increased use of TCP based
   queries.











































Reid                    Expires February 7, 2009                [Page 8]

Internet-Draft                Extra Entropy                  August 2008


6.  Security Considerations

   It MUST be recognised that this document only provides a limited
   defence from DNS forgery attacks.  Although it introduces additional
   entropy to DNS queries that makes it harder to predict their
   contents, this scheme provides no protection whatsoever if an
   attacker has visibility of the outgoing query or its response and can
   intercept them.  The only way to prevent these vulnerabilities is the
   use of transaction authentication and/or DNSSEC to detect spoofed or
   tampered responses.

   The suggested use of AL records is an ugly kludge to essentially
   increase the number of bits for a query ID without modifying the core
   protocol or breaking the installed base.  It is not and MUST NOT be
   viewed as a mechanism to either provide DNS transaction security or
   authentication.  The scheme proposed in this document is intended to
   minmise the exposure of routine UDP-based query/response transactions
   to forgery attacks that attempt to predict the query ID and port
   number.  In particular, the introduction of this scheme and AR
   records MUST NOT be used to authenticate or validate any forms of
   zone transfer or dynamic update.  These should be protected by some
   combination of transaction signature and secure data transport
   mechanisms such as a VPN or IPsec.




























Reid                    Expires February 7, 2009                [Page 9]

Internet-Draft                Extra Entropy                  August 2008


7.  IANA Considerations

   IANA is requested to issue a new type code and mnemonic for the
   proposed resource record.  No other IANA services are required by
   this document.














































Reid                    Expires February 7, 2009               [Page 10]

Internet-Draft                Extra Entropy                  August 2008


8.  Acknowledgements

   The author would like to thank the authors of RFC 2845, Paul Vixie,
   Olafur Gudmundsson, Donald Eastlake and Brian Wellington for
   unintentionally inspiring this draft.














































Reid                    Expires February 7, 2009               [Page 11]

Internet-Draft                Extra Entropy                  August 2008


9.  References

9.1.  Normative References

   [RFC1034]  Mockapetris, P., "DOMAIN NAMES - CONCEPTS AND FACILITIES",
              RFC 1034, November 1987.

   [RFC1035]  Mockapetris, P., "Domain names - implementation and
              specification", STD 13, RFC 1035, November 1987.

   [RFC2181]  Elz, R. and R. Bush, "Clarifications to the DNS
              Specification", RFC 2181, July 1997.

   [RFC2845]  Vixie, P., Gudmundsson, O., Eastlake, D., and B.
              Wellington, "Secret Key Transaction Authentication for DNS
              (TSIG)", RFC 2845, May 2000.

   [RFC4033]  Arends, R., Austein, R., Larson, M., Massey, D., and S.
              Rose, "DNS Security Introduction and Requirements",
              RFC 4033, March 2005.

   [RFC4034]  Arends, R., Austein, R., Larson, M., Massey, D., and S.
              Rose, "Resource Records for the DNS Security Extensions",
              RFC 4034, March 2005.

   [RFC4035]  Arends, R., Austein, R., Larson, M., Massey, D., and S.
              Rose, "Protocol Modifications for the DNS Security
              Extensions", RFC 4035, March 2005.

9.2.  Informative References

   [RFC2026]  Bradner, S., "The Internet Standards Process -- Revision
              3", RFC 2026, BCP 9, October 1996.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", RFC 2119, BCP 14, March 1997.

   [RFC3833]  Atkins, D. and R. Austein, "Threat Analysis of the Domain
              Name System (DNS)", RFC 3833, August 2004.

   [RFC3978]  Bradner, S., "IETF Rights in Contributions", BCP 78,
              RFC 3978, March 2005.

   [RFC3979]  Bradner, S., "Intellectual Property Rights in IETF
              Technology", BCP 79, RFC 3979, March 2005.






Reid                    Expires February 7, 2009               [Page 12]

Internet-Draft                Extra Entropy                  August 2008


Author's Address

   Jim Reid
   RTFM Ltd
   RTFM Ltd.
   6 Langside Court
   Bothwell
   Scotland

   Phone: +44 1698 852881
   Email: jim@rfc1035.org








































Reid                    Expires February 7, 2009               [Page 13]

Internet-Draft                Extra Entropy                  August 2008


Full Copyright Statement

   Copyright (C) The IETF Trust (2008).

   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, THE IETF TRUST 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 regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at
   ietf-ipr@ietf.org.











Reid                    Expires February 7, 2009               [Page 14]