RFC 4035:Protocol Modifications for the DNS Securi...
RFC-Ref

12. Appendix C. Authentication Examples


   The examples in this section show how the response messages in
   Appendix B are authenticated.


12.1. C.1. Authenticating an Answer


   The query in Appendix B.1 returned an MX RRset for "x.w.example.com".
   The corresponding RRSIG indicates that the MX RRset was signed by an
   "example" DNSKEY with algorithm 5 and key tag 38519.  The resolver
   needs the corresponding DNSKEY RR in order to authenticate this
   answer.  The discussion below describes how a resolver might obtain
   this DNSKEY RR.

   The RRSIG indicates the original TTL of the MX RRset was 3600, and,
   for the purpose of authentication, the current TTL is replaced by
   3600.  The RRSIG labels field value of 3 indicates that the answer
   was not the result of wildcard expansion.  The "x.w.example.com" MX
   RRset is placed in canonical form, and, assuming the current time
   falls between the signature inception and expiration dates, the
   signature is authenticated.


12.1.1. C.1.1. Authenticating the Example DNSKEY RR


   This example shows the logical authentication process that starts
   from the a configured root DNSKEY (or DS RR) and moves down the tree
   to authenticate the desired "example" DNSKEY RR.  Note that the
   logical order is presented for clarity.  An implementation may choose
   to construct the authentication as referrals are received or to
   construct the authentication chain only after all RRsets have been
   obtained, or in any other combination it sees fit.  The example here
   demonstrates only the logical process and does not dictate any
   implementation rules.

   We assume the resolver starts with a configured DNSKEY RR for the
   root zone (or a configured DS RR for the root zone).  The resolver
   checks whether this configured DNSKEY RR is present in the root
   DNSKEY RRset (or whether the DS RR matches some DNSKEY in the root
   DNSKEY RRset), whether this DNSKEY RR has signed the root DNSKEY
   RRset, and whether the signature lifetime is valid.  If all these

   conditions are met, all keys in the DNSKEY RRset are considered
   authenticated.  The resolver then uses one (or more) of the root
   DNSKEY RRs to authenticate the "example" DS RRset.  Note that the
   resolver may have to query the root zone to obtain the root DNSKEY
   RRset or "example" DS RRset.

   Once the DS RRset has been authenticated using the root DNSKEY, the
   resolver checks the "example" DNSKEY RRset for some "example" DNSKEY
   RR that matches one of the authenticated "example" DS RRs.  If such a
   matching "example" DNSKEY is found, the resolver checks whether this
   DNSKEY RR has signed the "example" DNSKEY RRset and the signature
   lifetime is valid.  If these conditions are met, all keys in the
   "example" DNSKEY RRset are considered authenticated.

   Finally, the resolver checks that some DNSKEY RR in the "example"
   DNSKEY RRset uses algorithm 5 and has a key tag of 38519.  This
   DNSKEY is used to authenticate the RRSIG included in the response.
   If multiple "example" DNSKEY RRs match this algorithm and key tag,
   then each DNSKEY RR is tried, and the answer is authenticated if any
   of the matching DNSKEY RRs validate the signature as described above.


12.2. C.2. Name Error


   The query in Appendix B.2 returned NSEC RRs that prove that the
   requested data does not exist and no wildcard applies.  The negative
   reply is authenticated by verifying both NSEC RRs.  The NSEC RRs are
   authenticated in a manner identical to that of the MX RRset discussed
   above.


12.3. C.3. No Data Error


   The query in Appendix B.3 returned an NSEC RR that proves that the
   requested name exists, but the requested RR type does not exist.  The
   negative reply is authenticated by verifying the NSEC RR.  The NSEC
   RR is authenticated in a manner identical to that of the MX RRset
   discussed above.


12.4. C.4. Referral to Signed Zone


   The query in Appendix B.4 returned a referral to the signed
   "a.example." zone.  The DS RR is authenticated in a manner identical
   to that of the MX RRset discussed above.  This DS RR is used to
   authenticate the "a.example" DNSKEY RRset.

   Once the "a.example" DS RRset has been authenticated using the
   "example" DNSKEY, the resolver checks the "a.example" DNSKEY RRset
   for some "a.example" DNSKEY RR that matches the DS RR.  If such a
   matching "a.example" DNSKEY is found, the resolver checks whether

   this DNSKEY RR has signed the "a.example" DNSKEY RRset and whether
   the signature lifetime is valid.  If all these conditions are met,
   all keys in the "a.example" DNSKEY RRset are considered
   authenticated.


12.5. C.5. Referral to Unsigned Zone


   The query in Appendix B.5 returned a referral to an unsigned
   "b.example." zone.  The NSEC proves that no authentication leads from
   "example" to "b.example", and the NSEC RR is authenticated in a
   manner identical to that of the MX RRset discussed above.


12.6. C.6. Wildcard Expansion


   The query in Appendix B.6 returned an answer that was produced as a
   result of wildcard expansion.  The answer section contains a wildcard
   RRset expanded as it would be in a traditional DNS response, and the
   corresponding RRSIG indicates that the expanded wildcard MX RRset was
   signed by an "example" DNSKEY with algorithm 5 and key tag 38519.
   The RRSIG indicates that the original TTL of the MX RRset was 3600,
   and, for the purpose of authentication, the current TTL is replaced
   by 3600.  The RRSIG labels field value of 2 indicates that the answer
   is the result of wildcard expansion, as the "a.z.w.example" name
   contains 4 labels.  The name "a.z.w.w.example" is replaced by
   "*.w.example", the MX RRset is placed in canonical form, and,
   assuming that the current time falls between the signature inception
   and expiration dates, the signature is authenticated.

   The NSEC proves that no closer match (exact or closer wildcard) could
   have been used to answer this query, and the NSEC RR must also be
   authenticated before the answer is considered valid.


12.7. C.7. Wildcard No Data Error


   The query in Appendix B.7 returned NSEC RRs that prove that the
   requested data does not exist and no wildcard applies.  The negative
   reply is authenticated by verifying both NSEC RRs.


12.8. C.8. DS Child Zone No Data Error


   The query in Appendix B.8 returned NSEC RRs that shows the requested
   was answered by a child server ("example" server).  The NSEC RR
   indicates the presence of an SOA RR, showing that the answer is from
   the child .  Queries for the "example" DS RRset should be sent to the
   parent servers ("root" servers).



Google
Web
RFC-Ref