Network Working Group                                          T. NEMOTO
Internet-Draft                                           Keio University
Intended status: Informational                                 Y. YONEYA
Expires: January 6, 2013                                            JPRS
                                                            July 5, 2012


                 precis framework implementation report
           draft-nemoto-precis-framework-implement-report-00

Abstract

   This document reports implementation experience of precis framework
   [I-D.ietf-precis-framework] for SASLprepbis
   [I-D.melnikov-precis-saslprepbis] and findings from the experience.

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 January 6, 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 January 6, 2013                [Page 1]


Internet-Draft   precis framework implementation report        July 2012


1.  Introduction

   This document is a report of implementation experience to evaluate
   whether precis framework [I-D.ietf-precis-framework] for SASLprepbis
   [I-D.melnikov-precis-saslprepbis] can implement and findings from
   this experience.

   Some implementations of IDNA2008 [RFC5890][RFC5891][RFC5892]
   [RFC5893][RFC5894] are expected to be modified to fit precis
   framework.  The experience was to examine whether a implementation
   based on IDNA2008 has useful processes and needs modifications for
   precis framework.

   In this document, two implementations based on precis framework are
   described.  The one is to evaluate the feasibility of implementation
   for precis framework.  This implementation is modified an
   implementation of IDNA2008 to provide useful features such as
   normalization and mapping for precis framework and SASLprepbis.  The
   other is empirically to calculate precis' derived property value and
   to generate idnabis-tables.xml alike table based on precis framework
   by using Unicode properties files.

   These implementations are experimental for limited to SASLprepbis and
   not generic.



























NEMOTO & YONEYA          Expires January 6, 2013                [Page 2]


Internet-Draft   precis framework implementation report        July 2012


2.  Experience

2.1.  Purposes

   Purposes of the implementations are following;

   o  To evaluate whether precis framework can implement.

   o  To examine whether implementations based on IDNA2008 has useful
      features and needs modifications for precis framework
      implementations.

   o  To evaluate whether generated table's derived property value by
      this implementation is the same as precis framework's one.

2.2.  Implementations

   In this document, two implementations based on precis framework are
   described.  These implementations follow implementations of IDNA2008
   [I-D.nemoto-idna2008-implementation-report].

   The one is modified implementation of IDNA2008 for precis framework.
   The base implementation provides APIs for handling internationalized
   domain names.  This implementation is for providing mapping
   SASLprepbis defined and strings validity check.  The implementation
   is to evaluate whether SASLprepbis as one of precis framework's
   property can be implemented and to find out whether implementations
   based on IDNA2008 has useful features and needs modifications for
   precis framework implementations.

   The implementation can import tables of certain version of Unicode
   properties and corresponding derived property value table for precis
   framework which is the same format as idnabis-tables.xml for
   codepoint validation.

   The other is empirically to calculate precis' derived property value
   and to generate idnabis-tables.xml alike table based on precis
   framework by using Unicode properties files.













NEMOTO & YONEYA          Expires January 6, 2013                [Page 3]


Internet-Draft   precis framework implementation report        July 2012


3.  Findings

   Findings from implementation experience are following.

   o  SASLprepbis as one of precis framework's property can implement.

   o  Useful processes of IDNA2008 implementation for precis framework
      are following.

      *  Some mapping features
         Ex.  Casefolding, nfc, width

      *  Strings validity checking processes
         Ex.  For derived property value (As necessary, the file
         describing derived property value table for precis should be
         generated.)
         Ex.  For string length is non-zero

   o  Modifications to IDNA2008 implementation for precis framework are
      following.

      *  Mappings depend on each protocols defined mapping table.
         Ex.  Special mapping (Map to SPACE, Map to Nothing)

      *  Checking whether strings are precis NAME CLASS or FREE CLASS
         processes

   o  In IDNA2008, handling order is NFC and then strings validity
      checking.  But, in SASLprepbis handling order is precis strings
      validity checking and then NFC.  This different handling order may
      be one of problems at modifications to IDNA2008 implementation for
      SASLprepbis.  We evaluated their order of handling and found
      different results from each handling orders.
      I.e.  In Hangul, some characters' derived property value is
      DISALLOWED before NFC, but after NFC the value is PVALID.
      Before NFC: HANGUL JAMO (1100+1161) = DISALLOWED
      After NFC: HANGUL SYLLABLE (AC00) = PVALID
      If these different results are not critical, it may be better for
      developers that SASLprepbis' handling order imitates IDNA2008's
      one as NFC and then strings validity checking.

   o  Generated table's derived property value by this implementation
      isn't the same as precis framework's one.
      Ex. "00BA" is FREE_PVAL in precis framework's table but PVALID in
      the generated one.
      Ex. "074B" is PVALID in precis framework's table but UNASSIGNED in
      the generated one.
      In these case, according to on Unicode properties files values,



NEMOTO & YONEYA          Expires January 6, 2013                [Page 4]


Internet-Draft   precis framework implementation report        July 2012


      the generated table's values are correct.  Precis framework's
      table may need to review.

















































NEMOTO & YONEYA          Expires January 6, 2013                [Page 5]


Internet-Draft   precis framework implementation report        July 2012


4.  IANA Considerations

   TBD.
















































NEMOTO & YONEYA          Expires January 6, 2013                [Page 6]


Internet-Draft   precis framework implementation report        July 2012


5.  Security Considerations

   TBD.
















































NEMOTO & YONEYA          Expires January 6, 2013                [Page 7]


Internet-Draft   precis framework implementation report        July 2012


6.  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.

   [I-D.ietf-precis-framework]
              Saint-Andre, P. and M. Blanchet, "PRECIS Framework:
              Preparation and Comparison of Internationalized Strings in
              Application Protocols", draft-ietf-precis-framework-03
              (work in progress), May 2012.

   [I-D.nemoto-idna2008-implementation-report]
              NEMOTO, T. and Y. Yoneya, "IDNA2008 implementation
              report", draft-nemoto-idna2008-implementation-report-00
              (work in progress), February 2012.

   [I-D.melnikov-precis-saslprepbis]
              Saint-Andre, P. and A. Melnikov, "Username and Password
              Preparation Algorithms",
              draft-melnikov-precis-saslprepbis-00 (work in progress),
              March 2012.














NEMOTO & YONEYA          Expires January 6, 2013                [Page 8]


Internet-Draft   precis framework implementation report        July 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 January 6, 2013                [Page 9]