draft-ietf-dnsext-simple-secure-update-01.txt   rfc3007.txt 
DNSIND Working Group Brian Wellington (NAILabs)
<draft-ietf-dnsext-simple-secure-update-01.txt>
Updates: RFC 2535, RFC 2136, Network Working Group B. Wellington
Replaces: RFC 2137, [update2] Request for Comments: 3007 Nominum
Updates: 2535, 2136 November 2000
Obsoletes: 2137
Category: Standards Track
Secure Domain Name System (DNS) Dynamic Update Secure Domain Name System (DNS) Dynamic Update
Status of this Memo Status of this Memo
This document is an Internet-Draft and is in full conformance with This document specifies an Internet standards track protocol for the
all provisions of Section 10 of RFC2026. Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Internet-Drafts are working documents of the Internet Engineering Official Protocol Standards" (STD 1) for the standardization state
Task Force (IETF), its areas, and its working groups. Note that and status of this protocol. Distribution of this memo is unlimited.
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
Comments should be sent to the authors or the DNSIND WG mailing list
namedroppers@internic.net.
This draft expires on November 12, 2000.
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (2000). All rights reserved. Copyright (C) The Internet Society (2000). All Rights Reserved.
Abstract Abstract
This document proposes a method for performing secure Domain Name This document proposes a method for performing secure Domain Name
System (DNS) dynamic updates. The method described here is intended System (DNS) dynamic updates. The method described here is intended
to be flexible and useful while requiring as few changes to the to be flexible and useful while requiring as few changes to the
protocol as possible. The authentication of the dynamic update protocol as possible. The authentication of the dynamic update
message is separate from later DNSSEC validation of the data. Secure message is separate from later DNSSEC validation of the data. Secure
communication based on authenticated requests and transactions is communication based on authenticated requests and transactions is
used to provide authorization. used to provide authorization.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119].
1 - Introduction 1 - Introduction
This document defines a means to secure dynamic updates of the Domain This document defines a means to secure dynamic updates of the Domain
Name System (DNS), allowing only authorized sources to make changes to a Name System (DNS), allowing only authorized sources to make changes
zone's contents. The existing unsecured dynamic update operations form to a zone's contents. The existing unsecured dynamic update
the basis for this work. operations form the basis for this work.
Familiarity with the DNS system [RFC1034, RFC1035] and dynamic update Familiarity with the DNS system [RFC1034, RFC1035] and dynamic update
[RFC2136] is helpful and is assumed by this document. In addition, [RFC2136] is helpful and is assumed by this document. In addition,
knowledge of DNS security extensions [RFC2535], SIG(0) transaction knowledge of DNS security extensions [RFC2535], SIG(0) transaction
security [RFC2535], and TSIG transaction security [TSIG] is recommended. security [RFC2535, RFC2931], and TSIG transaction security [RFC2845]
is recommended.
This document updates portions of RFC 2535, in particular section 3.1.2. This document updates portions of RFC 2535, in particular section
This document obsoletes RFC 2137, an alternate proposal for secure 3.1.2, and RFC 2136. This document obsoletes RFC 2137, an alternate
dynamic update, due to implementation experience. proposal for secure dynamic update, due to implementation experience.
1.1 - Overview of DNS Dynamic Update 1.1 - Overview of DNS Dynamic Update
DNS dynamic update defines a new DNS opcode and a new interpretation of DNS dynamic update defines a new DNS opcode and a new interpretation
the DNS message if that opcode is used. An update can specify of the DNS message if that opcode is used. An update can specify
insertions or deletions of data, along with prerequisites necessary for insertions or deletions of data, along with prerequisites necessary
the updates to occur. All tests and changes for a DNS update request for the updates to occur. All tests and changes for a DNS update
are restricted to a single zone, and are performed at the primary server request are restricted to a single zone, and are performed at the
for the zone. The primary server for a dynamic zone must increment the primary server for the zone. The primary server for a dynamic zone
zone SOA serial number when an update occurs or before the next must increment the zone SOA serial number when an update occurs or
retrieval of the SOA. before the next retrieval of the SOA.
1.2 - Overview of DNS Transaction Security 1.2 - Overview of DNS Transaction Security
Exchanges of DNS messages which include TSIG [TSIG] or SIG(0) [RFC2535] Exchanges of DNS messages which include TSIG [RFC2845] or SIG(0)
records allow two DNS entities to authenticate DNS requests and [RFC2535, RFC2931] records allow two DNS entities to authenticate DNS
responses sent between them. A TSIG MAC (message authentication code) requests and responses sent between them. A TSIG MAC (message
is derived from a shared secret, and a SIG(0) is generated from a authentication code) is derived from a shared secret, and a SIG(0) is
private key whose public counterpart is stored in DNS. In both cases, a generated from a private key whose public counterpart is stored in
record containing the message signature/MAC is included as the final DNS. In both cases, a record containing the message signature/MAC is
resource record in a DNS message. Keyed hashes, used in TSIG, are included as the final resource record in a DNS message. Keyed
inexpensive to calculate and verify. Public key encryption, as used in hashes, used in TSIG, are inexpensive to calculate and verify.
SIG(0), is more scalable as the public keys are stored in DNS. Public key encryption, as used in SIG(0), is more scalable as the
public keys are stored in DNS.
1.3 - Comparison of data authentication and message authentication 1.3 - Comparison of data authentication and message authentication
Message based authentication, using TSIG or SIG(0), provides protection Message based authentication, using TSIG or SIG(0), provides
for the entire message with a single signing and single verification protection for the entire message with a single signing and single
which, in the case of TSIG, is a relatively inexpensive MAC creation and verification which, in the case of TSIG, is a relatively inexpensive
check. For update requests, this signature can establish, based on MAC creation and check. For update requests, this signature can
policy or key negotation, the authority to make the request. establish, based on policy or key negotiation, the authority to make
the request.
DNSSEC SIG records can be used to protect the integrity of individual DNSSEC SIG records can be used to protect the integrity of individual
RRs or RRsets in a DNS message with the authority of the zone owner. RRs or RRsets in a DNS message with the authority of the zone owner.
However, this cannot sufficiently protect the dynamic update request. However, this cannot sufficiently protect the dynamic update request.
Using SIG records to secure RRsets in an update request is incompatible Using SIG records to secure RRsets in an update request is
with the design of update, as described below, and would in any case incompatible with the design of update, as described below, and would
require multiple expensive public key signatures and verifcations. in any case require multiple expensive public key signatures and
verifications.
SIG records do not cover the message header, which includes record SIG records do not cover the message header, which includes record
counts. Therefore, it is possibly to maliciously insert or remove counts. Therefore, it is possible to maliciously insert or remove
RRsets in an update request without causing a verification failure. RRsets in an update request without causing a verification failure.
If SIG records were used to protect the prerequisite section, it would If SIG records were used to protect the prerequisite section, it
be impossible to determine whether the SIGs themselves were a would be impossible to determine whether the SIGs themselves were a
prerequisite or simply used for validation. prerequisite or simply used for validation.
In the update section of an update request, signing requests to add an In the update section of an update request, signing requests to add
RRset is straightforward, and this signature could be permanently used an RRset is straightforward, and this signature could be permanently
to protect the data, as specified in [RFC2535]. However, if an RRset is used to protect the data, as specified in [RFC2535]. However, if an
deleted, there is no data for a SIG to cover. RRset is deleted, there is no data for a SIG to cover.
1.4 - Data and message signatures 1.4 - Data and message signatures
As specified in [signing-auth], the DNSSEC validation process performed As specified in [RFC3008], the DNSSEC validation process performed by
by a resolver MUST NOT process any non-zone keys unless local policy a resolver MUST NOT process any non-zone keys unless local policy
dictates otherwise. When performing secure dynamic update, all zone dictates otherwise. When performing secure dynamic update, all zone
data modified in a signed zone MUST be signed by a relevant zone key. data modified in a signed zone MUST be signed by a relevant zone key.
This completely disassociates authentication of an update request from This completely disassociates authentication of an update request
authentication of the data itself. from authentication of the data itself.
The primary usefulness of host and user keys, with respect to DNSSEC, is The primary usefulness of host and user keys, with respect to DNSSEC,
to authenticate messages, including dynamic updates. Thus, host and is to authenticate messages, including dynamic updates. Thus, host
user keys MAY be used to generate SIG(0) records to authenticate updates and user keys MAY be used to generate SIG(0) records to authenticate
and MAY be used in the TKEY [TKEY] process to generate TSIG shared updates and MAY be used in the TKEY [RFC2930] process to generate
secrets. In both cases, no SIG records generated by non-zone keys will TSIG shared secrets. In both cases, no SIG records generated by
be used in a DNSSEC validation process unless local policy dictates. non-zone keys will be used in a DNSSEC validation process unless
Authentication of data, once it is present in DNS, only involves DNSSEC local policy dictates.
zone keys and signatures generated by them.
Authentication of data, once it is present in DNS, only involves
DNSSEC zone keys and signatures generated by them.
1.5 - Signatory strength 1.5 - Signatory strength
[RFC2535, section 3.1.2] defines the signatory field of a key as the [RFC2535, section 3.1.2] defines the signatory field of a key as the
final 4 bits of the flags field, but does not define its value. This final 4 bits of the flags field, but does not define its value. This
proposal leaves this field undefined. Updating [RFC2535], this field proposal leaves this field undefined. Updating [RFC2535], this field
SHOULD be set to 0 in KEY records, and MUST be ignored. SHOULD be set to 0 in KEY records, and MUST be ignored.
2 - Authentication 2 - Authentication
TSIG or SIG(0) records MUST be included in all secure dynamic update TSIG or SIG(0) records MUST be included in all secure dynamic update
messages. This allows the server to verifiably determine the originator messages. This allows the server to verifiably determine the
of a message. If the message contains authentication in the form of a originator of a message. If the message contains authentication in
SIG(0), the identity of the sender (that is, the principal) is the owner the form of a SIG(0), the identity of the sender (that is, the
of the KEY RR that generated the SIG(0). If the message contains a TSIG principal) is the owner of the KEY RR that generated the SIG(0). If
generated by a statically configured shared secret, the principal is the the message contains a TSIG generated by a statically configured
same as or derived from the shared secret name. If the message contains shared secret, the principal is the same as or derived from the
a TSIG generated by a dynamically configured shared secret, the shared secret name. If the message contains a TSIG generated by a
principal is the same as the one that authenticated the TKEY process; if dynamically configured shared secret, the principal is the same as
the TKEY process was unauthenticated, no information is known about the the one that authenticated the TKEY process; if the TKEY process was
principal, and the associated TSIG shared secret MUST NOT be used for unauthenticated, no information is known about the principal, and the
secure dynamic update. associated TSIG shared secret MUST NOT be used for secure dynamic
update.
SIG(0) signatures SHOULD NOT be generated by zone keys, since SIG(0) signatures SHOULD NOT be generated by zone keys, since
transactions are initiated by a host or user, not a zone. transactions are initiated by a host or user, not a zone.
DNSSEC SIG records (other than SIG(0)) MAY be included in an update DNSSEC SIG records (other than SIG(0)) MAY be included in an update
message, but MUST NOT be used to authenticate the update request. message, but MUST NOT be used to authenticate the update request.
If an update fails because it is signed with an unauthorized key, the If an update fails because it is signed with an unauthorized key, the
server MUST indicate failure by returning a message with RCODE REFUSED. server MUST indicate failure by returning a message with RCODE
Other TSIG, SIG(0), or dynamic update errors are returned as specified REFUSED. Other TSIG, SIG(0), or dynamic update errors are returned
in the appropriate protocol description. as specified in the appropriate protocol description.
3 - Policy 3 - Policy
All policy is configured by the zone administrator and enforced by the All policy is configured by the zone administrator and enforced by
zone's primary name server. Policy dictates the authorized actions that the zone's primary name server. Policy dictates the authorized
an authenticated principal can take. Policy checks are based on the actions that an authenticated principal can take. Policy checks are
principal and the desired action, where the principal is derived from based on the principal and the desired action, where the principal is
the message signing key and applied to dynamic update messages signed derived from the message signing key and applied to dynamic update
with that key. messages signed with that key.
The server's policy defines criteria which determine if the key used to The server's policy defines criteria which determine if the key used
sign the update is permitted to perform the requested updates. By to sign the update is permitted to perform the requested updates. By
default, a principal MUST NOT be permitted to make any changes to zone default, a principal MUST NOT be permitted to make any changes to
data; any permissions MUST be enabled though configuration. zone data; any permissions MUST be enabled though configuration.
The policy is fully implemented in the primary zone server's The policy is fully implemented in the primary zone server's
configuration for several reasons. This removes limitations imposed by configuration for several reasons. This removes limitations imposed
encoding policy into a fixed number of bits (such as the KEY RR's by encoding policy into a fixed number of bits (such as the KEY RR's
signatory field). Policy is only relevant in the server applying it, so signatory field). Policy is only relevant in the server applying it,
there is no reason to expose it. Finally, a change in policy or a new so there is no reason to expose it. Finally, a change in policy or a
type of policy should not affect the DNS protocol or data format, and new type of policy should not affect the DNS protocol or data format,
should not cause interoperability failures. and should not cause interoperability failures.
3.1 - Standard policies 3.1 - Standard policies
Implementations SHOULD allow access control policies to use the Implementations SHOULD allow access control policies to use the
principal as an authorization token, and MAY also allow policies to principal as an authorization token, and MAY also allow policies to
grant permission to a signed message regardless of principal. grant permission to a signed message regardless of principal.
A common practice would be to restrict the permissions of a principal by A common practice would be to restrict the permissions of a principal
domain name. That is, a principal could be permitted to add, delete, or by domain name. That is, a principal could be permitted to add,
modify entries corresponding to one or more domain names. delete, or modify entries corresponding to one or more domain names.
Implementations SHOULD allow per-name access control, and SHOULD provide Implementations SHOULD allow per-name access control, and SHOULD
a concise representation of the principal's own name, its subdomains, provide a concise representation of the principal's own name, its
and all names in the zone. subdomains, and all names in the zone.
Additionally, a server SHOULD restrict updates by RR type, so that a Additionally, a server SHOULD allow restricting updates by RR type,
principal could add, delete, or modify specific record types at certain so that a principal could add, delete, or modify specific record
names. Implementations SHOULD allow per-type access control, and SHOULD types at certain names. Implementations SHOULD allow per-type access
provide concise representations of all types and all ``user'' types, control, and SHOULD provide concise representations of all types and
where a user type is defined as one that does not affect the operation all "user" types, where a user type is defined as one that does not
of DNS itself. affect the operation of DNS itself.
3.1.1 - User types 3.1.1 - User types
User types include all data types except SOA, NS, SIG, and NXT. SOA and User types include all data types except SOA, NS, SIG, and NXT. SOA
NS SHOULD NOT be modified by normal users, since these types create or and NS records SHOULD NOT be modified by normal users, since these
modify delegation points. The addition of SIG records can lead to types create or modify delegation points. The addition of SIG
attacks resulting in additional workload for resolvers, and the deletion records can lead to attacks resulting in additional workload for
of SIG records could lead to extra work for the server if the zone SIG resolvers, and the deletion of SIG records could lead to extra work
was deleted. Note that these records are not forbidden, but not for the server if the zone SIG was deleted. Note that these records
recommended for normal users. are not forbidden, but not recommended for normal users.
NXT records MUST NOT be created, modified, or deleted by dynamic update, NXT records MUST NOT be created, modified, or deleted by dynamic
as their update may cause instability in the protocol. This is an update, as their update may cause instability in the protocol. This
update to RFC 2136. is an update to RFC 2136.
Issues concerning updates of KEY records are discussed in the Security Issues concerning updates of KEY records are discussed in the
Considerations section. Security Considerations section.
3.2 - Additional policies 3.2 - Additional policies
Users are free to implement any policies. Policies may be as specific Users are free to implement any policies. Policies may be as
or general as desired, and as complex as desired. They may depend on specific or general as desired, and as complex as desired. They may
the principal or any other characteristics of the signed message. depend on the principal or any other characteristics of the signed
message.
4 - Interaction with DNSSEC 4 - Interaction with DNSSEC
An authorized update request MAY include SIG records with each RRset. Although this protocol does not change the way updates to secure
Since SIG records (except SIG(0) records) MUST NOT be used for zones are processed, there are a number of issues that should be
authentication of the update message, they are not required. If the clarified.
updated zone is secured, the data affected by an update operation MUST
be secured by one or more SIG records. For each RRset, if the update
includes a valid signature by a zone key, this signature SHOULD be
reused. Otherwise, the server MUST generate SIG records with one or
more zone keys (of which the private components MUST be online). If
multiple zone keys are online and an RRset requires a signature, a SIG
MUST be generated by at least one of the zone keys.
If a principal is authorized to add SIG records and there are SIG 4.1 - Adding SIGs
records in the request, the following rules are applied. If the SIG was
generated by a zone key for the relevant zone, verification is attempted
(the public key must be available if the determination that it is a zone
key was made). If successful, the SIG is retained; otherwise, the SIG
is dropped. Otherwise, the SIG is retained without verification, since
it is considered immaterial to the DNSSEC validation process. The
server MAY examine SIG records and drop SIGs with a temporal validity
period in the past. At the completion of the update process, each
updated RRset must be signed in accordance with the zone's signing
policy; the SIGs must either be included in the update or generated by
the server.
The server MUST also, if necessary, generate a new SOA record and new An authorized update request MAY include SIG records with each RRset.
NXT records, and sign these with the appropriate zone keys. NXT records Since SIG records (except SIG(0) records) MUST NOT be used for
are explicitly forbidden. SOA updates are allowed, since the authentication of the update message, they are not required.
maintenance of SOA parameters is outside of the scope of the DNS
protocol.
5 - Security considerations If a principal is authorized to update SIG records and there are SIG
records in the update, the SIG records are added without
verification. The server MAY examine SIG records and drop SIGs with
a temporal validity period in the past.
This document requires that a zone key and possibly other cryptographic 4.2 - Deleting SIGs
secret material be held in an on-line, network-connected host, most
likely a name server. This material is at the mercy of host security to
remain a secret. Exposing this secret puts DNS data at risk of
masquerade attacks. The data at risk is that in both zones served by
the machine and delegated from this machine.
Allowing updates of KEY records may lead to undesirable results, since a If a principal is authorized to update SIG records and the update
principal may be allowed to insert a public key without holding the specifies the deletion of SIG records, the server MAY choose to
private key, and possibly masquerade as the key owner. override the authority and refuse the update. For example, the
server may allow all SIG records not generated by a zone key to be
deleted.
4.3 - Non-explicit updates to SIGs
If the updated zone is secured, the RRset affected by an update
operation MUST, at the completion of the update, be signed in
accordance with the zone's signing policy. This will usually require
one or more SIG records to be generated by one or more zone keys
whose private components MUST be online [RFC3008].
When the contents of an RRset are updated, the server MAY delete all
associated SIG records, since they will no longer be valid.
4.4 - Effects on the zone
If any changes are made, the server MUST, if necessary, generate a
new SOA record and new NXT records, and sign these with the
appropriate zone keys. Changes to NXT records by secure dynamic
update are explicitly forbidden. SOA updates are allowed, since the
maintenance of SOA parameters is outside of the scope of the DNS
protocol.
5 - Security Considerations
This document requires that a zone key and possibly other
cryptographic secret material be held in an on-line, network-
connected host, most likely a name server. This material is at the
mercy of host security to remain a secret. Exposing this secret puts
DNS data at risk of masquerade attacks. The data at risk is that in
both zones served by the machine and delegated from this machine.
Allowing updates of KEY records may lead to undesirable results,
since a principal may be allowed to insert a public key without
holding the private key, and possibly masquerade as the key owner.
6 - Acknowledgements 6 - Acknowledgements
The author would like to thank the following people for review and The author would like to thank the following people for review and
informative comments (in alphabetical order): informative comments (in alphabetical order):
Harald Alvestrand
Donald Eastlake Donald Eastlake
Olafur Gudmundsson Olafur Gudmundsson
Andreas Gustafsson Andreas Gustafsson
Bob Halley Bob Halley
Stuart Kwan Stuart Kwan
Ed Lewis Ed Lewis
7 - References 7 - References
[RFC1034] P. Mockapetris, ``Domain Names - Concepts and Facilities,'' [RFC1034] Mockapetris, P., "Domain Names - Concepts and Facilities",
RFC 1034, ISI, November 1987. STD 13, RFC 1034, November 1987.
[RFC1035] P. Mockapetris, ``Domain Names - Implementation and [RFC1035] Mockapetris, P., "Domain Names - Implementation and
Specification,'' RFC 1035, ISI, November 1987. Specification", STD 13, RFC 1035, November 1987.
[RFC2136] P. Vixie (Ed.), S. Thomson, Y. Rekhter, J. Bound ``Dynamic [RFC2136] Vixie (Ed.), P., Thomson, S., Rekhter, Y. and J. Bound,
Updates in the Domain Name System,'' RFC 2136, ISC & Bellcore "Dynamic Updates in the Domain Name System", RFC 2136,
& Cisco & DEC, April 1997. April 1997.
[RFC2137] D. Eastlake ``Secure Domain Name System Dynamic Update,'' RFC [RFC2137] Eastlake, D., "Secure Domain Name System Dynamic Update",
2137, CyberCash, April 1997. RFC 2137, April 1997.
[RFC2535] D. Eastlake, ``Domain Name System Security Extensions,'' RFC [RFC2535] Eastlake, G., "Domain Name System Security Extensions",
2065, IBM, March 1999. RFC 2535, March 1999.
[TSIG] P. Vixie (Ed.), O. Gudmundsson, D. Eastlake, B. Wellington [RFC2845] Vixie, P., Gudmundsson, O., Eastlake, D. and B.
``Secret Key Transaction Signatures for DNS (TSIG),'' draft- Wellington, "Secret Key Transaction Signatures for DNS
ietf-dnsext-tsig-00.txt, ISC & NAILabs & IBM & NAILabs, March (TSIG)", RFC 2845, May 2000.
2000.
[TKEY] D. Eastlake ``Secret Key Establishment for DNS (TKEY RR),'' [RFC2930] Eastlake, D., "Secret Key Establishment for DNS (TKEY
draft-ietf-dnsext-tkey-02.txt, IBM, April 2000. RR)", RFC 2930, September 2000.
[signing-auth] [RFC2931] Eastlake, D., "DNS Request and Transaction Signatures
B. Wellington ``Domain Name System Security (DNSSEC) Signing (SIG(0)s)", RFC 2931, September 2000.
Authority,'' draft-ietf-dnsext-signing-auth-01.txt, Nominum,
May 2000. [RFC3008] Wellington, B., "Domain Name System Security (DNSSEC)
Signing Authority", RFC 3008, November 2000.
8 - Author's Address 8 - Author's Address
Brian Wellington Brian Wellington
Nominum, Inc. Nominum, Inc.
950 Charter Street 950 Charter Street
Redwood City, CA 94063 Redwood City, CA 94063
+1 650 779 6022
<Brian.Wellington@nominum.com>
9 - Full Copyright Statement Phone: +1 650 381 6022
EMail: Brian.Wellington@nominum.com
Copyright (C) The Internet Society (2000). All Rights Reserved. 9. Full Copyright Statement
This document and translations of it may be copied and furnished to Copyright (C) The Internet Society (2000). All Rights Reserved.
others, and derivative works that comment on or otherwise explain it or
assist in its implmentation 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 This document and translations of it may be copied and furnished to
revoked by the Internet Society or its successors or assigns. 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.
This document and the information contained herein is provided on an "AS The limited permissions granted above are perpetual and will not be
IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK revoked by the Internet Society or its successors or assigns.
FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT This document and the information contained herein is provided on an
INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
FITNESS FOR A PARTICULAR PURPOSE." TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
 End of changes. 56 change blocks. 
244 lines changed or deleted 252 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/