<?xml version="1.0" encoding="US-ASCII"?>
<!-- This template is for creating an Internet Draft using xml2rfc,
which is available here: http://xml.resource.org. -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!-- One method to get references from the online citation libraries.
There has to be one entity for each item to be referenced.
An alternate method (rfc include) is described in the references. -->
<!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC2629 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2629.xml">
<!ENTITY RFC3552 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3552.xml">
<!ENTITY I-D.narten-iana-considerations-rfc2434bis SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.narten-iana-considerations-rfc2434bis.xml">
]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<!-- used by XSLT processors -->
<!-- For a complete list and description of processing instructions (PIs),
please see http://xml.resource.org/authoring/README.html. -->
<!-- Below are generally applicable Processing Instructions (PIs) that most I-Ds might want to use.
(Here they are set differently than their defaults in xml2rfc v1.32) -->
<?rfc strict="yes" ?>
<!-- give errors regarding ID-nits and DTD validation -->
<!-- control the table of contents (ToC) -->
<?rfc toc="yes"?>
<!-- generate a ToC -->
<?rfc tocdepth="4"?>
<!-- the number of levels of subsections in ToC. default: 3 -->
<!-- control references -->
<?rfc symrefs="yes"?>
<!-- use symbolic references tags, i.e, [RFC2119] instead of [1] -->
<?rfc sortrefs="yes" ?>
<!-- sort the reference entries alphabetically -->
<!-- control vertical white space
(using these PIs as follows is recommended by the RFC Editor) -->
<?rfc compact="yes" ?>
<!-- do not start each main section on a new page -->
<?rfc subcompact="no" ?>
<!-- keep one blank line between list items -->
<!-- end of list of popular I-D processing instructions -->
<rfc category="info" docName="draft-uri-acr-extension-04" ipr="trust200902">
  <!-- category values: std, bcp, info, exp, and historic
  ipr values: full3667, noModification3667, noDerivatives3667
  you can add the attributes updates="NNNN" and obsoletes="NNNN"
  they will automatically be output with "(if approved)" -->

  <!-- ***** FRONT MATTER ***** -->

  <front>
    <!-- The abbreviated title is used in the page header - it is only necessary if the
    full title is longer than 39 characters -->

    <title abbrev="Abbreviated Title">The acr URI for anonymous users</title>

    <!-- add 'role="editor"' below for the editors if appropriate -->
    <!-- Another author who claims to be an editor -->

    <author fullname="Sune Jakobsson" initials="S.J." role="editor"
      surname="Jakobsson">
      <organization>Telenor ASA Digital Services</organization>
      <address>
        <postal>
          <street>Otto Nielsens vei 12</street>
          <!-- Reorder these if your country does things differently -->
          <city>Trondheim</city>
          <region></region>
          <code>7004</code>
          <country>Norway</country>
        </postal>
        <phone>+47 995 17 017</phone>
        <email>sune.jakobsson@telenor.com</email>
        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>

    <author fullname="Kevin Smith" initials="K.S." role="editor"
      surname="Smith">
      <organization>Vodafone-Group (R&amp;D)</organization>
      <address>
        <postal>
          <street>One Kingdom Street</street>
          <!-- Reorder these if your country does things differently -->
          <city>London</city>
          <region></region>
          <code>WC2R 0RJ</code>
          <country>UK</country>
        </postal>
        <phone>+44 78 251 06 554</phone>
        <email>kevin.smith@vodafone.com</email>
        <!-- uri and facsimile elements may also be added -->
      </address>
    </author>

    <date month="March" year="2012" />

    <!-- If the month and year are both specified and are the current ones, xml2rfc will fill
    in the current day for you. If only the current year is specified, xml2rfc will fill
    in the current day and month for you. If the year is not the current one, it is
    necessary to specify at least a month (xml2rfc assumes day="1" if not specified for the
    purpose of calculating the expiry date).  With drafts it is normally sufficient to
    specify just the year. -->

    <!-- Meta-data Declarations -->

    <area>General</area>

    <workgroup>Network Working Group</workgroup>

    <!-- WG name at the upperleft corner of the doc,
    IETF is fine for individual submissions.
    If this element is not present, the default is "Network Working Group",
    which is used by the RFC Editor as a nod to the history of the IETF. -->

    <keyword>ACR</keyword>
    <keyword>URI</keyword>
    <keyword>anonymous</keyword>
    <keyword>customer</keyword>
    <keyword>identifier</keyword>

    <!-- Keywords will be incorporated into HTML output
    files in a meta tag but they have no effect on text or nroff
    output. If you submit your draft to the RFC Editor, the
    keywords will be used for the search engine. -->

    <abstract>
      <t>This document specifies the URI (Uniform Resource Identifier) scheme "acr".
        The "acr" URI describes an anonymous reference, that can be mapped to a resource or user.
      </t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">
      <t>This document specifies the URI (Uniform Resource Identifier) scheme "acr".
      	This URI scheme is intended as an extension to the "tel:" scheme but without disclosing the true identity of a reference or a user.
        The "acr" URI describes an anonymous reference, that can be mapped to a resource or a user.
        There are multiple situations where the true identity of a user or a resources can not be disclosed.
        The "acr" URI is a globally unique identifier ( "name" ) only;
        it does not describe the steps necessary to reach the user or the device.
        However it can contain a parameter indication what body or organisation that could resolve it.
        It is intended for privacy protection, where a user trusts a translating party,
        that can route or forward the request or message to the true user or resource.
      </t>

    </section>

    <section title="Terminology">
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
        "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
        document are to be interpreted as described in <xref target="RFC2119">RFC 2119</xref>
      and indicate the requirements levels for compliant implementations.</t>
    </section>

    <section title="URI syntax">

      <t>The URI is defined using AB-NF (Augmented Backus-Naur Form)
        as described in <xref target="RFC5234">RFC 5234</xref>
      and uses elements from the core definitions (appendix A of RFC 5234).</t>

    <t>The syntax definition follows <xref target="RFC3986">RFC 3986</xref>, indicating the
    actual characters contained in the URI.  If the reserved characters
    "+", ";", "=", and "?" are used as delimiters between components of
    the "tel" URI, they MUST NOT be percent encoded.  These characters
  MUST be percent encoded if they appear in tel URI parameter values.</t>

  <t>Characters other than those in the "reserved" and "unsafe" sets (see
    <xref target="RFC3986">RFC 3986</xref> ) are equivalent to their "% HEX HEX" percent
  encoding.</t>

  <t>The "acr" URI has the following syntax:</t>

  <figure align="center" anchor="abnf_acr">
    <artwork type="abnf">

acr-uri         = "acr:" anonymous-customer-reference                 
anonymous-customer-reference = 1*alphanum *par                        
par             = parameter / network-code / acr-type / domainname                  
network-code    = ";ncc=" 1*uric 
acr-type        = ";type=" 1*( "DYNA" / "STAT" )                                        
domainname      = ";domain=" *( domainlabel "." ) toplabel [ "." ]       
domainlabel     = alphanum                                               
                        / alphanum *( alphanum / "-" ) alphanum          
toplabel        = ALPHA / ALPHA *( alphanum / "-" ) alphanum             
parameter       = ";" pname [ "=" pvalue ]                               
pname           = 1*( alphanum / "-" )                                   
pvalue          = 1*paramchar                                            
paramchar       = param-unreserved / unreserved / pct-encoded            
unreserved      = alphanum / mark                                        
mark            = "-" / "_" / "." / "!" / "~" / "*" / "'" / "(" / ")"    
pct-encoded     = "%" HEXDIG HEXDIG                                      
param-unreserved= "[" / "]" / "/" / ":" / "&amp;" / "+" / "$"                
alphanum        = ALPHA / DIGIT                                          
reserved        = ";" / "/" / "?" / ":" / "@" / "&amp;" / "=" / "+" / "$"    
                / ","                                                    
uric            = reserved / unreserved / pct-encoded                    
DIGIT           = "0" / "1" / "2" / "3" / "4" / "5" / "6" / "7" / "8"    
                / "9"                                                    
HEXDIG          = DIGIT / "A" / "B" / "C" / "D" / "E" / "F" / "a"        
                / "b" / "c" / "d" / "e" / "f"                            
ALPHA           = lowalpha / upalpha                                     
lowalpha        = "a" / "b" / "c" / "d" / "e" / "f" / "g" / "h" / "i"    
                / "j" / "k" / "l" / "m" / "n" / "o" / "p" / "q" / "r"    
                / "s" / "t" / "u" / "v" / "w" / "x" / "y" / "z"          
upalpha         = "A" / "B" / "C" / "D" / "E" / "F" / "G" / "H" / "I"    
                / "J" / "K" / "L" / "M" / "N" / "O" / "P" / "Q" / "R"    
                / "S" / "T" / "U" / "V" / "W" / "X" / "Y" / "Z"          
                                                                         

    </artwork>
  </figure>

  <t>The "anonymous-subscriber-identifier" can be created from some suitable user or customer
    data such as, phone number, and validation date.
    In order to provide anonymisation, this data MUST not be included unchanged within the ACR.
    Rather it MUST be encrypted, hashed, represented by a look-up reference or otherwise obfuscated.
    The issuing provider is responsible for unreferencing the ACR to the user or resource.
  For example the SHA-256 algorithm can hash the sensitive data:</t>

  <t>SHA256("")= e3b0c442 98fc1c14 9afbf4c8 996fb924 27ae41e4 649b934c a495991b 7852b855</t>

  <t>In order to know who issued the "acr" identifier, the Network Code or domain name MUST be included,
    for cross-operator identification and to ensure it is known which entity can deference the ACR.
    In addition a network country identifier MUST be provided (either as part of the network code,
    or separately) to avoid confusion where networks operate in multiple countries.
    A URI for ACR documentation MAY be included; for example, to discover further meta-data,
  or to list the service endpoints which can consume the ACR. </t>

  <t>The "network code" (ncc) is for mobile networks a concatenation of "mobile country code" (MCC)
  and "mobile network code" (MNC) as defined in ITU-T RECOMMENDATION E.212</t>
  <t>As an example of ncc for Vodafone in UK, consists of MCC=234 and MNC=15 would concatenate to ncc=23415</t>

  <t>The acr-type indicates if the ACR is a static type or a temporary type.</t>

</section>

<section anchor="Examples" title="Examples">

  <t>acr:0123456890123456789 This URI points to a user. for network internal use only since the network code is not provided</t>
  <t>acr:0123456890123456789;ncc=123  This URI points to a user belonging to network 123</t>
  <t>acr:0123456890123456789;ncc=23415;type=DYNA This temporal URI points to a user or group of users and can be resolved by the Vodafone mobile network in UK. </t>

  <t>acr:0123456890123456789;ncc=123 This URI points to a group of users belonging to network 123. </t>
  <t>   Note that the fact that more than one user is represented is not intrinsic to the acr but only known to the issuing network.</t>
  <t>acr:0123456890123456789;domain=example.com This URI points to a user belonging in domain "example.com"</t>
</section>

<section anchor="Rationale" title="Rationale">
  <section title="Privacy policies">
    <t>Existing privacy policies and legislation restrict the sharing of certain user identifiers,
      such as the MSISDN, since it may be used to breach a user&apos;s privacy (unauthorized location look-up,
    cold calling, SMS Spam etc.). An "acr" prevents such identifiers from being circulated.</t>
  </section>
  <section title="Cookie support">
    <t>Cookie support is inconsistent across mobile devices. An "acr" can help identify a returning mobile user to a Website,
    and hence facilitate the provisioning of a personalized service based on previous preferences and activity.</t>
  </section>
  <section title="Sharing identity">
    <t>Mobile, broadband and other access networks do not typically share a user identifier.
    The "acr" is not bound to a particular access network and can hence be used to provision user identifiers between networks.</t>
  </section>
  <section title="Relation to SIP">
    <t>The "acr" can help the implementation of SIP privacy considerations, as detailed in
      <xref target="RFC3323">RFC3323</xref>,
      &#8216;A Privacy Mechanism for the Session Initiation Protocol&#8217;.
      Specifically the "acr" can be used as the value for the &#8216;anonymous from&#8217; header field [section 4.1],
      and is consistent with the recommendation to remove Subject, Call-info, Organization, User Agent,
    Reply-To, In-Reply-To in [section 5.3].</t>
  </section>

</section>

<section anchor="Acknowledgements" title="Acknowledgements">

<t>This document is built on top of <xref target="RFC3966">RFC3966</xref>,
written by Henning Schulzerinne
</t>
<t>The editors of this document wishes to thank the GSMA ACCESS project
  members for their comments and suggestions.
</t>

</section>

<!-- Possibly a 'Contributors' section ... -->

<section anchor="IANA" title="IANA Considerations">
  <t>This document includes a request to IANA.</t>

  <t>The editors of this draft request the protocol scheme name "acr" to be reserved for this RFC.</t>
</section>

<section anchor="Security" title="Security Considerations">
  <t>Since the "acr" is used to protect the identity of a user or a device the
    forwarding party must not disclose information that would or can be used to reveal the
    identity of the user. However the network code or domain name will reveal some information
  of the the "acr" affiliation.</t>

  <t>The security considerations parallel those for the "tel" URI
  <xref target="RFC3966">RFC3966</xref>.</t>

  <t>Web clients and similar tools MUST NOT use the "acr" URI to place
    telephone calls or send messages without the explicit consent of the user of that
    client.  Placing calls or sending messages automatically without appropriate user
    confirmation may incur a number of risks, such as those described
  below:</t>

  <t><list style="symbols">
  <t>Calls or messages may incur costs.</t>
  <t>The URI may be used to place malicious or annoying calls.</t>
  <t>A call will take the user's phone line off-hook, thus preventing
  its use.</t>
  <t>A call may reveal the user's possibly unlisted phone number to the
    remote host in the caller identification data and may allow the
    attacker to correlate the user's phone number with other
  information, such as an e-mail or IP address.</t>
</list></t>



<t>This is particularly important for "acr" URIs embedded in HTML links,
  as a malicious party may hide the true nature of the URI in the link
text, as in</t>

<figure>
  <artwork><![CDATA[
    <a href="acr:123456">Find free information here</a>
    <a href="acr:123456">Call RFC organization for help</a>
  ]]></artwork>
</figure>
<t>"acr" URIs may reveal private information, similar to including phone
  numbers as text.  However, the presence of the "acr" schema identifier
  may make it easier for an adversary using a search engine to discover
  these numbers, and hence search engines should avoid indexing these identifiers.

</t>
</section>
</middle>

<!--  *****BACK MATTER ***** -->

<back>
  <!-- References split into informative and normative -->

  <!-- There are 2 ways to insert reference entries from the citation libraries:
  1. define an ENTITY at the top, and use "ampersand character"RFC2629; here (as shown)
  2. simply use a PI "less than character"?rfc include="reference.RFC.2119.xml"?> here
  (for I-Ds: include="reference.I-D.narten-iana-considerations-rfc2434bis.xml")

  Both are cited textually in the same manner: by using xref elements.
  If you use the PI option, xml2rfc will, by default, try to find included files in the same
  directory as the including file. You can also define the XML_LIBRARY environment variable
  with a value containing a set of directories to search.  These can be either in the local
  filing system or remote ones accessed by http (http://domain/dir/... ).-->

  <references title="Normative References">
    <!--?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml"?-->
    &RFC2119;

    <reference anchor='RFC3323'>

      <front>
        <title>A Privacy Mechanism for the Session Initiation Protocol (SIP)</title>
        <author initials='J.' surname='Peterson' fullname='J. Peterson'>
        <organization /></author>
      <date year='2002' month='November' /></front>

      <seriesInfo name='RFC' value='3323' />
      <format type='TXT' octets='54116' target='ftp://ftp.isi.edu/in-notes/rfc3323.txt' />
    </reference>

    <reference anchor='RFC3966'>

      <front>
        <title>The tel URI for Telephone Numbers</title>
        <author initials='H.' surname='Schulzrinne' fullname='H. Schulzrinne'>
        <organization /></author>
        <date year='2004' month='December' />
        <abstract>
        <t>This document specifies the URI (Uniform Resource Identifier) scheme "tel".  The "tel" URI describes resources identified by telephone numbers.  This document obsoletes RFC 2806. [STANDARDS TRACK]</t></abstract></front>

        <seriesInfo name='RFC' value='3966' />
        <format type='TXT' octets='40783' target='ftp://ftp.isi.edu/in-notes/rfc3966.txt' />
      </reference>

      <reference anchor='RFC5234'>

        <front>
          <title>Augmented BNF for Syntax Specifications: ABNF</title>
          <author initials='D.' surname='Crocker' fullname='D. Crocker'>
          <organization /></author>
          <author initials='P.' surname='Overell' fullname='P. Overell'>
          <organization /></author>
          <date year='2008' month='January' />
          <abstract>
          <t>Internet technical specifications often need to define a formal syntax.  Over the years, a modified version of Backus-Naur Form (BNF), called Augmented BNF (ABNF), has been popular among many Internet specifications.  The current specification documents ABNF.  It balances compactness and simplicity with reasonable representational power.  The differences between standard BNF and ABNF involve naming rules, repetition, alternatives, order-independence, and value ranges.  This specification also supplies additional rule definitions and encoding for a core lexical analyzer of the type common to several Internet specifications. [STANDARDS TRACK]</t></abstract></front>

          <seriesInfo name='STD' value='68' />
          <seriesInfo name='RFC' value='5234' />
          <format type='TXT' octets='26359' target='ftp://ftp.isi.edu/in-notes/rfc5234.txt' />
        </reference>

      </references>

      <references title="Informative References">

        <!-- A reference written by by an organization not a person. -->

        <reference anchor='RFC3986'>

          <front>
            <title abbrev='URI Generic Syntax'>Uniform Resource Identifier (URI): Generic Syntax</title>
            <author initials='T.' surname='Berners-Lee' fullname='Tim Berners-Lee'>
              <organization abbrev='W3C/MIT'>World Wide Web Consortium</organization>
              <address>
                <postal>
                  <street>Massachusetts Institute of Technology</street>
                  <street>77 Massachusetts Avenue</street>
                  <city>Cambridge</city>
                  <region>MA</region>
                  <code>02139</code>
                <country>USA</country></postal>
                <phone>+1-617-253-5702</phone>
                <facsimile>+1-617-258-5999</facsimile>
                <email>timbl@w3.org</email>
              <uri>http://www.w3.org/People/Berners-Lee/</uri></address></author>
              <author initials='R.' surname='Fielding' fullname='Roy T. Fielding'>
                <organization abbrev='Day Software'>Day Software</organization>
                <address>
                  <postal>
                    <street>5251 California Ave., Suite 110</street>
                    <city>Irvine</city>
                    <region>CA</region>
                    <code>92617</code>
                  <country>USA</country></postal>
                  <phone>+1-949-679-2960</phone>
                  <facsimile>+1-949-679-2972</facsimile>
                  <email>fielding@gbiv.com</email>
                <uri>http://roy.gbiv.com/</uri></address></author>
                <author initials='L.' surname='Masinter' fullname='Larry Masinter'>
                  <organization abbrev='Adobe Systems'>Adobe Systems Incorporated</organization>
                  <address>
                    <postal>
                      <street>345 Park Ave</street>
                      <city>San Jose</city>
                      <region>CA</region>
                      <code>95110</code>
                    <country>USA</country></postal>
                    <phone>+1-408-536-3024</phone>
                    <email>LMM@acm.org</email>
                  <uri>http://larry.masinter.net/</uri></address></author>
                  <date year='2005' month='January' />
                  <area>Applications</area>
                  <keyword>uniform resource identifier</keyword>
                  <keyword>URI</keyword>
                  <keyword>URL</keyword>
                  <keyword>URN</keyword>
                  <keyword>WWW</keyword>
                  <keyword>resource</keyword>
                  <abstract>
                    <t>
                      A Uniform Resource Identifier (URI) is a compact sequence of characters
                      that identifies an abstract or physical resource.  This specification
                      defines the generic URI syntax and a process for resolving URI references
                      that might be in relative form, along with guidelines and security
                      considerations for the use of URIs on the Internet.
                      The URI syntax defines a grammar that is a superset of all valid URIs,
                      allowing an implementation to parse the common components of a URI
                      reference without knowing the scheme-specific requirements of every
                      possible identifier.  This specification does not define a generative
                      grammar for URIs; that task is performed by the individual
                      specifications of each URI scheme.
                    </t></abstract></front>

                    <seriesInfo name='STD' value='66' />
                    <seriesInfo name='RFC' value='3986' />
                    <format type='TXT' octets='141811' target='ftp://ftp.isi.edu/in-notes/rfc3986.txt' />
                    <format type='HTML' octets='213584' target='http://xml.resource.org/public/rfc/html/rfc3986.html' />
                    <format type='XML' octets='163534' target='http://xml.resource.org/public/rfc/xml/rfc3986.xml' />
                  </reference>

                </references>
                <!--
                <section anchor="app-additional" title="Additional Stuff">
                <t>This becomes an Appendix.</t>
                </section>
                -->

                <!-- Change Log

                v00 2009-11-14  SJ   Initial version
                v01 2009-11-25  SJ   Added comments
                v01 2010-04-20  SJ   Replaced 2234 with 5234 and 2396 with 3986, and removed Frode
                v02 2011-01-25  SJ   Redid ncc, and added suggestions from Kevin, ref e-mail 26th of January 2011
                v03 2011-07-11  SJ   Corrected grammar, ref e-mail from Uwe 9th of June 2011
                    2011-07-13  SJ   Corrected & with &amp; and a hanging <reference>, so that strict checking is ok.
                -->
              </back>
            </rfc>
