INTERNET-DRAFT DNS Protocol Security Extensions 20 November 1994 Expires 19 May 1995 Domain Name System Protocol Security Extensions ------ ---- ------ -------- -------- ---------- Donald E. Eastlake 3rd & Charles W. Kaufman Status of This Document This draft, file name draft-ietf-dnssec-secext-02.txt, is intended to be become a standards track RFC. Distribution of this document is unlimited. Comments should be sent to the DNS Security Working Group mailing list or to the authors. This document is an Internet-Draft. 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. Internet-Drafts may be updated, replaced, or obsoleted by other documents at any time. It is not appropriate to use Internet- Drafts as reference material or to cite them other than as a ``working draft'' or ``work in progress.'' To learn the current status of any Internet-Draft, please check the 1id-abstracts.txt listing contained in the Internet-Drafts Shadow Directories on ds.internic.net, nic.nordu.net, ftp.isi.edu, or munnari.oz.au. Donald E. Eastlake 3rd & Charles W. Kaufman [Page 1] INTERNET-DRAFT DNS Protocol Security Extensions Abstract The Domain Name System (DNS) has become a critical operational part of the Internet infrastructure yet it has no strong security mechanisms to assure data integrity or authentication. Extensions to the DNS are described in detail that provide these services to security aware resolvers or applications through the use of cryptographic digital signatures. These digital signatures are included in secured zones as resource records. Security can still be provided even through non-security aware DNS servers. A explanatory overview of the proposed extensions appears in draft- ietf-dnssec-over-*.txt. The extensions also provide for the storage of authenticated keys in the DNS for DNS use and to support a general public key distribution service. The stored keys enable security aware resolvers to learn the authenticating key of zones in addition to keys for which they are initially configured. Keys associated with DNS names can be retrieved to support other protocols. Provision is made for a variety of key types and algorithms. In addition, the security extensions provide for the optional authentication of DNS protocol transactions. Acknowledgements The significant contributions of the following persons (in alphabetic order) to this draft are gratefully acknowledged: Madelyn Badger, James M. Galvin, Olafur Gudmundsson, Sandy Murphy, Masataka Ohta, Jeffrey I. Schiller. Donald E. Eastlake 3rd & Charles W. Kaufman [Page 2] INTERNET-DRAFT DNS Protocol Security Extensions Table of Contents Status of This Document....................................1 Abstract...................................................2 Acknowledgements...........................................2 Table of Contents..........................................3 1. Introduction............................................5 2. Brief Overview of the Extensions.......................6 2.1 Key Distribution.......................................6 2.2 Data Origin Authentication.............................6 2.2.1 Security Provided...................................6 2.2.2 The SIG Resource Record..............................7 2.2.3 The NXD Resource Record..............................7 2.2.4 Signers Other Than The Zone..........................8 2.2.5 Special Problems With Time-to-Live...................8 2.3 DNS Transaction Authentication.........................8 3. The KEY Resource Record................................10 3.1 KEY RDATA format......................................10 3.2 Object Types and DNS Names and Keys...................11 3.3 The KEY RR Flag Octet.................................11 3.4 The KEY Algorithm Version.............................12 3.5 KEY RRs in the Construction of Responses..............13 3.6 File Representation of KEY RRs........................13 4. The SIG Resource Record................................15 4.1 SIG RDATA Format......................................15 4.1.1 Signature Format....................................17 4.1.2 SIG RRs Covering Type ANY...........................18 4.1.3 Zone Transfer (AXFR) SIG............................18 4.1.4 Transaction SIGs....................................18 4.2 SIG RRs in the Construction of Responses..............19 4.3 Processing Responses with SIG RRs.....................19 4.4 File Representation of SIG RRs........................20 5. Non-existent Names.....................................22 5.1 The NXD Resource Record...............................22 5.2 NXD RDATA Format......................................23 5.3 Example...............................................23 5.4 Interaction of NXD RRs and Wildcard RRs...............23 5.5 Blocking NXD Pseudo-Zone Transfers....................24 6. How to Resolve Securely................................25 6.1 Boot File Format......................................25 6.2 Chaining Through Zones................................26 6.3 Secure Time...........................................27 Donald E. Eastlake 3rd & Charles W. Kaufman [Page 3] INTERNET-DRAFT DNS Protocol Security Extensions 7. Operational Considerations.............................28 7.1 Key Size Considerations...............................28 7.2 Key Storage...........................................28 7.3 Key Generation........................................29 7.4 Key Lifetimes.........................................29 7.5 Revocation............................................29 7.6 Root..................................................30 8. Conformance............................................31 8.1 Server Conformance....................................31 8.2 Resolver Conformance..................................31 9. Security Considerations................................32 References................................................32 Authors Addresses.........................................33 Expiration and File Name..................................33 Donald E. Eastlake 3rd & Charles W. Kaufman [Page 4] INTERNET-DRAFT DNS Protocol Security Extensions 1. Introduction This draft provides detailed descriptions of the DNS protocol extensions to support DNS security and public key distribution. A broad overview of these extensions is provided in draft-ietf- dnssec-over-*.txt. This draft assumes that the reader is familiar with that overview and with the Domain Name System particularly as described in RFCs 1034 and 1035. The requirements and goals of DNS security are described in the overview document. Donald E. Eastlake 3rd & Charles W. Kaufman [Page 5] INTERNET-DRAFT DNS Protocol Security Extensions 2. Brief Overview of the Extensions The DNS protocol extensions provide three distinct services: key distribution as described in section 2.1 below, data origin authentication as described in section 2.2 below, and transaction authentication, described in section 2.3 below. 2.1 Key Distribution The resource records are defined to associate keys with DNS names. This permits the DNS to be used as a general public key distribution mechanism in support of the data origin authentication and transaction authentication DNS services as well as other security services such as IP level security. The syntax of a KEY resource record is described in Section 3. It includes the name of the entity the key is associated with (frequently but not always the KEY RR owner name), an algorithm identifier, flags indicating the type of entity the key is associated with or asserting that there is no key associated with that entity, and the actual public key parameters. 2.2 Data Origin Authentication Adding security requires no change to the "on-the-wire" DNS protocol beyond the addition of the signature resource types (and, as a practical matter, the key resource type needed for key distribution). An additional domain name non-existence resource is added to extend authentication to negative responses. This service can be supported by existing resolver and server implementations so long as they could support the additional resource types. If signatures are always separately retrieved and verified when retrieving the information they authenticate, there will be more trips to the server and performance will suffer. To avoid this, security aware servers mitigate that degradation by automatically send exactly the signature(s) needed. 2.2.1 Security Provided Security is provided by associating with resource records in the DNS a cryptographically generated digital signature. Commonly, there will be a single private key that signs for an entire zone. If a security aware resolver reliably learns the public key of the zone, Donald E. Eastlake 3rd & Charles W. Kaufman [Page 6] INTERNET-DRAFT DNS Protocol Security Extensions it can verify that all the data read was properly authorized and is reasonably current. The expected implementation is for the zone private key to be kept off-line and used to re-sign all of the records in the zone periodically. The data origin authentication key belongs to the zone and not to the servers that store copies of the data. That means compromise of a server or even all servers for a zone will not affect the degree of assurance that a resolver has that the data is genuine. A resolver can learn the public key of a zone either by reading it from DNS or by having it staticly configured. To reliably learn the public key by reading it from DNS, the key itself must be signed. Thus, to provide a reasonable degree of security, the resolver must be configured with at least the public key of one zone. From that, it can securely read the public keys of other zones if the intervening zones in the DNS tree are secure. It is in principle more secure to have the resolver manually configured with the public keys of multiple zones, since then the compromise of a single zone would not permit the faking of information from other zones. It is also more administratively cumbersome, however, particularly when public keys change. 2.2.2 The SIG Resource Record The syntax of a SIG resource record (signature) is described in Section 4. It includes the type of the RR(s) being signed, the name of the signer, the time at which the signature was created, the time it expires (when it is no longer to be believed), its original time to live (which may be longer than its current time to live but cannot be shorter), the cryptographic algorithm in use, and the actual signature. Every name in a zone supporting signed data will have associated with it a SIG resource records for each resource type under that name. A security aware server supporting the performance enhanced version of the DNS protocol security extensions will return with all records retrieved the corresponding SIGs. If a server does not support the protocol, the resolver must retrieve all the SIG records for a name and select the one or ones that sign the resource record(s) that resolver is interested in. 2.2.3 The NXD Resource Record The above security mechanism provides only a way to sign existing RRs in a zone. Data origin authentication is not obviously provided for Donald E. Eastlake 3rd & Charles W. Kaufman [Page 7] INTERNET-DRAFT DNS Protocol Security Extensions the non-existence of a domain name in a zone. This gap is filled by the NXD RR which authenticatably asserts a range of non-existent names in a zone. The owner of the NXD RR is the start of such a ranger and its RDATA is the end of the range; however, there are additional complexities due to wildcards. Section 6 below covers the NXD RR. 2.2.4 Signers Other Than The Zone There are two general cases where a signature is generated by other than the zone private key. One is for future support of dynamic update where an entity is permitted to authenticate/update its own record. The public key of the entity must be present in the DNS and be appropriately signed but the other RR(s) may be signed with the entity's key. The other is for support of transaction authentication as described in 2.3 below. 2.2.5 Special Problems With Time-to-Live A digital signature will fail to verify if any change has occurred to the data between the time it was originally signed and the time the signature is verified. This conflicts with our desire to have the time-to-live field tick down when resource records are cached. This could be avoided by leaving the time-to-live out of the digital signature, but that would allow unscrupulous secondaries to set arbitrarily long time to live values undetected. Instead, we include the "original" time-to-live in the signature and communicate that data in addition to the current time-to-live. Unscrupulous servers under this scheme can manipulate the time to live but a security aware resolver will bound the TTL value it uses at the original signed value. Separately, signatures include a time signed and an expiration time. A resolver that knows an absolute time can determine securely whether a signature has expired. 2.3 DNS Transaction Authentication The data origin authentication service described above protects resource records but provides no protection for message headers. If header bits are falsely set by a server, there is little that can be done. However, it is possible to add transaction authentication. Such authentication means that a resolver can be sure it is getting messages from the server it thinks it queried and that the response is from the query it sent and that these messages have not been Donald E. Eastlake 3rd & Charles W. Kaufman [Page 8] INTERNET-DRAFT DNS Protocol Security Extensions diddled in transit. This is accomplished by optionally adding a special SIG resource record to end of the reply which digitally signs the concatenation of the server's response and the resolver's query. The private key used belongs to the host composing the reply, not to the zone being queried. The corresponding public key is stored in and retrieved from the DNS. Because replies are highly variable, message authentication SIGs can not be precalculated. Thus it will be necessary to keep the private key on-line, for example in software or in a directly connected piece of hardware. The best way to get the security provided by the transaction authentication service would be to use a good IP level security protocol. The authors of this draft decry the every growing number of IP application level security protocols such as Telnet, NTP, FTP, etc., etc. when a single IP-security protocol could secure most of these applications. Unfortunately, an IP-security standard has not yet been adopted. And even if it had, there will be many systems for many years where it will be hard to add IP security but relatively easy to replace the DNS components. Furthermore, the data origin authentication service requires the implementation of essentially all the mechanisms needed for a rudimentary message authentication service. Thus a simple transaction authentication service based on mechanisms already required by DNS security is included as a strictly optional part of these extensions. Donald E. Eastlake 3rd & Charles W. Kaufman [Page 9] INTERNET-DRAFT DNS Protocol Security Extensions 3. The KEY Resource Record The KEY RR is used to document a key that is associated with a DNS name. It will be a public key as only public keys are stored in the DNS. This can be the public key of a zone owner, of a host or other end entity, or a user. A KEY RR is, like any other RR, authenticated by a SIG RR. Security aware DNS implementations should be designed to handle at least two simultaneously valid keys of the same type associated with a name. The type number for the KEY RR is 25. 3.1 KEY RDATA format The RDATA for a KEY RR consists of an object name, flags, the algorithm version, and the public key itself. For the MD5/RSA algorithm, that is the public exponent and the public modulus. The format is as follows: 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | / +- object name +---------------+ / | flags | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | algorithm | public key exponent | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | modulus length| | +---------------+ public key modulus -+ / / +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ The object name, and the flags octets are described in Sections 3.2 and 3.3 below. The flags must be examined before any following data as they control its the format and even whether there is any following data. The public key exponent and modulus length fields show apply only if the MD5/RSA algorithm is in use and a key is present. The public key exponent is an unsigned 24 bit integer. The public key modulus field is a multiprecision unsigned integer. The "modulus length" is an unsigned octet which is the actual modulus length minus 64. This limits keys to a maximum of 255+64 or 319 octets and a minimum of 64 octets. Although moduluses of less than 512 significant bits are not recommended, due to the weak security they provide, they can be represented by using leading zeros. Donald E. Eastlake 3rd & Charles W. Kaufman [Page 10] INTERNET-DRAFT DNS Protocol Security Extensions 3.2 Object Types and DNS Names and Keys The public key in a KEY RR belongs to the object named in the object name field. Frequently this will also be the owner name of the KEY RR. But they will be different in the case of the key or keys stored under a zone's name for the zone's superzone or keys that are stored for cross certification. The DNS object name may refer to up to three things. For example, dee.lkg.dec.com could be (1) a zone, (2) a host, and (3) the mapping into a DNS name of the user dee@lkg.dec.com . Thus, there are flags in the KEY RR to indicate with which of these roles the object name and public key are associated as described below. It is possible to use the same key for these different things with the same name but this is discouraged. In addition, there are three control bits, the "no key" bit, the "experimental" bit, and the "signatory" bit, as described in 3.3 below. It would be desirable for the growth of DNS to be managed so that additional possible simultaneous uses for names are NOT added. New uses should be distinguished by exclusive domains. For example, all IP autonomous system numbers have been mapped into the in-as.arpa domain [draft-ietf-dnssec-as-map-*.txt] and all telephone numbers in the world have been mapped into the tpc.int domain [...]. This is preferable to having the same name possibly be an autonomous system number, telephone number, and/or host as well as a zone and a user. 3.3 The KEY RR Flag Octet In the "flags" field: Bit 0 is the "no key" bit. If this bit is on, there is no key information and the RR stopw with the flags octet. Bits 1 is the "experimental" bit. Keys may be associated with zones or entities for experimental, trial, or optional use, in which case this bit will be one. If this bit is a zero, it means that the use or availability of security based on the key is "mandatory". Thus, if this bit is off for a zone, the zone should be assumed secured by SIG RRs and any responses indicating the zone is not secured should be considered bogus. Similarly, if this bit were off for a host key and attempts to negotiate IP-security with the host produced indications that IP-security was not supported, it should be assumed that the host has been compromised or communications with it are being spoofed. On the other hand, if this bit were a one, the host might very well sometimes operate in a secure mode and at other Donald E. Eastlake 3rd & Charles W. Kaufman [Page 11] INTERNET-DRAFT DNS Protocol Security Extensions times operate without the availability of IP-security. The experimental bit, like all other aspects of the KEY RR, is only effective if the KEY RR is appropriately signed by a SIG RR. Bit 2 is the "signatory" bit. It indicates that the key can validly sign RRs of the same name. If the owner name is a wildcard, then RRs with any name which is in the wildcard's scope can be signed including NS and corresponding KEY RRs to carve out a subzone. This bit is meaningless for zone keys which always have authority to sign any RRs in the zone. The signatory bit, like all other aspects of the KEY RR, is only effective if the KEY RR is appropriately signed by a SIG RR. Bits 3-4 are reserved and must be zero. If they are found non- zero, they should be ignored and the KEY RR used as indicated by the other flags. Bit 5 on indicates that this is a key associated with a "user" or "account" at an end entity, usually a host. The coding of the owner name is that used for the responsible individual mailbox in the SOA record: The owner name is the user name as the name of a node under the entity name. For example, "j.random_user" on host.subdomain.domain could have a public key associated through an KEY RR with name j\.random_user.host.subdomain.domain. It could be used in an IP-security protocol where authentication of a user was desired. This key would be useful in IP or other security for a user level service such a telnet, ftp, rlogin, etc. Bit 6 on indicates that this is a key associated with the non- zone entity whose name is the RR owner name. This will commonly be a host but could, in some parts of the DNS tree, be some other type of entity such as an Autonomous System [draft-ietf-dnssec-as-map-*.txt]. This is the public key used in connection with the optional DNS transaction authentication service that can be used if the owner name is a DNS server host. It could also be used in an IP-security protocol where authentication of a host was desired. Bit 7 on indicates that this is a zone key for the zone whose name is the RSA RR owner name. This is the fundamental type of DNS data origin authentication public key. 3.4 The KEY Algorithm Version This octet is the key algorithm version parallel to the same field for the SIG resource. The MD5/RSA algorithm described in this draft is number 1. Version numbers 2 through 253 are available for assignment should sufficient reason arise. However, the designation of a new version could have a major impact on interoperability Donald E. Eastlake 3rd & Charles W. Kaufman [Page 12] INTERNET-DRAFT DNS Protocol Security Extensions requires an IETF standards action. Version 254 is reserved for private use and will never be assigned a specific algorithm. For version 254, the combined "public exponent", "modulus length" and "modulus" area shown above will actually begin with an Object Identifier (OID) indicating the private algorithm in use and the remainder of the combined area is whatever is required by that algorithm. Algorithm versions 0 and 255 are illegal. 3.5 KEY RRs in the Construction of Responses A request for KEY RRs does not cause any special additional information processing except, of course, for the corresponding SIG RR from a security aware server. Security aware DNS servers will include KEY RRs as additional information in responses where appropriate as follows: On the retrieval of NS RRs, the zone key KEY RR(s) for the zone served by these name servers will be included. If not all additional info will fit, the KEY RR(s) have lower priority than type A glue RRs. On retrieval of type A RRs, the end entity KEY RR(s) for the host named will be included. On inclusion of A RRs as additional information, their KEY RRs will also be included but with lower priority than the relevant A RRs. 3.6 File Representation of KEY RRs KEY RRs may appear as lines in a zone data file. The object name appears first. The flag octet and algorithm version octets are then represented as unsigned integers; however, if the "no key" flag is on in the flags, nothing appears after the flag octet. If the algorithm specified is the MD5/RSA algorithm, then the exponent and modulus appear. The public key exponent is an unsigned integer from 3 to 16777215. The public key modulus can be quite large, up to 319 octets. It is the last data field and is represented in hex and may be divided up into any number of white space separated substrings, down to single hex digits, which are concatenated to obtain the full signature. These hex substrings can span lines using the standard parenthesis. Donald E. Eastlake 3rd & Charles W. Kaufman [Page 13] INTERNET-DRAFT DNS Protocol Security Extensions If an algorithm from 2 through 253 is specified, the public key parameters required by that algorithm are given. If the algorithm specified is number 254, then an OID appears followed by whatever is required for the private algorithm. Algorithm versions 0 and 255 are illegal. Donald E. Eastlake 3rd & Charles W. Kaufman [Page 14] INTERNET-DRAFT DNS Protocol Security Extensions 4. The SIG Resource Record The SIG or "signature" resource record (RR) is the fundamental way that data is authenticated in the secure DNS. As such it is the heart of the security provided. The SIG RR unforgably authenticates other RRs of a particular type and binds them to a time interval and the signer's fully qualified domain name. This is done using cryptographic techniques and the signer's private key. The signer is usually the owner of the zone from which the RR originated. 4.1 SIG RDATA Format The RDATA portion of a SIG RR is as shown below. The integrity of the RDATA information and that of the SIG RRs owner, type, and class are protected by the signature field. 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | type covered | algorithm | labels | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | original TTL | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | signature expiration | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | time signed | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | key footprint | / +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ signer's name / / / +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | signature / / / +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ The value of the SIG type is 24. The "type covered" is the type of the other RRs covered by this SIG. The algorithm version number is an octet specifying the digital signature algorithm used. The MD5/RSA algorithm described in this draft is version one. Version numbers 2 through 253 are available for assignment should sufficient reason arise to allocate them. However, the designation of a new version could have a major impact on the interoperability of the global DNS systems and requires an IETF standards action. Version 254 is reserved for private use and Donald E. Eastlake 3rd & Charles W. Kaufman [Page 15] INTERNET-DRAFT DNS Protocol Security Extensions will never be assigned a specific algorithm. For version 254, the "signature" area shown above will actually begin with an Object Identified (OID) indicating the private algorithm in use and the remainder of the signature area is whatever is required by that algorithm. Version numbers 0 and 2555 are illegal. The "labels" octet is an unsigned count of how many labels there are in the original SIG RR owner name not counting the null label for root and not counting any initial "*" for a wildcard. If, on retrieval, the RR appears to have a longer name, the resolver can tell it is the result of wildcard substitution. If the RR owner name appears to be shorter than the labels count, the SIG RR should be considered corrupt and ignored. The maximum number of labels possible in the current DNS is 127 but the entire octet is reserved and would be required should DNS names ever be expanded to 255 labels. If a secured retrieval is the result of wild card substitution, it is necessary for the resolver to use the original form of the name in verifying the digital signature. The field helps optimize the determination of the original form. The "original TTL" field is included in the RDATA portion to avoid authentication problems that caching servers would otherwise cause by decrementing the real TTL field and security problems that unscrupulous servers could otherwise cause by manipulating the real TTL field. This original TTL is protected by the signature while the real TTL field is not. The SIG is valid until the "signature expiration" time which is an unsigned number of seconds since the start of 1 January 1970. The "time signed" field is an unsigned number of seconds since the start of 1 January 1970. The "key footprint" is a 16 bit quantity that is used to help efficiently select between multiple keys which may be applicable and as a quick check that a public key about to be used for the computationally expensive effort to decode the signature is possibly valid. Its exact meaning is algorithm dependent. For the MD5/RSA algorithm, it is the next to the bottom two octets of the public key modulus needed to decode the signature field. That is to say, the most significant 16 of the lest significant 24 bits of this quantity. The "signer's name" field is the fully qualified domain name of the signer generating the SIG RR. This is usually the zone which contained the RR(s) being authenticated. The structured of the "signature" field depends on the algorithm chosen and is described below. Donald E. Eastlake 3rd & Charles W. Kaufman [Page 16] INTERNET-DRAFT DNS Protocol Security Extensions 4.1.1 Signature Format The actual signature portion of the SIG RR binds the owner, signer, class, original TTL, time signed, flags, and expiration time of the SIG RR to all of the "type covered" RRs with that owner name. These covered RRs are thereby authenticated. To accomplish this, a data sequence is constructed as follows: data = algorithm | original TTL | Expiration Time | Time signed | Signer's Name | RR(s)... where | is concatenation and RR(s) are all the expanded (no name abbreviation) RR(s) of the type covered with the same owner name as the SIG RR in canonical order. The canonical order for RRs is to sort them in ascending order as left justified unsigned octet sequences where a missing octet sorts before a zero octet. How this data sequence is processed into the signature is algorithm dependent. For the MD5/RSA algorithm, the signature is as follows hash = MD5 ( data ) signature = ( 01 | FF* | 00 | hash ) ** e (mod n) where "|" is concatenation, "e" is the secret key exponent of the signer, and "n" is the public modulus that is the signer's public key. 01, FF, and 00 are fixed octets of the corresponding hexadecimal value. The FF octet is repeated the maximum number of times such that the value of the quantity being exponentiated is one octet shorter than the value of n. The size of n, including most and least significant bits (which will be 1) SHALL be not less than 512 bits and not more than 2552 bits. n and e MUST be chosen such that the public exponent is less than 2**24 - 1 and SHOULD be chosen such that the public exponent is small. The above specifications are similar to Public Key Cryptographic Standard #1 [PKCS1]. (A public exponent of 3 minimizes the effort needed to decode a signature. Use of 3 as the public exponent may be weak for confidentiality uses since, if the same data can be collected encrypted under three different keys with an exponent of 3 then, using the Chinese Remainder Theorem [ref], the original plain text can be easily recovered. This weakness is not significant for DNS because we seek only authentication, not confidentiality.) Donald E. Eastlake 3rd & Charles W. Kaufman [Page 17] INTERNET-DRAFT DNS Protocol Security Extensions 4.1.2 SIG RRs Covering Type ANY The SIG RR described above protects all the RRs with a particular owner name and type. Thus a server must supply them all to convince a security aware resolver. However, an unscrupulous server could claim there were no RRs of a particular type under an owner name while presenting signed RRs of other types. To provide a means of protection against this, one SIG RR is added for each owner name that covers the type ANY. It is calculated as indicated above except that all RRs for that owner name, except the SIG RR covering type ANY itself, are included in the data string which is processed into the signature. 4.1.3 Zone Transfer (AXFR) SIG The above SIG mechanisms assure the authentication of all the RRs of a particular name and type and all the RRs of a particular name and any type. However, to secure complete zone transfers, a SIG RR owned by the zone name must be created with a type covered of AXFR that covers all other zone signed RRs. It will be calculated by hashing together all other static zone RRs, including SIGs. The RRs are ordered and concatenated for hashing as described in Section 4.1.1. This SIG, other than having to be calculated last of all zone key signed SIGs in the zone, is the same as any other SIG. Dynamic zone RRs which might be added by some future dynamic zone update protocol and signed by an end entity or user key rather than a zone key (see Section 3.2) are not included. They originate in the network and will not, in general, be migrated to the recommended off line zone signing procedure (see Section 8.2). Thus such dynamic RRs are not directly signed by the zone and are not generally protected against omission during zone transfers. 4.1.4 Transaction SIGs A response message from a security aware server may optionally contain a special SIG as the last item in the additional information section to authenticate the transaction. This SIG has a "type covered" field of zero, which is not a valid RR type. It is calculated by using a "data" (see section 4.1.1) of the entire preceding DNS reply message, including header, concatenated with the entire DNS query message that produced this response, including the query's header. That is data = full response (less trailing message SIG) | full query Donald E. Eastlake 3rd & Charles W. Kaufman [Page 18] INTERNET-DRAFT DNS Protocol Security Extensions Verification of the message SIG (which is signed by the server host key, not the zone key) by the requesting resolver shows that the query and response were not tampered with in transit and that the response corresponds to the intended query. 4.2 SIG RRs in the Construction of Responses Security aware servers MUST, for every RR the query will return, attempt to send the available SIG RRs which authenticate the requested RR. If multiple such SIGs are available, there may be insufficient space in the response to include them all. In this case, SIGs whose signer is the zone containing the RR MUST be given highest priority and retained even if SIGs with other signers must be dropped. To minimize possible truncation problems, if a SIG covers any RR that would be in the answer section of the response, its automatic inclusion MUST be the answer section. If it covers an RR that would appear in the authority section, its automatic inclusion MUST be in the authority section. If it covers an RR that would appear in the additional information section it MUST appear in the additional information section. Optionally, DNS transactions may be authenticated by a SIG RR at the end of the response in the additional information section (section 4.1.4). Such SIG RRs are signed by the DNS server originating the response. Although the signer field must be the name of the originating server host, the name, class, TTL, and original TTL, are meaningless. The class and TTL fields can be zero. To save space, the name should be root (a single zero octet). [There may be a problem with SIG and NXD RR's associated with domain names that are CNAMEs. The DNS RFCs prohibit other types of RRs appearing with a CNAME RR. This problem is being ignored until it is clear if DNS servers will really have a problem with this.] 4.3 Processing Responses with SIG RRs If SIG RRs are received in response to a query specifying the SIG type, no special processing is required but a security aware client may wish to authenticate them by decoding the signature and applying consistency checks. If SIG RRs are received in any other response, a security aware client should decoded them using the public key of the signer. The result of such decoding should thenbe verified against the Donald E. Eastlake 3rd & Charles W. Kaufman [Page 19] INTERNET-DRAFT DNS Protocol Security Extensions appropriate other RRs retrieved. If the message does not pass reasonable checks or the SIG does not check against the signed RRs, the SIG RR is invalid and should be ignored. The time of receipt of the SIG RR must be in the inclusive range of the time signed and the signature expiration but the SIG can be retained and remains locally valid until the expiration time plus the authenticated TTL. If the SIG RR is the last RR in a response in the additional information section and has a type covered of zero, it is a transaction signature of the the response and the query that produced the response. It may be optionally checked and the message rejected if the checks fail. But even it the checks succeed, such a transaction authentication SIG does NOT authenticate any RRs in the message. Only proper direct or hashed RR signets signed by the zone can authenticate RRs. If a resolver does not implement transaction SIGs, it MUST at least ignore them without error. If all reasonable checks indicate that the SIG RR is valid then RRs verified by it should be considered authenticated and all other RRs in the response should be considered with suspicion. 4.4 File Representation of SIG RRs A SIG RR covering RRs can be represented as a single logical line in a zone data file [RFC1033] but there are some special problems as described below. (It does not make sense to include a transaction authenticating SIG RR in a file as it is a transient authentication that must be calculated in real time by the DNS server.) There is no particular problem with the signer, covered type, and times. The time fields appears in the form YYYYMMDDHHMMSS where YYYY is the year, the first MM is the month number (01-12), DD is the day of the month (01-31), HH is the hour in 24 hours notation (00-23), the second MM is the minute (00-59), and SS is the second (00-59). The original TTL and algorithm fields appears as unsigned integers. The "labels" field does not appear in the file representation as it can be calculated from the owner name. The key footprint appears as an eight digit unsigned hexadecimal number. However, the signature itself can be very long. It is the last data field and is represented in hex and may be divided up into any number of white space separated substrings, down to single hex digits, which Donald E. Eastlake 3rd & Charles W. Kaufman [Page 20] INTERNET-DRAFT DNS Protocol Security Extensions are concatenated to obtain the full signature. These hex substrings can be split between lines using the standard parenthesis. Donald E. Eastlake 3rd & Charles W. Kaufman [Page 21] INTERNET-DRAFT DNS Protocol Security Extensions 5. Non-existent Names The SIG RR mechanism described in section 4 above provides strong authentication of RRs that exist in a zone. But is it not immediately clear how to authenticatably deny the existence of a name in a zone. The nonexistence of a name in a zone is indicates by the NXD RR for a name interval containing the nonexistent name. An NXD RR and its SIG are returned in the additional information section, along with the error, if the resolver is security aware. NXD RRs can also be returned if an explicit query is made for the NXD type. The existence of a complete set of NXD records in a zone means that any query for any name to a security aware server serving the zone should result in an reply containing at least one signed RR. 5.1 The NXD Resource Record The NXD resource record is used to securely indicate that no RRs with an owner name in a certain name interval exist in a zone. The owner name of the NXD RR is an existing name in the zone. It's RDATA is another existing name in the zone. The presence of the NXD RR means that no name between its owner name and the name in its RDATA area exists. This implies a canonical ordering of all domain names in a zone. The ordering is to sort labels as unsigned left justified octet strings where the absence of a byte sorts before a zero byte. Names are then sorted by sorting on the highest level label and then, within those names with the same highest level label by the next lower label, etc. Since we are talking about a zone, the zone name itself always exists and all other names are the zone name with some prefix of lower level labels. Thus the zone name itself always sorts first. There is a slight problem with the last NXD in a zone as it wants to have an owner name which is the last existing name in sort order, which is easy, but it is not obvious what name to put in its RDATA to indicate the entire remainder of the name space. This is handled by treating the name space as circular and putting the zone name in the RDATA of the last NXD. There are additional complexities due to interaction with wildcards as explained below. The NXD RRs for a zone can be automatically calculated and added to Donald E. Eastlake 3rd & Charles W. Kaufman [Page 22] INTERNET-DRAFT DNS Protocol Security Extensions the zone by the same recommended off-line process that signs the zone. The NXD RRs TTL should not exceed the zone minimum TTL. The type number for the NXD RR is xxx. 5.2 NXD RDATA Format The RDATA for an NXD RR consists simply of a domain name. 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | next domain name / / / +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 5.3 Example Assume a zone has entries for big.foo.bar medium.foo.bar small.foo.bar tiny.foo.bar Then a query to a security aware server for huge.foo.bar would produce an error reply with the additional information section containing big.foo.bar NXD medium.foo.bar 5.4 Interaction of NXD RRs and Wildcard RRs As a wildcard RR causes all possible names in an interval to exist, there should not be an NXD record that would cover any part of this interval. Thus if *.X.ZONE exists you would expect an NXD RR that ends at X.ZONE and one that starts with the last name covered by *.X.ZONE. However, this "last name covered" is something very ugly and long like \255\255\255....X.zone. So the NXD for the interval following is simply given the owner name *.X.zone. This "*" type name is not expanded when the NXD is returned as additional information in connection with a query for a non-existent name. Donald E. Eastlake 3rd & Charles W. Kaufman [Page 23] INTERNET-DRAFT DNS Protocol Security Extensions If there could be any wildcard RRs in a zone and thus wildcard NXDs, care must be taken in interpreting the results of explicit NXD retrievals as the owner name may be a wildcard expansion. The existence of one or more wildcard RRs covering a name interval makes it possible for a malicious server to hide any more specificly named RRs in the internal. The server can just falsely return the wildcard match NXD instead of the more specificly named RRs. If there is a zone wide wildcard, there will be only one NXD RR whose owner name and RDATA are both the zone name. In this case a server could conceal the existence of any more specific RRs in the zone. It would be possible to make a more complex NXD feature, taking into account the types of RRs that did not exist in a name interval, and the like, which would eliminate this possibility. But it would be more complex and would be so constraining as to make any future dynamic update feature that could create new names very difficult (see Section 3.2). 5.5 Blocking NXD Pseudo-Zone Transfers In a secure zone, a resolver can query for the initial NXD associated with the zone name. Using the RDATA field from that RR, it can query for the next NXD RR. By repeating this, it can walk through all the NXDs in the zone. If there are no wildcards, it can use this technique to find all names in a zone. If it does type ANY queries, it can incrementally get all information in the zone and perhaps defeat attempts to administratively block zone transfers. If there are any wildcards, this NXD walking technique will not find any more specific RR names in the part of the name space the wildcard covers. By doing explicit retrievals for wildcard names, a resolver could determine what intervals are covered by wildcards but still could not, with these techniques, find any names inside such intervals except by trying every name. If it is desired to block NXD walking, the recommended method is to add a zone wide wildcard of the KEY type which asserts the nonexistence of any keys. This will cause there to be only one NXD RR in the zone for the zone name and leak no information about what real names exist in the zone. This protection from pseudo-zone transfers is bought at the expense of eliminating the data origin authentication of the non-existence of names that NXD RRs can provide. If an entire zone is covered by a wildcard, a malicious server can return an RR produced by matching that wildcard and can thus hide all the real data and delegations with more specific names in the zone. Donald E. Eastlake 3rd & Charles W. Kaufman [Page 24] INTERNET-DRAFT DNS Protocol Security Extensions 6. How to Resolve Securely Retrieving or resolving authentic data from the DNS involves starting with one or more trusted public keys and, in general, progressing securely from them through the DNS zone structure to the zone of interest. Such trusted public keys would normally be configured in a manner similar to that described in section 6.1. However, as a practical matter, a security aware resolver would still gain some confidence in the results it returns even if it was not configured with any keys but trusted what it got from a local well known server as a starting point. 6.1 Boot File Format The recommended format for a boot file line to configure starting keys is as follows: zonekey f.q.d.n algorithm [exponent modulus] for a zone public key or hostkey f.q.d.n algorithm [exponent modulus] for a host public key. f.q.d.n is the domain name of the zone or host. Algorithm is the algorithm in use where one is the MD5/RSA algorithm and 254 indicates a private algorithm. The material after the algorithm is algorithm dependent and, for private algorithms, starts with the algorithm's identifying OID. For the RSA algorithm, it is the public key exponent as a decimal number between 3 and 16777215, and the modulus in hex. While it might seem logical for everyone to start with the key for the root zone, this has problems. The logistics of updating every DNS resolver in the world when the root key changes would be excessive. It may be some time before there even is a root key. Furthermore, many organizations will explicitly wish their "interior" DNS implementations to completely trust only their own zone. These interior resolvers can then go through the organization's zone server to access data outsize the organization's domain. If desired, the IP address for the f.q.d.n's with configured keys can generally also be configured via an /etc/hosts or similar local file. Donald E. Eastlake 3rd & Charles W. Kaufman [Page 25] INTERNET-DRAFT DNS Protocol Security Extensions 6.2 Chaining Through Zones Starting with one trusted zone key, it is possible to retrieve signed keys for subzones which have a key. Every secure zone (except root) should also include the RSA record for its super-zone signed by the secure zone. This makes it possible to climb the tree of zones if one starts below root. A secure sub-zone is generally indicated by a KEY RR appearing with the NS RRs for the sub-zone. These make it possible to descend within the tree of zones. A resolver should keep track of the number of successive secure zones traversed from a starting point to any secure zone it can reach. In general, the lower such a distance number is, the greater the confidence in the data. Data configured via a boot file should be given a distance number of zero. Should a query encounter different data with different distance values, that with a larger value should be ignored. A security conscious resolver should completely refuse to step from a secure zone into a non-secure zone unless the non-secure zone is certified to be non-secure or only experimentally secure by the presence of an authenticated KEY RR for the non-secure zone with a no key flag or the presence of a KEY RR with the experimental bit set. Otherwise the resolver is probably getting completely bogus or spoofed data. If legitimate non-secure zones are encountered in traversing the DNS tree, then no zone can be trusted as secure that can be reached only via information from such non-secure zones. Since the non-secure zone data could have been spoofed, the "secure" zone reach via it could be counterfeit. The "distance" to data in such zones or zones reached via such zones could be set to 512 or more as this exceeds the largest possible distance through secure zones in the DNS. Nevertheless, continuing to apply secure checks within "secure" zones reached via non-secure zones will, as a practical matter, provide some increase in security. The existence of cross certifications adds further policy questions. Assume we have a zone B.A and a zone Y.X. Many possibilities exist for a secure resolver configured with the B.A key to get to Y.X. If all the zones along the way are secure, it could climb to root and then descend the other side, a total of four hops (B.A -> A -> . -> X -> Y.X). If the B.A administrator had installed a cross certified key for Y.X in the B.A zone, using that would be a shorter and presumably more secure way to find Y.X's key which would be immune to the non-security or even compromise of the servers for A or root or X. But what if some less trusted subzone of B.A, say C.B.A installed a cross certified key for Y.X? If there is a conflict, should this be preferred to a hierarhically derived key obtained by climbing to root and descending? Such questions are a matter of local resolver Donald E. Eastlake 3rd & Charles W. Kaufman [Page 26] INTERNET-DRAFT DNS Protocol Security Extensions policy. 6.3 Secure Time Coordinated interpretation of the time fields in SIG RRs requires that reasonably consistent time be available to the hosts implementing the DNS security extensions. A variety of time synchronization protocols exist including the Network Time Protocol (NTP, RFC1305). If such protocols are used, they should be used securely so that time can not be spoofed. Otherwise, for example, a host could get its clock turned back and might then believe old SIG and KEY RRs which were valid but no longer are. Donald E. Eastlake 3rd & Charles W. Kaufman [Page 27] INTERNET-DRAFT DNS Protocol Security Extensions 7. Operational Considerations This section discusses a variety of considerations in secure operation of DNS using these proposed protocol extensions. 7.1 Key Size Considerations There are a number of factors that effect public key size choice for use in the DNS security extension. Unfortunately, these factors usually do not all point in the same direction. Choice of a key size should be made by the zone administrator depending on their local conditions. For most schemes, larger keys are more secure but slower. Verification (the most common operation) for the MD5/RSA algorithm will vary roughly with the square of the modulus length, signing will vary with the cube of the modulus length, and key generation (the least common operation) will vary with the fourth power of the modulus length. The current best algorithms for factoring a modulus and breaking RSA security vary roughly with the square of the modulus itself. Thus going from a 640 bit modulus to a 1280 bit modulus only increases the verification time by a factor of 4 but vastly increases the work factor of breaking the key. [RSA FAQ] However, larger keys increase size of the KEY RR and usually the SIG RR. This increases the change of UDP packet flow and the possible necessity for using higher overhead TCP. The recommended minimum RSA algorithm modulus size, 640 bits, is believed by the authors to be secure at this time and for some years but high level nodes in the DNS tree may wish to set a higher minimum, perhaps 1000 bits, for security reasons. (Since the United States National Security Agency generally permits export of encryption systems using an RSA modulus of up to 512 bits, use of that small a modulus, i.e. n, must be considered weak.) 7.2 Key Storage It is strongly recommended that zone private keys and the zone file master copy be kept and used in off-line non-network connected physically secure machines only. Periodically an application can be run to re-sign the RRs in a zone by adding NXD and SIG RRs. Then the augmented file can be transferred, perhaps by sneaker-net, to the networked zone primary server machine. The idea is to have a one way information flow to the network to Donald E. Eastlake 3rd & Charles W. Kaufman [Page 28] INTERNET-DRAFT DNS Protocol Security Extensions avoid the possibility of tampering from the network. Keeping the zone master file on-line on the network and simply cycling it through an off-line signer does not do this. The on-line version could still be tampered with if the host it resides on is compromised. The master copy of the zone file should be off net and should not be updated based on an unsecured network mediated communication. Non-zone private keys, such as host keys, may have to be kept on line to be used for real-time purposes such a IP secure session set-up. 7.3 Key Generation Careful key generation is a sometimes over looked but absolutely essential element in any cryptographically secure system. The strongest algorithms used with the longest keys are still of no use if an adversary can guess enough to lower the size of the likely key space so that it can be exhaustively searched. Suggestions will be found in draft-ietf-security-randomness-*.txt. It is strongly recommended that key generation also occur off-line, perhaps on the machine used to sign zones (see Section 7.2). 7.4 Key Lifetimes No key should be used forever. The longer a key is in use, the greater the probability that it will have been compromised through carelessness, accident, espionage, or cryptanalysis. No zone key should have a lifetime significantly over five years. The recommended maximum lifetime for zone keys that are kept off-line and carefully guarded is 13 months with the intent that they be replaced every year. The recommended maximum lifetime for end entity keys that are used for IP-security or the like and are kept on line is 36 days with the intent that they be replaced monthly or more often. In some cases, an entity key lifetime of a little over a day may be reasonable. 7.5 Revocation [This is new and should probably be moved to someplace above...] Data in the DNS is authenticated via keyed digital signatures. Thus to revoke data, we need to alter the time period of the key's effectiveness to not include the date signed of the data to be remoked. Note that the case of a compromised key, where we wish to Donald E. Eastlake 3rd & Charles W. Kaufman [Page 29] INTERNET-DRAFT DNS Protocol Security Extensions make its period of effectiveness null, we generally need only think of the KEY RR as data and make the period of effectiveness of the superzone's key not include the time of the previous superzone signing of the key. Normally, a KEY retrieved from the DNS appears to be effective from the beginning of time until the expiration of the SIG that authenticated it. (If this were not so, a secure zone would have to be resigned every time its superzone is resigned.) When data is being revoked, a zone can be resigned with a later date signed but a mechanism is need to make the earlier SIG of the now revoked data not longer valid. A dawn for the effectiveness of a node's KEY RR is provided, when desired, by having the key appear self-signed. This declares the time signed of the self signature as the time of effectiveness of the key(s). Note this is entirely under the control of a zone and asynchronous with its superzone's signings. This technique covers non-zone entities as well. For an owner to have a dawn to the effectiveness of its delegated key (which is signed by the zone key), it need only self-sign its key and the date signed is the dawn. 7.6 Root The root zone includes its own key self-signed. It should also be noted that in DNS the root is a zone unto itself. Thus the root zone key should only be see signing itself or signing RRs with names one level below root, such as .aq, .edu, or .arpa. Implementations MAY reject as bogus any purported root signature of records with a name more than one level below root. Donald E. Eastlake 3rd & Charles W. Kaufman [Page 30] INTERNET-DRAFT DNS Protocol Security Extensions 8. Conformance Several levels of server and resolver conformance are defined. 8.1 Server Conformance Three levels of server conformance are defined as follows: Zilch server compliance is the ability to store and retrieve (including zone transfer) SIG, KEY, and NXD RRs. It is believed that most current servers meet this level of compliance. Minimal server compliance adds the following to zilch compliance: (1) ability to read SIG, KEY, and NXD RRs in zone files and (2) ability, given a zone file and private key, to add appropriate SIG and NXD RRs, possibly via a separate application. Primary servers for secure zones must be at least minimally compliant. Full server compliance is ability to automatically include SIG, KEY, and NXD RRs in responses as appropriate, as well as meeting minimal compliance. 8.2 Resolver Conformance Two levels of resolver compliance are defined: A Zilch compliance resolver can handle SIG, KEY, and NXD RRs when they are explicitly requested. It is believed that current resolvers are Zilch compliant. A fully compliant resolver understands KEY, SIG, and NXD RRs, maintains appropriate information in its local caches and database to indicate which RRs have been authenticated and to what extent they have been authenticated, and performs additional queries as necessary to obtain KEY, SIG, or NXD RRs from non-security aware servers. Donald E. Eastlake 3rd & Charles W. Kaufman [Page 31] INTERNET-DRAFT DNS Protocol Security Extensions 9. Security Considerations This document concerns technical details of extensions to the Domain Name System (DNS) protocol to provide data integrity and data origin authentication, public key distribution, and optional transaction security. If should be noted that, at most, these extensions guarantee the validity of resource records, including KEY resource records, retrieved from the DNS. They do not magically solve other security problems. For example, using secure DNS you can have high confidence in the IP address you retrieve for a host; however, this does not stop someone for substituting an unauthorized host at that address or capturing packets sent to that address and responding with packets apparently from that address. Any reasonably complete security system will require the protection of many other facets of the Internet. References [PKCS1] - PKCS #1: RSA Encryption Standard, RSA Data Security, Inc., 3 June 1991, Version 1.4. [RFC1032] - Domain Administrators Guide, M. Stahl, November 1987 [RFC1033] - Domain Administrators Operations Guide, M. Lottor, November 1987 [RFC1034] - Domain Names - Concepts and Facilities, P. Mockapetris, November 1987 [RFC1035] - Domain Names - Implementation and Specifications [RFC1321] - The MD5 Message-Digest Algorithm, R. Rivest, April 16 1992. [RSA FAQ] - RSADSI Frequently Asked Questions periodic posting. Donald E. Eastlake 3rd & Charles W. Kaufman [Page 32] INTERNET-DRAFT DNS Protocol Security Extensions Authors Addresses Donald E. Eastlake 3rd Digital Equipment Corporation 550 King Street, LKG2-1/BB3 Littleton, MA 01460 Telephone: +1 508 486 6577(w) +1 508 287 4877(h) EMail: dee@lkg.dec.com Charles W. Kaufman Iris Associates Telephone: +1 508-392-5276 EMail: charlie_kaufman@iris.com Expiration and File Name This draft expires 19 May 1995. Its file name is draft-ietf-dnssec-secext-02.txt. Donald E. Eastlake 3rd & Charles W. Kaufman [Page 33]