Network Working Group                                         P. Hoffman
Request for Comments: 3491                                    IMC & VPNC
Category: Standards Track                                    M. Blanchet
                                                                Viagenie
                                                              March 2003
        
Network Working Group                                         P. Hoffman
Request for Comments: 3491                                    IMC & VPNC
Category: Standards Track                                    M. Blanchet
                                                                Viagenie
                                                              March 2003
        

Nameprep: A Stringprep Profile for Internationalized Domain Names (IDN)

Nameprep:用于国际化域名(IDN)的Stringprep配置文件

Status of this Memo

本备忘录的状况

This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.

本文件规定了互联网社区的互联网标准跟踪协议,并要求进行讨论和提出改进建议。有关本协议的标准化状态和状态,请参考当前版本的“互联网官方协议标准”(STD 1)。本备忘录的分发不受限制。

Copyright Notice

版权公告

Copyright (C) The Internet Society (2003). All Rights Reserved.

版权所有(C)互联网协会(2003年)。版权所有。

Abstract

摘要

This document describes how to prepare internationalized domain name (IDN) labels in order to increase the likelihood that name input and name comparison work in ways that make sense for typical users throughout the world. This profile of the stringprep protocol is used as part of a suite of on-the-wire protocols for internationalizing the Domain Name System (DNS).

本文档描述了如何准备国际化域名(IDN)标签,以提高名称输入和名称比较工作的可能性,使其对世界各地的典型用户都有意义。stringprep协议的此配置文件用作一套在线协议的一部分,用于域名系统(DNS)的国际化。

1. Introduction
1. 介绍

This document specifies processing rules that will allow users to enter internationalized domain names (IDNs) into applications and have the highest chance of getting the content of the strings correct. It is a profile of stringprep [STRINGPREP]. These processing rules are only intended for internationalized domain names, not for arbitrary text.

本文档指定了允许用户在应用程序中输入国际化域名(IDN)的处理规则,并且有最大的机会获得正确的字符串内容。这是stringprep[stringprep]的配置文件。这些处理规则仅适用于国际化域名,不适用于任意文本。

This profile defines the following, as required by [STRINGPREP].

根据[STRINGPREP]的要求,此配置文件定义了以下内容。

- The intended applicability of the profile: internationalized domain names processed by IDNA.

- 概要文件的预期适用性:IDNA处理的国际化域名。

- The character repertoire that is the input and output to stringprep: Unicode 3.2, specified in section 2.

- 第2节中指定的stringprep:Unicode 3.2的输入和输出字符集。

- The mappings used: specified in section 3.

- 使用的映射:在第3节中指定。

- The Unicode normalization used: specified in section 4.

- 使用的Unicode规范化:在第4节中指定。

- The characters that are prohibited as output: specified in section 5.

- 禁止输出的字符:在第5节中指定。

- Bidirectional character handling: specified in section 6.

- 双向字符处理:在第6节中指定。

1.1 Interaction of protocol parts
1.1 协议部分的交互

Nameprep is used by the IDNA [IDNA] protocol for preparing domain names; it is not designed for any other purpose. It is explicitly not designed for processing arbitrary free text and SHOULD NOT be used for that purpose. Nameprep is a profile of Stringprep [STRINGPREP]. Implementations of Nameprep MUST fully implement Stringprep.

Nameprep由IDNA[IDNA]协议用于准备域名;它不是为任何其他目的而设计的。它显然不是为处理任意自由文本而设计的,因此不应用于该目的。Nameprep是Stringprep[Stringprep]的配置文件。Nameprep的实现必须完全实现Stringprep。

Nameprep is used to process domain name labels, not domain names. IDNA calls nameprep for each label in a domain name, not for the whole domain name.

Nameprep用于处理域名标签,而不是域名。IDNA为域名中的每个标签调用nameprep,而不是整个域名。

1.2 Terminology
1.2 术语

The key words "MUST", "MUST NOT", "SHOULD", "SHOULD NOT", and "MAY" in this document are to be interpreted as described in BCP 14, RFC 2119 [RFC2119].

本文件中的关键词“必须”、“不得”、“应该”、“不应该”和“可能”应按照BCP 14、RFC 2119[RFC2119]中的说明进行解释。

2. Character Repertoire
2. 人物剧目

This profile uses Unicode 3.2, as defined in [STRINGPREP] Appendix A.

此配置文件使用Unicode 3.2,定义见[STRINGPREP]附录A。

3. Mapping
3. 映射

This profile specifies mapping using the following tables from [STRINGPREP]:

此配置文件使用[STRINGPREP]中的下表指定映射:

Table B.1 Table B.2

表B.1表B.2

4. Normalization
4. 规范化

This profile specifies using Unicode normalization form KC, as described in [STRINGPREP].

此配置文件使用Unicode规范化形式KC进行指定,如[STRINGPREP]中所述。

5. Prohibited Output
5. 禁止输出

This profile specifies prohibiting using the following tables from [STRINGPREP]:

此配置文件指定禁止使用[STRINGPREP]中的下表:

Table C.1.2 Table C.2.2 Table C.3 Table C.4 Table C.5 Table C.6 Table C.7 Table C.8 Table C.9

表C.1.2表C.2.2表C.3表C.4表C.5表C.6表C.7表C.8表C.9

IMPORTANT NOTE: This profile MUST be used with the IDNA protocol. The IDNA protocol has additional prohibitions that are checked outside of this profile.

重要提示:此配置文件必须与IDNA协议一起使用。IDNA协议具有在此配置文件之外检查的附加禁止。

6. Bidirectional characters
6. 双向字符

This profile specifies checking bidirectional strings as described in [STRINGPREP] section 6.

此配置文件指定检查双向字符串,如[STRINGPREP]第6节所述。

7. Unassigned Code Points in Internationalized Domain Names
7. 国际化域名中未分配的代码点

If the processing in [IDNA] specifies that a list of unassigned code points be used, the system uses table A.1 from [STRINGPREP] as its list of unassigned code points.

如果[IDNA]中的处理指定使用未分配代码点列表,系统将使用[STRINGPREP]中的表a.1作为其未分配代码点列表。

8. References
8. 工具书类
8.1 Normative References
8.1 规范性引用文件

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.

[RFC2119]Bradner,S.,“RFC中用于表示需求水平的关键词”,BCP 14,RFC 2119,1997年3月。

[STRINGPREP] Hoffman, P. and M. Blanchet, "Preparation of Internationalized Strings ("stringprep")", RFC 3454, December 2002.

[STRINGPREP]Hoffman,P.和M.Blanchet,“国际化弦的准备(“STRINGPREP”)”,RFC 3454,2002年12月。

[IDNA] Faltstrom, P., Hoffman, P. and A. Costello, "Internationalizing Domain Names in Applications (IDNA)", RFC 3490, March 2003.

[IDNA]Faltstrom,P.,Hoffman,P.和A.Costello,“应用程序中的域名国际化(IDNA)”,RFC 34902003年3月。

8.2 Informative references
8.2 参考资料

[STD13] Mockapetris, P., "Domain names - concepts and facilities", STD 13, RFC 1034, and "Domain names - implementation and specification", STD 13, RFC 1035, November 1987.

[STD13]Mockapetris,P.,“域名-概念和设施”,STD 13,RFC 1034和“域名-实施和规范”,STD 13,RFC 1035,1987年11月。

9. Security Considerations
9. 安全考虑

The Unicode and ISO/IEC 10646 repertoires have many characters that look similar. In many cases, users of security protocols might do visual matching, such as when comparing the names of trusted third parties. Because it is impossible to map similar-looking characters without a great deal of context such as knowing the fonts used, stringprep does nothing to map similar-looking characters together nor to prohibit some characters because they look like others.

Unicode和ISO/IEC10646指令集有许多看起来相似的字符。在许多情况下,安全协议的用户可能会进行视觉匹配,例如在比较受信任的第三方的名称时。因为在没有大量上下文(如知道使用的字体)的情况下,不可能映射相似外观的字符,stringprep不会将相似外观的字符映射到一起,也不会禁止某些字符,因为它们看起来像其他字符。

Security on the Internet partly relies on the DNS. Thus, any change to the characteristics of the DNS can change the security of much of the Internet.

互联网上的安全部分依赖于DNS。因此,DNS特性的任何改变都可能改变互联网的大部分安全性。

Domain names are used by users to connect to Internet servers. The security of the Internet would be compromised if a user entering a single internationalized name could be connected to different servers based on different interpretations of the internationalized domain name.

域名被用户用来连接到Internet服务器。如果输入单个国际化域名的用户可以根据对国际化域名的不同解释连接到不同的服务器,互联网的安全性就会受到损害。

Current applications might assume that the characters allowed in domain names will always be the same as they are in [STD13]. This document vastly increases the number of characters available in domain names. Every program that uses "special" characters in conjunction with domain names may be vulnerable to attack based on the new characters allowed by this specification.

当前的应用程序可能会假定域名中允许的字符将始终与[STD13]中的字符相同。此文档大大增加了域名中可用的字符数。根据本规范允许的新字符,每个与域名一起使用“特殊”字符的程序都可能容易受到攻击。

10. IANA Considerations
10. IANA考虑

This is a profile of stringprep. It has been registered by the IANA in the stringprep profile registry (www.iana.org/assignments/stringprep-profiles).

这是stringprep的简介。IANA已在stringprep配置文件注册中心(www.IANA.org/assignments/stringprep profiles)注册了该文件。

Name of this profile: Nameprep

此配置文件的名称:Nameprep

RFC in which the profile is defined: This document.

定义概要文件的RFC:此文档。

Indicator whether or not this is the newest version of the profile: This is the first version of Nameprep.

指示这是否是配置文件的最新版本:这是Nameprep的第一个版本。

11. Acknowledgements
11. 致谢

Many people from the IETF IDN Working Group and the Unicode Technical Committee contributed ideas that went into this document.

来自IETF IDN工作组和Unicode技术委员会的许多人在本文档中提供了一些想法。

The IDN Nameprep design team made many useful changes to the document. That team and its advisors include:

IDN Nameprep设计团队对文档进行了许多有用的更改。该团队及其顾问包括:

Asmus Freytag Cathy Wissink Francois Yergeau James Seng Marc Blanchet Mark Davis Martin Duerst Patrik Faltstrom Paul Hoffman

Asmus Freytag Cathy Wissink Francois Yergeau James Seng Marc Blanchet Mark Davis Martin Duerst Patrik Faltstrom Paul Hoffman

Additional significant improvements were proposed by:

以下方面提出了其他重大改进:

Jonathan Rosenne Kent Karlsson Scott Hollenbeck Dave Crocker Erik Nordmark Matitiahu Allouche

乔纳森·罗森·肯特·卡尔森·斯科特·霍伦贝克·戴夫·克罗克·埃里克·诺德马克·马蒂亚胡·阿洛切

12. Authors' Addresses
12. 作者地址

Paul Hoffman Internet Mail Consortium and VPN Consortium 127 Segre Place Santa Cruz, CA 95060 USA

保罗·霍夫曼互联网邮件联盟和VPN联盟美国加利福尼亚州圣克鲁斯塞格雷广场127号,邮编95060

   EMail: paul.hoffman@imc.org and paul.hoffman@vpnc.org
        
   EMail: paul.hoffman@imc.org and paul.hoffman@vpnc.org
        

Marc Blanchet Viagenie inc. 2875 boul. Laurier, bur. 300 Ste-Foy, Quebec, Canada, G1V 2M2

Marc Blanchet Viagenie inc.2875 boul。劳里尔,比尔。加拿大魁北克圣福伊300号,G1V 2M2

   EMail: Marc.Blanchet@viagenie.qc.ca
        
   EMail: Marc.Blanchet@viagenie.qc.ca
        
13. Full Copyright Statement
13. 完整版权声明

Copyright (C) The Internet Society (2003). All Rights Reserved.

版权所有(C)互联网协会(2003年)。版权所有。

This document and translations of it may be copied and furnished to 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.

本文件及其译本可复制并提供给他人,对其进行评论或解释或协助其实施的衍生作品可全部或部分编制、复制、出版和分发,不受任何限制,前提是上述版权声明和本段包含在所有此类副本和衍生作品中。但是,不得以任何方式修改本文件本身,例如删除版权通知或对互联网协会或其他互联网组织的引用,除非出于制定互联网标准的需要,在这种情况下,必须遵循互联网标准过程中定义的版权程序,或根据需要将其翻译成英语以外的其他语言。

The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns.

上述授予的有限许可是永久性的,互联网协会或其继承人或受让人不会撤销。

This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING 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.

RFC编辑功能的资金目前由互联网协会提供。