Network Working Group P. Saint-Andre Internet-Draft Jabber Software Foundation Expires: August 22, 2003 J. Hildebrand Jabber, Inc. February 21, 2003 Resourceprep: A Stringprep Profile for Resource Identifiers in XMPP draft-ietf-xmpp-resourceprep-01 Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. 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 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. This Internet-Draft will expire on August 22, 2003. Copyright Notice Copyright (C) The Internet Society (2003). All Rights Reserved. Abstract This document defines a stringprep profile for resource identifiers in the eXtensible Messaging and Presence Protocol (XMPP). Saint-Andre & Hildebrand Expires August 22, 2003 [Page 1] Internet-Draft Resourceprep February 2003 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1 Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 Discussion Venue . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Intellectual Property Notice . . . . . . . . . . . . . . . . . 3 2. Character Repertoire . . . . . . . . . . . . . . . . . . . . . 5 3. Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 4. Normalization . . . . . . . . . . . . . . . . . . . . . . . . 7 5. Prohibited Output . . . . . . . . . . . . . . . . . . . . . . 8 6. Bidirectional Characters . . . . . . . . . . . . . . . . . . . 9 7. Security Considerations . . . . . . . . . . . . . . . . . . . 10 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 References . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 12 A. Revision History . . . . . . . . . . . . . . . . . . . . . . . 13 A.1 Changes from draft-ietf-xmpp-resourceprep-00 . . . . . . . . . 13 Full Copyright Statement . . . . . . . . . . . . . . . . . . . 14 Saint-Andre & Hildebrand Expires August 22, 2003 [Page 2] Internet-Draft Resourceprep February 2003 1. Introduction This document, which defines a profile of stringprep (RFC 3454 [1]), specifies processing rules that will enable users to enter internationalized resource identifiers in XMPP (see XMPP Core [2]) and have the highest chance of getting the content of the strings correct. These processing rules are intended for XMPP resource identifiers only, and not for arbitrary text. This profile defines the following, as required by RFC 3454 [1]: o The intended applicability of the profile: internationalized resource identifiers within XMPP o The character repertoire that is the input and output to stringprep: Unicode 3.2, specified in section 2 o The mappings used: specified in section 3 o The Unicode normalization used: specified in section 4 o The characters that are prohibited as output: specified in section 5 o Bidirectional character handling: specified in section 6 1.1 Terminology This document inherits the terminology defined in XMPP Core [2]. The capitalized 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 [3]. 1.2 Discussion Venue The authors welcome discussion and comments related to the topics presented in this document. The preferred forum is the mailing list, for which archives and subscription information are available at . 1.3 Intellectual Property Notice This document is in full compliance with all provisions of Section 10 of RFC 2026. Parts of this specification use the term "jabber" for Saint-Andre & Hildebrand Expires August 22, 2003 [Page 3] Internet-Draft Resourceprep February 2003 identifying namespaces and other protocol syntax. Jabber[tm] is a registered trademark of Jabber, Inc. Jabber, Inc. grants permission to the IETF for use of the Jabber trademark in association with this specification and its successors, if any. Saint-Andre & Hildebrand Expires August 22, 2003 [Page 4] Internet-Draft Resourceprep February 2003 2. Character Repertoire This profile uses Unicode 3.2 with the list of unassigned code points being Table A.1, both defined in Appendix A of RFC 3454 [1]. Saint-Andre & Hildebrand Expires August 22, 2003 [Page 5] Internet-Draft Resourceprep February 2003 3. Mapping This profile specifies mapping using the following tables from RFC 3454 [1]: Table B.1 Saint-Andre & Hildebrand Expires August 22, 2003 [Page 6] Internet-Draft Resourceprep February 2003 4. Normalization This profile specifies using Unicode normalization form KC, as described in RFC 3454 [1]. Saint-Andre & Hildebrand Expires August 22, 2003 [Page 7] Internet-Draft Resourceprep February 2003 5. Prohibited Output This profile specifies prohibiting use of the following tables from RFC 3454 [1]. Table C.1.2 Table C.2.1 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 Saint-Andre & Hildebrand Expires August 22, 2003 [Page 8] Internet-Draft Resourceprep February 2003 6. Bidirectional Characters This profile specifies checking bidirectional strings as described in section 6 of RFC 3454 [1]. Saint-Andre & Hildebrand Expires August 22, 2003 [Page 9] Internet-Draft Resourceprep February 2003 7. Security Considerations 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. Resource identifiers are commonly employed as session names for users who connect to XMPP servers for instant messaging and presence services. The usability of such services could be compromised if a user entering a single internationalized resource identifier could attempt to initiate multiple sessions with the same name based on different interpretations of the internationalized resource identifier; however, it is unlikely that such a confusion would compromise security. Saint-Andre & Hildebrand Expires August 22, 2003 [Page 10] Internet-Draft Resourceprep February 2003 8. IANA Considerations This is a profile of stringprep. If and when it becomes an RFC, it should be registered in the stringprep profile registry maintained by the IANA [4]. Name of this profile: Resourceprep RFC in which the profile is defined: This document Indicator whether or not this is the newest version of the profile: This is the first version of Resourceprep Saint-Andre & Hildebrand Expires August 22, 2003 [Page 11] Internet-Draft Resourceprep February 2003 References [1] Hoffman, P. and M. Blanchet, "Preparation of Internationalized Strings ("stringprep")", RFC 3454, December 2002. [2] Saint-Andre, P. and J. Miller, "XMPP Core (draft-ietf-xmpp-core- 03, work in progress)", February 2003. [3] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [4] Internet Assigned Numbers Authority, "Internet Assigned Numbers Authority", January 1998, . Authors' Addresses Peter Saint-Andre Jabber Software Foundation EMail: stpeter@jabber.org URI: http://www.jabber.org/people/stpeter.php Joe Hildebrand Jabber, Inc. EMail: jhildebrand@jabber.com URI: http://www.jabber.org/people/hildjj.php Saint-Andre & Hildebrand Expires August 22, 2003 [Page 12] Internet-Draft Resourceprep February 2003 Appendix A. Revision History Note to RFC editor: please remove this entire appendix, and the corresponding entries in the table of contents, prior to publication. A.1 Changes from draft-ietf-xmpp-resourceprep-00 o Clarified references to Unicode 3.2 and unassigned code points. o Corrected normalization routine. o Removed reference to section B.2 of RFC 3454 (no case folding required). Saint-Andre & Hildebrand Expires August 22, 2003 [Page 13] Internet-Draft Resourceprep February 2003 Full Copyright Statement Copyright (C) The Internet Society (2003). All Rights Reserved. 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. Saint-Andre & Hildebrand Expires August 22, 2003 [Page 14]