Network Working Group T. NEMOTO Internet-Draft Keio University Intended status: Informational Y. YONEYA Expires: February 24, 2013 JPRS August 23, 2012 IDNA2008 implementation report draft-nemoto-idna2008-implementation-report-01 Abstract This document reports implementation experience of IDNA2008 and findings from the implementation. Status of this Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. 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." This Internet-Draft will expire on February 24, 2013. Copyright Notice Copyright (c) 2012 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. NEMOTO & YONEYA Expires February 24, 2013 [Page 1] Internet-Draft IDNA2008 imple August 2012 1. Introduction This document is a report of implementation experience to evaluate whether IDNA2008 [RFC5890][RFC5891][RFC5892][RFC5893][RFC5894] can implement, IDNA2008 implementation have Unicode agility, and providing mapping methods based on [RFC5895] and [TR46] for applications are useful. In this document, two implementations based on IDNA2008 are described. The one provides support functions for various manipulations of internationalized domain names. It is to evaluate whether core protocol of IDNA2008 can implement and the implementation provides useful mappings for applications. The other generates idnabis-tables.xml by using Unicode properties files. It is to evaluate whether IDNA2008 implementation has Unicode agility. This document reports implementation experience of IDNA2008 and findings from the experience. NEMOTO & YONEYA Expires February 24, 2013 [Page 2] Internet-Draft IDNA2008 imple August 2012 2. Experience 2.1. Purposes Purposes of the implementations are following; o To evaluate whether core protocol of IDNA2008 can implement. o To evaluate whether IDNA2008 implementation has Unicode agility. o To evaluate whether providing mappings of [RFC5895] and [TR46] for applications are useful. 2.2. Implementations In this document, two implementations based on IDNA2008 are described. The one based on core protocol of IDNA2008 provides APIs for handling internationalized domain names. Those APIs are for A/U-label conversion, two labels comparison and label validity check. The implementation is to evaluate whether core protocol of IDNA2008 can be implemented and providing mappings for applications are useful. The implementation also provide three command for convert, compare and check of internationalized domain names for end users. The implementation can import tables of certain version of Unicode properties and corresponding idnabis-tables.xml for codepoint validation. The other implementation generates idnabis-tables.xml based on [RFC5892] by using Unicode properties files. The idnabis- tables.xml's format is the same as idnabis-tables.xml published by IANA. This implementation is for the APIs can have Unicode agility by using idnabis-tables. The generator is for evaluating latest Unicode version before IANA publish idnabis-tables.xml for the Unicode version. NEMOTO & YONEYA Expires February 24, 2013 [Page 3] Internet-Draft IDNA2008 imple August 2012 +----------------------------------------+ | Applications | +----------------------------------------+ +-------------------------------------------+ |+--------+ +--------+ +--------+ +-------+ | || JAVA | | Python | | Perl | | | | || API | | API | | API | | | >APIs |+--------+ +--------+ +--------+ | | | -convert |+--------+ | | | | | | | (A <--> U) || | | Wrapper| | XS | | | | -compare || JNA | | | | | | | | (A/U <--> A/U) |+--------+ +--------+ +--------+ | | | -check |+--------------------------------+ | | (A/U --> Valid/Invalid) || | | || idnkit / idnkitlite (C/C++ API) | | +------------------------+ || <------|Unicode properties files| |+----------------------------------------+ | |IANA idnabis-tables.xml | +-------------------------------------------+ +------------------------+ +----------------------------------------+ import files | OS | +----------------------------------------+ fig. components of the implementation[idnkit] NEMOTO & YONEYA Expires February 24, 2013 [Page 4] Internet-Draft IDNA2008 imple August 2012 3. Findings Findings from implementation experiences are following. o IDNA2008 core protocol [RFC5890][RFC5891] [RFC5892][RFC5893][RFC5894] can implement. o IDNA2008 implementation can have Unicode agility. Originally, it complied with Unicode 5.2.0 based on [RFC5892]. And it is easily complying with Unicode 6.0.0 based on [RFC6452]. Further, it can comply with Unicode 6.1.0 by using the idnabis-tables.xml generator. o This implementation is able to choice a method of mappings based on [RFC5895] or [TR46]. It is expected to improve the usability of user input. And also it can facilitate the transition from IDNA2003 to IDNA2008. But which is preferable mappings of [RFC5895] or [TR46] is not determined yet. NEMOTO & YONEYA Expires February 24, 2013 [Page 5] Internet-Draft IDNA2008 imple August 2012 4. IANA Considerations Unicode agility depends on the agility that IANA publishes the latest idnabis-tables.xml when Unicode version was updated. IANA is expected to publish the latest idnabis-tables.xml, when latest Unicode version is published. NEMOTO & YONEYA Expires February 24, 2013 [Page 6] Internet-Draft IDNA2008 imple August 2012 5. Security Considerations The implementation does not warn and handle strings with care when input strings are consisted from mixed scripts. To avoid user's confusion and unwanted access to phishing sites, the application policy about user interface and the domain name registration policy should take into consideration for using mixed scripts. NEMOTO & YONEYA Expires February 24, 2013 [Page 7] Internet-Draft IDNA2008 imple August 2012 6. Acknowledgment Patrik Faltstrom provided a program to calculate Unicode codepoints validity according to [RFC5892] and generate tables[createtables]. NEMOTO & YONEYA Expires February 24, 2013 [Page 8] Internet-Draft IDNA2008 imple August 2012 7. References 7.1. Normative references [RFC5890] Klensin, J., "Internationalized Domain Names for Applications (IDNA): Definitions and Document Framework", RFC 5890, August 2010. [RFC5891] Klensin, J., "Internationalized Domain Names in Applications (IDNA): Protocol", RFC 5891, August 2010. [RFC5892] Faltstrom, P., "The Unicode Code Points and Internationalized Domain Names for Applications (IDNA)", RFC 5892, August 2010. [RFC5893] Alvestrand, H. and C. Karp, "Right-to-Left Scripts for Internationalized Domain Names for Applications (IDNA)", RFC 5893, August 2010. [RFC5894] Klensin, J., "Internationalized Domain Names for Applications (IDNA): Background, Explanation, and Rationale", RFC 5894, August 2010. [RFC5895] Resnick, P. and P. Hoffman, "Mapping Characters for Internationalized Domain Names in Applications (IDNA) 2008", RFC 5895, September 2010. [RFC6452] Faltstrom, P. and P. Hoffman, "The Unicode Code Points and Internationalized Domain Names for Applications (IDNA) - Unicode 6.0", RFC 6452, November 2011. [TR46] The Unicode Consortium, "Unicode Technical Standard #46", http://www.unicode.org/reports/tr46/, 2012. 7.2. Informative references [idnkit] "IDN Info by JPRS", http://jprs.co.jp/idn/index-e.html, 2011. [createtables] "IDNA", http://stupid.domain.name/idna, 2011. NEMOTO & YONEYA Expires February 24, 2013 [Page 9] Internet-Draft IDNA2008 imple August 2012 Appendix A. Change Log A.1. Changes since -00 o Updated submission date to avoid expiration. NEMOTO & YONEYA Expires February 24, 2013 [Page 10] Internet-Draft IDNA2008 imple August 2012 Authors' Addresses Takahiro NEMOTO Keio University Graduate School of Media Design 4-1-1 Hiyoshi, Kohoku-ku Yokohama, Kanagawa 223-8526 Japan Phone: +81 45 564 2517 Email: t.nemo10@kmd.keio.ac.jp Yoshiro YONEYA JPRS Chiyoda First Bldg. East 13F 3-8-1 Nishi-Kanda Chiyoda-ku, Tokyo 101-0065 Japan Phone: +81 3 5215 8451 Email: yoshiro.yoneya@jprs.co.jp NEMOTO & YONEYA Expires February 24, 2013 [Page 11]