Path: blob/main/crypto/heimdal/lib/wind/rfc3491.txt
34914 views
123456Network Working Group P. Hoffman7Request for Comments: 3491 IMC & VPNC8Category: Standards Track M. Blanchet9Viagenie10March 2003111213Nameprep: A Stringprep Profile for14Internationalized Domain Names (IDN)1516Status of this Memo1718This document specifies an Internet standards track protocol for the19Internet community, and requests discussion and suggestions for20improvements. Please refer to the current edition of the "Internet21Official Protocol Standards" (STD 1) for the standardization state22and status of this protocol. Distribution of this memo is unlimited.2324Copyright Notice2526Copyright (C) The Internet Society (2003). All Rights Reserved.2728Abstract2930This document describes how to prepare internationalized domain name31(IDN) labels in order to increase the likelihood that name input and32name comparison work in ways that make sense for typical users33throughout the world. This profile of the stringprep protocol is34used as part of a suite of on-the-wire protocols for35internationalizing the Domain Name System (DNS).36371. Introduction3839This document specifies processing rules that will allow users to40enter internationalized domain names (IDNs) into applications and41have the highest chance of getting the content of the strings42correct. It is a profile of stringprep [STRINGPREP]. These43processing rules are only intended for internationalized domain44names, not for arbitrary text.4546This profile defines the following, as required by [STRINGPREP].4748- The intended applicability of the profile: internationalized49domain names processed by IDNA.5051- The character repertoire that is the input and output to52stringprep: Unicode 3.2, specified in section 2.5354555657Hoffman & Blanchet Standards Track [Page 1]5859RFC 3491 IDN Nameprep March 2003606162- The mappings used: specified in section 3.6364- The Unicode normalization used: specified in section 4.6566- The characters that are prohibited as output: specified in section675.6869- Bidirectional character handling: specified in section 6.70711.1 Interaction of protocol parts7273Nameprep is used by the IDNA [IDNA] protocol for preparing domain74names; it is not designed for any other purpose. It is explicitly75not designed for processing arbitrary free text and SHOULD NOT be76used for that purpose. Nameprep is a profile of Stringprep77[STRINGPREP]. Implementations of Nameprep MUST fully implement78Stringprep.7980Nameprep is used to process domain name labels, not domain names.81IDNA calls nameprep for each label in a domain name, not for the82whole domain name.83841.2 Terminology8586The key words "MUST", "MUST NOT", "SHOULD", "SHOULD NOT", and "MAY"87in this document are to be interpreted as described in BCP 14, RFC882119 [RFC2119].89902. Character Repertoire9192This profile uses Unicode 3.2, as defined in [STRINGPREP] Appendix A.93943. Mapping9596This profile specifies mapping using the following tables from97[STRINGPREP]:9899Table B.1100Table B.21011024. Normalization103104This profile specifies using Unicode normalization form KC, as105described in [STRINGPREP].106107108109110111112113Hoffman & Blanchet Standards Track [Page 2]114115RFC 3491 IDN Nameprep March 20031161171185. Prohibited Output119120This profile specifies prohibiting using the following tables from121[STRINGPREP]:122123Table C.1.2124Table C.2.2125Table C.3126Table C.4127Table C.5128Table C.6129Table C.7130Table C.8131Table C.9132133IMPORTANT NOTE: This profile MUST be used with the IDNA protocol.134The IDNA protocol has additional prohibitions that are checked135outside of this profile.1361376. Bidirectional characters138139This profile specifies checking bidirectional strings as described in140[STRINGPREP] section 6.1411427. Unassigned Code Points in Internationalized Domain Names143144If the processing in [IDNA] specifies that a list of unassigned code145points be used, the system uses table A.1 from [STRINGPREP] as its146list of unassigned code points.1471488. References1491508.1 Normative References151152[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate153Requirement Levels", BCP 14, RFC 2119, March 1997.154155[STRINGPREP] Hoffman, P. and M. Blanchet, "Preparation of156Internationalized Strings ("stringprep")", RFC 3454,157December 2002.158159[IDNA] Faltstrom, P., Hoffman, P. and A. Costello,160"Internationalizing Domain Names in Applications161(IDNA)", RFC 3490, March 2003.162163164165166167168169Hoffman & Blanchet Standards Track [Page 3]170171RFC 3491 IDN Nameprep March 20031721731748.2 Informative references175176[STD13] Mockapetris, P., "Domain names - concepts and177facilities", STD 13, RFC 1034, and "Domain names -178implementation and specification", STD 13, RFC 1035,179November 1987.1801819. Security Considerations182183The Unicode and ISO/IEC 10646 repertoires have many characters that184look similar. In many cases, users of security protocols might do185visual matching, such as when comparing the names of trusted third186parties. Because it is impossible to map similar-looking characters187without a great deal of context such as knowing the fonts used,188stringprep does nothing to map similar-looking characters together189nor to prohibit some characters because they look like others.190191Security on the Internet partly relies on the DNS. Thus, any change192to the characteristics of the DNS can change the security of much of193the Internet.194195Domain names are used by users to connect to Internet servers. The196security of the Internet would be compromised if a user entering a197single internationalized name could be connected to different servers198based on different interpretations of the internationalized domain199name.200201Current applications might assume that the characters allowed in202domain names will always be the same as they are in [STD13]. This203document vastly increases the number of characters available in204domain names. Every program that uses "special" characters in205conjunction with domain names may be vulnerable to attack based on206the new characters allowed by this specification.207208209210211212213214215216217218219220221222223224225Hoffman & Blanchet Standards Track [Page 4]226227RFC 3491 IDN Nameprep March 200322822923010. IANA Considerations231232This is a profile of stringprep. It has been registered by the IANA233in the stringprep profile registry234(www.iana.org/assignments/stringprep-profiles).235236Name of this profile:237Nameprep238239RFC in which the profile is defined:240This document.241242Indicator whether or not this is the newest version of the243profile:244This is the first version of Nameprep.24524611. Acknowledgements247248Many people from the IETF IDN Working Group and the Unicode Technical249Committee contributed ideas that went into this document.250251The IDN Nameprep design team made many useful changes to the252document. That team and its advisors include:253254Asmus Freytag255Cathy Wissink256Francois Yergeau257James Seng258Marc Blanchet259Mark Davis260Martin Duerst261Patrik Faltstrom262Paul Hoffman263264Additional significant improvements were proposed by:265266Jonathan Rosenne267Kent Karlsson268Scott Hollenbeck269Dave Crocker270Erik Nordmark271Matitiahu Allouche272273274275276277278279280281Hoffman & Blanchet Standards Track [Page 5]282283RFC 3491 IDN Nameprep March 200328428528612. Authors' Addresses287288Paul Hoffman289Internet Mail Consortium and VPN Consortium290127 Segre Place291Santa Cruz, CA 95060 USA292293EMail: [email protected] and [email protected]294295296Marc Blanchet297Viagenie inc.2982875 boul. Laurier, bur. 300299Ste-Foy, Quebec, Canada, G1V 2M2300301EMail: [email protected]302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337Hoffman & Blanchet Standards Track [Page 6]338339RFC 3491 IDN Nameprep March 200334034134213. Full Copyright Statement343344Copyright (C) The Internet Society (2003). All Rights Reserved.345346This document and translations of it may be copied and furnished to347others, and derivative works that comment on or otherwise explain it348or assist in its implementation may be prepared, copied, published349and distributed, in whole or in part, without restriction of any350kind, provided that the above copyright notice and this paragraph are351included on all such copies and derivative works. However, this352document itself may not be modified in any way, such as by removing353the copyright notice or references to the Internet Society or other354Internet organizations, except as needed for the purpose of355developing Internet standards in which case the procedures for356copyrights defined in the Internet Standards process must be357followed, or as required to translate it into languages other than358English.359360The limited permissions granted above are perpetual and will not be361revoked by the Internet Society or its successors or assigns.362363This document and the information contained herein is provided on an364"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING365TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING366BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION367HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF368MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.369370Acknowledgement371372Funding for the RFC Editor function is currently provided by the373Internet Society.374375376377378379380381382383384385386387388389390391392393Hoffman & Blanchet Standards Track [Page 7]394395396397