Network Working Group                                        J. Peterson
Internet-Draft                                              Neustar Inc.
Intended status: Informational                                  C. Wendt
Expires: April 25, 2019                                          Comcast
                                                        October 22, 2018


                 PASSporT Extension for Rich Call Data
                    draft-ietf-stir-passport-rcd-01

Abstract

   This document extends PASSporT, a token for conveying
   cryptographically-signed information about personal communications,
   to include rich data that can be rendered to users, such as a human-
   readable display name comparable to the "Caller ID" function common
   on the telephone network.  The element defined for this purpose is
   extensible to include related information about calls that helps
   people decide whether to pick up the phone.

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 https://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 April 25, 2019.

Copyright Notice

   Copyright (c) 2018 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
   (https://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



Peterson & Wendt         Expires April 25, 2019                 [Page 1]


Internet-Draft              STIR Caller Name                October 2018


   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.  PASSporT 'rcd' Claim  . . . . . . . . . . . . . . . . . . . .   3
   4.  Further Information Associated with Callers . . . . . . . . .   4
   5.  Third-Party Uses  . . . . . . . . . . . . . . . . . . . . . .   5
     5.1.  Signing as a Third Party  . . . . . . . . . . . . . . . .   6
   6.  Levels of Assurance . . . . . . . . . . . . . . . . . . . . .   6
   7.  Using 'rcd' in SIP  . . . . . . . . . . . . . . . . . . . . .   7
     7.1.  Authentication Service Behavior . . . . . . . . . . . . .   7
     7.2.  Verification Service Behavior . . . . . . . . . . . . . .   7
   8.  Using 'rcd' as additional claims to other PASSporT extensions   8
     8.1.  Procedures for applying 'rcd' as claims only  . . . . . .   9
     8.2.  Example for applying 'rcd' as claims only . . . . . . . .   9
   9.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .  10
   10. IANA Considerations . . . . . . . . . . . . . . . . . . . . .  10
     10.1.  JSON Web Token Claim . . . . . . . . . . . . . . . . . .  10
     10.2.  PASSporT Types . . . . . . . . . . . . . . . . . . . . .  10
     10.3.  PASSporT RCD Types . . . . . . . . . . . . . . . . . . .  10
   11. Security Considerations . . . . . . . . . . . . . . . . . . .  10
   12. References  . . . . . . . . . . . . . . . . . . . . . . . . .  11
     12.1.  Normative References . . . . . . . . . . . . . . . . . .  11
     12.2.  Informative References . . . . . . . . . . . . . . . . .  12
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  12

1.  Introduction

   PASSporT [RFC8225] is a token format based on JWT [RFC7519] for
   conveying cryptographically-signed information about the people
   involved in personal communications; it is used to convey a signed
   assertion of the identity of the participants in real-time
   communications established via a protocol like SIP [RFC8224].  The
   STIR problem statement [RFC7340] declared securing the display name
   of callers outside of STIR's initial scope, so baseline STIR provides
   no features for caller name.  This specification documents an
   optional mechanism for PASSporT and the associated STIR mechanisms
   which extends PASSporT to carry additional elements conveying richer
   information: information that is intended to be rendered to an end
   user to assist a called party in determining whether to accept or
   trust incoming communications.  This includes the name of the person
   on one side of a communications session, the traditional "Caller ID"
   of the telephone network, along with related display information that
   would be rendered to the called party during alerting, or potentially



Peterson & Wendt         Expires April 25, 2019                 [Page 2]


Internet-Draft              STIR Caller Name                October 2018


   used by an automaton to determine whether and how to alert a called
   party.

   In the traditional telephone network, the display name associated
   with a call is typically provided in one of three ways: by a third-
   party service queried at the terminating side, by the originator of
   the call, 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.  Even when the
   originating side does not provide a display name for the caller, the
   cryptographic attestation of the validity of the calling number
   provided by STIR still allows the terminating side to query a local
   or remote service for a name associated with that number without fear
   that the number has been impersonated by the caller; STIR thus makes
   "Caller ID" more secure even when there is no first-party attestation
   of a display name.  For these cases, this specification outlines
   various ways that a display name for a calling party could be
   determined at the terminating side in a secure fashion.

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

3.  PASSporT 'rcd' Claim

   This specification defines a new JSON Web Token claim for "rcd", Rich
   Call Data, the value of which is an array of JSON subelements.  The
   initial subelement defined here is a display name, "nam", associated
   with the originator of personal communications, which 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.

   The "rcd" claim may appear in any PASSporT claims object as an
   optional element.  The creator of a PASSporT MAY however add a "ppt"
   value of "rcd" to the header of a PASSporT as well, in which case the
   PASSporT claims MUST contain a "rcd" claim, and any entities
   verifying the PASSporT object will be required to understand the
   "ppt" extension in order to process the PASSporT in question.  A
   PASSporT header wih the "ppt" included will look as follows:



Peterson & Wendt         Expires April 25, 2019                 [Page 3]


Internet-Draft              STIR Caller Name                October 2018


   { "typ":"passport",
     "ppt":"rcd",
     "alg":"ES256",
     "x5u":"https://www.example.com/cert.cer" }

   The PASSporT claims object will then contain the "rcd" key with its
   corresponding value.  The value of "rcd" is an array of JSON objects,
   of which one, the "nam" object, is mandatory.  The key syntax of
   "nam" follows the display-name ABNF given in [RFC3261].

   {  "orig":{"tn":"12155551212"},
      "dest":{"tn":"12155551213"},
      "iat":1443208345,
      "iss":"Example, Inc.",
      "rcd":{"nam":"Alice Atlanta"} }

   After the header and claims PASSporT objects have been constructed,
   their signature is generated normally per the guidance in [RFC8225].

4.  Further Information Associated with Callers

   Beyond naming information, there may be additional human-readable
   information about the calling party that should be rendered to the
   end user in order to help the called party decide whether or not to
   pick up the phone.  This is not limited to information about the
   caller, but includes information about the call itself, which may
   derive from analytics that determine based on call patterns or
   similar data if the call is likely to be one the called party wants
   to receive.  Such data could include:

      information related to the location of the caller, or

      any organizations or institutions that the caller is associated
      with, or even categories of institutions (is this a government
      agency, or a bank, or what have you), or

      hyperlinks to images, such as logos or pictures of faces, or to
      similar external profile information, or

      information that will be processed by an application before
      rendering it to a user, like social networking data that shows
      that an unknown caller is a friend-of-a-friend, or reputation
      scores derived from crowdsourcing, or confidence scores based on
      broader analytics about the caller and callee.

   All of these data elements would benefit from the secure attestations
   provided by the STIR and PASSporT frameworks.  A new IANA registry
   has been defined to hold potential values of the "rcd" array; see



Peterson & Wendt         Expires April 25, 2019                 [Page 4]


Internet-Draft              STIR Caller Name                October 2018


   Section 10.3.  Specific extensions to the "rcd" PASSporT claim are
   left for future specification.

   While in the traditional telephone network, the business relationship
   between calling customers and their telephone service providers is
   the ultimate root of information about a calling party's name, some
   other forms of data like crowdsourced reputation scores might derive
   from third parties.  It is more likely that when those elements are
   present, they will be in a third-party "rcd" PASSporT.

5.  Third-Party Uses

   While rich data about the call can be provided by an originating
   authentication service, the terminating side or an intermediary in
   the call path could also acquire rich call data by querying a third-
   party service.  In telephone operations today, a third-party
   information service is commonly queried with the calling party's
   number in order to learn the name of the calling party, and
   potentially other helpful information could also be passed over that
   interface.  The value of using a PASSporT to convey this information
   from third parties lies largely in the preservation of the original
   authority's signature over the data, and the potential for the
   PASSporT to be conveyed from intermediaries to endpoint devices.
   Effectively, these use cases form of subcase of out-of-band
   [I-D.ietf-stir-oob] use cases.  The manner in which third-party
   services are discovered is outside the scope of this document.

   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 "rcd" claim.  When the a terminating verification
   service implemented at a SIP proxy server 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 PASSport in a response from that third-party service,
   the terminating side could add a new Identity header field to the
   request for the "rcd" PASSporT object provided by the third-party
   service.  It would then forward the INVITE to the terminating user
   agent.  If the display name in the "rcd" 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.

   A very similar flow could be followed by an intermediary closer to
   the origination of the call.  Presumably such a service could be
   implemented at an originating network in order to decouple the
   systems that sign for calling party numbers from the systems that
   provide rich data about calls.





Peterson & Wendt         Expires April 25, 2019                 [Page 5]


Internet-Draft              STIR Caller Name                October 2018


   In an alternative use case, the terminating user agent might query a
   third-party service.  In this case, no new Identity header field
   would be generated, though the terminating user agent might receive a
   PASSporT object in return from the third-party service, and use the
   "rcd" field in the object as a calling name to render to users while
   alerting.

5.1.  Signing as a Third Party

   When a third party issues a PASSporT with an "rcd" claim, the
   PASSporT MUST contain the "rcd" "ppt" type in its header object.  It
   moreover MUST include an "iss" claim as defined in [RFC7519] to
   indicate the source of this PASSporT; that field SHOULD be populated
   with the subject of the credential used to sign the PASSporT.

   A PASSporT with a "ppt" of "rcd" MAY be signed with credentials that
   do not have authority over the identity that appears in the "orig"
   element of the PASSporT claims.  Relying parties in STIR have always
   been left to make their own authorization decisions about whether or
   not the trust the signers of PASSporTs, and in the third-party case,
   where an entity has explicitly queried a service to acquire the
   PASSporT object, it may be some external trust or business
   relationship that induces the relying party to trust a PASSporT.

6.  Levels of Assurance

   As "rcd" can be provided by either first or third parties, relying
   parties could benefit from an additional claim that indicates the
   relationship of the attesting party to the caller.  Even in first
   party cases, this admits of some complexity: the Communications
   Service Provider (CSP) to which a number was assigned might in turn
   delegate the number to a reseller, who would then sell the number to
   an enterprise, in which case the CSP might have little insight into
   the caller's name.  In third party cases, a caller's name could
   derive from any number of data sources, on a spectrum between public
   data scraped from web searches to a direct business relationship to
   the caller.  As multiple PASSporTs can be associated with the same
   call, potentially a verification service could receive attestations
   of the caller name from multiple sources, which have different levels
   of granularity or accuracy.

   Therefore PASSporTs that carry "rcd" data SHOULD also carry an
   indication of the relationship of the generator of the PASSporT to
   the caller.  [TBD claim - take from SHAKEN?]







Peterson & Wendt         Expires April 25, 2019                 [Page 6]


Internet-Draft              STIR Caller Name                October 2018


7.  Using 'rcd' in SIP

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

7.1.  Authentication Service Behavior

   An authentication service creating a PASSporT containing a "rcd"
   claim MAY include a "ppt" for "rcd" or not.  Third-party
   authentication services following the behavior in Section 5.1 MUST
   include a "ppt" of "rcd".  If "ppt" does contain a "rcd", then any
   SIP authentication services MUST add a "ppt" parameter to the
   Identity header containing that PASSporT with a value of "rcd".  The
   resulting Identity header might look as follows:

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

   This specification assumes that by default, a SIP authentication
   service will derive the value of "rcd" from the display-name
   component of the From header field value of the request.  It is
   however a matter of authentication service policy to decide how it
   populates the value of "rcd", which MAY 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 "rcd" with a value that is not equivalent
   to the From header field display-name value, it MUST use the full
   form of the PASSporT object in SIP.

7.2.  Verification Service Behavior

   [RFC8224] Section 6.2 Step 5 requires that specifications defining
   "ppt" values describe any additional verifier behavior.  The behavior
   specified for the "ppt" values of "rcd" is as follows.  If the
   PASSporT is in compact form, then the verification service SHOULD
   extract the display-name from the From header field value, if any,
   and use that as the value for the "rcd" 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 PASSport is in full form with a "ppt" value of "rcd",
   then the verification service MUST extract the value associated with
   the "rcd" "nam" key in the object.  If the signature validates, then



Peterson & Wendt         Expires April 25, 2019                 [Page 7]


Internet-Draft              STIR Caller Name                October 2018


   the verification service can use the value of the "rcd" "nam" key as
   the display name of calling party, which would in turn be rendered to
   alerted users or otherwise leveraged in accordance with local policy.
   This will allow SIP networks that convey the display name through a
   field other than the From header field to interoperate with this
   specification.

   The third-party "rcd" PASSporT cases presents some new challenges, as
   an attacker could attempt to cut-and-paste such a third-party
   PASSporT into a SIP request in an effort to get the terminating user
   agent to render the display name or confidence values it contains to
   a call that should have no such assurance.  A third-party "rcd"
   PASSporT provides no assurance that the calling party number has not
   been spoofed: if it is carried in a SIP request, for example, then
   some other PASSporT in another Identity header field value would have
   to carry a PASSporT attesting that.  A verification service MUST
   determine that the calling party number shown in the "orig" of the
   "rcd" PASSporT corresponds to the calling party number of the call it
   has received, and that the "iat" field of the "rcd" PASSporT is
   within the date interval that the verification service would
   ordinarily accept for a PASSporT.

   Verification services may alter their authorization policies for the
   credentials accepted to sign PASSporTs when third parties generate
   PASSporT objects, per Section 5.1.  This may include accepting a
   valid signature over a PASSporT even if it is signed with a
   credential that does not attest authority over the identity in the
   "orig" claim of the PASSporT, provided that the verification service
   has some other reason to trust the signer.  No further guidance on
   verification service authorization policy is given here.

   The behavior of a SIP UAS upon receiving an INVITE containing a
   PASSporT object with a "rcd" 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.

8.  Using 'rcd' as additional claims to other PASSporT extensions

   Rich Call Data, including, for example, calling name information, is
   often data that is additive data to the personal communications
   information defined in the core PASSporT data required to support the
   security properties defined in [RFC8225].  For cases where the entity
   that is originating the personal communications and additionally is
   supporting the authentication service and also is the authority of
   the Rich Call Data, rather than creating multiple identity headers
   with multiple PASSporT extensions or defining multiple combinations



Peterson & Wendt         Expires April 25, 2019                 [Page 8]


Internet-Draft              STIR Caller Name                October 2018


   and permutations of PASSporT extension definitions, the
   authentication service can alternatively directly add the 'rcd'
   claims to the PASSporT it is creating, whether it is constructed with
   a PASSporT extension or not.

8.1.  Procedures for applying 'rcd' as claims only

   For a given PASSporT using some other extension than 'rcd,' the
   Authentication Service MAY additionally include the 'rcd' claim as
   defined in this document.  This would result in a set of claims that
   correspond to the original intended extension with the addition of
   the 'rcd' claim.

   The Verification service that receives the PASSporT, if it supports
   this specification and chooses to, should interpret the 'rcd' claim
   as simply just an additional claim intended to deliver and/or
   validate delivered Rich Call Data.

8.2.  Example for applying 'rcd' as claims only

   In the case of [I-D.ietf-stir-passport-shaken] which is the PASSporT
   extension supporting the SHAKEN specification [ATIS-1000074], a
   common case for an Authenication service to co-exist in a CSP network
   along with the authority over the calling name used for the call.
   Rather than require two identity headers, the CSP Authenticaton
   Service can apply both the SHAKEN PASSporT claims and extension and
   simply add the 'rcd' required claims defined in this document.

   For example, the PASSporT claims for the 'shaken' PASSporT with 'rcd'
   claims would be as follows:

   Protected Header
   {
      "alg":"ES256",
      "typ":"passport",
      "ppt":"shaken",
      "x5u":"https://cert.example.org/passport.cer"
   }
   Payload
   {
      "attest":"A"
      "dest":{"uri":["sip:alice@example.com"]}
      "iat":"1443208345",
      "orig":{"tn":"12155551212"},
      "origid":"123e4567-e89b-12d3-a456-426655440000"
      "rcd":{"nam":"Alice Atlanta"} }
   }




Peterson & Wendt         Expires April 25, 2019                 [Page 9]


Internet-Draft              STIR Caller Name                October 2018


   A Verification Service that supports 'rcd' and 'shaken' PASSporT
   extensions will be able to receive the above PASSporT and interpret
   both the 'shaken' claims as well as the 'rcd' defined claim.

   If the Verification Service only understands the 'shaken' extension
   claims but doesn't support 'rcd', the 'rcd' can simply be ignored and
   disregarded.

9.  Acknowledgements

   We would like to thank Robert Sparks for helpful suggestions.

10.  IANA Considerations

10.1.  JSON Web Token Claim

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

   Claim Name: "rcd"

   Claim Description: Caller Name Information

   Change Controller: IESG

   Specification Document(s): [RFCThis]

10.2.  PASSporT Types

   This specification requests that the IANA add a new entry to the
   PASSporT Types registry for the type "rcd" which is specified in
   [RFCThis].

10.3.  PASSporT RCD Types

   This document requests that the IANA create a new registry for
   PASSporT RCD types.  Registration of new PASSporT RCD types shall be
   under the Specification Required policy.

   This registry is to be initially populated with a single value for
   "nam" which is specified in [RFCThis].

11.  Security Considerations

   Revealing information such as the name, location, and affiliation of
   a person necessarily entails certain privacy risks.  Baseline
   PASSporT has no particular confidentiality requirement, as the
   information it signs over in a using protocol like SIP is all



Peterson & Wendt         Expires April 25, 2019                [Page 10]


Internet-Draft              STIR Caller Name                October 2018


   information that SIP carries in the clear anyway.  Transport-level
   security can hide those SIP fields from eavesdroppers, and the same
   confidentiality mechanisms would protect any PASSporT(s) carried in
   SIP.

   More TBD.

12.  References

12.1.  Normative References

   [I-D.ietf-stir-oob]
              Rescorla, E. and J. Peterson, "STIR Out-of-Band
              Architecture and Use Cases", draft-ietf-stir-oob-03 (work
              in progress), July 2018.

   [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,
              <https://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,
              <https://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,
              <https://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,
              <https://www.rfc-editor.org/info/rfc7519>.

   [RFC8224]  Peterson, J., Jennings, C., Rescorla, E., and C. Wendt,
              "Authenticated Identity Management in the Session
              Initiation Protocol (SIP)", RFC 8224,
              DOI 10.17487/RFC8224, February 2018,
              <https://www.rfc-editor.org/info/rfc8224>.

   [RFC8225]  Wendt, C. and J. Peterson, "PASSporT: Personal Assertion
              Token", RFC 8225, DOI 10.17487/RFC8225, February 2018,
              <https://www.rfc-editor.org/info/rfc8225>.






Peterson & Wendt         Expires April 25, 2019                [Page 11]


Internet-Draft              STIR Caller Name                October 2018


12.2.  Informative References

   [ATIS-1000074]
              ATIS/SIP Forum NNI Task Group, "Signature-based Handling
              of Asserted information using toKENs (SHAKEN)
              <https://access.atis.org/apps/group_public/
              download.php/32237/ATIS-1000074.pdf>", January 2017.

   [I-D.ietf-stir-passport-shaken]
              Wendt, C. and M. Barnes, "PASSporT SHAKEN Extension
              (SHAKEN)", draft-ietf-stir-passport-shaken-04 (work in
              progress), October 2018.

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

Authors' Addresses

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

   Email: jon.peterson@neustar.biz


   Chris Wendt
   Comcast
   Comcast Technology Center
   Philadelphia, PA  19103
   USA

   Email: chris-ietf@chriswendt.net















Peterson & Wendt         Expires April 25, 2019                [Page 12]