3 Network Working Group P. Saint-Andre
4 Internet-Draft Jabber Software Foundation
5 Expires: October 19, 2003 J. Hildebrand
10 Nodeprep: A Stringprep Profile for Node Identifiers in XMPP
11 draft-ietf-xmpp-nodeprep-02
15 This document is an Internet-Draft and is in full conformance with
16 all provisions of Section 10 of RFC2026.
18 Internet-Drafts are working documents of the Internet Engineering
19 Task Force (IETF), its areas, and its working groups. Note that
20 other groups may also distribute working documents as Internet-
23 Internet-Drafts are draft documents valid for a maximum of six months
24 and may be updated, replaced, or obsoleted by other documents at any
25 time. It is inappropriate to use Internet-Drafts as reference
26 material or to cite them other than as "work in progress."
28 The list of current Internet-Drafts can be accessed at http://
29 www.ietf.org/ietf/1id-abstracts.txt.
31 The list of Internet-Draft Shadow Directories can be accessed at
32 http://www.ietf.org/shadow.html.
34 This Internet-Draft will expire on October 19, 2003.
38 Copyright (C) The Internet Society (2003). All Rights Reserved.
42 This document defines a stringprep profile for node identifiers in
43 the Extensible Messaging and Presence Protocol (XMPP).
55 Saint-Andre & Hildebrand Expires October 19, 2003 [Page 1]
57 Internet-Draft Nodeprep April 2003
62 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
63 1.1 Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
64 1.2 Discussion Venue . . . . . . . . . . . . . . . . . . . . . . . 3
65 1.3 Intellectual Property Notice . . . . . . . . . . . . . . . . . 3
66 2. Character Repertoire . . . . . . . . . . . . . . . . . . . . . 5
67 3. Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
68 4. Normalization . . . . . . . . . . . . . . . . . . . . . . . . 7
69 5. Prohibited Output . . . . . . . . . . . . . . . . . . . . . . 8
70 6. Bidirectional Characters . . . . . . . . . . . . . . . . . . . 9
71 7. Security Considerations . . . . . . . . . . . . . . . . . . . 10
72 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11
73 Normative References . . . . . . . . . . . . . . . . . . . . . 12
74 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 12
75 A. Revision History . . . . . . . . . . . . . . . . . . . . . . . 13
76 A.1 Changes from draft-ietf-xmpp-nodeprep-01 . . . . . . . . . . . 13
77 A.2 Changes from draft-ietf-xmpp-nodeprep-00 . . . . . . . . . . . 13
78 Full Copyright Statement . . . . . . . . . . . . . . . . . . . 14
111 Saint-Andre & Hildebrand Expires October 19, 2003 [Page 2]
113 Internet-Draft Nodeprep April 2003
118 This document, which defines a profile of stringprep (RFC 3454 [1]),
119 specifies processing rules that will enable users to enter
120 internationalized node identifiers in XMPP (see XMPP Core [2]) and
121 have the highest chance of getting the content of the strings
122 correct. These processing rules are intended only for XMPP node
123 identifiers (which are often associated with usernames), and not
124 intended for arbitrary text.
126 This profile defines the following, as required by RFC 3454 [1]:
128 o The intended applicability of the profile: internationalized node
129 identifiers within XMPP
131 o The character repertoire that is the input and output to
132 stringprep: Unicode 3.2, specified in section 2
134 o The mappings used: specified in section 3
136 o The Unicode normalization used: specified in section 4
138 o The characters that are prohibited as output: specified in section
141 o Bidirectional character handling: specified in section 6
146 This document inherits the terminology defined in XMPP Core [2].
148 The capitalized key words "MUST", "MUST NOT", "REQUIRED", "SHALL",
149 "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and
150 "OPTIONAL" in this document are to be interpreted as described in RFC
155 The authors welcome discussion and comments related to the topics
156 presented in this document. The preferred forum is the
157 <xmppwg@jabber.org> mailing list, for which archives and subscription
158 information are available at <http://www.jabber.org/cgi-bin/mailman/
161 1.3 Intellectual Property Notice
163 This document is in full compliance with all provisions of Section 10
167 Saint-Andre & Hildebrand Expires October 19, 2003 [Page 3]
169 Internet-Draft Nodeprep April 2003
172 of RFC 2026. Parts of this specification use the term "jabber" for
173 identifying namespaces and other protocol syntax. Jabber[tm] is a
174 registered trademark of Jabber, Inc. Jabber, Inc. grants permission
175 to the IETF for use of the Jabber trademark in association with this
176 specification and its successors, if any.
223 Saint-Andre & Hildebrand Expires October 19, 2003 [Page 4]
225 Internet-Draft Nodeprep April 2003
228 2. Character Repertoire
230 This profile uses Unicode 3.2 with the list of unassigned code points
231 being Table A.1, both defined in Appendix A of RFC 3454 [1].
279 Saint-Andre & Hildebrand Expires October 19, 2003 [Page 5]
281 Internet-Draft Nodeprep April 2003
286 This profile specifies mapping using the following tables from RFC
335 Saint-Andre & Hildebrand Expires October 19, 2003 [Page 6]
337 Internet-Draft Nodeprep April 2003
342 This profile specifies using Unicode normalization form KC, as
343 described in RFC 3454 [1].
391 Saint-Andre & Hildebrand Expires October 19, 2003 [Page 7]
393 Internet-Draft Nodeprep April 2003
398 This profile specifies prohibiting use of the following tables from
423 In addition, the following Unicode characters are also prohibited:
447 Saint-Andre & Hildebrand Expires October 19, 2003 [Page 8]
449 Internet-Draft Nodeprep April 2003
452 6. Bidirectional Characters
454 This profile specifies checking bidirectional strings as described in
455 section 6 of RFC 3454 [1].
503 Saint-Andre & Hildebrand Expires October 19, 2003 [Page 9]
505 Internet-Draft Nodeprep April 2003
508 7. Security Considerations
510 The Unicode and ISO/IEC 10646 repertoires have many characters that
511 look similar. In many cases, users of security protocols might do
512 visual matching, such as when comparing the names of trusted third
513 parties. Because it is impossible to map similar-looking characters
514 without a great deal of context such as knowing the fonts used,
515 stringprep does nothing to map similar-looking characters together
516 nor to prohibit some characters because they look like others.
518 Node identifiers are commonly employed as the username of entities
519 that connect to XMPP/Jabber servers for instant messaging and
520 presence services. The security of such services could be
521 compromised if a user entering a single internationalized node
522 identifier could access another user's account information based on
523 different interpretations of the internationalized node identifier.
559 Saint-Andre & Hildebrand Expires October 19, 2003 [Page 10]
561 Internet-Draft Nodeprep April 2003
564 8. IANA Considerations
566 This is a profile of stringprep. If and when it becomes an RFC, it
567 should be registered in the stringprep profile registry maintained by
570 Name of this profile:
574 RFC in which the profile is defined:
578 Indicator whether or not this is the newest version of the profile:
580 This is the first version of Nodeprep
615 Saint-Andre & Hildebrand Expires October 19, 2003 [Page 11]
617 Internet-Draft Nodeprep April 2003
622 [1] Hoffman, P. and M. Blanchet, "Preparation of Internationalized
623 Strings ("stringprep")", RFC 3454, December 2002.
625 [2] Saint-Andre, P. and J. Miller, "XMPP Core (draft-ietf-xmpp-core-
626 10, work in progress)", April 2003.
628 [3] Bradner, S., "Key words for use in RFCs to Indicate Requirement
629 Levels", BCP 14, RFC 2119, March 1997.
631 [4] Internet Assigned Numbers Authority, "Internet Assigned Numbers
632 Authority", January 1998, <http://www.iana.org/>.
638 Jabber Software Foundation
640 EMail: stpeter@jabber.org
641 URI: http://www.jabber.org/people/stpeter.php
647 EMail: jhildebrand@jabber.com
648 URI: http://www.jabber.org/people/hildjj.php
671 Saint-Andre & Hildebrand Expires October 19, 2003 [Page 12]
673 Internet-Draft Nodeprep April 2003
676 Appendix A. Revision History
678 Note to RFC Editor: please remove this entire appendix, and the
679 corresponding entries in the table of contents, prior to publication.
681 A.1 Changes from draft-ietf-xmpp-nodeprep-01
683 o Made small editorial changes to address RFC Editor requirements.
686 A.2 Changes from draft-ietf-xmpp-nodeprep-00
688 o Clarified references to Unicode 3.2 and unassigned code points.
727 Saint-Andre & Hildebrand Expires October 19, 2003 [Page 13]
729 Internet-Draft Nodeprep April 2003
732 Full Copyright Statement
734 Copyright (C) The Internet Society (2003). All Rights Reserved.
736 This document and translations of it may be copied and furnished to
737 others, and derivative works that comment on or otherwise explain it
738 or assist in its implementation may be prepared, copied, published
739 and distributed, in whole or in part, without restriction of any
740 kind, provided that the above copyright notice and this paragraph are
741 included on all such copies and derivative works. However, this
742 document itself may not be modified in any way, such as by removing
743 the copyright notice or references to the Internet Society or other
744 Internet organizations, except as needed for the purpose of
745 developing Internet standards in which case the procedures for
746 copyrights defined in the Internet Standards process must be
747 followed, or as required to translate it into languages other than
750 The limited permissions granted above are perpetual and will not be
751 revoked by the Internet Society or its successors or assigns.
753 This document and the information contained herein is provided on an
754 "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
755 TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
756 BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
757 HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
758 MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
762 Funding for the RFC Editor function is currently provided by the
783 Saint-Andre & Hildebrand Expires October 19, 2003 [Page 14]