Skip to main content

Identity Registry (idreg)
draft-wendt-modern-identity-registry-00

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft whose latest revision state is "Expired".
Author Chris Wendt
Last updated 2016-10-31
RFC stream (None)
Formats
Additional resources
Stream Stream state (No stream defined)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-wendt-modern-identity-registry-00
modern                                                          C. Wendt
Internet-Draft                                                   Comcast
Intended status: Standards Track                        October 31, 2016
Expires: May 4, 2017

                       Identity Registry (idreg)
                draft-wendt-modern-identity-registry-00

Abstract

   This document will describe an approach for how a distributed
   identity registry model might look.  It will consider both public
   registry components of the data model necessary for routing calls
   from one globally routable identity to another.  It will also
   consider part of the private registry components a provider may need
   to manage associations with users or customers.  Other topics include
   provider associations, application or service association, and the
   ability to support multiple identities associated with a user/
   subscriber (e.g. telephone number and e-mail identity).

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on May 4, 2017.

Copyright Notice

   Copyright (c) 2016 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect

Wendt                      Expires May 4, 2017                  [Page 1]
Internet-Draft                    idreg                     October 2016

   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   3
   3.  Overview  . . . . . . . . . . . . . . . . . . . . . . . . . .   3
     3.1.  Identity Data Model . . . . . . . . . . . . . . . . . . .   3
     3.2.  Other identity registry attributes  . . . . . . . . . . .   4
   4.  Message and Control Flows . . . . . . . . . . . . . . . . . .   5
     4.1.  Queries . . . . . . . . . . . . . . . . . . . . . . . . .   5
     4.2.  Allocation/Assignment . . . . . . . . . . . . . . . . . .   5
       4.2.1.  Example . . . . . . . . . . . . . . . . . . . . . . .   5
     4.3.  Update Entry/Port . . . . . . . . . . . . . . . . . . . .   6
     4.4.  Removal/de-allocation . . . . . . . . . . . . . . . . . .   6
   5.  Security Considerations . . . . . . . . . . . . . . . . . . .   6
   6.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   6
   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   6
     7.1.  Normative References  . . . . . . . . . . . . . . . . . .   6
     7.2.  Informative References  . . . . . . . . . . . . . . . . .   6
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .   7

1.  Introduction

   There are many useful VoIP and user to user communications
   applications that desire the ability to provide services that don't
   depend on a single entity or provider to manage the end-to-end
   identities associated with that application.  For example, using the
   VoIP protocol, SIP [RFC3261], the telephone network provides a
   federated mechanism that using a publicly known identity, the
   telephone number, a customer of a telephone provider A can call a
   customer of telephone provider B based on managed routing databases
   and routing rules.  XMPP [RFC6120] is another example of a protocol
   that allowed federation of communications based on the username and
   domain of the host of the XMPP server.  Each of these examples uses
   service specific databases or registries that are generally protocol
   or application specific, however today application providers general
   provide many applications or services for a user which generally
   share the use of common communications identities like telephone
   numbers, e-mail identities, or identities associated with web based
   IdPs.

Wendt                      Expires May 4, 2017                  [Page 2]
Internet-Draft                    idreg                     October 2016

2.  Terminology

   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 [RFC2119].

3.  Overview

   The identity registry model proposed in this document supports the
   model where there are a few actors in the model relevant to providing
   communications services.

   o  Provider - An entity that provide a service to customers and
      manages there identity in the network.

   o  User/Subscriber - The entity that is using the services of the
      provider.

   o  Service Identity - A globally unique identifier representing a
      application or service being made available to users/subscribers
      by multiple providers.

   o  Public Identity - A publicly known identity that the user
      associates with a service.  This identity must be globally unique
      to a user/subscriber.  It must also be provably associated to a
      given user/subscriber that claims the association.

   o  Routing Identity - A uniquely and globally routable identity used
      specifically in signaling calls between users.

   This data model can be used to build the shared data between
   providers that support the federated service in order for users that
   are associated with one provider to call another provider.

3.1.  Identity Data Model

Wendt                      Expires May 4, 2017                  [Page 3]
Internet-Draft                    idreg                     October 2016

                             ___________
                            |           |
                            |   User/   |\
                            | Subscriber|  \
                            | (Private) |    \
                            |___________|    Uses Services of
                                  |           ___\_______
                                  |           |          |
                            Subscribes to     | Provider |
                                  |           |__________|
                             _____|_____       /
                            |           |  Offers a
                            | Service   |  /
                            | Identity  |/
                            |___________|
                                  |
                                  |
                          Using (one or more)
                                  |
                 _________________|___________________
            _____|_____      _____|_____        _____|_____
           |           |    |           |      |           |
           |  Public   |    |  Public   |      |  Public   |
           | Identity 1|    | Identity 2|  ... | Identity N|
           |___________|    |___________|      |___________|
                 |________________|__________________|
                                  |
                       is network addressable by
                              ____|_____
                             |          |
                             | Routing  |
                             | Identity |
                             |__________|

3.2.  Other identity registry attributes

   The identity registry MUST support functions such as the following:

   o  The ability to query for available/unused identities for the
      purposes of either identifying conflicts before committing to the
      registry or identify unused identities that are part of a pool
      (e.g. telephone numbers)

   o  The ability to allocate identities for future use at individual
      levels or at block levels, such as NPA-NXX level telephone numbers
      or perhaps wildcard identities, e.g. *@example.com.

Wendt                      Expires May 4, 2017                  [Page 4]
Internet-Draft                    idreg                     October 2016

   o  The ability to update/transfer/port identities from one provider
      to another provider.

   o  The ability to digitally sign transactions to a provider for
      validation of legitimate transactions.  Or forensic analysis of
      illegitimate transactions.

   It is anticipated that this identity registry would be used with
   [I-D.wendt-modern-drip] for supporting a continuously and timely
   updated local registry for a given service identity the provider is
   offering.

4.  Message and Control Flows

4.1.  Queries

   Typical queries for finding a globally routable identity should be in
   the context of a public identity and service identity for an
   allocated routing identity.

4.2.  Allocation/Assignment

   When a provider customer has decided to allocate a given single or
   block level set of telephone numbers there is a PUT command that
   allocates the number, given the number wasn't already allocated
   between the GET and the PUT.  As a result of a successful allocation,
   the telephone number will be removed from the unallocated bucket.

4.2.1.  Example

   As part of the allocation, the service provider will be required to
   provide following information:

   o  publicID: telephone number in e.164 format (e.g., +12155551212).

   o  serviceID: "voip" by default, other services potentially in
      future.

   o  routingID: SIP URI with telephone number + domain representing
      service provider of record (e.g.,
      sip:+12155551212@voip.example.com).

   o  timestamp: a timestamp retrieved from a common NTP server
      representing time of allocation, used for validating which service
      provider allocated first in race condition scenarios, and just for
      logging and historical reference in general.

   o  x5u: used for validation of signature

Wendt                      Expires May 4, 2017                  [Page 5]
Internet-Draft                    idreg                     October 2016

   o  signature: using a provider level [RFC5280] based private key/
      certificate, the provider MUST sign the information above to
      validate the change to the registry.

4.3.  Update Entry/Port

   If a provider needs to update information related to an allocated
   entry, such as adding a publicID, modify routingID, etc.  or if there
   is a port where a new service provider will overwrite the entry with
   new information, the API should be the same.

   There is a GET operation to read the current entry information, if
   the provider needs this information, (e.g., read/modify/write).
   There also is a PUT operation that will write the updated entry
   information.  This will require a new timestamp and signature to
   validate the security of the operation and logging/historical
   purposes.

4.4.  Removal/de-allocation

   If a provider wants to remove an entry for the case where a customer
   removes his service and no longer wants to own or associate a public
   identity, a DELETE operation will be provided that will delete the
   entry, and for the case of a telephone number, will put the telephone
   number back in the pool of unallocated numbers.

5.  Security Considerations

   TBD

6.  Acknowledgements

   Thanks to Harsha Bellur for collaboration on developing this model
   and it's implementation.

7.  References

7.1.  Normative References

   [I-D.wendt-modern-drip]
              Bellur, H. and C. Wendt, "Distributed Registry Protocol",
              draft-wendt-modern-drip-01 (work in progress), July 2016.

7.2.  Informative References

Wendt                      Expires May 4, 2017                  [Page 6]
Internet-Draft                    idreg                     October 2016

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <http://www.rfc-editor.org/info/rfc2119>.

   [RFC3261]  Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,
              A., Peterson, J., Sparks, R., Handley, M., and E.
              Schooler, "SIP: Session Initiation Protocol", RFC 3261,
              DOI 10.17487/RFC3261, June 2002,
              <http://www.rfc-editor.org/info/rfc3261>.

   [RFC5280]  Cooper, D., Santesson, S., Farrell, S., Boeyen, S.,
              Housley, R., and W. Polk, "Internet X.509 Public Key
              Infrastructure Certificate and Certificate Revocation List
              (CRL) Profile", RFC 5280, DOI 10.17487/RFC5280, May 2008,
              <http://www.rfc-editor.org/info/rfc5280>.

   [RFC6120]  Saint-Andre, P., "Extensible Messaging and Presence
              Protocol (XMPP): Core", RFC 6120, DOI 10.17487/RFC6120,
              March 2011, <http://www.rfc-editor.org/info/rfc6120>.

Author's Address

   Chris Wendt
   Comcast
   One Comcast Center
   Philadelphia, PA  19103
   USA

   Email: chris-ietf@chriswendt.net

Wendt                      Expires May 4, 2017                  [Page 7]