One document matched: draft-ietf-precis-problem-statement-01.xml


<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY rfc2119 PUBLIC '' 
'http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml'>
<!ENTITY bibxml2rfc-informative SYSTEM "draft-ietf-precis-problem-statement-01.xml-informative">
<!ENTITY bibxml2rfc-normative SYSTEM "draft-ietf-precis-problem-statement-01.xml-normative">
]>


<rfc category="info" ipr="pre5378Trust200902" docName="draft-ietf-precis-problem-statement-01.txt">
  <?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
  <?rfc toc="yes" ?>
  <?rfc symrefs="yes" ?>
  <?rfc sortrefs="yes"?>
  <?rfc iprnotified="no" ?>
  <?rfc strict="yes" ?>
  <?rfc compact="yes" ?>
  <?rfc comments="yes"?>
  <?rfc inline="yes"?>

  <front>
    <title>Stringprep Revision Problem Statement</title>
    <author initials="M." surname="Blanchet" fullname="Marc Blanchet">
      <organization>Viagenie</organization>
      <address>
        <postal>
          <street>2600 boul. Laurier, suite 625</street>
          <city>Quebec</city>
          <region>QC</region>
          <code>G1V 4W1</code>
          <country>Canada</country>
        </postal>
        <email>Marc.Blanchet@viagenie.ca</email>
        <uri>http://viagenie.ca</uri>
      </address>
    </author>
    <author initials="A." surname="Sullivan" fullname="Andrew Sullivan">
      <address>
        <postal>
          <street>519 Maitland St.</street>
          <city>London</city>
          <region>ON</region>
          <code>N6B 2Z5</code>
          <country>Canada</country>
        </postal>
        <email>ajs@crankycanuck.ca</email>
      </address>
    </author>
    <date month="December" day="9" year="2010"/>
    <abstract>
      <t>
        Using Unicode codepoints in protocol strings that expect
        comparison with other strings requires preparation of the
        string that contains the Unicode codepoints.
        Internationalizing Domain Names in Applications (IDNA2003)
        defined and used Stringprep and Nameprep. Other protocols
        subsequently defined Stringprep profiles. A new approach
        different from Stringprep and Nameprep is used for a revision
        of IDNA2003 (called IDNA2008). Other Stringprep profiles need
        to be similarly updated or a replacement of Stringprep needs to
        be designed. This document outlines the issues to be faced by
        those designing a Stringprep replacement.
      </t>
    </abstract>
  </front>
  <middle>
    <section title="Introduction">
      <t>
        Internationalizing Domain Names in Applications (IDNA2003)
        <xref target="RFC3490"/>, <xref target="RFC3491" />, <xref
        target="RFC3492" />, <xref target="RFC3454" /> described a
        mechanism for encoding Unicode labels making up
        Internationalized Domain Names (IDNs) as standard DNS labels.
        The labels were processed using a method called Nameprep <xref
        target="RFC3491"/> and Punycode <xref target="RFC3492"/>.
        That method was specific to IDNA2003, but is generalized as
        Stringprep <xref target="RFC3454"/>.  The general mechanism
        can be used to help other protocols with similar needs, but
        with different constraints than IDNA2003.
      </t>
      <t>Stringprep defines a framework within which protocols define their
      Stringprep profiles.  Known IETF specifications using Stringprep are
      listed below:
      <list style="symbols">
        <t>The Nameprep profile <xref target="RFC3490"/> for use in
        Internationalized Domain Names (IDNs);</t>
        <t>NFSv4 <xref target="RFC3530" /> and NFSv4.1 <xref
        target="RFC5661" />;</t>
        <t>The iSCSI profile <xref target="RFC3722"/> for use in
        Internet Small Computer Systems Interface (iSCSI) Names;</t>
        <t>EAP <xref target="RFC3748" />;</t>
        <t>The Nodeprep and Resourceprep profiles <xref
        target="RFC3920"/> for use in the Extensible Messaging and
        Presence Protocol (XMPP), and the XMPP to CPIM mapping <xref
        target="RFC3922" />;</t>
        <t>The Policy MIB profile <xref target="RFC4011"/> for use in
        the Simple Network Management Protocol (SNMP);</t>
        <t>The SASLprep profile <xref target="RFC4013"/> for use in
        the Simple Authentication and Security Layer (SASL), and SASL
        itself <xref target="RFC4422" />;</t>
        <t>TLS <xref target="RFC4279" />;</t>
        <t>IMAP4 using SASLprep <xref target="RFC4314" />;</t>
        <t>The trace profile <xref target="RFC4505"/> for use with the
        SASL ANONYMOUS mechanism;</t>
        <t> The LDAP profile <xref target="RFC4518"/> for use with
        LDAP <xref target="RFC4511" /> and its authentication methods
        <xref target="RFC4513" />;</t>
        <t>Plain SASL using SASLprep <xref target="RFC4616" />;</t>
        <t>NNTP using SASLprep <xref target="RFC4643" />;</t>
        <t>PKIX subject identification using LDAPprep <xref
        target="RFC4683" />;</t>
        <t>Internet Application Protocol Collation Registry <xref
        target="RFC4790" />;</t>
        <t>SMTP Auth using SASLprep <xref target="RFC4954" />;</t>
        <t>POP3 Auth using SASLprep <xref target="RFC5034" />;</t>
        <t>TLS SRP using SASLprep <xref target="RFC5054" />;</t>
        <t>IRI and URI in XMPP <xref target="RFC5122" />;</t>
        <t>PKIX CRL using LDAPprep <xref target="RFC5280" />;</t>
        <t>IAX using Nameprep <xref target="RFC5456" />;</t>
        <t>SASL SCRAM using SASLprep <xref target="RFC5802" />;</t>
        <t>Remote management of Sieve using SASLprep <xref target="RFC5804" />;</t>
        <t>The i;unicode-casemap Unicode Collation <xref target="RFC5051" />.</t>
      </list>
      </t>
      <t>There turned out to be some difficulties with IDNA2003, documented
      in <xref target="RFC4690" />.  These difficulties led to a new IDN
      specification, called IDNA2008 <xref target="RFC5890" />, <xref
      target="RFC5891" />, <xref target="RFC5892" />, <xref target="RFC5893"
      />.  Additional background and explanations of the decisions embodied
      in IDNA2008 is presented in <xref target="RFC5894" />.  One of the
      effects of IDNA2008 is that Nameprep and Stringprep are not used at
      all.  Instead, an algorithm based on Unicode properties of codepoints
      is defined. That algorithm generates a stable and complete table of
      the supported Unicode codepoints. This algorithm is based on an
      inclusion-based approach, instead of the exclusion-based approach of
      Stringprep/Nameprep.
      </t>
      <t>This document lists the shortcomings and issues found by protocols
      listed above that defined Stringprep profiles. It also lists some
      early conclusions and requirements for a potential replacement of
      Stringprep.</t>
    </section>
      
    <section title="Issues raised during newprep BOF">
      <t>During IETF 77, a BOF discussed the current state of the
      protocols that have defined Stringprep profiles <xref
      target="NEWPREP" />. The main conclusions are:
      <list style="symbols">
        <t>Stringprep is bound to a specific version of Unicode:
        3.2. Stringprep has not been updated to new versions of
        Unicode. Therefore, the protocols using Stringprep are stuck to
        Unicode 3.2.</t>
        
        <t>The protocols need to be updated to support new versions of
        Unicode. The protocols would like to not be bound to a specific
        version of Unicode, but rather have better Unicode agility in
        the way of IDNA2008.  This is important partly because it is
        usually impossible for an application to require Unicode 3.2;
        the application gets whatever version of Unicode is available on
        the host.</t>
        
        <t>The protocols require better bidirectional support (bidi) than
        currently offered by Stringprep. </t>
        
        <t>If the protocols are updated to use a new version of
        Stringprep or another framework, then backward compatibility
        is an important requirement. For example, Stringprep is
        based on and may use NFKC <xref target="UAX15" />, while
        IDNA2008 mostly uses NFC <xref target="UAX15" />.</t>
        
        <t>Protocols use each other; for example, a protocol can use
        user identifiers that are later passed to SASL, LDAP or another
        authentication mechanism. Therefore, common set of rules or
        classes of strings are preferred over specific rules for each
        protocol.</t>
      </list>
      </t>
      <t>Protocols that use Stringprep profiles use strings for
      different purposes:
      <list style="symbols">
        <t>XMPP uses a different Stringprep profile for each part of the
        XMPP address (JID): a localpart which is similar to a username and
        used for authentication, a domainpart which is a domain name and a
        resource part which is less restrictive than the localpart.</t>
        
        <t>iSCSI uses a Stringprep profile for the IQN, which is
        very similar to (often is) a DNS domain name. </t>
        
        <t>SASL and LDAP uses a Stringprep profile for usernames.</t>
        
        <t>LDAP uses a set of Stringprep profiles.</t>
      </list>
      </t>
      
      <t>During the newprep BOF, it was the consensus of the
      attendees that it would be highly desirable to have a
      replacement of Stringprep, with similar characteristics to
      IDNA2008. That replacement should be defined so that the
      protocols could use internationalized strings without a lot of
      specialized internationalization work, since
      internationalization expertise is not available in the
      respective protocols or working groups.</t>
    </section>

    <section title="Major Topics for Consideration" anchor="topics">

      <t>This section provides an overview of major topics that a
      Stringprep replacement needs to address.  The headings
      correspond roughly with categories under which known
      Stringprep-using protocol RFCs have been evaluated.  For the
      details of those evaluations, see <xref target="knowncases" />.</t>

      <section title="Comparison">

        <section title="Comparison methods" anchor="buckets">

          <t>Identifiers can be conveniently organized into three
          classes or "buckets":</t>

          <t>
            <list style="numbers">
            <t>Identifiers that must compare equally byte for byte.
            <cref source="ajs@crankycanuck.ca">In the Jabber
            discussion from Beijing, Ted Hardie asked that (1)
            actually be "codepoint for codepoint".  Is that what's
            intended?  It seems to me that that is already a case of
            (2), because there's an algorithm to compare (say) my
            UTF-16 and your UCS-4.  Discussion would be helpful,
            please.</cref></t>
            <t>Identifiers that do not compare equally byte for byte,
            but that can always be compared for equality based on an
            algorithm everyone can agree on.</t>
            <t>Identifiers for which there is no single comparison
            algorithm on which everyone can agree.  (For instance, there
            may be locale-sensitive comparison rules for
            identifiers.)
</t>
          </list>
          </t>

          
          <t>A subclass of case (3) is one in which, within some
          constrained population, the comparison rules are clear even
          though such rules are not universally applicable.  So, for
          instance, users of US-ASCII may all agree on a comparison
          function, but the set of US-ASCII users and Turkish users may
          not all agree about the same comparison function.  For the
          purposes of the precis work, it is not plain whether this
          subclass case is relevant, so categorization will include it.</t>
          
          <t>In the section treating the existing known cases, <xref
          target="knowncases" />, these "buckets" will be called Type 1,
          Type 2, Type 3, and Type 3a.</t>
        </section>

        <section title="Effect of comparison">
          <t>The comparisons outlined in <xref target="buckets" /> may
          have different effects when applied.  It is necessary to
          evaluate the effects if a comparison results in a false
          positive, and what the effects are if a comparison results in a
          false negative.  It is particularly important to evaluate the
          effects on security of these answers.</t>
        </section>

      </section>

      <section title="Dealing with characters">

        <section title="Case folding, case sensitivity, and case
                        preservation" anchor="case">
          <t>In IDNA2003, labels are always mapped to lower case before
          the Punycode transformation.  In IDNA2003, there is no mapping
          at all: input is either a valid U-label or it is not.  At the
          same time, upper-case characters are by definition not valid
          U-labels, because they fall into the Unstable category
          (category B) of <xref target="RFC5892" />.</t>
          <t>If there are protocols that require upper and lower cases be
          preserved, then the analogy with IDNA2008 will break down.
          Accordingly, existing protocols are to be evaluated according
          to the following criteria:</t>
          <t><list style="numbers">
            <t>Does the protocol use case folding?  For all blocks of
            code points, or just for certain subsets?</t>
            <t>Is the system or protocol case sensitive?</t>
            <t>Does the system or protocol preserve case?</t>
          </list></t>
        </section>

        <section title="Stringprep and NFKC">
          <t>Stringprep profiles may use normalization.  If they do,
          they use NFKC <xref target="UAX15" />.  It is not clear that
          NFKC is the right normalization to use in all cases.  In <xref
          target="UAX15" />, there is the following observation
          regarding Normalization Forms KC and KD: "It is best to think
          of these Normalization Forms as being like uppercase or
          lowercase mappings: useful in certain contexts for identifying
          core meanings, but also performing modifications to the text
          that may not always be appropriate."  For things like the
          spelling of users' names, then, NFKC may not be the best form
          to use.  At the same time, one of the nice things about NFKC
          is that it deals with the width of characters that are
          otherwise similar, by canonicalizing half-width to full-width.
          This mapping step can be crucial in practice.  The WG will
          need to analyze the different use profiles and consider
          whether NFKC or NFC is a better normalization for each
          profile.</t>
          <t>For the purposes of evaluating an existing example of
          Stringprep use, it is helpful to know whether it uses no
          normalization, NFKC, or NFC.</t>
        </section>

        <section title="Character mapping" anchor="mapping">
          <t>Along with the case mapping issues raised in <xref
          target="case" />, there is the question of whether some
          characters are mapped either to other characters or to nothing
          during Stringprep.  <xref target="RFC3454" />, Section 3,
          outlines a number of characters that are mapped to nothing,
          and also permits Stringprep profiles to define their own
          mappings.</t>
        </section>

        <section title="Prohibited characters" anchor="prohibited">
          <t>Along with case folding and other character mappings, many
          protocols have characters that are simply disallowed.  For
          example, control characters and special characters such as "@"
          or "/" may be prohibited in a protocol.</t>

          <t>One of the primary changes of IDNA2008 is in the way it
          approaches Unicode code points.  IDNA2003 created an explicit
          list of excluded or mapped-away characters; anything in
          Unicode 3.2 that was not so listed could be assumed to be
          allowed under the protocol.  IDNA2008 begins instead from the
          assumption that code points are disallowed, and then relies on
          Unicode properties to derive whether a given code point
          actually is allowed in the protocol.</t>

          <t>Moreover, there is more than one class of "allowed in the
          protocol".  While some code points are disallowed outright,
          some are allowed only in certain contexts. The reasons for the
          context-dependent rules have to do with the way some
          characters are used.  For instance, the ZERO WIDTH JOINER and
          ZERO WIDTH NON-JOINER (ZWJ, U+200D and ZWNJ, U+200C) are
          allowed with contextual rules because they are required in
          some circumstances, yet are considered punctuation by Unicode
          and would therefore be DISALLOWED under the usual IDNA2008
          derivation rules.</t>
        </section>
        
        <section title="Internal structure, delimiters, and special characters">
          <t>IDNA2008 has a special problem with delimiters, because the
          delimiter "character" in the DNS wire format is not really
          part of the data.  In DNS, the wire format indicates label
          length.  When the label is presented in presentation format as
          part of a fully qualified domain name, the label separator
          FULL STOP, U+002E (.)  is used.  But because that label
          separator does not travel with the wire format of the domain
          name, there is no way to encode a different,
          "internationalized" separator in IDNA2008.</t>

          <t>Other protocols may include characters with similar special
          meaning within the protocol.  Common characters for these
          purposes include FULL STOP, U+002E (.); COMMERCIAL AT, U+0040
          (@); HYPHEN-MINUS, U+002D (-); SOLIDUS, U+002F (/); and LOW
          LINE, U+005F (_).  The mere inclusion of such a character in
          the protocol is not enough for it to be considered similar to
          another protocol using the same character; instead, handling
          of the character must be taken into consideration as well.</t>

          <t>An important issue to tackle here is whether it is valuable
          to map to or from these special characters as part of the
          Stringprep replacement.  In some locales, the analogue to FULL
          STOP, U+002E is some other character, and users may expect to
          be able to substitute their normal stop for FULL STOP.</t>
        </section>

      </section>
        
      
      <section title="Where the data comes from and where it goes">

        <section title="User input and the source of protocol elements">
          <t>Some protocol elements are provided by users, and others
          are not.  Those that are not may presumably be subject to
          greater restrictions, whereas those that users provide likely
          need to permit the broadest range of code points.  The
          following questions are helpful:</t>
          <t><list style="numbers">
            <t>Do users input the strings directly?</t>
            <t>If so, how? (keyboard, stylus, voice, copy-paste, etc.)</t>
            <t>Where do we place the dividing line between user
            interface and protocol? (see <xref target="RFC5895" />)</t>
          </list></t>
        </section>

        <section title="User output">
          <t>Just as only some protocol elements are expected to be
          entered directly by users, only some protocol elements are
          intended to be consumed directly by users.  It is important
          to know how users are expected to be able to consume the
          protocol elements, because different environments present
          different challenges.  An element that is only ever
          delivered as part of a vCard remains in machine-readable
          format, so the problem of visual confusion is not a great
          one.  Is the protocol element published as part of a vCard,
          a web directory, on a business card, or on "the side of a
          bus"?  Do users use the protocol element as an identifier
          (which means that they might enter it again in some other
          context)?</t>
        </section>

        <section title="Operations">
          <t>Some strings are useful as part of the protocol but are
          not used as input to other operations (for instance, purely
          informative or descriptive text).  Other strings are used
          directly as input to other operations (such as cryptographic
          hash functions), or are used together with other strings to
          (such as concatenating a string with some others to form a
          unique identifier).</t>

          <section title="String classes">
            <t>Strings often have a similar function in different
            protocols.  For instance, many different protocols contain
            user identifiers or passwords.  A single profile for all
            such uses might be desirable.</t>
            <t>Often, a string in a protocol is effectively a protocol
            element from another protocol.  For instance, different
            systems might use the same credentials database for
            authentication.</t>
          </section>

          <section title="Community considerations">
            <t>A Stringprep replacement that does anything more than
            just update Stringprep to the latest version of Unicode
            will probably entail some changes.  It is important to
            identify the willingness of the protocol-using community
            to accept backwards-incompatible changes.  By the same
            token, it is important to evaluate the desire of the
            community for features not available under Stringprep.</t>
          </section>

        </section>

      
      </section>
    </section>

      
    <section title="Considerations for Stringprep replacement">
      <t>The above suggests the following direction for the working group:
      <list style="symbols">
        <t>A stringprep replacement should be defined.</t>
        
        <t>The replacement should take an approach similar to IDNA2008,
        in that it enables Unicode agility.</t>

        <t>Protocols share similar characteristics of strings. Therefore,
        defining i18n preparation algorithms for a (small) set of string
          classes may be sufficient for most cases and provides the
        coherence among a set of protocol friends.</t>

        <t>The sets of string classes need to be evaluated according
        to the considerations that make up the headings in <xref
        target="topics" /></t>

        <t>It is reasonable to limit scope to Unicode code points, and
        rule the mapping of data from other character encodings
        outside the scope of this effort.</t>

      </list>
      </t>

      <t>Existing deployments already depend on Stringprep profiles.
      Therefore, the working group will need to consider the effects
      of any new strategy on existing deployments.  By way of
      comparison, it is worth noting that some characters were
      acceptable in IDNA labels under IDNA2003, but are not
      protocol-valid under IDNA2008 (and conversely).  Different
      implementers may make different decisions about what to do in
      such cases; this could have interoperability effects.  The
      working group will need to trade better support for different
      linguistic environments against the potential side effects of
      backward incompatibility.</t>

    </section>
    <section title="Security Considerations">
      <t>This document merely states what problems are to be solved,
      and does not define a protocol.  There are undoubtedly security
      implications of the particular results that will come from the
      work to be completed.</t>
    </section>
    <section title="IANA Considerations">
      <t>
        This document has no actions for IANA.
      </t>
    </section>
    <section title="Discussion home for this draft">
      <t>
        This document is intended to define the problem space
        discussed on the precis@ietf.org mailing list.
      </t>
    </section>
    <section title="Acknowledgements">
      <t>This document is the product of the PRECIS IETF Working
      Group, and participants in that Working Group were helpful in
      addressing issues with the text.</t>
      <t>Specific contributions came from Alan DeKok, Alexey Melnikov,
      Peter Saint-Andre, Dave Thaler, and Yoshiro Yoneya.</t>
      <t>Dave Thaler provided the "buckets" insight in <xref
      target="buckets" />, central to the organization of the
      problem.</t>
    </section>
  </middle>
  <back>
    <references title="Informative References">


<?xml version='1.0' encoding='UTF-8'?>

<reference anchor='NEWPREP'>

<front>
<title>Newprep BoF Meeting Minutes</title>
<author fullname='Association Management Solutions, ed.'>
<organization /></author>
<date year='2010' month='March' />

</front>

<format type='TXT' octets='1807' target='http://www.ietf.org/proceedings/77/minutes/newprep.txt' />
</reference>


<?xml version='1.0' encoding='UTF-8'?>

<reference anchor='RFC3454'>

<front>
<title>Preparation of Internationalized Strings ("stringprep")</title>
<author initials='P.' surname='Hoffman' fullname='P. Hoffman'>
<organization /></author>
<author initials='M.' surname='Blanchet' fullname='M. Blanchet'>
<organization /></author>
<date year='2002' month='December' />
<abstract>
<t>This document describes a framework for preparing Unicode text strings in order to increase the likelihood that string input and string comparison work in ways that make sense for typical users throughout the world.  The stringprep protocol is useful for protocol identifier values, company and personal names, internationalized domain names, and other text strings.  This document does not specify how protocols should prepare text strings.  Protocols must create profiles of stringprep in order to fully specify the processing options. [STANDARDS TRACK]</t></abstract></front>

<seriesInfo name='RFC' value='3454' />
<format type='TXT' octets='138684' target='http://www.rfc-editor.org/rfc/rfc3454.txt' />
</reference>


<?xml version='1.0' encoding='UTF-8'?>

<reference anchor='RFC3490'>

<front>
<title>Internationalizing Domain Names in Applications (IDNA)</title>
<author initials='P.' surname='Faltstrom' fullname='P. Faltstrom'>
<organization /></author>
<author initials='P.' surname='Hoffman' fullname='P. Hoffman'>
<organization /></author>
<author initials='A.' surname='Costello' fullname='A. Costello'>
<organization /></author>
<date year='2003' month='March' />
<abstract>
<t>Until now, there has been no standard method for domain names to use characters outside the ASCII repertoire.  This document defines internationalized domain names (IDNs) and a mechanism called Internationalizing Domain Names in Applications (IDNA) for handling them in a standard fashion.  IDNs use characters drawn from a large repertoire (Unicode), but IDNA allows the non-ASCII characters to be represented using only the ASCII characters already allowed in so-called host names today.  This backward-compatible representation is required in existing protocols like DNS, so that IDNs can be introduced with no changes to the existing infrastructure.  IDNA is only meant for processing domain names, not free text. [STANDARDS TRACK]</t></abstract></front>

<seriesInfo name='RFC' value='3490' />
<format type='TXT' octets='51943' target='http://www.rfc-editor.org/rfc/rfc3490.txt' />
</reference>


<?xml version='1.0' encoding='UTF-8'?>

<reference anchor='RFC3491'>

<front>
<title>Nameprep: A Stringprep Profile for Internationalized Domain Names (IDN)</title>
<author initials='P.' surname='Hoffman' fullname='P. Hoffman'>
<organization /></author>
<author initials='M.' surname='Blanchet' fullname='M. Blanchet'>
<organization /></author>
<date year='2003' month='March' />
<abstract>
<t>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). [STANDARDS TRACK]</t></abstract></front>

<seriesInfo name='RFC' value='3491' />
<format type='TXT' octets='10316' target='http://www.rfc-editor.org/rfc/rfc3491.txt' />
</reference>


<?xml version='1.0' encoding='UTF-8'?>

<reference anchor='RFC3492'>

<front>
<title>Punycode: A Bootstring encoding of Unicode for Internationalized Domain Names in Applications (IDNA)</title>
<author initials='A.' surname='Costello' fullname='A. Costello'>
<organization /></author>
<date year='2003' month='March' />
<abstract>
<t>Punycode is a simple and efficient transfer encoding syntax designed for use with Internationalized Domain Names in Applications (IDNA).  It uniquely and reversibly transforms a Unicode string into an ASCII string.  ASCII characters in the Unicode string are represented literally, and non-ASCII characters are represented by ASCII characters that are allowed in host name labels (letters, digits, and hyphens).  This document defines a general algorithm called Bootstring that allows a string of basic code points to uniquely represent any string of code points drawn from a larger set.  Punycode is an instance of Bootstring that uses particular parameter values specified by this document, appropriate for IDNA. [STANDARDS TRACK]</t></abstract></front>

<seriesInfo name='RFC' value='3492' />
<format type='TXT' octets='67439' target='http://www.rfc-editor.org/rfc/rfc3492.txt' />
</reference>


<?xml version='1.0' encoding='UTF-8'?>

<reference anchor='RFC3530'>

<front>
<title>Network File System (NFS) version 4 Protocol</title>
<author initials='S.' surname='Shepler' fullname='S. Shepler'>
<organization /></author>
<author initials='B.' surname='Callaghan' fullname='B. Callaghan'>
<organization /></author>
<author initials='D.' surname='Robinson' fullname='D. Robinson'>
<organization /></author>
<author initials='R.' surname='Thurlow' fullname='R. Thurlow'>
<organization /></author>
<author initials='C.' surname='Beame' fullname='C. Beame'>
<organization /></author>
<author initials='M.' surname='Eisler' fullname='M. Eisler'>
<organization /></author>
<author initials='D.' surname='Noveck' fullname='D. Noveck'>
<organization /></author>
<date year='2003' month='April' />
<abstract>
<t>The Network File System (NFS) version 4 is a distributed filesystem protocol which owes heritage to NFS protocol version 2, RFC 1094, and version 3, RFC 1813.  Unlike earlier versions, the NFS version 4 protocol supports traditional file access while integrating support for file locking and the mount protocol.  In addition, support for strong security (and its negotiation), compound operations, client caching, and internationalization have been added.  Of course, attention has been applied to making NFS version 4 operate well in an Internet environment.  This document replaces RFC 3010 as the definition of the NFS version 4 protocol. [STANDARDS TRACK]</t></abstract></front>

<seriesInfo name='RFC' value='3530' />
<format type='TXT' octets='600988' target='http://www.rfc-editor.org/rfc/rfc3530.txt' />
</reference>


<?xml version='1.0' encoding='UTF-8'?>

<reference anchor='RFC3722'>

<front>
<title>String Profile for Internet Small Computer Systems Interface (iSCSI) Names</title>
<author initials='M.' surname='Bakke' fullname='M. Bakke'>
<organization /></author>
<date year='2004' month='April' />
<abstract>
<t>This document describes how to prepare internationalized iSCSI names to increase the likelihood that name input and comparison work in ways that make sense for typical users throughout the world.  The Internet Small Computer Systems Interface (iSCSI) protocol provides a way for hosts to access SCSI devices over an IP network.  The iSCSI end-points, called initiators and targets, each have a globally-unique name that must be transcribable, as well as easily compared. [STANDARDS TRACK]</t></abstract></front>

<seriesInfo name='RFC' value='3722' />
<format type='TXT' octets='14702' target='http://www.rfc-editor.org/rfc/rfc3722.txt' />
</reference>


<?xml version='1.0' encoding='UTF-8'?>

<reference anchor='RFC3748'>

<front>
<title>Extensible Authentication Protocol (EAP)</title>
<author initials='B.' surname='Aboba' fullname='B. Aboba'>
<organization /></author>
<author initials='L.' surname='Blunk' fullname='L. Blunk'>
<organization /></author>
<author initials='J.' surname='Vollbrecht' fullname='J. Vollbrecht'>
<organization /></author>
<author initials='J.' surname='Carlson' fullname='J. Carlson'>
<organization /></author>
<author initials='H.' surname='Levkowetz' fullname='H. Levkowetz'>
<organization /></author>
<date year='2004' month='June' />
<abstract>
<t>This document defines the Extensible Authentication Protocol (EAP), an authentication framework which supports multiple authentication methods.  EAP typically runs directly over data link layers such as Point-to-Point Protocol (PPP) or IEEE 802, without requiring IP.  EAP provides its own support for duplicate elimination and retransmission, but is reliant on lower layer ordering guarantees.  Fragmentation is not supported within EAP itself; however, individual EAP methods may support this.  This document obsoletes RFC 2284.  A summary of the changes between this document and RFC 2284 is available in Appendix A. [STANDARDS TRACK]</t></abstract></front>

<seriesInfo name='RFC' value='3748' />
<format type='TXT' octets='157994' target='http://www.rfc-editor.org/rfc/rfc3748.txt' />
</reference>


<?xml version='1.0' encoding='UTF-8'?>

<reference anchor='RFC3920'>

<front>
<title abbrev='XMPP Core'>Extensible Messaging and Presence Protocol (XMPP): Core</title>
<author initials='P.' surname='Saint-Andre' fullname='Peter Saint-Andre' role='editor'>
<organization>Jabber Software Foundation</organization>
<address>
<email>stpeter@jabber.org</email></address></author>
<date year='2004' month='October' />
<area>Applications</area>
<workgroup>XMPP Working Group</workgroup>
<keyword>RFC</keyword>
<keyword>Request for Comments</keyword>
<keyword>I-D</keyword>
<keyword>Internet-Draft</keyword>
<keyword>XMPP</keyword>
<keyword>Extensible Messaging and Presence Protocol</keyword>
<keyword>Jabber</keyword>
<keyword>IM</keyword>
<keyword>Instant Messaging</keyword>
<keyword>Presence</keyword>
<keyword>XML</keyword>
<keyword>Extensible Markup Language</keyword>
<abstract>
<t>This memo defines the core features of the Extensible Messaging and Presence Protocol (XMPP), a protocol for streaming Extensible Markup Language (XML) elements in order to exchange structured information in close to real time between any two network endpoints.  While XMPP provides a generalized, extensible framework for exchanging XML data, it is used mainly for the purpose of building instant messaging and presence applications that meet the requirements of RFC 2779.</t></abstract></front>

<seriesInfo name='RFC' value='3920' />
<format type='TXT' octets='194313' target='http://www.rfc-editor.org/rfc/rfc3920.txt' />
<format type='HTML' octets='279912' target='http://xml.resource.org/public/rfc/html/rfc3920.html' />
<format type='XML' octets='234610' target='http://xml.resource.org/public/rfc/xml/rfc3920.xml' />
</reference>


<?xml version='1.0' encoding='UTF-8'?>

<reference anchor='RFC3922'>

<front>
<title abbrev='XMPP to CPIM'>Mapping the Extensible Messaging and Presence Protocol (XMPP) to Common Presence and Instant Messaging (CPIM)</title>
<author initials='P.' surname='Saint-Andre' fullname='Peter Saint-Andre'>
<organization>Jabber Software Foundation</organization>
<address>
<email>stpeter@jabber.org</email></address></author>
<date year='2004' month='October' />
<area>Applications</area>
<workgroup>XMPP Working Group</workgroup>
<keyword>RFC</keyword>
<keyword>Request for Comments</keyword>
<keyword>I-D</keyword>
<keyword>Internet-Draft</keyword>
<keyword>XMPP</keyword>
<keyword>Extensible Messaging and Presence Protocol</keyword>
<keyword>Jabber</keyword>
<keyword>IM</keyword>
<keyword>Instant Messaging</keyword>
<keyword>Presence</keyword>
<keyword>CPIM</keyword>
<keyword>Common Presence and Instant Messaging</keyword>
<keyword>XML</keyword>
<keyword>Extensible Markup Language</keyword>
<abstract>
<t>This memo describes a mapping between the Extensible Messaging and Presence Protocol (XMPP) and the Common Presence and Instant Messaging (CPIM) specifications.</t></abstract></front>

<seriesInfo name='RFC' value='3922' />
<format type='TXT' octets='70790' target='http://www.rfc-editor.org/rfc/rfc3922.txt' />
<format type='HTML' octets='111801' target='http://xml.resource.org/public/rfc/html/rfc3922.html' />
<format type='XML' octets='89156' target='http://xml.resource.org/public/rfc/xml/rfc3922.xml' />
</reference>


<?xml version='1.0' encoding='UTF-8'?>

<reference anchor='RFC4011'>

<front>
<title>Policy Based Management MIB</title>
<author initials='S.' surname='Waldbusser' fullname='S. Waldbusser'>
<organization /></author>
<author initials='J.' surname='Saperia' fullname='J. Saperia'>
<organization /></author>
<author initials='T.' surname='Hongal' fullname='T. Hongal'>
<organization /></author>
<date year='2005' month='March' />
<abstract>
<t>This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in TCP/IP-based internets.  In particular, this MIB defines objects that enable policy-based monitoring and management of Simple Network Management Protocol (SNMP) infrastructures, a scripting language, and a script execution environment. [STANDARDS TRACK]</t></abstract></front>

<seriesInfo name='RFC' value='4011' />
<format type='TXT' octets='265942' target='http://www.rfc-editor.org/rfc/rfc4011.txt' />
</reference>


<?xml version='1.0' encoding='UTF-8'?>

<reference anchor='RFC4013'>

<front>
<title>SASLprep: Stringprep Profile for User Names and Passwords</title>
<author initials='K.' surname='Zeilenga' fullname='K. Zeilenga'>
<organization /></author>
<date year='2005' month='February' />
<abstract>
<t>This document describes how to prepare Unicode strings representing user names and passwords for comparison.  The document defines the "SASLprep" profile of the "stringprep" algorithm to be used for both user names and passwords.  This profile is intended to be used by Simple Authentication and Security Layer (SASL) mechanisms (such as PLAIN, CRAM-MD5, and DIGEST-MD5), as well as other protocols exchanging simple user names and/or passwords. [STANDARDS TRACK]</t></abstract></front>

<seriesInfo name='RFC' value='4013' />
<format type='TXT' octets='13051' target='http://www.rfc-editor.org/rfc/rfc4013.txt' />
</reference>


<?xml version='1.0' encoding='UTF-8'?>

<reference anchor='RFC4279'>

<front>
<title>Pre-Shared Key Ciphersuites for Transport Layer Security (TLS)</title>
<author initials='P.' surname='Eronen' fullname='P. Eronen'>
<organization /></author>
<author initials='H.' surname='Tschofenig' fullname='H. Tschofenig'>
<organization /></author>
<date year='2005' month='December' />
<abstract>
<t>This document specifies three sets of new ciphersuites for the Transport Layer Security (TLS) protocol to support authentication based on pre-shared keys (PSKs).  These pre-shared keys are symmetric keys, shared in advance among the communicating parties.  The first set of ciphersuites uses only symmetric key operations for authentication.  The second set uses a Diffie-Hellman exchange authenticated with a pre-shared key, and the third set combines public key authentication of the server with pre-shared key authentication of the client. [STANDARDS TRACK]</t></abstract></front>

<seriesInfo name='RFC' value='4279' />
<format type='TXT' octets='32160' target='http://www.rfc-editor.org/rfc/rfc4279.txt' />
</reference>


<?xml version='1.0' encoding='UTF-8'?>

<reference anchor='RFC4314'>

<front>
<title>IMAP4 Access Control List (ACL) Extension</title>
<author initials='A.' surname='Melnikov' fullname='A. Melnikov'>
<organization /></author>
<date year='2005' month='December' />
<abstract>
<t>The Access Control List (ACL) extension (RFC 2086) of the Internet Message Access Protocol (IMAP) permits mailbox access control lists to be retrieved and manipulated through the IMAP protocol.</t><t> This document is a revision of RFC 2086. It defines several new access control rights and clarifies which rights are required for different IMAP commands. [STANDARDS TRACK]</t></abstract></front>

<seriesInfo name='RFC' value='4314' />
<format type='TXT' octets='56599' target='http://www.rfc-editor.org/rfc/rfc4314.txt' />
</reference>


<?xml version='1.0' encoding='UTF-8'?>

<reference anchor='RFC4422'>

<front>
<title>Simple Authentication and Security Layer (SASL)</title>
<author initials='A.' surname='Melnikov' fullname='A. Melnikov'>
<organization /></author>
<author initials='K.' surname='Zeilenga' fullname='K. Zeilenga'>
<organization /></author>
<date year='2006' month='June' />
<abstract>
<t>The Simple Authentication and Security Layer (SASL) is a framework for providing authentication and data security services in connection-oriented protocols via replaceable mechanisms. It provides a structured interface between protocols and mechanisms. The resulting framework allows new protocols to reuse existing mechanisms and allows old protocols to make use of new mechanisms. The framework also provides a protocol for securing subsequent protocol exchanges within a data security layer.</t><t> This document describes how a SASL mechanism is structured, describes how protocols include support for SASL, and defines the protocol for carrying a data security layer over a connection. In addition, this document defines one SASL mechanism, the EXTERNAL mechanism.</t><t> This document obsoletes RFC 2222. [STANDARDS TRACK]</t></abstract></front>

<seriesInfo name='RFC' value='4422' />
<format type='TXT' octets='73206' target='http://www.rfc-editor.org/rfc/rfc4422.txt' />
</reference>


<?xml version='1.0' encoding='UTF-8'?>

<reference anchor='RFC4505'>

<front>
<title>Anonymous Simple Authentication and Security Layer (SASL) Mechanism</title>
<author initials='K.' surname='Zeilenga' fullname='K. Zeilenga'>
<organization /></author>
<date year='2006' month='June' />
<abstract>
<t>On the Internet, it is common practice to permit anonymous access to various services.  Traditionally, this has been done with a plain-text password mechanism using "anonymous" as the user name and using optional trace information, such as an email address, as the password.  As plain-text login commands are not permitted in new IETF protocols, a new way to provide anonymous login is needed within the context of the Simple Authentication and Security Layer (SASL) framework. [STANDARDS TRACK]</t></abstract></front>

<seriesInfo name='RFC' value='4505' />
<format type='TXT' octets='16599' target='http://www.rfc-editor.org/rfc/rfc4505.txt' />
</reference>


<?xml version='1.0' encoding='UTF-8'?>

<reference anchor='RFC4511'>

<front>
<title>Lightweight Directory Access Protocol (LDAP): The Protocol</title>
<author initials='J.' surname='Sermersheim' fullname='J. Sermersheim'>
<organization /></author>
<date year='2006' month='June' />
<abstract>
<t>This document describes the protocol elements, along with their semantics and encodings, of the Lightweight Directory Access Protocol (LDAP).  LDAP provides access to distributed directory services that act in accordance with X.500 data and service models.  These protocol elements are based on those described in the X.500 Directory Access Protocol (DAP). [STANDARDS TRACK]</t></abstract></front>

<seriesInfo name='RFC' value='4511' />
<format type='TXT' octets='150116' target='http://www.rfc-editor.org/rfc/rfc4511.txt' />
</reference>


<?xml version='1.0' encoding='UTF-8'?>

<reference anchor='RFC4513'>

<front>
<title>Lightweight Directory Access Protocol (LDAP): Authentication Methods and Security Mechanisms</title>
<author initials='R.' surname='Harrison' fullname='R. Harrison'>
<organization /></author>
<date year='2006' month='June' />
<abstract>
<t>This document describes authentication methods and security mechanisms of the Lightweight Directory Access Protocol (LDAP). This document details establishment of Transport Layer Security (TLS) using the StartTLS operation.</t><t> This document details the simple Bind authentication method including anonymous, unauthenticated, and name/password mechanisms and the Simple Authentication and Security Layer (SASL) Bind authentication method including the EXTERNAL mechanism.</t><t> This document discusses various authentication and authorization states through which a session to an LDAP server may pass and the actions that trigger these state changes.</t><t> This document, together with other documents in the LDAP Technical Specification (see Section 1 of the specification's road map), obsoletes RFC 2251, RFC 2829, and RFC 2830. [STANDARDS TRACK]</t></abstract></front>

<seriesInfo name='RFC' value='4513' />
<format type='TXT' octets='80546' target='http://www.rfc-editor.org/rfc/rfc4513.txt' />
</reference>


<?xml version='1.0' encoding='UTF-8'?>

<reference anchor='RFC4518'>

<front>
<title>Lightweight Directory Access Protocol (LDAP): Internationalized String Preparation</title>
<author initials='K.' surname='Zeilenga' fullname='K. Zeilenga'>
<organization /></author>
<date year='2006' month='June' />
<abstract>
<t>The previous Lightweight Directory Access Protocol (LDAP) technical specifications did not precisely define how character string matching is to be performed.  This led to a number of usability and interoperability problems.  This document defines string preparation algorithms for character-based matching rules defined for use in LDAP. [STANDARDS TRACK]</t></abstract></front>

<seriesInfo name='RFC' value='4518' />
<format type='TXT' octets='28166' target='http://www.rfc-editor.org/rfc/rfc4518.txt' />
</reference>


<?xml version='1.0' encoding='UTF-8'?>

<reference anchor='RFC4616'>

<front>
<title>The PLAIN Simple Authentication and Security Layer (SASL) Mechanism</title>
<author initials='K.' surname='Zeilenga' fullname='K. Zeilenga'>
<organization /></author>
<date year='2006' month='August' />
<abstract>
<t>This document defines a simple clear-text user/password Simple Authentication and Security Layer (SASL) mechanism called the PLAIN mechanism.  The PLAIN mechanism is intended to be used, in combination with data confidentiality services provided by a lower layer, in protocols that lack a simple password authentication command. [STANDARDS TRACK]</t></abstract></front>

<seriesInfo name='RFC' value='4616' />
<format type='TXT' octets='20270' target='http://www.rfc-editor.org/rfc/rfc4616.txt' />
</reference>


<?xml version='1.0' encoding='UTF-8'?>

<reference anchor='RFC4643'>

<front>
<title>Network News Transfer Protocol (NNTP) Extension for Authentication</title>
<author initials='J.' surname='Vinocur' fullname='J. Vinocur'>
<organization /></author>
<author initials='K.' surname='Murchison' fullname='K. Murchison'>
<organization /></author>
<date year='2006' month='October' />
<abstract>
<t>This document defines an extension to the Network News Transfer Protocol (NNTP) that allows a client to indicate an authentication mechanism to the server, to perform an authentication protocol exchange, and optionally to negotiate a security layer for subsequent protocol interactions during the remainder of an NNTP session.</t><t> This document updates and formalizes the AUTHINFO USER/PASS authentication method specified in RFC 2980 and deprecates the AUTHINFO SIMPLE and AUTHINFO GENERIC authentication methods. Additionally, this document defines a profile of the Simple Authentication and Security Layer (SASL) for NNTP. [STANDARDS TRACK]</t></abstract></front>

<seriesInfo name='RFC' value='4643' />
<format type='TXT' octets='51411' target='http://www.rfc-editor.org/rfc/rfc4643.txt' />
</reference>


<?xml version='1.0' encoding='UTF-8'?>

<reference anchor='RFC4683'>

<front>
<title>Internet X.509 Public Key Infrastructure Subject Identification Method (SIM)</title>
<author initials='J.' surname='Park' fullname='J. Park'>
<organization /></author>
<author initials='J.' surname='Lee' fullname='J. Lee'>
<organization /></author>
<author initials='H..' surname='Lee' fullname='H.. Lee'>
<organization /></author>
<author initials='S.' surname='Park' fullname='S. Park'>
<organization /></author>
<author initials='T.' surname='Polk' fullname='T. Polk'>
<organization /></author>
<date year='2006' month='October' />
<abstract>
<t>This document defines the Subject Identification Method (SIM) for including a privacy-sensitive identifier in the subjectAltName extension of a certificate.</t><t> The SIM is an optional feature that may be used by relying parties to determine whether the subject of a particular certificate is also the person corresponding to a particular sensitive identifier. [STANDARDS TRACK]</t></abstract></front>

<seriesInfo name='RFC' value='4683' />
<format type='TXT' octets='41285' target='http://www.rfc-editor.org/rfc/rfc4683.txt' />
</reference>


<?xml version='1.0' encoding='UTF-8'?>

<reference anchor='RFC4690'>

<front>
<title>Review and Recommendations for Internationalized Domain Names (IDNs)</title>
<author initials='J.' surname='Klensin' fullname='J. Klensin'>
<organization /></author>
<author initials='P.' surname='Faltstrom' fullname='P. Faltstrom'>
<organization /></author>
<author initials='C.' surname='Karp' fullname='C. Karp'>
<organization /></author>
<author>
<organization>IAB</organization></author>
<date year='2006' month='September' />
<abstract>
<t>This note describes issues raised by the deployment and use of Internationalized Domain Names.  It describes problems both at the time of registration and for use of those names in the DNS.  It recommends that IETF should update the RFCs relating to IDNs and a framework to be followed in doing so, as well as summarizing and identifying some work that is required outside the IETF.  In particular, it proposes that some changes be investigated for the Internationalizing Domain Names in Applications (IDNA) standard and its supporting tables, based on experience gained since those standards were completed.  This memo provides information for the Internet community.</t></abstract></front>

<seriesInfo name='RFC' value='4690' />
<format type='TXT' octets='100929' target='http://www.rfc-editor.org/rfc/rfc4690.txt' />
</reference>


<?xml version='1.0' encoding='UTF-8'?>

<reference anchor='RFC4790'>

<front>
<title>Internet Application Protocol Collation Registry</title>
<author initials='C.' surname='Newman' fullname='C. Newman'>
<organization /></author>
<author initials='M.' surname='Duerst' fullname='M. Duerst'>
<organization /></author>
<author initials='A.' surname='Gulbrandsen' fullname='A. Gulbrandsen'>
<organization /></author>
<date year='2007' month='March' />
<abstract>
<t>Many Internet application protocols include string-based lookup, searching, or sorting operations.  However, the problem space for searching and sorting international strings is large, not fully explored, and is outside the area of expertise for the Internet Engineering Task Force (IETF).  Rather than attempt to solve such a large problem, this specification creates an abstraction framework so that application protocols can precisely identify a comparison function, and the repertoire of comparison functions can be extended in the future. [STANDARDS TRACK]</t></abstract></front>

<seriesInfo name='RFC' value='4790' />
<format type='TXT' octets='55591' target='http://www.rfc-editor.org/rfc/rfc4790.txt' />
</reference>


<?xml version='1.0' encoding='UTF-8'?>

<reference anchor='RFC4954'>

<front>
<title>SMTP Service Extension for Authentication</title>
<author initials='R.' surname='Siemborski' fullname='R. Siemborski'>
<organization /></author>
<author initials='A.' surname='Melnikov' fullname='A. Melnikov'>
<organization /></author>
<date year='2007' month='July' />
<abstract>
<t>This document defines a Simple Mail Transport Protocol (SMTP) extension whereby an SMTP client may indicate an authentication mechanism to the server, perform an authentication protocol exchange, and optionally negotiate a security layer for subsequent protocol interactions during this session. This extension includes a profile of the Simple Authentication and Security Layer (SASL) for SMTP.</t><t> This document obsoletes RFC 2554. [STANDARDS TRACK]</t></abstract></front>

<seriesInfo name='RFC' value='4954' />
<format type='TXT' octets='43493' target='http://www.rfc-editor.org/rfc/rfc4954.txt' />
</reference>


<?xml version='1.0' encoding='UTF-8'?>

<reference anchor='RFC5034'>

<front>
<title>The Post Office Protocol (POP3) Simple Authentication and Security Layer (SASL) Authentication Mechanism</title>
<author initials='R.' surname='Siemborski' fullname='R. Siemborski'>
<organization /></author>
<author initials='A.' surname='Menon-Sen' fullname='A. Menon-Sen'>
<organization /></author>
<date year='2007' month='July' />
<abstract>
<t>This document defines a profile of the Simple Authentication and Security Layer (SASL) for the Post Office Protocol (POP3). This extension allows a POP3 client to indicate an authentication mechanism to the server, perform an authentication protocol exchange, and optionally negotiate a security layer for subsequent protocol interactions during this session.</t><t> This document seeks to consolidate the information related to POP3 AUTH into a single document. To this end, this document obsoletes and replaces RFC 1734, and updates the information contained in Section 6.3 of RFC 2449. [STANDARDS TRACK]</t></abstract></front>

<seriesInfo name='RFC' value='5034' />
<format type='TXT' octets='24170' target='http://www.rfc-editor.org/rfc/rfc5034.txt' />
</reference>


<?xml version='1.0' encoding='UTF-8'?>

<reference anchor='RFC5051'>

<front>
<title>i;unicode-casemap - Simple Unicode Collation Algorithm</title>
<author initials='M.' surname='Crispin' fullname='M. Crispin'>
<organization /></author>
<date year='2007' month='October' />
<abstract>
<t>This document describes "i;unicode-casemap", a simple case-insensitive collation for Unicode strings.  It provides equality, substring, and ordering operations. [STANDARDS TRACK]</t></abstract></front>

<seriesInfo name='RFC' value='5051' />
<format type='TXT' octets='14965' target='http://www.rfc-editor.org/rfc/rfc5051.txt' />
</reference>


<?xml version='1.0' encoding='UTF-8'?>

<reference anchor='RFC5054'>

<front>
<title>Using the Secure Remote Password (SRP) Protocol for TLS Authentication</title>
<author initials='D.' surname='Taylor' fullname='D. Taylor'>
<organization /></author>
<author initials='T.' surname='Wu' fullname='T. Wu'>
<organization /></author>
<author initials='N.' surname='Mavrogiannopoulos' fullname='N. Mavrogiannopoulos'>
<organization /></author>
<author initials='T.' surname='Perrin' fullname='T. Perrin'>
<organization /></author>
<date year='2007' month='November' />
<abstract>
<t>This memo presents a technique for using the Secure Remote Password protocol as an authentication method for the Transport Layer Security protocol.  This memo provides information for the Internet community.</t></abstract></front>

<seriesInfo name='RFC' value='5054' />
<format type='TXT' octets='44445' target='http://www.rfc-editor.org/rfc/rfc5054.txt' />
</reference>


<?xml version='1.0' encoding='UTF-8'?>

<reference anchor='RFC5122'>

<front>
<title>Internationalized Resource Identifiers (IRIs) and Uniform Resource Identifiers (URIs) for the Extensible Messaging and Presence Protocol (XMPP)</title>
<author initials='P.' surname='Saint-Andre' fullname='P. Saint-Andre'>
<organization /></author>
<date year='2008' month='February' />
<abstract>
<t>This document defines the use of Internationalized Resource Identifiers (IRIs) and Uniform Resource Identifiers (URIs) in identifying or interacting with entities that can communicate via the Extensible Messaging and Presence Protocol (XMPP). [STANDARDS TRACK]</t></abstract></front>

<seriesInfo name='RFC' value='5122' />
<format type='TXT' octets='55566' target='http://www.rfc-editor.org/rfc/rfc5122.txt' />
</reference>


<?xml version='1.0' encoding='UTF-8'?>

<reference anchor='RFC5280'>

<front>
<title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
<author initials='D.' surname='Cooper' fullname='D. Cooper'>
<organization /></author>
<author initials='S.' surname='Santesson' fullname='S. Santesson'>
<organization /></author>
<author initials='S.' surname='Farrell' fullname='S. Farrell'>
<organization /></author>
<author initials='S.' surname='Boeyen' fullname='S. Boeyen'>
<organization /></author>
<author initials='R.' surname='Housley' fullname='R. Housley'>
<organization /></author>
<author initials='W.' surname='Polk' fullname='W. Polk'>
<organization /></author>
<date year='2008' month='May' />
<abstract>
<t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet.  An overview of this approach and model is provided as an introduction.  The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms.  Standard certificate extensions are described and two Internet-specific extensions are defined.  A set of required certificate extensions is specified.  The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions.  An algorithm for X.509 certification path validation is described.  An ASN.1 module and examples are provided in the appendices. [STANDARDS TRACK]</t></abstract></front>

<seriesInfo name='RFC' value='5280' />
<format type='TXT' octets='352580' target='http://www.rfc-editor.org/rfc/rfc5280.txt' />
</reference>


<?xml version='1.0' encoding='UTF-8'?>

<reference anchor='RFC5456'>

<front>
<title>IAX: Inter-Asterisk eXchange Version 2</title>
<author initials='M.' surname='Spencer' fullname='M. Spencer'>
<organization /></author>
<author initials='B.' surname='Capouch' fullname='B. Capouch'>
<organization /></author>
<author initials='E.' surname='Guy' fullname='E. Guy'>
<organization /></author>
<author initials='F.' surname='Miller' fullname='F. Miller'>
<organization /></author>
<author initials='K.' surname='Shumard' fullname='K. Shumard'>
<organization /></author>
<date year='2010' month='February' />
<abstract>
<t>This document describes IAX, the Inter-Asterisk eXchange protocol, an application-layer control and media protocol for creating, modifying, and terminating multimedia sessions over Internet Protocol (IP) networks. IAX was developed by the open source community for the Asterisk Private Branch Exchange (PBX) and is targeted primarily at Voice over Internet Protocol (VoIP) call control, but it can be used with streaming video or any other type of multimedia.</t><t> IAX is an "all in one" protocol for handling multimedia in IP networks. It combines both control and media services in the same protocol. In addition, IAX uses a single UDP data stream on a static port greatly simplifying Network Address Translation (NAT) gateway traversal, eliminating the need for other protocols to work around NAT, and simplifying network and firewall management. IAX employs a compact encoding that decreases bandwidth usage and is well suited for Internet telephony service. In addition, its open nature permits new payload type additions needed to support additional services. This document is not an Internet Standards Track specification; it is published for informational purposes.</t></abstract></front>

<seriesInfo name='RFC' value='5456' />
<format type='TXT' octets='226083' target='http://www.rfc-editor.org/rfc/rfc5456.txt' />
</reference>


<?xml version='1.0' encoding='UTF-8'?>

<reference anchor='RFC5661'>

<front>
<title>Network File System (NFS) Version 4 Minor Version 1 Protocol</title>
<author initials='S.' surname='Shepler' fullname='S. Shepler'>
<organization /></author>
<author initials='M.' surname='Eisler' fullname='M. Eisler'>
<organization /></author>
<author initials='D.' surname='Noveck' fullname='D. Noveck'>
<organization /></author>
<date year='2010' month='January' />
<abstract>
<t>This document describes the Network File System (NFS) version 4 minor version 1, including features retained from the base protocol (NFS version 4 minor version 0, which is specified in RFC 3530) and protocol extensions made subsequently.  Major extensions introduced in NFS version 4 minor version 1 include Sessions, Directory Delegations, and parallel NFS (pNFS).  NFS version 4 minor version 1 has no dependencies on NFS version 4 minor version 0, and it is considered a separate protocol.  Thus, this document neither updates nor obsoletes RFC 3530.  NFS minor version 1 is deemed superior to NFS minor version 0 with no loss of functionality, and its use is preferred over version 0.  Both NFS minor versions 0 and 1 can be used simultaneously on the same network, between the same client and server. [STANDARDS TRACK]</t></abstract></front>

<seriesInfo name='RFC' value='5661' />
<format type='TXT' octets='1517771' target='http://www.rfc-editor.org/rfc/rfc5661.txt' />
</reference>


<?xml version='1.0' encoding='UTF-8'?>

<reference anchor='RFC5802'>

<front>
<title>Salted Challenge Response Authentication Mechanism (SCRAM) SASL and GSS-API Mechanisms</title>
<author initials='C.' surname='Newman' fullname='C. Newman'>
<organization /></author>
<author initials='A.' surname='Menon-Sen' fullname='A. Menon-Sen'>
<organization /></author>
<author initials='A.' surname='Melnikov' fullname='A. Melnikov'>
<organization /></author>
<author initials='N.' surname='Williams' fullname='N. Williams'>
<organization /></author>
<date year='2010' month='July' />
<abstract>
<t>The secure authentication mechanism most widely deployed and used by Internet application protocols is the transmission of clear-text passwords over a channel protected by Transport Layer Security (TLS). There are some significant security concerns with that mechanism, which could be addressed by the use of a challenge response authentication mechanism protected by TLS. Unfortunately, the challenge response mechanisms presently on the standards track all fail to meet requirements necessary for widespread deployment, and have had success only in limited use.</t><t> This specification describes a family of Simple Authentication and Security Layer (SASL; RFC 4422) authentication mechanisms called the Salted Challenge Response Authentication Mechanism (SCRAM), which addresses the security concerns and meets the deployability requirements. When used in combination with TLS or an equivalent security layer, a mechanism from this family could improve the status quo for application protocol authentication and provide a suitable choice for a mandatory-to-implement mechanism for future application protocol standards. [STANDARDS TRACK]</t></abstract></front>

<seriesInfo name='RFC' value='5802' />
<format type='TXT' octets='59049' target='http://www.rfc-editor.org/rfc/rfc5802.txt' />
</reference>


<?xml version='1.0' encoding='UTF-8'?>

<reference anchor='RFC5804'>

<front>
<title>A Protocol for Remotely Managing Sieve Scripts</title>
<author initials='A.' surname='Melnikov' fullname='A. Melnikov'>
<organization /></author>
<author initials='T.' surname='Martin' fullname='T. Martin'>
<organization /></author>
<date year='2010' month='July' />
<abstract>
<t>Sieve scripts allow users to filter incoming email.  Message stores are commonly sealed servers so users cannot log into them, yet users must be able to update their scripts on them.  This document describes a protocol "ManageSieve" for securely managing Sieve scripts on a remote server.  This protocol allows a user to have multiple scripts, and also alerts a user to syntactically flawed scripts. [STANDARDS TRACK]</t></abstract></front>

<seriesInfo name='RFC' value='5804' />
<format type='TXT' octets='103194' target='http://www.rfc-editor.org/rfc/rfc5804.txt' />
</reference>


<?xml version='1.0' encoding='UTF-8'?>

<reference anchor='RFC5890'>

<front>
<title>Internationalized Domain Names for Applications (IDNA): Definitions and Document Framework</title>
<author initials='J.' surname='Klensin' fullname='J. Klensin'>
<organization /></author>
<date year='2010' month='August' />
<abstract>
<t>This document is one of a collection that, together, describe the protocol and usage context for a revision of Internationalized Domain Names for Applications (IDNA), superseding the earlier version.  It describes the document collection and provides definitions and other material that are common to the set. [STANDARDS TRACK]</t></abstract></front>

<seriesInfo name='RFC' value='5890' />
<format type='TXT' octets='54245' target='http://www.rfc-editor.org/rfc/rfc5890.txt' />
</reference>


<?xml version='1.0' encoding='UTF-8'?>

<reference anchor='RFC5891'>

<front>
<title>Internationalized Domain Names in Applications (IDNA): Protocol</title>
<author initials='J.' surname='Klensin' fullname='J. Klensin'>
<organization /></author>
<date year='2010' month='August' />
<abstract>
<t>This document is the revised protocol definition for Internationalized Domain Names (IDNs).  The rationale for changes, the relationship to the older specification, and important terminology are provided in other documents.  This document specifies the protocol mechanism, called Internationalized Domain Names in Applications (IDNA), for registering and looking up IDNs in a way that does not require changes to the DNS itself.  IDNA is only meant for processing domain names, not free text. [STANDARDS TRACK]</t></abstract></front>

<seriesInfo name='RFC' value='5891' />
<format type='TXT' octets='38105' target='http://www.rfc-editor.org/rfc/rfc5891.txt' />
</reference>


<?xml version='1.0' encoding='UTF-8'?>

<reference anchor='RFC5892'>

<front>
<title>The Unicode Code Points and Internationalized Domain Names for Applications (IDNA)</title>
<author initials='P.' surname='Faltstrom' fullname='P. Faltstrom'>
<organization /></author>
<date year='2010' month='August' />
<abstract>
<t>This document specifies rules for deciding whether a code point, considered in isolation or in context, is a candidate for inclusion in an Internationalized Domain Name (IDN).</t><t> It is part of the specification of Internationalizing Domain Names in Applications 2008 (IDNA2008). [STANDARDS TRACK]</t></abstract></front>

<seriesInfo name='RFC' value='5892' />
<format type='TXT' octets='187370' target='http://www.rfc-editor.org/rfc/rfc5892.txt' />
</reference>


<?xml version='1.0' encoding='UTF-8'?>

<reference anchor='RFC5893'>

<front>
<title>Right-to-Left Scripts for Internationalized Domain Names for Applications (IDNA)</title>
<author initials='H.' surname='Alvestrand' fullname='H. Alvestrand'>
<organization /></author>
<author initials='C.' surname='Karp' fullname='C. Karp'>
<organization /></author>
<date year='2010' month='August' />
<abstract>
<t>The use of right-to-left scripts in Internationalized Domain Names (IDNs) has presented several challenges.  This memo provides a new Bidi rule for Internationalized Domain Names for Applications (IDNA) labels, based on the encountered problems with some scripts and some shortcomings in the 2003 IDNA Bidi criterion. [STANDARDS TRACK]</t></abstract></front>

<seriesInfo name='RFC' value='5893' />
<format type='TXT' octets='38870' target='http://www.rfc-editor.org/rfc/rfc5893.txt' />
</reference>


<?xml version='1.0' encoding='UTF-8'?>

<reference anchor='RFC5894'>

<front>
<title>Internationalized Domain Names for Applications (IDNA): Background, Explanation, and Rationale</title>
<author initials='J.' surname='Klensin' fullname='J. Klensin'>
<organization /></author>
<date year='2010' month='August' />
<abstract>
<t>Several years have passed since the original protocol for Internationalized Domain Names (IDNs) was completed and deployed.  During that time, a number of issues have arisen, including the need to update the system to deal with newer versions of Unicode.  Some of these issues require tuning of the existing protocols and the tables on which they depend.  This document provides an overview of a revised system and provides explanatory material for its components.  This document is not an Internet Standards Track specification; it is published for informational purposes.</t></abstract></front>

<seriesInfo name='RFC' value='5894' />
<format type='TXT' octets='115174' target='http://www.rfc-editor.org/rfc/rfc5894.txt' />
</reference>


<?xml version='1.0' encoding='UTF-8'?>

<reference anchor='RFC5895'>

<front>
<title>Mapping Characters for Internationalized Domain Names in Applications (IDNA) 2008</title>
<author initials='P.' surname='Resnick' fullname='P. Resnick'>
<organization /></author>
<author initials='P.' surname='Hoffman' fullname='P. Hoffman'>
<organization /></author>
<date year='2010' month='September' />
<abstract>
<t>In the original version of the Internationalized Domain Names in Applications (IDNA) protocol, any Unicode code points taken from user input were mapped into a set of Unicode code points that "made sense", and then encoded and passed to the domain name system (DNS).  The IDNA2008 protocol (described in RFCs 5890, 5891, 5892, and 5893) presumes that the input to the protocol comes from a set of "permitted" code points, which it then encodes and passes to the DNS, but does not specify what to do with the result of user input.  This document describes the actions that can be taken by an implementation between receiving user input and passing permitted code points to the new IDNA protocol.  This document is not an Internet Standards Track specification; it is published for informational purposes.</t></abstract></front>

<seriesInfo name='RFC' value='5895' />
<format type='TXT' octets='16556' target='http://www.rfc-editor.org/rfc/rfc5895.txt' />
</reference>


<?xml version='1.0' encoding='UTF-8'?>

<reference anchor='UAX15'>

<front>
<title>Unicode Standard Annex #15: Unicode Normalization Forms</title>
<author fullname='The Unicode Consortium'>
<organization /></author>
<date year='2009' month='September' />

</front>

<seriesInfo name='UAX' value='15' />
<format type='HTML' target='http://www.unicode.org/reports/tr15/tr15-31.html' />
</reference>

    </references>
    
    <section title="Protocols known to be using Stringprep"
             anchor="knowncases">
      <t><cref source="ajs@crankycanuck.ca">This is where I'm supposed
      to have put the stuff already in trac.</cref>
      </t>
    </section>
    <section title="Changes between versions">
      <t>Note to RFC Editor: This section should be removed prior to publication.</t>
      <section title="00">
        <t>First WG version.  Based on
        draft-blanchet-precis-problem-statement-00.</t>
      </section>
      <section title="01">
        <t><list style="symbols">
          <t>Made clear that the document is talking only about
          Unicode code points, and not any particular encoding.</t>
          <t>Substantially reorganized the document along the lines of
          the review template at <eref
          target="http://trac.tools.ietf.org/wg/precis/trac/wiki/StringprepReviewTemplate"
          />.</t>
          <t>Included specific questions for each topic for consideration.</t>
          <t>Moved spot for individual protocol review to appendix.
          Not populated yet.</t>
        </list></t>
      </section>
    </section>

</back>
</rfc>

PAFTECH AB 2003-20262026-04-23 14:16:52