<?xml version='1.0' encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM 'rfc2629.dtd'>

<rfc number="4969" category="std">

    <?rfc toc='yes' ?>
    <?rfc rfcedstyle='yes' ?>
    <?rfc subcompact='no' ?>
    <?rfc symrefs='no' ?>

    <front> 
      <title abbrev='vCard Enumservice'>
        IANA Registration for vCard Enumservice 
      </title>
      
      <author initials='A.' surname='Mayrhofer' fullname='Alexander Mayrhofer'>
        <organization abbrev='enum.at'>
          enum.at GmbH
        </organization>
        <address>
          <postal>
            <street>Karlsplatz 1/9</street>
            <city>Wien</city>
            <code>A-1010</code>
            <country>Austria</country>
          </postal>
          <phone>+43 1 5056416 34</phone>
          <email>alexander.mayrhofer@enum.at</email>
          <uri>http://www.enum.at/</uri>
        </address>
      </author>

      <date month='August' year='2007' />
      <area>RAI</area>
      <workgroup>ENUM -- Telephone Number Mapping Working Group</workgroup>

<!-- [rfced] Please insert any additional keywords for
use on www.rfc-editor.org/search.html -->

      <keyword>ENUM</keyword>
      <keyword>Enumservice</keyword>
      <keyword>vCard</keyword>
      
      <abstract>
        <t>This memo registers the Enumservice "vCard" 
	using the URI schemes 
	"http" and "https".
	This Enumservice is to be
	used to refer from an ENUM domain name to a vCard instance 
	describing the user of the respective E.164 number.
	</t>
	<t>Information gathered from those vCards could be used 
	before, during, or after inbound or outbound communication
	takes place. For example, a callee might be presented with 
	the name and association of the caller before picking up 
	the call.
	</t>
      </abstract>
    </front>
    
    <middle>

      <section anchor='intro' title='Introduction'>
        <t><xref target='RFC3761'>E.164 Number Mapping (ENUM)</xref> uses 
	the <xref target='RFC1035'>Domain Name System (DNS)</xref>
        to refer from <xref target='refs.E164'>E.164 numbers</xref>
        to <xref target='RFC3986'>Uniform Resource Identifiers (URIs)</xref>. 
        The registration process for 
	Enumservices is described in Section 3 of RFC 3761.
        </t>
	<t><xref target='RFC2426'>"vCard"</xref> is a transport-independent data format for the exchange of information about
	an individual.
	For the purpose of this document, the term "vCard" refers to 
	a specific instance of this data format -- an "electronic business 
	card". vCards are exchanged via several 
	protocols; most commonly, they are distributed as  
	electronic mail attachments or published on 
	web servers. Most popular personal information manager 
	applications are capable of reading and writing vCards.
	</t>

	<t>The Enumservice specified in this document deals with 
	the relation between an E.164 number and vCards. 
	An ENUM record using this Enumservice identifies a resource
	from where a vCard corresponding to the respective E.164 number 
	could be fetched. 
	</t>
	<t>Clients could use those resources to, e.g., automatically update
	local address books (a Voice over IP phone could try to fetch
	vCards for all outbound and inbound calls taking place on that phone
	and display them together with the call journal). 
	In a more integrated scenario, information gathered from 
	those vCards could even be automatically incorporated
	into the personal information manager application of the 
	respective user. </t>
      </section>

      <section anchor='terminology' 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>.
	</t>
      </section>

      <section anchor='enumreg' title='ENUM Service Registration - vCard'>

        <t>Enumservice Name: "vCard"</t>
	<t>Enumservice Type: "vcard"</t>
	<t>Enumservice Subtype: n/a</t>
	<t>URI Schemes: "http", "https"</t>

<?rfc needLines="6"?>
	<t>Functional Specification:
	<list style='empty'>
	   <t>This Enumservice indicates that the resource identified 
	   is a plain vCard, according to RFC 2426, which may be accessed 
	   using <xref target='RFC2616'>HTTP/HTTPS</xref>.
	   </t>
	   <t>
	   Clients fetching the vCard from the resource indicated
	   should expect access to be restricted.
	   Additionally, the 
	   comprehension of the data provided may vary depending on 
	   the client's identity. 
	   </t>
	</list>
	</t>
	<t>Security Considerations: see <xref target='security'/></t>
	<t>Intended Usage: COMMON</t>
	<t>Author: Alexander Mayrhofer 
	&lt;alexander.mayrhofer@enum.at&gt;
	</t>
      </section>

      <section anchor='examples' title='Example'>
        <t>An example ENUM entry referencing to a vCard could look like:
<artwork>
   $ORIGIN 6.4.9.0.6.4.9.7.0.2.4.4.e164.arpa.
   @  IN NAPTR 100 10 "u" "E2U+vcard" 
   "!^.*$!http://example.net/vcard.vcf!" .
	</artwork></t>

	<t>(Note: Due to line-length constraints, the example record above 
	is split into three lines.)</t>

      </section>

      <section anchor='security' title='Security and Privacy Considerations'>
        <t>As with any Enumservice, the security considerations of ENUM 
	itself (Section 6 of RFC 3761) apply.
	</t>

        <section anchor='secrecord' title='The ENUM Record Itself'>
        <t>Since ENUM uses DNS -- a publicly available database -- 
	any information contained in records provisioned in ENUM domains
	must be considered public as well. Even after revoking the DNS entry 
	and removing the referred resource, copies of the information could
	still be available. </t>
	<t>
	Information published in 
	ENUM records could reveal associations between E.164 numbers and 
	their owners - especially if URIs contain personal identifiers 
	or domain names for which ownership information 
	can be obtained easily.
	For example, the following URI makes it easy to guess 
	the owner of an E.164 number, as well as his location and 
	association, by just examining
	the result from the ENUM lookup:
	<list>
	  <t>http://sandiego.company.example.com/joe-william-user.vcf</t>
	</list>
	</t>

	<t>However, it is important to note that the ENUM record itself
	does not need to contain any personal information. It just points
	to a location where access to personal information could be granted.
	For example, the following URI only reveals the service provider 
	hosting the vCard (who probably even provides anonymous hosting):
	<list>
	  <t>http://anonhoster.example.org/file_adfa001.vcf</t>
	</list>
	</t>

	<t>ENUM records pointing 
	to third-party resources can easily be provisioned on purpose 
	by the ENUM domain owner - so any assumption
	about the association between a number and an entity could 
	therefore be completely bogus unless some kind of identity
	verification is in place. This verification is out of scope for
	this memo.</t>
	</section>

	<section anchor='secresource' title='The Resource Identified'>
	<t>In most cases, vCards provide information about individuals.
	Linking telephone numbers to such Personally Identifiable Information 
	(PII) is a very sensitive topic, because it provides 
	a "reverse lookup" from the number to its owner.
	Publication of such PII is covered by data-protection law in 
	many legislations. In most cases, the 
	explicit consent of the affected individual is required. 
	</t>
	<t>
	Users MUST therefore carefully consider information they
	provide in the resource identified by the
	ENUM record as well as in the record itself. 
	Considerations SHOULD include serving information only to entities 
	of the user's choice and/or limiting the comprehension of the 
	information provided based on the identity of the requestor.</t>
	<t>
	The use of HTTP in this Enumservice allows using built-in 
	authentication,
	authorization, and session control mechanisms to be used to 
	maintain access controls on vCards. 
	Most notable, <xref target='RFC2617'>Digest Authentication
	</xref> could be used to challenge requestors, and even synthesize 
	vCards based on the client's identity (or refuse access entirely).
	This could especially be useful in private ENUM deployments (like 
	within enterprises),
	where clients would more likely have a valid credential to access
	the indicated resource.
	</t>
	<t>Even public deployments could synthesize vCards based on the 
	identity of the client. Social network sites, for example, could 
	(based on HTTP session data like <xref target='RFC2965'>cookies</xref>)
	provide more comprehensive vCards 
	to their members than to anonymous clients.
	</t>
	<t>If access restrictions on the vCard resource are deployed, 
	standard HTTP authentication, authorization, and state management 
	mechanisms (as described in RFCs 2617 and 2695) MUST be used 
	to enforce those restrictions.
	HTTPS SHOULD be preferred if the deployed mechanisms 
	are prone to eavesdropping and replay attacks.
	</t>
        <t>ENUM deployments using this Enumservice together with 
	<xref target='RFC4033'>DNS Security Extensions (DNSSEC)</xref> 
	should consider using <xref target='RFC4470'>Minimally Covering 
	NSEC Records
	</xref> to prevent zone walking, as the PII data contained
	in vCards constitutes a rich target for such attempts.
	</t>
	</section>
    </section>

    <section anchor='iana' title='IANA Considerations'>
      <t>This memo requests registration of the "vCard" Enumservice
      according to the template in <xref target='enumreg'/> of this 
      document
      and the definitions in <xref target='RFC3761'>RFC 3761</xref>.</t>
    </section>

    <section anchor='ack' title='Acknowledgements'>
      <t>The author wishes to thank David Lindner for his contributions during
      the early stages of this document. In addition, Klaus Nieminen, 
      Jon Peterson, Ondrej Sury, and Ted Hardie provided very helpful 
      suggestions.
      </t>
    </section>
  </middle>
  
  <back>
    <references title='Normative References'>

      <?rfc include="reference.RFC.3761" ?>
      <?rfc include="reference.RFC.1035" ?>

      <reference anchor='refs.E164'>
        <front>
          <title abbrev='E.164 (02/05)'>The international public telecommunication numbering plan</title>
          <author initials='' surname='' fullname=''>
            <organization abbrev='ITU-T'>ITU-T</organization>
          </author>
          <date month='Feb' year='2005'/>
        </front>
        <seriesInfo name='Recommendation' value='E.164 (02/05)'/>
      </reference>

      <?rfc include="reference.RFC.2426" ?>
      <?rfc include="reference.RFC.2119" ?>

    </references>

    <references title='Informative References'>
      <?rfc include="reference.RFC.3986" ?>
      <?rfc include="reference.RFC.2616" ?>
      <?rfc include="reference.RFC.2617" ?>
      <?rfc include="reference.RFC.2965" ?>
      <?rfc include="reference.RFC.4033" ?>
      <?rfc include="reference.RFC.4470" ?>
    </references>

  </back>
  
</rfc>

