Network Working Group                                        J. Peterson
Internet-Draft                                                   Neustar
Intended status: Informational                                  C. Wendt
Expires: September 22, 2016                                      Comcast
                                                          March 21, 2016


                   PASSporT Extension for Caller Name
                    draft-peterson-stir-cnam-00.txt

Abstract

   This document extends the PASSporT object, which conveys
   cryptographically-signed information about the people involved in
   personal communications, to include a human-readable display name
   comparable to the "Caller ID" function common on the telephone
   network.

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 September 22, 2016.

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
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of




Peterson & Wendt       Expires September 22, 2016               [Page 1]


Internet-Draft              STIR Caller Name                  March 2016


   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.  PASSporT 'cna' Claim  . . . . . . . . . . . . . . . . . . . .   3
   4.  Using 'cna' in SIP  . . . . . . . . . . . . . . . . . . . . .   4
     4.1.  Authentication Service Behavior . . . . . . . . . . . . .   4
     4.2.  Verification Service Behavior . . . . . . . . . . . . . .   4
   5.  Third Party Uses  . . . . . . . . . . . . . . . . . . . . . .   5
   6.  Further Information Associated with Callers . . . . . . . . .   5
   7.  Acknowledgments . . . . . . . . . . . . . . . . . . . . . . .   6
   8.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   6
   9.  Security Considerations . . . . . . . . . . . . . . . . . . .   6
   10. Informative References  . . . . . . . . . . . . . . . . . . .   6
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   7

1.  Introduction

   PASSporT [I-D.ietf-stir-passport] is a JSON object format based on
   JWT [RFC7519] for conveying cryptographically-signed information
   about the people involved in personal communications; it is used with
   STIR [I-D.ietf-stir-rfc4474bis] to convey a signed assertion of the
   identity of the participants in real-time communications established
   via a protocol like SIP.  This specification extends PASSporT to
   carry the name of the person on one side of a communications session,
   along with related display information that would typically be
   rendered to the called party during alerting.  The format in this
   document is designed to be extended with additional elements to
   convey richer information.

   In the traditional telephone network, the display name associated
   with a call is typically provided in one of three ways: by the
   originator of a call, by a third-party service queried by the
   terminating side, or through a local address book maintained by a
   device on the terminating side.  The STIR architecture lends itself
   especially to the first of these approaches, as it assumes that an
   authority on the originating side of the call provides a
   cryptographic assurance of the validity of the calling party number
   in order to prevent impersonation attacks.  That same authority could
   sign for a display name associated with that number, which the
   terminating side could render to the user when the call is alerting.
   But even when the originating side cannot provide a display name for
   the caller, the cryptographic attestation of the validity of the
   number provided by STIR allows the terminating side to query a local
   or remote service for a name associated with that number without fear



Peterson & Wendt       Expires September 22, 2016               [Page 2]


Internet-Draft              STIR Caller Name                  March 2016


   that the number has been impersonated.  This specification also
   outlines various ways that a display name for a calling party could
   be associated with a call on the terminating side in a secure
   fashion.

   The STIR problem statement [RFC7340] notes that securing the display
   name of callers is outside of STIR's immediate scope, so it includes
   no core feature for caller name.  This specification documents an
   optional extension to PASSporT and the associated STIR mechanisms to
   provide this function.

2.  Terminology

   In this document, the key words "MUST", "MUST NOT", "REQUIRED",
   "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT
   RECOMMENDED", "MAY", and "OPTIONAL" are to be interpreted as
   described in RFC 2119 [RFC2119] and RFC 6919 [RFC6919].

3.  PASSporT 'cna' Claim

   This specification defines a new JSON Web Token claim for "cna",
   which provides a display name associated with the originator of
   personal communications.  This name may for example derive from the
   display-name component of the From header field value of a SIP
   request, or a similar field in other PASSporT using protocols.

   When the "cna" claim appears in a PASSporT object, its presence
   should also be signaled by adding the "ppt" header to the PASSporT
   header object with a value of "cna".  This will look as follows:

   { "typ":"passport",
     "ppt":"cna",
     "alg":"RS256",
     "x5u":"https://www.example.com/cert.pkx" }

   The PASSporT claims object will then contain the "cna" key with its
   corresponding value.  The key syntax follows the display-name ABNF
   given in [RFC3261].

      { "otn":"12155551212",
        "dtn":"12155551213",
        "iat":"1443208345",
        "cna":"Alice A" }

   After the header and claims PASSporT objects have been constructed,
   their signature is generated normally per the guidance in
   [I-D.ietf-stir-passport].




Peterson & Wendt       Expires September 22, 2016               [Page 3]


Internet-Draft              STIR Caller Name                  March 2016


4.  Using 'cna' in SIP

   This section specifies SIP-specific usage for the "cna" claim in
   PASSporT, and in the SIP Identity header field value.  Other using
   protocols of PASSporT may define their own usages for the "cna"
   claim.

4.1.  Authentication Service Behavior

   When a PASSporT object containing a "cna" claim appears in an
   Identity header, SIP authentication services MUST add a "ppt"
   parameter to that Identity header with a value of "cna".  The
   resulting Identity header might look as follows:

  Identity: "sv5CTo05KqpSmtHt3dcEiO/1CWTSZtnG3iV+1nmurLXV/HmtyNS7Ltrg9dlxkWzo
      eU7d7OV8HweTTDobV3itTmgPwCFjaEmMyEI3d7SyN21yNDo2ER/Ovgtw0Lu5csIp
      pPqOg1uXndzHbG7mR6Rl9BnUhHufVRbp51Mn3w0gfUs="; \
          info=<https://biloxi.example.org/biloxi.cer>;alg=RS256;ppt="cna"

   A SIP authentication service typically will derive the value of "cna"
   from the display-name component of the From header field value.  It
   is however a matter of authentication service policy to decide how it
   populates the value of "cna", which might also derive from other
   fields in the request, from customer profile data or from access to
   external services.  If the authentication service generates a
   PASSporT object containing "cna" with a value that is not equivalent
   to the From header field value, it MUST include the "canon" parameter
   to the Identity header.

4.2.  Verification Service Behavior

   [I-D.ietf-stir-rfc4474bis] Section 4.2 Step 5 requires that
   specifications defining "ppt" values describe any additional verifier
   behavior.  The behavior specified for the "cna" value of "ppt" is as
   follows.  The verification service SHOULD extract the display-name
   from the From header field value, if any, and use that as the value
   for the "cna" key when it recomputes the header and claims of the
   PASSporT object.  If the signature validates over the recomputed
   object, then the verification should be considered successful.

   However, if the optional "canon" parameter appears in an Identity
   header with a "ppt" value of "cna", then the verification service
   MUST extract the value associated with the "cna" key in the object.
   If the signature validates, then the verification service can use the
   value of the "cna" key as the display name of calling party, rendered
   to alerted users or otherwise leveraged in accordance with local
   policy.  This will allow SIP networks that convey the display name




Peterson & Wendt       Expires September 22, 2016               [Page 4]


Internet-Draft              STIR Caller Name                  March 2016


   through a field other than the From header field to interoperate with
   this specification.

   The behavior of a SIP UAS upon receiving an INVITE containing a
   PASSporT object with a "cna" claim will largely remain a matter of
   implementation policy.  In most cases, implementations would render
   this calling party name information to the user while alerting.  Any
   user interface additions to express confidence in the veracity of
   this information are outside the scope of this specification.

5.  Third Party Uses

   When calling name information cannot be provided on the originating
   side, a third-party information service may be queried by the
   terminating side with the calling party's number in order to learn
   the name of the calling party.  This query could come from an
   intermediary on the terminating side, or from the terminating user
   agent, such as a smart phone.

   An intermediary use case might look as follows: a SIP INVITE carries
   a display name in its From header field value and an initial PASSporT
   object without the "cna" claim.  When the terminating verification
   service receives this request, and determines that the signature is
   valid, it might query a third-party service that maps telephone
   numbers to calling party names.  Upon receiving the response, the
   terminating side could add a new Identity to the request (effectively
   acting as an authentication service) which contains a "cna" PASSporT
   object provided by the third-party service.  If the display name in
   the "cna" PASSporT object matches the display name in the INVITE,
   then the name would presumably be rendered to the end user by the
   terminating user agent.

   Alternatively, it might be the terminating user agent that queries a
   third-party service.  In this case, no new Identity header would be
   gneerated, though the terminating user agent might receive a PASSporT
   object in return from the third-party service, and use the "cna"
   field in the object as a calling name to render to users during
   alerting.

   Detailed behavior for third-party uses is left for future versions of
   this specification.

6.  Further Information Associated with Callers

   Beyond naming information, there may be additional information about
   the calling party that should be rendered to the end user.  This may
   include information related to the location of the caller, or to any
   institutions that the caller is associated with, or even categories



Peterson & Wendt       Expires September 22, 2016               [Page 5]


Internet-Draft              STIR Caller Name                  March 2016


   of institutions.  All of these data elements would benefit from the
   secure attestations provided by the STIR and PASSporT frameworks.
   The specification of the "cna" claim could entail the optional
   presence of one or more such additional information fields.

   Details of extensions to the "cna" claim to encompass other data
   elements are left for future version of this specification.

7.  Acknowledgments

   We would like to thank YOU for contributions to this problem
   statement and framework.

8.  IANA Considerations

   This specification requests that the IANA add a new claim to the JSON
   Web Token Claims registry as defined in [RFC7519].

   Claim Name: "cna"

   Claim Description: Caller Name Information

   Change Controller: IESG

   Specification Document(s): [RFCThis]

9.  Security Considerations

   TBD.

10.  Informative References

   [I-D.ietf-stir-passport]
              Wendt, C. and J. Peterson, "Persona Assertion Token",
              draft-ietf-stir-passport-00 (work in progress), February
              2016.

   [I-D.ietf-stir-rfc4474bis]
              Peterson, J., Jennings, C., Rescorla, E., and C. Wendt,
              "Authenticated Identity Management in the Session
              Initiation Protocol (SIP)", draft-ietf-stir-rfc4474bis-07
              (work in progress), February 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>.




Peterson & Wendt       Expires September 22, 2016               [Page 6]


Internet-Draft              STIR Caller Name                  March 2016


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

   [RFC6919]  Barnes, R., Kent, S., and E. Rescorla, "Further Key Words
              for Use in RFCs to Indicate Requirement Levels", RFC 6919,
              DOI 10.17487/RFC6919, April 2013,
              <http://www.rfc-editor.org/info/rfc6919>.

   [RFC7340]  Peterson, J., Schulzrinne, H., and H. Tschofenig, "Secure
              Telephone Identity Problem Statement and Requirements",
              RFC 7340, DOI 10.17487/RFC7340, September 2014,
              <http://www.rfc-editor.org/info/rfc7340>.

   [RFC7519]  Jones, M., Bradley, J., and N. Sakimura, "JSON Web Token
              (JWT)", RFC 7519, DOI 10.17487/RFC7519, May 2015,
              <http://www.rfc-editor.org/info/rfc7519>.

Authors' Addresses

   Jon Peterson
   Neustar, Inc.
   1800 Sutter St Suite 570
   Concord, CA  94520
   US

   Email: jon.peterson@neustar.biz


   Chris Wendt
   Comcast
   One Comcast Center
   Philadelphia, PA  19103
   USA

   Email: chris-ietf@chriswendt.net













Peterson & Wendt       Expires September 22, 2016               [Page 7]