Network Working Group J. Peterson Internet-Draft Neustar Intended status: Informational C. Wendt Expires: May 4, 2017 Comcast October 31, 2016 PASSporT Extension for Caller Name draft-peterson-stir-cnam-01.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. The element defined for this purpose is extensible to include related information callers. 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 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 May 4, 2017 [Page 1] Internet-Draft STIR Caller Name October 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 . . . . . . . . . 6 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 6 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 8.1. JSON Web Token Claims . . . . . . . . . . . . . . . . . . 6 8.2. PASSporT Types . . . . . . . . . . . . . . . . . . . . . 6 8.3. PASSporT CNA Types . . . . . . . . . . . . . . . . . . . 7 9. Security Considerations . . . . . . . . . . . . . . . . . . . 7 10. Informative References . . . . . . . . . . . . . . . . . . . 7 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8 1. Introduction PASSporT [I-D.ietf-stir-passport] is a token 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. This format 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 Peterson & Wendt Expires May 4, 2017 [Page 2] Internet-Draft STIR Caller Name October 2016 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 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. The "cna" claim may appear in the PASSporT claim as an optional element. The creator of a PASSporT object can however add a "ppt" value of "cna" to the header of a PASSporT object as well, in which case the PASSporT claims MUST contain a "cna" 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 header wih the "ppt" included will look as follows: { "typ":"passport", "ppt":"cna", "alg":"RS256", "x5u":"https://www.example.com/cert.cer" } The PASSporT claims object will then contain the "cna" key with its corresponding value. The value of "cna" 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]. Peterson & Wendt Expires May 4, 2017 [Page 3] Internet-Draft STIR Caller Name October 2016 { "orig":{"tn":"12155551212"}, "dest":{"tn":"12155551213"}, "iat":1443208345, "cna":{"nam":"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]. 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 A PASSporT containing a "cna" claim may contain a "ppt" for "cna" or not. If "ppt" does contain a "cna", then any SIP authentication services MUST add a "ppt" parameter to the Identity header containing that PASSporT with a value of "cna". The resulting Identity header might look as follows: Identity: "sv5CTo05KqpSmtHt3dcEiO/1CWTSZtnG3iV+1nmurLXV/HmtyNS7Ltrg9dlxkWzo eU7d7OV8HweTTDobV3itTmgPwCFjaEmMyEI3d7SyN21yNDo2ER/Ovgtw0Lu5csIp pPqOg1uXndzHbG7mR6Rl9BnUhHufVRbp51Mn3w0gfUs="; \ info=;alg=RS256;ppt="cna" Otherwise, there is no no need for the "ppt" parameter of the SIP Identity header. 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 display-name value, it MUST use the full form of the PASSporT object. 4.2. Verification Service Behavior [I-D.ietf-stir-rfc4474bis] Section 6.2 Step 5 requires that specifications defining "ppt" values describe any additional verifier behavior. The behavior specified for the "ppt" values of "cna" is as follows. If the PASSporT is in compact form, then the verification Peterson & Wendt Expires May 4, 2017 [Page 4] Internet-Draft STIR Caller Name October 2016 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 PASSport is in full form with a "ppt" value of "cna", then the verification service MUST extract the value associated with the "cna" "nam" key in the object. If the signature validates, then the verification service can use the value of the "cna" "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 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 Peterson & Wendt Expires May 4, 2017 [Page 5] Internet-Draft STIR Caller Name October 2016 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 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. A new IANA registry has been defined to hold potential values of the "cna" array; see Section 8.3. 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 8.1. JSON Web Token Claims 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] 8.2. PASSporT Types This specification requests that the IANA add a new entry to the PASSporT Types registry for the type "cna" which is specified in [RFCThis]. Peterson & Wendt Expires May 4, 2017 [Page 6] Internet-Draft STIR Caller Name October 2016 8.3. PASSporT CNA Types This document requests that the IANA create a new registry for PASSporT CNA types. Registration of new PASSporT CNA 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]. 9. Security Considerations TBD. 10. Informative References [I-D.ietf-stir-passport] Wendt, C. and J. Peterson, "Personal Assertion Token (PASSporT)", draft-ietf-stir-passport-09 (work in progress), October 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-14 (work in progress), 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, . [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, . [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, . [RFC7340] Peterson, J., Schulzrinne, H., and H. Tschofenig, "Secure Telephone Identity Problem Statement and Requirements", RFC 7340, DOI 10.17487/RFC7340, September 2014, . Peterson & Wendt Expires May 4, 2017 [Page 7] Internet-Draft STIR Caller Name October 2016 [RFC7519] Jones, M., Bradley, J., and N. Sakimura, "JSON Web Token (JWT)", RFC 7519, DOI 10.17487/RFC7519, May 2015, . 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 May 4, 2017 [Page 8]