📄 draft-ietf-dnsext-insensitive-04.txt
字号:
"name compression".4.2 DNS Input Case Preservation Originally, DNS input came from an ASCII Master File as defined in [STD 13] or a zone transfer. DNS Dynamic update and incremental zone transfers [RFC 1995] have been added as a source of DNS data [RFC 2136, 3007]. When a node in the DNS name tree is created by any of such inputs, no case conversion is done. Thus the case of ASCII labels is preserved if they are for nodes being created. However, when a name label is input for a node that already exist in DNS data being held, the situation is more complex. Implementations may retain the case first input for such a label or allow new input to override the old case or even maintain separate copies preserving the input case. For example, if data with owner name "foo.bar.example" is input and then later data with owner name "xyz.BAR.example" is input, the name of the label on the "bar.example" node, i.e. "bar", might or might not be changed to "BAR" or the actual input case could be preserved. Thus later retrieval of data stored under "xyz.bar.example" in this case can easily return data with "xyz.BAR.example". The sameD. Eastlake 3rd [Page 6]INTERNET-DRAFT DNS Case Insensitivity considerations apply when inputting multiple data records with owner names differing only in case. For example, if an "A" record is stored as the first resourced record under owner name "xyz.BAR.example" and then a second "A" record is stored under "XYZ.BAR.example", the second MAY be stored with the first (lower case initial label) name or the second MAY override the first so that only an upper case initial label is retained or both capitalizations MAY be kept. Note that the order of insertion into a server database of the DNS name tree nodes that appear in a Master File is not defined so that the results of inconsistent capitalization in a Master File are unpredictable output capitalization.5. Internationalized Domain Names A scheme has been adopted for "internationalized domain names" and "internationalized labels" as described in [RFC 3490, 3454, 3491, and 3492]. It makes most of [UNICODE] available through a separate application level transformation from internationalized domain name to DNS domain name and from DNS domain name to internationalized domain name. Any case insensitivity that internationalized domain names and labels have varies depending on the script and is handled entirely as part of the transformation described in [RFC 3454] and [RFC 3491] which should be seen for further details. This is not a part of the DNS as standardized in STD 13.6. Security Considerations The equivalence of certain DNS label types with case differences, as clarified in this document, can lead to security problems. For example, a user could be confused by believing two domain names differing only in case were actually different names. Furthermore, a domain name may be used in contexts other than the DNS. It could be used as a case sensitive index into some data base system. Or it could be interpreted as binary data by some integrity or authentication code system. These problems can usually be handled by using a standardized or "canonical" form of the DNS ASCII type labels, that is, always mapping the ASCII letter value octets in ASCII labels to some specific pre-chosen case, either upper case or lower case. An example of a canonical form for domain names (and also a canonical ordering for them) appears in Section 8 of [RFC 2535]. See also [RFC 3597]. Finally, a non-DNS name may be stored into DNS with the false expectation that case will always be preserved. For example, althoughD. Eastlake 3rd [Page 7]INTERNET-DRAFT DNS Case Insensitivity this would be quite rare, on a system with case sensitive email address local parts, an attempt to store two "RP" records that differed only in case would probably produce unexpected results that might have security implications. That is because the entire email address, including the possibly case sensitive local or left hand part, is encoded into a DNS name in a readable fashion where the case of some letters might be changed on output as described above.D. Eastlake 3rd [Page 8]INTERNET-DRAFT DNS Case InsensitivityCopyright and Disclaimer Copyright (C) The Internet Society 2004. This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.Normative References [ASCII] - ANSI, "USA Standard Code for Information Interchange", X3.4, American National Standards Institute: New York, 1968. [RFC 1034, 1035] - See [STD 13]. [RFC 1995] - M. Ohta, "Incremental Zone Transfer in DNS", August 1996. [RFC 2119] - S. Bradner, "Key words for use in RFCs to Indicate Requirement Levels", March 1997. [RFC 2136] - P. Vixie, Ed., S. Thomson, Y. Rekhter, J. Bound, "Dynamic Updates in the Domain Name System (DNS UPDATE)", April 1997. [RFC 2535] - D. Eastlake, "Domain Name System Security Extensions", March 1999. [RFC 3007] - B. Wellington, "Secure Domain Name System (DNS) Dynamic Update", November 2000. [RFC 3597] - Andreas Gustafsson, "Handling of Unknown DNS RR Types", draft-ietf-dnsext-unknown-rrs-05.txt, March 2003. [STD 13] - P. Mockapetris, "Domain names - concepts and facilities", RFC 1034, November 1987. - P. Mockapetris, "Domain names - implementation and specification", RFC 1035, November 1987.D. Eastlake 3rd [Page 9]INTERNET-DRAFT DNS Case InsensitivityInformative References [RFC 1591] - J. Postel, "Domain Name System Structure and Delegation", March 1994. [RFC 2606] - D. Eastlake, A. Panitz, "Reserved Top Level DNS Names", June 1999. [RFC 2929] - D. Eastlake, E. Brunner-Williams, B. Manning, "Domain Name System (DNS) IANA Considerations", September 2000. [RFC 2671] - P. Vixie, "Extension mechanisms for DNS (EDNS0)", August 1999. [RFC 2673] - M. Crawford, "Binary Labels in the Domain Name System", August 1999. [RFC 3092] - D. Eastlake 3rd, C. Manros, E. Raymond, "Etymology of Foo", 1 April 2001. [RFC 3454] - P. Hoffman, M. Blanchet, "Preparation of Internationalized String ("stringprep")", December 2002. [RFC 3490] - P. Faltstrom, P. Hoffman, A. Costello, "Internationalizing Domain Names in Applications (IDNA)", March 2003. [RFC 3491] - P. Hoffman, M. Blanchet, "Nameprep: A Stringprep Profile for Internationalized Domain Names (IDN)", March 2003. [RFC 3492] - A. Costello, "Punycode: A Bootstring encoding of Unicode for Internationalized Domain Names in Applications (IDNA)", March 2003. [UNICODE] - The Unicode Consortium, "The Unicode Standard", <http://www.unicode.org/unicode/standard/standard.html>.-02 to -03 Changes The following changes were made between draft version -02 and -03: 1. Add internationalized domain name section and references. 2. Change to indicate that later input of a label for an existing DNS name tree node may or may not be normalized to the earlier input or override it or both may be preserved. 3. Numerous minor wording changes.D. Eastlake 3rd [Page 10]INTERNET-DRAFT DNS Case Insensitivity-03 to -04 Changes The following changes were made between draft version -03 and -04: 1. Change to conform to the new IPR, Copyright, etc., notice requirements. 2. Change in some section headers for clarity. 3. Drop section on wildcards. 4. Add emphasis on loss of case preservation due to name compression. 5. Add references to RFCs 1995 and 3092.Author's Address Donald E. Eastlake 3rd Motorola Laboratories 155 Beaver Street Milford, MA 01757 USA Telephone: +1 508-786-7554 (w) +1 508-634-2066 (h) EMail: Donald.Eastlake@motorola.comExpiration and File Name This draft expires December 2004. Its file name is draft-ietf-dnsext-insensitive-04.txt.D. Eastlake 3rd [Page 11]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -