Internet DRAFT - draft-guette-ds-generalization

draft-guette-ds-generalization





Network Working Group                                          G. Guette
Internet-Draft                                             IRISA / INRIA
Expires: February 15, 2005                                       D. Fort
                                                               B. Cousin
                                          IRISA / University of Rennes I
                                                         August 17, 2004



    Generalization of Delegation Signer Resource Record (DS RR) use
                 draft-guette-ds-generalization-01.txt


Status of this Memo


   By submitting this Internet-Draft, I certify that any applicable
   patent or other IPR claims of which I am aware have been disclosed,
   and any of which I become aware will be disclosed, in accordance with
   RFC 3668.


   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 15, 2005.


Copyright Notice


   Copyright (C) The Internet Society (2004).  All Rights Reserved.


Abstract


   This document generalise the DS RR use in order to reduce the number
   of secure entry points in a resolver and in order to create a secure
   link between islands of security.  This allows to simulate a secure
   spanning tree among all secure zones and reduces the number of non
   secure name resolutions.






Guette, et al.         Expires February 15, 2005                [Page 1]
Internet-Draft             DS Generalization                 August 2004



Table of Contents


   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  The three ways to add a secure zone in the DNS tree  . . . . .  3
     2.1   The new secure zone is a leaf of an island of security . .  3
     2.2   The new secure zone is the new apex of an island of
           security . . . . . . . . . . . . . . . . . . . . . . . . .  4
     2.3   The new secure zone is a new island of security  . . . . .  4
   3.  Influence of the three previous topologies on the name
       resolution . . . . . . . . . . . . . . . . . . . . . . . . . .  4
     3.1   The new secure zone is a leaf of an island of security . .  4
     3.2   The new secure zone is the new apex of an island of
           security . . . . . . . . . . . . . . . . . . . . . . . . .  4
     3.3   The new secure zone is a new island of security  . . . . .  4
   4.  The DS resource record . . . . . . . . . . . . . . . . . . . .  4
     4.1   DS RR wire format and its new use  . . . . . . . . . . . .  4
   5.  Algorithm  . . . . . . . . . . . . . . . . . . . . . . . . . .  6
   6.  Authentication of a new secure zone and key rollover
       problem  . . . . . . . . . . . . . . . . . . . . . . . . . . .  9
     6.1   The key rollover problem . . . . . . . . . . . . . . . . .  9
   7.  Changes on the resolver's resolution algorithm . . . . . . . . 10
   8.  Pros and cons  . . . . . . . . . . . . . . . . . . . . . . . . 10
   9.  Security considerations  . . . . . . . . . . . . . . . . . . . 10
   10.   Normative References . . . . . . . . . . . . . . . . . . . . 11
       Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 11
       Intellectual Property and Copyright Statements . . . . . . . . 13


























Guette, et al.         Expires February 15, 2005                [Page 2]
Internet-Draft             DS Generalization                 August 2004



1.  Introduction


   The DNS security extensions (DNSSEC) [5][2][1][3] uses public-key
   cryptography and digital signatures.  It stores the public part of
   keys in DNSKEY Resource Records (RRs) and signatures in RRSIG RRs.
   In order to validate a resource record, a chain of trust is built
   from a secure entry point [4] to the RR queried.  To allows the build
   of a chain of trust, a delegation signer (DS) RR [6] is inserted at a
   zone cut (i.e., a delegation point) to indicate that the delegated
   zone is digitally signed and that the delegated zone recognizes the
   indicated key as a valid zone key for the delegated zone.


   Nevertheless, some delegation may remain unsecure and then no DS RR
   is stored in the parent zone for this delegation.  This implies
   islands of security in the DNS tree.  From the point of view of
   resolvers, secure name resolutions can be performed if and only if
   the resolver has a secure entry point and a secure path exists
   between this secure entry point and the resource queried (i.e., there
   is no unsecure delegation on the path).


   In consequence, as a resolver may query any DNS name, a resolver must
   have statically configured at least one secure entry point for the
   apex of all existing islands of security.  This is totally impossible
   to manage due to the number of keys needed.


   In this document we describe a generalization of DS RR use that
   allows to reduce the number of secure entry point configured in the
   resolver at the minimum.  Section 2 and 3 describe the different
   topologies induce by adding a new secure zone and their consequences.
   Section 4, 5 and 6 describe the new use of DS RRs and the algorithm
   to update/create these DS RRs.  Section 7 proposes changes on the
   resolver's resolution algorithm and section 8 discusses the pros and
   cons of the new use of DS RR.


2.  The three ways to add a secure zone in the DNS tree


   When a DNS zone deploys DNSSEC, three cases can arise:
   o  This zone becomes a new leaf of an existing island of security.
   o  This zone becomes a new apex of at least one existing island of
      security.
   o  This zone becomes a new island of security.


2.1  The new secure zone is a leaf of an island of security


   When a DNS zone deploys DNSSEC and becomes a leaf of an existing
   island of security, its parent zone must create and deploy the DS RR
   for this new secure delegation.





Guette, et al.         Expires February 15, 2005                [Page 3]
Internet-Draft             DS Generalization                 August 2004



2.2  The new secure zone is the new apex of an island of security


   When a DNS zone deploys DNSSEC and becomes the new apex of an island
   of security (i.e., the new zone owns any delegation for an existing
   apex of an island of security), the new secure zone must create and
   store DS RR for all its secure delegated zones.


2.3  The new secure zone is a new island of security


   This topology appears when the new secure zone has no secure parent
   and no secure child zone.  DS RR for this zone can not be created
   because the parent zone is not secure and the new secure zone does
   not create DS RR because it does not own any secure delegation.


3.  Influence of the three previous topologies on the name resolution


3.1  The new secure zone is a leaf of an island of security


   In this case, the new secure zone does not impact on the name
   resolution.  Either resolvers have already a trust anchor for the
   apex of the island of security and the resolver can perform secure
   name resolution, or resolvers do not have a trust anchor for the apex
   of the island of security and they can not perform a secure name
   resolution.


3.2  The new secure zone is the new apex of an island of security


   In this case, the apex of the island of security changes and a
   resolver that wants to perform secure name resolution about the new
   secure zone must have a trust anchor for this new secure zone.  Thus,
   the new secure zone should publish its public key on various media in
   order to notify administrators of resolvers that a new secure zone
   exists.  A diffusion is needed.


3.3  The new secure zone is a new island of security


   The new secure zone is nor a leaf neither an apex of an island of
   security, this case is the creation of a new island of security.  The
   new secure zone has no secure parent and no secure child.  This zone
   becomes a new apex of an island of security and the diffusion of its
   public key is needed.


4.  The DS resource record


4.1  DS RR wire format and its new use


   All information about the DS wire format can be found in the RFC 3658
   [6], the DS RR stores, in the parent zone, some information allowing




Guette, et al.         Expires February 15, 2005                [Page 4]
Internet-Draft             DS Generalization                 August 2004



   to identify a key of its secure child zone.  For example, the zone
   "example." has two child zones: "secure.example." which is secure and
   "unsecure.example." which is unsecure.  Assuming that the zone
   "apex.unsecure.example." exists and is secure, the zone "example."
   contains at least the following records:


     example.          SOA    <soa stuff>
     example.          NS      ns1.example.
     example.          DNSKEY <stuff>
     example.          NSEC    secure.example. NS SOA DNSKEY RRSIG NSEC
     example.          RRSIG(SOA)
     example.          RRSIG(NS)
     example.          RRSIG(NSEC)
     example.          RRSIG(DNSKEY)
     secure.example.   NS      ns1.secure.example.
     secure.example.   DS      tag=12345 alg=3 digest_type=1 <foo>
     secure.example.   NSEC    unsecure.example. NS RRSIG NSEC DS
     secure.example.   RRSIG(NSEC)
     secure.example.   RRSIG(DS)
     unsecure.example. NS      ns1.unsecure.example.
     unsecure.example. NSEC    example. NS RRSIG NSEC
     unsecure.example. RRSIG(NSEC)


   There is nothing in the "example." zone file about the secure zone
   "apex.unsecure.example.".


   In this document, we generalized the use of the DS RR, allowing a
   zone that has unsecure delegation(s) to store a DS RR that identifies
   a key of the apex of the next island of security in the subdomain of
   the unsecure delegation.  On the previous example this is:






















Guette, et al.         Expires February 15, 2005                [Page 5]
Internet-Draft             DS Generalization                 August 2004



     example.           SOA     <soa stuff>
     example.           NS      ns1.example.
     example.           DNSKEY  <stuff>
     example.           NSEC    secure.example. NS SOA DNSKEY RRSIG NSEC
     example.           RRSIG(SOA)
     example.           RRSIG(NS)
     example.           RRSIG(NSEC)
     example.           RRSIG(DNSKEY)
     secure.example.        NS    ns1.secure.example.
     secure.example.        DS    tag=12345 alg=3 digest_type=1 <foo>
     secure.example.        NSEC  unsecure.example. NS RRSIG NSEC DS
     secure.example.        RRSIG(NSEC)
     secure.example.        RRSIG(DS)
     unsecure.example.      NS    ns1.unsecure.example.
     unsecure.example.      NSEC  apex.unsecure.example. NS RRSIG NSEC
     unsecure.example.      RRSIG(NSEC)
     apex.unsecure.example. DS    tag=12345 alg=3 digest_type=1 <foo>
     apex.unsecure.example. NSEC  example. RRSIG NSEC DS
     apex.unsecure.example. RRSIG(NSEC)
     apex.unsecure.example. RRSIG(DS)


   As the zone "unsecure.example." is unsecure, a DS RR identifying the
   apex of the next island of security is stored in the "example." zone
   file.


   Storing DS RR that identifies the apex of the next island of
   security, allows to simulate a complete DNSSEC tree containing all
   the existing secure DNSSEC zone.  As a consequence, the number of
   trusted anchors in a resolver is reduced to the upper island(s) of
   security keys.


5.  Algorithm


   In this section, we assume that the generalization of DS RR use is
   effective on all islands of security.  The problem of authentication
   of the new secure zone is discussed in the next section.


   When a zone deploys DNSSEC, it firstly creates keys and signs its
   zone file and must contact its closest secure ancestor (CSA) in order
   to create DS RRs.  Then, the CSA creates DS RR for this new secure
   zone and must transmit to the new secure zone all the DS RRs
   identifying keys of zones contained in the subdomain of the new
   secure zone, it owns.


   The new secure zone takes the transmitted DS RR and signs them to
   create secure delegations.  If some of these delegations are already
   present in the new secure zone, this means that the new secure zone
   has become an apex of another island of security.




Guette, et al.         Expires February 15, 2005                [Page 6]
Internet-Draft             DS Generalization                 August 2004



   Assuming the following tree with the secure zones "a", "b.a",
   "f.e.c.a", "g.e.c.a":


     +--------a--------+
     |                 |
     |                 |
    b.a          +----c.a----+
                 |           |
                 |           |
              d.c.a   +----e.c.a----+
                      |             |
                      |             |
                   f.e.c.a       g.e.c.a




   Zone "a." contains at least the following records:


     a.        SOA    <soa stuff>
     a.        NS      ns1.a.
     a.        DNSKEY <stuff>
     a.        NSEC    b.a. NS SOA DNSKEY RRSIG NSEC
     a.        RRSIG(SOA)
     a.        RRSIG(NS)
     a.        RRSIG(NSEC)
     a.        RRSIG(DNSKEY)


     b.a.      NS    ns1.b.a.
     b.a.      DS    tag=12345 alg=3 digest_type=1 <foo>
     b.a.      NSEC  c.a. NS RRSIG NSEC DS
     b.a.      RRSIG(NSEC)
     b.a.      RRSIG(DS)


     c.a.      NS    ns1.c.a.
     c.a.      NSEC  f.e.c.a. NS RRSIG NSEC
     c.a.      RRSIG(NSEC)


     f.e.c.a.  DS    tag=12345 alg=3 digest_type=1 <foo>
     f.e.c.a.  NSEC  g.e.c.a. RRSIG NSEC DS
     f.e.c.a.  RRSIG(NSEC)
     f.e.c.a.  RRSIG(DS)


     g.e.c.a.  DS    tag=12345 alg=3 digest_type=1 <foo>
     g.e.c.a.  NSEC  a. RRSIG NSEC DS
     g.e.c.a.  RRSIG(NSEC)
     g.e.c.a.  RRSIG(DS)


   Zone "e.c.a." contains at least the following records:




Guette, et al.         Expires February 15, 2005                [Page 7]
Internet-Draft             DS Generalization                 August 2004



         e.c.a.   SOA     <soa stuff>
         e.c.a.   NS       ns1.e.c.a.
         f.e.c.a. NS       ns1.f.e.c.a.
         g.e.c.a. NS       ns1.g.e.c.a.


   When the zone "e.c.a." becomes secure, the previous zone file
   becomes:


     a.        SOA    <soa stuff>
     a.        NS      ns.a.
     a.        DNSKEY <stuff>
     a.        NSEC    b.a. NS SOA DNSKEY RRSIG NSEC
     a.        RRSIG(SOA)
     a.        RRSIG(NS)
     a.        RRSIG(NSEC)
     a.        RRSIG(DNSKEY)
     b.a.      NS    ns1.b.a.
     b.a.      DS    tag=12345 alg=3 digest_type=1 <foo>
     b.a.      NSEC  c.a. NS RRSIG NSEC DS
     b.a.      RRSIG(NSEC)
     b.a.      RRSIG(DS)
     c.a.      NS    ns1.c.a.
     c.a.      NSEC  e.c.a. NS RRSIG NSEC
     c.a.      RRSIG(NSEC)


     e.c.a.    DS    tag=12345 alg=3 digest_type=1 <foo>
     e.c.a.    NSEC  a. NS RRSIG NSEC DS
     e.c.a.    RRSIG(NSEC)
     e.c.a.    RRSIG(DS)


   and:





















Guette, et al.         Expires February 15, 2005                [Page 8]
Internet-Draft             DS Generalization                 August 2004



     e.c.a.    SOA    <soa stuff>
     e.c.a.    NS    ns1.e.c.a.
     e.c.a.    DNSKEY <stuff>
     e.c.a.    NSEC  f.e.c.a. NS SOA DNSKEY RRSIG NSEC
     e.c.a.    RRSIG(SOA)
     e.c.a.    RRSIG(NS)
     e.c.a.    RRSIG(NSEC)
     e.c.a.    RRSIG(DNSKEY)


     f.e.c.a.  NS    ns1.f.e.c.a.
     f.e.c.a.  DS    tag=12345 alg=3 digest_type=1 <foo>
     f.e.c.a.  NSEC  g.e.c.a. NS RRSIG NSEC DS
     f.e.c.a.  RRSIG(NSEC)
     f.e.c.a.  RRSIG(DS)


     g.e.c.a.  NS    ns1.g.e.c.a.
     g.e.c.a.  DS    tag=12345 alg=3 digest_type=1 <foo>
     g.e.c.a.  NSEC  e.c.a. NS RRSIG NSEC DS
     g.e.c.a.  RRSIG(NSEC)
     g.e.c.a.  RRSIG(DS)



   A secure zone 'X' can store DS RR identifying a key of a non directly
   delegated zone 'Y' only if it does not exist a secure zone on the
   path between 'X' and 'Y'.


6.  Authentication of a new secure zone and key rollover problem


   Authentication of a new secure zone is reduced to a DNSSEC bootstrap
   problem.  When a zone becomes secure with DNSSEC there is no in-band
   way to authentify the key of this new zone.  Authentication of the
   new secure zone, keys of the new secure zone and owner of the new
   secure zone must be done by the parent zone administrator with
   another method (X.509 certificates, phone call, meeting, etc.).


   The generalization of DS RR use implies the generalization of this
   authentication.  In all cases, the new secure zone must contact its
   CSA and the authentication of the new secure zone must be done by the
   CSA.  Once the authentication is complete, the CSA can create DS
   RR(s) for the new secure zone.


6.1  The key rollover problem


   At the present time, when a zone creates a new KSK and has a secure
   parent zone, the parent zone must create appropriated DS RR(s).  If
   its parent zone is not secured, no DS is needed.


   The generalization of DS RR use implies that a secure link exists




Guette, et al.         Expires February 15, 2005                [Page 9]
Internet-Draft             DS Generalization                 August 2004



   between islands of security and their closest secure ancestor.  Thus,
   when a zone creates a new KSK, this zone must notify its closest
   secure ancestor.  If the zone is inside an island of security (not
   the apex), the CSA is its parent zone.


   If a secure zone has no CSA, no DS can be created for this secure
   zone and no action is needed.  This is the case for the root zone.


7.  Changes on the resolver's resolution algorithm


   Currently, a resolver begins a name resolution from a secure entry
   point and follows the delegations to the resource queried.  If there
   is an unsecured delegation on the path the name resolution is
   unsecured.


   With the generalization of DS RR use, this case does not exit
   anymore.  A resolver follows the delegations, if a delegation is
   unsecure the resolver continues until the next secure zone is found.
   Then, the resolver asks for a DS RR for this zone, the DS RR is
   stored in the CSA, the resolver validates the key with this DS and
   continues the name resolution until to find the RR queried.


8.  Pros and cons


   With the generalization of DS RR use, the number of trusted anchors
   needed in a single resolver to perform secure name resolution on the
   whole DNS tree are largely reduced.  Only a secure entry point for
   the apex of the highest islands of security for each branch of the
   DNS tree are needed.  In the best case, if the root zone is secured,
   only the root zone key is needed.


   Moreover, the generalization of DS RR use ensures that if a resource
   record is in a secure zone in a given island of security, all
   resolvers can verify the signature of this record.


   The generalization of DS RR use implies that zones that have
   unsecured delegation stores additional DS resource records for the
   apex of the next island of security in the subdomain.  In the worst
   case, the number of additionnal records for a zone 'A' is equal to
   the number of leaves in the domain 'A'.


9.  Security considerations


   This document describes a generalization of DS RR use.  This
   generalization ensures that all signatures of resource records
   contained in a secure zone can be verified if the resolver trusts
   only the apex of the highest island of security.  If the root zone is
   secured, only the root zone key is needed.




Guette, et al.         Expires February 15, 2005               [Page 10]
Internet-Draft             DS Generalization                 August 2004



10  Normative References


   [1]  Arends, R., "Resource Records for the DNS Security Extensions",
        July 2004.


   [2]  Arends, R., Austein, R., Massey, D., Larson, M. and S. Rose,
        "DNS Security Introduction and Requirements", July 2004.


   [3]  Arends, R., "Protocol Modifications for the DNS Security
        Extensions", July 2004.


   [4]  Kolkman, O., Schlyter, J. and E. Lewis, "Domain Name System KEY
        (DNSKEY) Resource Record (RR) Secure Entry Point (SEP) Flag",
        RFC 3757, May 2004.


   [5]  Eastlake, D., "Domain Name System Security Extensions", March
        1999.


   [6]  Gudmundsson, O., "Delegation Signer (DS) Resource Record (RR)",
        December 2003.



Authors' Addresses


   Gilles Guette
   IRISA / INRIA
   Campus de Beaulieu
   35042  Rennes CEDEX
   FR


   EMail: gilles.guette@irisa.fr
   URI:   http://www.irisa.fr



   David Fort
   IRISA / University of Rennes I
   Campus de Beaulieu
   35042  Rennes CEDEX
   FR


   EMail: david.fort@irisa.fr
   URI:   http://www.irisa.fr










Guette, et al.         Expires February 15, 2005               [Page 11]
Internet-Draft             DS Generalization                 August 2004



   Bernard Cousin
   IRISA / University of Rennes I
   Campus de Beaulieu
   35042  RENNES CEDEX
   FR


   EMail: bernard.cousin@irisa.fr
   URI:   http://www.irisa.fr












































Guette, et al.         Expires February 15, 2005               [Page 12]
Internet-Draft             DS Generalization                 August 2004



Intellectual Property Statement


   The IETF takes no position regarding the validity or scope of any
   intellectual property 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; neither does it represent that it
   has made any effort to identify any such rights. Information on the
   IETF's procedures with respect to rights in standards-track and
   standards-related documentation can be found in BCP-11. Copies of
   claims of rights made available for publication 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 implementors or users of this specification can
   be obtained from the IETF Secretariat.


   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights which may cover technology that may be required to practice
   this standard. Please address the information to the IETF Executive
   Director.



Full Copyright Statement


   Copyright (C) The Internet Society (2004). All Rights Reserved.


   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published
   and distributed, in whole or in part, without restriction of any
   kind, provided that the above copyright notice and this paragraph are
   included on all such copies and derivative works. However, this
   document itself may not be modified in any way, such as by removing
   the copyright notice or references to the Internet Society or other
   Internet organizations, except as needed for the purpose of
   developing Internet standards in which case the procedures for
   copyrights defined in the Internet Standards process must be
   followed, or as required to translate it into languages other than
   English.


   The limited permissions granted above are perpetual and will not be
   revoked by the Internet Society or its successors or assignees.


   This document and the information contained herein is provided on an
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION



Guette, et al.         Expires February 15, 2005               [Page 13]
Internet-Draft             DS Generalization                 August 2004



   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.



Acknowledgment


   Funding for the RFC Editor function is currently provided by the
   Internet Society.












































Guette, et al.         Expires February 15, 2005               [Page 14]