draft-ietf-stir-passport-rcd-04.txt   draft-ietf-stir-passport-rcd-05.txt 
Network Working Group J. Peterson Network Working Group J. Peterson
Internet-Draft Neustar Inc. Internet-Draft Neustar Inc.
Intended status: Standards Track C. Wendt Intended status: Standards Track C. Wendt
Expires: January 9, 2020 Comcast Expires: May 7, 2020 Comcast
July 08, 2019 November 04, 2019
PASSporT Extension for Rich Call Data PASSporT Extension for Rich Call Data
draft-ietf-stir-passport-rcd-04 draft-ietf-stir-passport-rcd-05
Abstract Abstract
This document extends PASSporT, a token for conveying This document extends PASSporT, a token for conveying
cryptographically-signed call information about personal cryptographically-signed call information about personal
communications, to include rich data that can be rendered to users, communications, to include rich data that can be transmitted and
such as a human-readable display name comparable to the "Caller ID" subsequently rendered to users, extending identifying information
beyond human-readable display name comparable to the "Caller ID"
function common on the telephone network. The element defined for function common on the telephone network. The element defined for
this purpose, Rich Call Data (RCD), is extensible to include related this purpose, Rich Call Data (RCD), is an extensible object defined
information about calls that helps people decide whether to pick up to either be used as part of STIR or with SIP Call-Info to include
the phone. related information about calls that helps people decide whether to
pick up the phone. This signing of the RCD information is also
enhanced with an integrity mechanism to optionally protect the
handling of this information between authoritative and non-
authoritative parties authoring and signing the Rich Call Data for
support of different usage and content policies.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on January 9, 2020. This Internet-Draft will expire on May 7, 2020.
Copyright Notice Copyright Notice
Copyright (c) 2019 IETF Trust and the persons identified as the Copyright (c) 2019 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. PASSporT "rcd" Claim . . . . . . . . . . . . . . . . . . . . 3 3. Overview of the use of the Rich Call Data PASSporT extension 4
3.1. "nam" key . . . . . . . . . . . . . . . . . . . . . . . . 4 4. Overview of Rich Call Data integrity . . . . . . . . . . . . 5
3.2. "icn" key . . . . . . . . . . . . . . . . . . . . . . . . 4 5. PASSporT Claims . . . . . . . . . . . . . . . . . . . . . . . 5
3.3. "inf" key . . . . . . . . . . . . . . . . . . . . . . . . 4 5.1. PASSporT "rcd" Claim . . . . . . . . . . . . . . . . . . 5
3.4. "jcd" key . . . . . . . . . . . . . . . . . . . . . . . . 4 5.1.1. "nam" key . . . . . . . . . . . . . . . . . . . . . . 5
3.5. "jcl" key . . . . . . . . . . . . . . . . . . . . . . . . 5 5.1.2. "jcd" key . . . . . . . . . . . . . . . . . . . . . . 6
4. Rich Call Data integrity . . . . . . . . . . . . . . . . . . 5 5.1.3. "jcl" key . . . . . . . . . . . . . . . . . . . . . . 6
4.1. "rcdi" RCD integrity Claim . . . . . . . . . . . . . . . 5 5.1.4. "rcdi" RCD integrity Claim . . . . . . . . . . . . . 6
4.1.1. Creation of the "rcd" digest . . . . . . . . . . . . 6 5.1.5. Creation of the "rcd" digest . . . . . . . . . . . . 7
4.2. JWT Constraint for "rcdi" claim . . . . . . . . . . . . . 7 5.2. JWT Constraint for "rcdi" claim . . . . . . . . . . . . . 8
5. "rcd" Usage . . . . . . . . . . . . . . . . . . . . . . . . . 7 6. "rcd" Usage . . . . . . . . . . . . . . . . . . . . . . . . . 8
5.1. Example "rcd" PASSporTs . . . . . . . . . . . . . . . . . 8 6.1. Example "rcd" PASSporTs . . . . . . . . . . . . . . . . . 9
6. Further Information Associated with Callers . . . . . . . . . 10 7. Compact form of "rcd" PASSporT . . . . . . . . . . . . . . . 11
7. Third-Party Uses . . . . . . . . . . . . . . . . . . . . . . 11 7.1. Compact form of the "rcd" PASSporT claim . . . . . . . . 11
7.1. Signing as a Third Party . . . . . . . . . . . . . . . . 12 7.2. Compact form of the "rcdi" PASSporT claim . . . . . . . . 11
8. Levels of Assurance . . . . . . . . . . . . . . . . . . . . . 13 8. Further Information Associated with Callers . . . . . . . . . 11
9. Using "rcd" in SIP . . . . . . . . . . . . . . . . . . . . . 13 9. Third-Party Uses . . . . . . . . . . . . . . . . . . . . . . 12
9.1. Authentication Service Behavior . . . . . . . . . . . . . 13 9.1. Signing as a Third Party . . . . . . . . . . . . . . . . 13
9.2. Verification Service Behavior . . . . . . . . . . . . . . 14 10. Levels of Assurance . . . . . . . . . . . . . . . . . . . . . 14
10. Using "rcd" as additional claims to other PASSporT extensions 15 11. Using "rcd" in SIP . . . . . . . . . . . . . . . . . . . . . 14
10.1. Procedures for applying "rcd" as claims only . . . . . . 15 11.1. Authentication Service Behavior . . . . . . . . . . . . 14
10.2. Example for applying "rcd" as claims only . . . . . . . 15 11.2. Verification Service Behavior . . . . . . . . . . . . . 15
11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 16 12. Using "rcd" as additional claims to other PASSporT extensions 16
12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16 12.1. Procedures for applying "rcd" as claims only . . . . . . 16
12.1. JSON Web Token Claim . . . . . . . . . . . . . . . . . . 16 12.2. Example for applying "rcd" as claims only . . . . . . . 16
12.2. PASSporT Types . . . . . . . . . . . . . . . . . . . . . 17 13. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 17
12.3. PASSporT RCD Types . . . . . . . . . . . . . . . . . . . 17 14. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17
13. Security Considerations . . . . . . . . . . . . . . . . . . . 17 14.1. JSON Web Token Claim . . . . . . . . . . . . . . . . . . 17
14. References . . . . . . . . . . . . . . . . . . . . . . . . . 17 14.2. PASSporT Types . . . . . . . . . . . . . . . . . . . . . 18
14.1. Normative References . . . . . . . . . . . . . . . . . . 17 14.3. PASSporT RCD Types . . . . . . . . . . . . . . . . . . . 18
14.2. Informative References . . . . . . . . . . . . . . . . . 18 15. Security Considerations . . . . . . . . . . . . . . . . . . . 18
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 19 16. References . . . . . . . . . . . . . . . . . . . . . . . . . 18
16.1. Normative References . . . . . . . . . . . . . . . . . . 18
16.2. Informative References . . . . . . . . . . . . . . . . . 20
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 20
1. Introduction 1. Introduction
PASSporT [RFC8225] is a token format based on JWT [RFC7519] for PASSporT [RFC8225] is a token format based on JWT [RFC7519] for
conveying cryptographically-signed information about the people conveying cryptographically-signed information about the people
involved in personal communications; it is used to convey a signed involved in personal communications; it is used to convey a signed
assertion of the identity of the participants in real-time assertion of the identity of the participants in real-time
communications established via a protocol like SIP [RFC8224]. The communications established via a protocol like SIP [RFC8224]. The
STIR problem statement [RFC7340] declared securing the display name STIR problem statement [RFC7340] declared securing the display name
of callers outside of STIR's initial scope, so baseline STIR provides of callers outside of STIR's initial scope, so baseline STIR provides
skipping to change at page 3, line 36 skipping to change at page 3, line 49
same is true of information in the Call-Info header field. same is true of information in the Call-Info header field.
The baseline use case for this document will be extending PASSporT to The baseline use case for this document will be extending PASSporT to
provide cryptographic protection for the "display-name" field of SIP provide cryptographic protection for the "display-name" field of SIP
requests as well as further "rich call data" (RCD) about the caller, requests as well as further "rich call data" (RCD) about the caller,
which includes the contents of the Call-Info header field or other which includes the contents of the Call-Info header field or other
data structures that can be added to the PASSporT. This document data structures that can be added to the PASSporT. This document
furthermore specifies a third-party profile that would allow external furthermore specifies a third-party profile that would allow external
authorities to convey rich information associated with a calling authorities to convey rich information associated with a calling
number via a new type of PASSporT. Finally, this document describes number via a new type of PASSporT. Finally, this document describes
how to constrain the RCD data that a PASSporT can attest via how to preserve the integrity of the RCD in scenarios where there may
be non-authoritative users that may be initiating and signing RCD and
therefore a constraint on the RCD data that a PASSporT can attest via
certificate-level controls. certificate-level controls.
2. Terminology 2. Terminology
In this document, the key words "MUST", "MUST NOT", "REQUIRED", In this document, the key words "MUST", "MUST NOT", "REQUIRED",
"SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT
RECOMMENDED", "MAY", and "OPTIONAL" are to be interpreted as RECOMMENDED", "MAY", and "OPTIONAL" are to be interpreted as
described in [RFC2119] and [RFC6919]. described in [RFC2119] and [RFC6919].
3. PASSporT "rcd" Claim 3. Overview of the use of the Rich Call Data PASSporT extension
The main intended use of the signing of Rich Call Data (RCD) using
STIR [RFC8224] and as a PASSporT extension [RFC8225] is from an
entity that is associated with the originated with the call. Either
the caller themselves if they are authoritative, or a service
provider, or a third-party service may be authoritative over the rich
call data on behalf of the caller or service provider representing
the caller.
The RCD described in this document is of two main categories. The
first data is a more traditional set of info about a caller
associated with "display-name" in SIP [RFC3261] and typically is the
calling name that is a textual description of the caller. The second
data is a set of RCD that is defined as part of the jCard definitions
or extensions to that data. [I.D.wendt-sipcore-callinfo-rcd-00]
describes the use of jCard as RCD with the "jcard" Call-Info purpose
token. Either or both of these two types of data can be incorporated
into a "rcd" claim defined in this document.
In addition to the type of RCD that can be signed, there are three
normative modes of use of the signing of Rich Call Data (RCD). The
first and simplest mode is exclusively for when RCD content is
direcly included as part of the claims (i.e. no URIs are included in
the content). In this mode the set of claims is signed via standard
PASSporT [RFC8225] and SIP identity header [RFC8224] procedures. The
second mode is an extension of the first where a "rcd" claim is
included and the content MAY or MAY NOT include URI external
resources. In this mode, a "rcdi" integrity claim MUST be included.
This integrity claim is defined in this document and provides a
digest of the content so that, particularly for the case where there
is URI references in the RCD, the content of that RCD can be
comprehensively validated that it was received as intended by the
signer of the PASSporT. The third mode is yet another addition to
both the first and second modes and incorporates the ability to
include the digest of the integrity claim as a required value in the
certificate used to create the PASSporT digital signature. This mode
allows for cases where there is a different authoritative entity over
the content of the RCD, separate from the signer of the PASSporT
itself allowing the ability to have policy around the content and
potential review or pre-determination of allowed RCD content.
4. Overview of Rich Call Data integrity
When incorporating call data that represents a user, even in
traditional calling name services today, often there is policy and
restrictions around what data is allowed to be used. Whether
preventing offensive language or icons or enforcing uniqueness or
whatever potential policy either via regulatory rules, a customer
service agreements, or an enterprise brand consistency there may be
the desire to pre-certify the specific use of rich data. This
document defines a mechanism that allows for an indirect party that
controls the policy to approve or certify the content, create a
cryptographic digest that can be used to validate that data and
applies a constraint in the certificate to allow the recipient and
verifier to validate that the specific content of the RCD is as
intended at its creation and approval or certification.
The integrity mechanism is a process of generating a sufficiently
strong cryptographic digest for both the "rcd" claim contents (e.g.
"nam" and "jcd") defined below and the resources defined by one or
more globally unique HTTPS URLs referenced by the contents (e.g. an
image file referenced by "jcd"). This mechanism is inspired and
based on the W3C Subresource Integrity specification
(http://www.w3.org/TR/SRI/). This mechanism additionally defines the
ability to constrain the digest and RCD integrity mechanism to be
mandatory without modification using JWT Constraints defined in
[RFC8226].
5. PASSporT Claims
5.1. PASSporT "rcd" Claim
This specification defines a new JSON Web Token claim for "rcd", Rich This specification defines a new JSON Web Token claim for "rcd", Rich
Call Data, the value of which is a JSON object that can contain one Call Data, the value of which is a JSON object that can contain one
or more key value pairs. This document defines a default set of key or more key value pairs. This document defines a default set of key
values. values.
3.1. "nam" key 5.1.1. "nam" key
The "nam" key value is a display name, associated with the originator The "nam" key value is a display name, associated with the originator
of personal communications, which may for example derive from the of personal communications, which may for example derive from the
display-name component of the From header field value of a SIP display-name component of the From header field value of a SIP
request, or a similar field in other PASSporT using protocols. This request, or a similar field in other PASSporT using protocols. This
key MUST be included once and MUST be included as as part of the key MUST be included once and MUST be included as as part of the
"rcd" claim value JSON object. If there is no string associated with "rcd" claim value JSON object. If there is no string associated with
a display name, the claim value SHOULD then be an empty string. a display name, the claim value SHOULD then be an empty string.
3.2. "icn" key 5.1.2. "jcd" key
The "icn" key value is defined to contain a HTTPS URL that references
a publicly available icon or logo resource, associated with the
originator of personal communications. This URL is intended to and
may derive from the Call-Info header field value of a SIP request
[RFC3261] Section 20.9 with a type of "icon". This key is optional
but if included MUST be included as part of the "rcd" claim value
JSON object. The format of the icon file resource is not defined in
this document, but widely supported formats such as jpg, png, and svg
are recommended.
3.3. "inf" key
The "inf" key value is defined to contain a HTTPS URL that references
a publicly available webpage or HTML type of resource intended to
provide information about the caller. This URL is intended to and
may derive from the Call-Info header field value of a SIP request
[RFC3261] Section 20.9 with a type of "info". This key is optional
but if included MUST be included as part of the "rcd" claim value
JSON object. The format of the info resource is not specifically
defined by this document, but HTML based resource that can be
generally rendered in a standard web browser is recommended. (? can
we apply integrity digest to HTML content generally, since there is
potentially many hyperlinks contained within, or do we need more
rules to limit HTML content for many reasons)
3.4. "jcd" key
The "jcd" key value is defined to contain a value of a jCard The "jcd" key value is defined to contain a value of a jCard
[RFC7095] JSON object. This jCard object is intended to and may [RFC7095] JSON object. This jCard object is intended to and may
derive from the Call-Info header field value of a SIP request derive from the Call-Info header field value defined in [I.D.wendt-
[RFC3261] Section 20.9 with a type of "card". It is an extensible sipcore-callinfo-rcd] with a type of "jcard". As also defined in
object where the calling party can provide both the standard types of [I.D.wendt-sipcore-callinfo-rcd], format of the jCard and properties
information defined in jCard or can use the built in extensibility of used should follow the normative usage and formating rules and
the jCard specification to add additional information. The "jcd" is procedures. It is an extensible object where the calling party can
optional. If included, this key MUST only be included once in the provide both the standard types of information defined in jCard or
"rcd" JSON object and SHOULD NOT be included if there is a "jcl" key can use the built in extensibility of the jCard specification to add
included. The "jcd" and "jcl" keys should be mutually exclusive. additional information. The "jcd" is optional. If included, this
key MUST only be included once in the "rcd" JSON object and SHOULD
NOT be included if there is a "jcl" key included. The "jcd" and
"jcl" keys should be mutually exclusive.
3.5. "jcl" key 5.1.3. "jcl" key
The "jcl" key value is defined to contain a HTTPS URL that refers the The "jcl" key value is defined to contain a HTTPS URL that refers the
recipient to a jCard [RFC7095] JSON object hosted on a HTTPS enabled recipient to a jCard [RFC7095] JSON object hosted on a HTTPS enabled
web server. This link is intended to and may derive from the Call- web server. This link is intended to and may derive from the Call-
Info header field value of a SIP request [RFC3261] Section 20.9 with Info header field value defined in [I.D.wendt-sipcore-callinfo-rcd]
a type of "card". This URL is an external reference to a JSON file with a type of "jcard". As also defined in [I.D.wendt-sipcore-
with the same intended use of the "jcd" jCard object and has the same callinfo-rcd], format of the jCard and properties used should follow
intended properties. The "jcl" key is optional. If included, this the normative usage and formating rules and procedures. The "jcl"
key MUST only be included once in the "rcd" JSON object and SHOULD key is optional. If included, this key MUST only be included once in
NOT be included if there is a "jcd" key included. The "jcd" and the "rcd" JSON object and SHOULD NOT be included if there is a "jcd"
"jcl" keys should be mutually exclusive. key included. The "jcd" and "jcl" keys should be mutually exclusive.
4. Rich Call Data integrity
When incorporating call data that represents a user, even in
traditional calling name services today, often there is policy and
restrictions around what data is allowed to be used. Whether
preventing offensive language or icons or enforcing uniqueness or
whatever potential policy either via regulatory rules, a customer
service agreements, or an enterprise brand consistency there may be
the desire to pre-certify the specific use of rich data. This
document defines a mechanism that allows for an indirect party that
controls the policy to approve or certify the content, create a
cryptographic digest that can be used to validate that data and
applies a constraint in the certificate to allow the recipient and
verifier to validate that the specific content of the RCD is as
intended at its creation and approval or certification.
The integrity mechanism is a process of generating a sufficiently
strong cryptographic digest for both the "rcd" claim contents (e.g.
"nam" and "jcd") and the resources defined by one or more globally
unique HTTPS URLs referenced by the contents (e.g. "icon" or an image
file referenced by "jcd"). This mechanism is inspired and based on
the W3C Subresource Integrity specification (http://www.w3.org/TR/
SRI/). This mechanism additionally defines the ability to constrain
the digest and RCD integrity mechanism to be mandatory without
modification using JWT Constraints defined in [RFC8226].
4.1. "rcdi" RCD integrity Claim 5.1.4. "rcdi" RCD integrity Claim
The "rcdi" claim is an optional claim that if the application The "rcdi" claim is an optional claim that if the application
requires integrity applied to the content of the "rcd" claim SHOULD requires integrity applied to the content of the "rcd" claim SHOULD
be included with a corresponding "rcd" claim. The value of the be included with a corresponding "rcd" claim. The value of the
"rcdi" key pair should contain a string that is defined as follows. "rcdi" key pair should contain a string that is defined as follows.
The first part of the string should define the crypto algorithm used The first part of the string should define the crypto algorithm used
to generate the digest. For RCD, implementations MUST support the to generate the digest. For RCD, implementations MUST support the
following hash algorithms, "SHA256", "SHA384", or "SHA512". The SHA- following hash algorithms, "SHA256", "SHA384", or "SHA512". The SHA-
256, SHA-384, and SHA-512 are part of the SHA-2 set of cryptographic 256, SHA-384, and SHA-512 are part of the SHA-2 set of cryptographic
skipping to change at page 6, line 23 skipping to change at page 7, line 13
represented in the text by "sha256", "sha384", or "sha512". The represented in the text by "sha256", "sha384", or "sha512". The
character following the algorithm string MUST be a minus character, character following the algorithm string MUST be a minus character,
"-". The subsequent characters MUST be the base64 encoded digest of "-". The subsequent characters MUST be the base64 encoded digest of
a canonicalized and concatenated string based on the "rcd" claim and a canonicalized and concatenated string based on the "rcd" claim and
the URLs contained in the claim. The details of the creation of this the URLs contained in the claim. The details of the creation of this
string are defined in the next section. string are defined in the next section.
Example: Example:
"rcdi" : "sha256-H8BRh8j48O9oYatfu5AZzq6A9RINQZngK7T62em8MUt1FLm52t+eX6xO" "rcdi" : "sha256-H8BRh8j48O9oYatfu5AZzq6A9RINQZngK7T62em8MUt1FLm52t+eX6xO"
4.1.1. Creation of the "rcd" digest 5.1.5. Creation of the "rcd" digest
In order to facilitate proper verification of the digest and whether In order to facilitate proper verification of the digest and whether
the "rcd" content was modified, the input to the digest must be the "rcd" content was modified, the input to the digest must be
completely deterministic at three points in the process. First, at completely deterministic at three points in the process. First, at
the certification point where the content is evaluated to conform to the certification point where the content is evaluated to conform to
the application policy and the JWT constraint is applied to the the application policy and the JWT constraint is applied to the
certificate containing the digest. Second, when the call is signed certificate containing the digest. Second, when the call is signed
at the Authentication Service, there may be a local policy to verify at the Authentication Service, there may be a local policy to verify
that the provided "rcd" claim corresponds to the digest. Third, when that the provided "rcd" claim corresponds to the digest. Third, when
the "rcd" data is verified at the Verification Service, it MUST the "rcd" data is verified at the Verification Service, it MUST
skipping to change at page 7, line 20 skipping to change at page 8, line 11
7. Repeat steps 5 and 6 for any additionally identified 7. Repeat steps 5 and 6 for any additionally identified
corresponding URLs. corresponding URLs.
Once the input digest string has been created, use this string to Once the input digest string has been created, use this string to
create the base64 encoded digest output that can be inserted into the create the base64 encoded digest output that can be inserted into the
"rcdi" claim as discussed in the last section. "rcdi" claim as discussed in the last section.
Example "rcd" claim with URL: Example "rcd" claim with URL:
"rcd": { "nam" : "James Bond", "rcd": { "nam" : "James Bond",
"icon" : "https://example.org/james_bond.jpg" "jcl" : "https://example.org/james_bond.json"
} }
Example "rcd" input digest string (with line breaks for readability): Example "rcd" input digest string (with line breaks for readability):
{"nam":"James Bond","icon":"https://example.org/james_bond.jpg"}; {"nam":"James Bond","jcl":"https://example.org/james_bond.json"};
ONG##*NCCCDJK123...KLJASlkJlkjsadlf2e3 ONG##*NCCCDJK123...KLJASlkJlkjsadlf2e3
Example "rcdi" claim: Example "rcdi" claim:
"rcdi":"sha256-u5AZzq6A9RINQZngK7T62em8M" "rcdi":"sha256-u5AZzq6A9RINQZngK7T62em8M"
4.2. JWT Constraint for "rcdi" claim 5.2. JWT Constraint for "rcdi" claim
Once both the contents of the "rcd" claim is certified and the Once both the contents of the "rcd" claim is certified and the
construction of the "rcdi" claim is complete, the "rcdi" digest is construction of the "rcdi" claim is complete, the "rcdi" digest is
linked to the STIR certificate associated with the signature in the linked to the STIR certificate associated with the signature in the
PASSporT via JWT Constraints as defined in [RFC8226] Section 8. PASSporT via JWT Constraints as defined in [RFC8226] Section 8.
The certificate JWT Constraint MUST include both of the following: The certificate JWT Constraint MUST include both of the following:
o a "mustInclude" for the "rcd" claim o a "mustInclude" for the "rcd" claim
o a "mustInclude" for the "rcdi" claim and a "permittedValues" equal o a "mustInclude" for the "rcdi" claim and a "permittedValues" equal
to the created "rcdi" claim value string. to the created "rcdi" claim value string.
5. "rcd" Usage 6. "rcd" Usage
The "rcd" claim may appear in any PASSporT claims object as an The "rcd" claim may appear in any PASSporT claims object as an
optional element. The creator of a PASSporT MAY however add a "ppt" 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 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 PASSporT claims MUST contain a "rcd" claim, and any entities
verifying the PASSporT object will be required to understand the verifying the PASSporT object will be required to understand the
"ppt" extension in order to process the PASSporT in question. A "ppt" extension in order to process the PASSporT in question. A
PASSporT header with the "ppt" included will look as follows: PASSporT header with the "ppt" included will look as follows:
{ "typ":"passport", { "typ":"passport",
skipping to change at page 8, line 18 skipping to change at page 9, line 10
"x5u":"https://www.example.com/cert.cer" } "x5u":"https://www.example.com/cert.cer" }
The PASSporT claims object will then contain the "rcd" key with its The PASSporT claims object will then contain the "rcd" key with its
corresponding value. The value of "rcd" is an array of JSON objects, corresponding value. The value of "rcd" is an array of JSON objects,
of which one, the "nam" object, is mandatory. The key syntax of of which one, the "nam" object, is mandatory. The key syntax of
"nam" follows the display-name ABNF given in [RFC3261]. "nam" follows the display-name ABNF given in [RFC3261].
After the header and claims PASSporT objects have been constructed, After the header and claims PASSporT objects have been constructed,
their signature is generated normally per the guidance in [RFC8225]. their signature is generated normally per the guidance in [RFC8225].
5.1. Example "rcd" PASSporTs 6.1. Example "rcd" PASSporTs
An example of a "nam" only PASSporT claims obejct is shown next (with An example of a "nam" only PASSporT claims obejct is shown next (with
line breaks for readability only). line breaks for readability only).
{ "orig":{"tn":"12025551000"}, { "orig":{"tn":"12025551000"},
"dest":{"tn":"12025551001"}, "dest":{"tn":"12025551001"},
"iat":1443208345, "iat":1443208345,
"rcd":{"nam":"James Bond"} } "rcd":{"nam":"James Bond"} }
An example of a "nam" only PASSporT claims object with an "rcdi" An example of a "nam" only PASSporT claims object with an "rcdi"
skipping to change at page 10, line 22 skipping to change at page 11, line 5
corresponding PASSporT claims object would be as follows (with line corresponding PASSporT claims object would be as follows (with line
breaks for readability only): breaks for readability only):
{ "orig":{"tn":"12025551000"}, { "orig":{"tn":"12025551000"},
"dest":{"tn":"12155551001"}, "dest":{"tn":"12155551001"},
"iat":1443208345, "iat":1443208345,
"rcd":{"nam":"James Bond","jcl":"https://example.org/james_bond.json"} "rcd":{"nam":"James Bond","jcl":"https://example.org/james_bond.json"}
"rcdi":"sha256-H8BRh8j48O9oYatfu5AZzq6A9R6dQZngK7T62em8MUt1FLm52t+eX6xO" "rcdi":"sha256-H8BRh8j48O9oYatfu5AZzq6A9R6dQZngK7T62em8MUt1FLm52t+eX6xO"
} }
6. Further Information Associated with Callers 7. Compact form of "rcd" PASSporT
7.1. Compact form of the "rcd" PASSporT claim
Compact form of an "rcd" PASSporT claim has some restrictions but
mainly follows standard PASSporT compact form procedures. For re-
construction of the "nam" claim the string for the display-name in
the From header MUST be used. For re-construction of the "jcl", the
Call-Info header with purpose "jcard" MUST be used. "jcd" claim MAY
NOT be used as part of compact form.
7.2. Compact form of the "rcdi" PASSporT claim
Compact form of an "rcdi" PASSPorT claim shall be re-constructed
following the same "rcdi" defined digest procedures in this document
of all of the content and referenced URI content once downloaded.
8. Further Information Associated with Callers
Beyond naming information and the information that can be contained Beyond naming information and the information that can be contained
in a jCard [RFC7095] object, there may be additional human-readable in a jCard [RFC7095] object, there may be additional human-readable
information about the calling party that should be rendered to the 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 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 pick up the phone. This is not limited to information about the
caller, but includes information about the call itself, which may caller, but includes information about the call itself, which may
derive from analytics that determine based on call patterns or derive from analytics that determine based on call patterns or
similar data if the call is likely to be one the called party wants similar data if the call is likely to be one the called party wants
to receive. Such data could include: to receive. Such data could include:
skipping to change at page 11, line 4 skipping to change at page 12, line 4
o information that will be processed by an application before o information that will be processed by an application before
rendering it to a user, like social networking data that shows rendering it to a user, like social networking data that shows
that an unknown caller is a friend-of-a-friend, or reputation that an unknown caller is a friend-of-a-friend, or reputation
scores derived from crowdsourcing, or confidence scores based on scores derived from crowdsourcing, or confidence scores based on
broader analytics about the caller and callee. broader analytics about the caller and callee.
All of these data elements would benefit from the secure attestations All of these data elements would benefit from the secure attestations
provided by the STIR and PASSporT frameworks. A new IANA registry provided by the STIR and PASSporT frameworks. A new IANA registry
has been defined to hold potential values of the "rcd" array; see has been defined to hold potential values of the "rcd" array; see
Section 12.3. Specific extensions to the "rcd" PASSporT claim are Section 14.3. Specific extensions to the "rcd" PASSporT claim are
left for future specification. left for future specification.
While in the traditional telephone network, the business relationship While in the traditional telephone network, the business relationship
between calling customers and their telephone service providers is between calling customers and their telephone service providers is
the ultimate root of information about a calling party's name, some the ultimate root of information about a calling party's name, some
other forms of data like crowdsourced reputation scores might derive other forms of data like crowdsourced reputation scores might derive
from third parties. It is more likely that when those elements are from third parties. It is more likely that when those elements are
present, they will be in a third-party "rcd" PASSporT. present, they will be in a third-party "rcd" PASSporT.
7. Third-Party Uses 9. Third-Party Uses
While rich data about the call can be provided by an originating While rich data about the call can be provided by an originating
authentication service, the terminating side or an intermediary in authentication service, the terminating side or an intermediary in
the call path could also acquire rich call data by querying a third- the call path could also acquire rich call data by querying a third-
party service. Such a service effectively acts as a STIR party service. Such a service effectively acts as a STIR
Authentication Service, generating its own PASSporT, and that Authentication Service, generating its own PASSporT, and that
PASSporT could be attached to a SIP call by either the originating or PASSporT could be attached to a SIP call by either the originating or
terminating side. This third-party PASSporT attests information terminating side. This third-party PASSporT attests information
about the calling number, rather than the call or caller itself, and about the calling number, rather than the call or caller itself, and
as such its RCD MUST NOT be used when a call lacks a first-party as such its RCD MUST NOT be used when a call lacks a first-party
skipping to change at page 12, line 22 skipping to change at page 13, line 22
systems that sign for calling party numbers from the systems that systems that sign for calling party numbers from the systems that
provide rich data about calls. provide rich data about calls.
In an alternative use case, the terminating user agent might query a In an alternative use case, the terminating user agent might query a
third-party service. In this case, no new Identity header field third-party service. In this case, no new Identity header field
would be generated, though the terminating user agent might receive a would be generated, though the terminating user agent might receive a
PASSporT object in return from the third-party service, and use the 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 "rcd" field in the object as a calling name to render to users while
alerting. alerting.
7.1. Signing as a Third Party 9.1. Signing as a Third Party
When a third party issues a PASSporT with an "rcd" claim, the When a third party issues a PASSporT with an "rcd" claim, the
PASSporT MUST contain the "rcd" "ppt" type in its header object. It PASSporT MUST contain the "rcd" "ppt" type in its header object. It
moreover MUST include an "iss" claim as defined in [RFC7519] to moreover MUST include an "iss" claim as defined in [RFC7519] to
indicate the source of this PASSporT; that field SHOULD be populated indicate the source of this PASSporT; that field SHOULD be populated
with the subject of the credential used to sign the PASSporT. with the subject of the credential used to sign the PASSporT.
A PASSporT with a "ppt" of "rcd" MAY be signed with credentials that 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" do not have authority over the identity that appears in the "orig"
element of the PASSporT claims. Relying parties in STIR have always element of the PASSporT claims. Relying parties in STIR have always
skipping to change at page 13, line 5 skipping to change at page 14, line 5
An example of a Third Party issued PASSporT claims object is as An example of a Third Party issued PASSporT claims object is as
follows. follows.
{ "orig":{"tn":"12025551000"}, { "orig":{"tn":"12025551000"},
"dest":{"tn":"12025551001"}, "dest":{"tn":"12025551001"},
"iat":1443208345, "iat":1443208345,
"iss":"Example, Inc.", "iss":"Example, Inc.",
"rcd":{"nam":"James Bond"} } "rcd":{"nam":"James Bond"} }
8. Levels of Assurance 10. Levels of Assurance
As "rcd" can be provided by either first or third parties, relying As "rcd" can be provided by either first or third parties, relying
parties could benefit from an additional claim that indicates the parties could benefit from an additional claim that indicates the
relationship of the attesting party to the caller. Even in first relationship of the attesting party to the caller. Even in first
party cases, this admits of some complexity: the Communications party cases, this admits of some complexity: the Communications
Service Provider (CSP) to which a number was assigned might in turn 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 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 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 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 derive from any number of data sources, on a spectrum between public
data scraped from web searches to a direct business relationship to data scraped from web searches to a direct business relationship to
the caller. As multiple PASSporTs can be associated with the same the caller. As multiple PASSporTs can be associated with the same
call, potentially a verification service could receive attestations call, potentially a verification service could receive attestations
of the caller name from multiple sources, which have different levels of the caller name from multiple sources, which have different levels
of granularity or accuracy. of granularity or accuracy.
Therefore PASSporTs that carry "rcd" data SHOULD also carry an Therefore PASSporTs that carry "rcd" data SHOULD also carry an
indication of the relationship of the generator of the PASSporT to indication of the relationship of the generator of the PASSporT to
the caller. [TBD claim - take from SHAKEN?] the caller. [TBD claim - take from SHAKEN?]
9. Using "rcd" in SIP 11. Using "rcd" in SIP
This section specifies SIP-specific usage for the "rcd" claim in This section specifies SIP-specific usage for the "rcd" claim in
PASSporT, and in the SIP Identity header field value. Other using PASSporT, and in the SIP Identity header field value. Other using
protocols of PASSporT may define their own usages for the "rcd" protocols of PASSporT may define their own usages for the "rcd"
claim. claim.
9.1. Authentication Service Behavior 11.1. Authentication Service Behavior
An authentication service creating a PASSporT containing a "rcd" An authentication service creating a PASSporT containing a "rcd"
claim MAY include a "ppt" for "rcd" or not. Third-party claim MAY include a "ppt" for "rcd" or not. Third-party
authentication services following the behavior in Section 7.1 MUST authentication services following the behavior in Section 9.1 MUST
include a "ppt" of "rcd". If "ppt" does contain a "rcd", then any include a "ppt" of "rcd". If "ppt" does contain a "rcd", then any
SIP authentication services MUST add a "ppt" parameter to the SIP authentication services MUST add a "ppt" parameter to the
Identity header containing that PASSporT with a value of "rcd". The Identity header containing that PASSporT with a value of "rcd". The
resulting Identity header might look as follows: resulting Identity header might look as follows:
Identity: "sv5CTo05KqpSmtHt3dcEiO/1CWTSZtnG3iV+1nmurLXV/HmtyNS7Ltrg9dlxkWzo Identity: "sv5CTo05KqpSmtHt3dcEiO/1CWTSZtnG3iV+1nmurLXV/HmtyNS7Ltrg9dlxkWzo
eU7d7OV8HweTTDobV3itTmgPwCFjaEmMyEI3d7SyN21yNDo2ER/Ovgtw0Lu5csIp eU7d7OV8HweTTDobV3itTmgPwCFjaEmMyEI3d7SyN21yNDo2ER/Ovgtw0Lu5csIp
pPqOg1uXndzHbG7mR6Rl9BnUhHufVRbp51Mn3w0gfUs="; \ pPqOg1uXndzHbG7mR6Rl9BnUhHufVRbp51Mn3w0gfUs="; \
info=<https://biloxi.example.org/biloxi.cer>;alg=ES256;ppt="rcd" info=<https://biloxi.example.org/biloxi.cer>;alg=ES256;ppt="rcd"
skipping to change at page 14, line 12 skipping to change at page 15, line 12
field value of the request, alternatively for some calls this may field value of the request, alternatively for some calls this may
come from the P-Asserted-ID header. It is however a matter of come from the P-Asserted-ID header. It is however a matter of
authentication service policy to decide how it populates the value of authentication service policy to decide how it populates the value of
"rcd" and "nam" key, which MAY also derive from other fields in the "rcd" and "nam" key, which MAY also derive from other fields in the
request, from customer profile data, or from access to external request, from customer profile data, or from access to external
services. If the authentication service generates a PASSporT object services. If the authentication service generates a PASSporT object
containing "rcd" with a value that is not equivalent to the From 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 header field display-name value, it MUST use the full form of the
PASSporT object in SIP. PASSporT object in SIP.
9.2. Verification Service Behavior 11.2. Verification Service Behavior
[RFC8224] Section 6.2 Step 5 requires that specifications defining [RFC8224] Section 6.2 Step 5 requires that specifications defining
"ppt" values describe any additional verifier behavior. The behavior "ppt" values describe any additional verifier behavior. The behavior
specified for the "ppt" values of "rcd" is as follows. If the specified for the "ppt" values of "rcd" is as follows. If the
PASSporT is in compact form, then the verification service SHOULD PASSporT is in compact form, then the verification service SHOULD
extract the display-name from the From header field value, if any, 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 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 header and claims of the PASSporT object. If the signature validates
over the recomputed object, then the verification should be over the recomputed object, then the verification should be
considered successful. considered successful.
skipping to change at page 14, line 51 skipping to change at page 15, line 51
some other PASSporT in another Identity header field value would have some other PASSporT in another Identity header field value would have
to carry a PASSporT attesting that. A verification service MUST to carry a PASSporT attesting that. A verification service MUST
determine that the calling party number shown in the "orig" of the determine that the calling party number shown in the "orig" of the
"rcd" PASSporT corresponds to the calling party number of the call it "rcd" PASSporT corresponds to the calling party number of the call it
has received, and that the "iat" field of the "rcd" PASSporT is has received, and that the "iat" field of the "rcd" PASSporT is
within the date interval that the verification service would within the date interval that the verification service would
ordinarily accept for a PASSporT. ordinarily accept for a PASSporT.
Verification services may alter their authorization policies for the Verification services may alter their authorization policies for the
credentials accepted to sign PASSporTs when third parties generate credentials accepted to sign PASSporTs when third parties generate
PASSporT objects, per Section 7.1. This may include accepting a PASSporT objects, per Section 9.1. This may include accepting a
valid signature over a PASSporT even if it is signed with a valid signature over a PASSporT even if it is signed with a
credential that does not attest authority over the identity in the credential that does not attest authority over the identity in the
"orig" claim of the PASSporT, provided that the verification service "orig" claim of the PASSporT, provided that the verification service
has some other reason to trust the signer. No further guidance on has some other reason to trust the signer. No further guidance on
verification service authorization policy is given here. verification service authorization policy is given here.
The behavior of a SIP UAS upon receiving an INVITE containing a The behavior of a SIP UAS upon receiving an INVITE containing a
PASSporT object with a "rcd" claim will largely remain a matter of PASSporT object with a "rcd" claim will largely remain a matter of
implementation policy. In most cases, implementations would render implementation policy. In most cases, implementations would render
this calling party name information to the user while alerting. Any this calling party name information to the user while alerting. Any
user interface additions to express confidence in the veracity of user interface additions to express confidence in the veracity of
this information are outside the scope of this specification. this information are outside the scope of this specification.
10. Using "rcd" as additional claims to other PASSporT extensions 12. Using "rcd" as additional claims to other PASSporT extensions
Rich Call Data, including, for example, calling name information, is Rich Call Data, including, for example, calling name information, is
often data that is additive data to the personal communications often data that is additive data to the personal communications
information defined in the core PASSporT data required to support the information defined in the core PASSporT data required to support the
security properties defined in [RFC8225]. For cases where the entity security properties defined in [RFC8225]. For cases where the entity
that is originating the personal communications and additionally is that is originating the personal communications and additionally is
supporting the authentication service and also is the authority of supporting the authentication service and also is the authority of
the Rich Call Data, rather than creating multiple identity headers the Rich Call Data, rather than creating multiple identity headers
with multiple PASSporT extensions or defining multiple combinations with multiple PASSporT extensions or defining multiple combinations
and permutations of PASSporT extension definitions, the and permutations of PASSporT extension definitions, the
authentication service can alternatively directly add the "rcd" authentication service can alternatively directly add the "rcd"
claims to the PASSporT it is creating, whether it is constructed with claims to the PASSporT it is creating, whether it is constructed with
a PASSporT extension or not. a PASSporT extension or not.
10.1. Procedures for applying "rcd" as claims only 12.1. Procedures for applying "rcd" as claims only
For a given PASSporT using some other extension than "rcd", the For a given PASSporT using some other extension than "rcd", the
Authentication Service MAY additionally include the "rcd" claim as Authentication Service MAY additionally include the "rcd" claim as
defined in this document. This would result in a set of claims that defined in this document. This would result in a set of claims that
correspond to the original intended extension with the addition of correspond to the original intended extension with the addition of
the "rcd" claim. the "rcd" claim.
The Verification service that receives the PASSporT, if it supports The Verification service that receives the PASSporT, if it supports
this specification and chooses to, should interpret the "rcd" claim this specification and chooses to, should interpret the "rcd" claim
as simply just an additional claim intended to deliver and/or as simply just an additional claim intended to deliver and/or
validate delivered Rich Call Data. validate delivered Rich Call Data.
10.2. Example for applying "rcd" as claims only 12.2. Example for applying "rcd" as claims only
In the case of [I-D.ietf-stir-passport-shaken] which is the PASSporT In the case of [RFC8588] which is the PASSporT extension supporting
extension supporting the SHAKEN specification [ATIS-1000074], a the SHAKEN specification [ATIS-1000074], a common case for an
common case for an Authentication service to co-exist in a CSP Authentication service to co-exist in a CSP network along with the
network along with the authority over the calling name used for the authority over the calling name used for the call. Rather than
call. Rather than require two identity headers, the CSP require two identity headers, the CSP Authentication Service can
Authentication Service can apply both the SHAKEN PASSporT claims and apply both the SHAKEN PASSporT claims and extension and simply add
extension and simply add the "rcd" required claims defined in this the "rcd" required claims defined in this document.
document.
For example, the PASSporT claims for the "shaken" PASSporT with "rcd" For example, the PASSporT claims for the "shaken" PASSporT with "rcd"
claims would be as follows: claims would be as follows:
Protected Header Protected Header
{ {
"alg":"ES256", "alg":"ES256",
"typ":"passport", "typ":"passport",
"ppt":"shaken", "ppt":"shaken",
"x5u":"https://cert.example.org/passport.cer" "x5u":"https://cert.example.org/passport.cer"
skipping to change at page 16, line 36 skipping to change at page 17, line 35
} }
A Verification Service that supports "rcd" and "shaken" PASSporT A Verification Service that supports "rcd" and "shaken" PASSporT
extensions will be able to receive the above PASSporT and interpret extensions will be able to receive the above PASSporT and interpret
both the "shaken" claims as well as the "rcd" defined claim. both the "shaken" claims as well as the "rcd" defined claim.
If the Verification Service only understands the "shaken" extension If the Verification Service only understands the "shaken" extension
claims but doesn't support "rcd", the "rcd" can simply be ignored and claims but doesn't support "rcd", the "rcd" can simply be ignored and
disregarded. disregarded.
11. Acknowledgements 13. Acknowledgements
We would like to thank Robert Sparks and Russ Housley for helpful We would like to thank Robert Sparks, Russ Housley, and Eric Burger
suggestions. for helpful suggestions and comments.
12. IANA Considerations 14. IANA Considerations
12.1. JSON Web Token Claim 14.1. JSON Web Token Claim
This specification requests that the IANA add two new claims to the This specification requests that the IANA add two new claims to the
JSON Web Token Claims registry as defined in [RFC7519]. JSON Web Token Claims registry as defined in [RFC7519].
Claim Name: "rcd" Claim Name: "rcd"
Claim Description: Rich Call Data Information Claim Description: Rich Call Data Information
Change Controller: IESG
Change Controller: IESG
Specification Document(s): [RFCThis] Specification Document(s): [RFCThis]
Claim Name: "rcdi" Claim Name: "rcdi"
Claim Description: Rich Call Data Integrity Information Claim Description: Rich Call Data Integrity Information
Change Controller: IESG Change Controller: IESG
Specification Document(s): [RFCThis] Specification Document(s): [RFCThis]
12.2. PASSporT Types 14.2. PASSporT Types
This specification requests that the IANA add a new entry to the This specification requests that the IANA add a new entry to the
PASSporT Types registry for the type "rcd" which is specified in PASSporT Types registry for the type "rcd" which is specified in
[RFCThis]. [RFCThis].
12.3. PASSporT RCD Types 14.3. PASSporT RCD Types
This document requests that the IANA create a new registry for This document requests that the IANA create a new registry for
PASSporT RCD types. Registration of new PASSporT RCD types shall be PASSporT RCD types. Registration of new PASSporT RCD types shall be
under the Specification Required policy. under the Specification Required policy.
This registry is to be initially populated with three values, "nam", This registry is to be initially populated with three values, "nam",
"icn", "inf", "jcd", and "jcl", which are specified in [RFCThis]. "jcd", and "jcl", which are specified in [RFCThis].
13. Security Considerations 15. Security Considerations
Revealing information such as the name, location, and affiliation of Revealing information such as the name, location, and affiliation of
a person necessarily entails certain privacy risks. Baseline a person necessarily entails certain privacy risks. Baseline
PASSporT has no particular confidentiality requirement, as the PASSporT has no particular confidentiality requirement, as the
information it signs over in a using protocol like SIP is all information it signs over in a using protocol like SIP is all
information that SIP carries in the clear anyway. Transport-level information that SIP carries in the clear anyway. Transport-level
security can hide those SIP fields from eavesdroppers, and the same security can hide those SIP fields from eavesdroppers, and the same
confidentiality mechanisms would protect any PASSporT(s) carried in confidentiality mechanisms would protect any PASSporT(s) carried in
SIP. SIP.
More TBD. More TBD.
14. References 16. References
14.1. Normative References 16.1. Normative References
[I-D.ietf-stir-oob] [I-D.ietf-stir-oob]
Rescorla, E. and J. Peterson, "STIR Out-of-Band Rescorla, E. and J. Peterson, "STIR Out-of-Band
Architecture and Use Cases", draft-ietf-stir-oob-05 (work Architecture and Use Cases", draft-ietf-stir-oob-05 (work
in progress), July 2019. in progress), July 2019.
[RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,
A., Peterson, J., Sparks, R., Handley, M., and E. A., Peterson, J., Sparks, R., Handley, M., and E.
Schooler, "SIP: Session Initiation Protocol", RFC 3261, Schooler, "SIP: Session Initiation Protocol", RFC 3261,
DOI 10.17487/RFC3261, June 2002, DOI 10.17487/RFC3261, June 2002,
skipping to change at page 18, line 44 skipping to change at page 19, line 44
[RFC8225] Wendt, C. and J. Peterson, "PASSporT: Personal Assertion [RFC8225] Wendt, C. and J. Peterson, "PASSporT: Personal Assertion
Token", RFC 8225, DOI 10.17487/RFC8225, February 2018, Token", RFC 8225, DOI 10.17487/RFC8225, February 2018,
<https://www.rfc-editor.org/info/rfc8225>. <https://www.rfc-editor.org/info/rfc8225>.
[RFC8226] Peterson, J. and S. Turner, "Secure Telephone Identity [RFC8226] Peterson, J. and S. Turner, "Secure Telephone Identity
Credentials: Certificates", RFC 8226, Credentials: Certificates", RFC 8226,
DOI 10.17487/RFC8226, February 2018, DOI 10.17487/RFC8226, February 2018,
<https://www.rfc-editor.org/info/rfc8226>. <https://www.rfc-editor.org/info/rfc8226>.
14.2. Informative References [RFC8588] Wendt, C. and M. Barnes, "Personal Assertion Token
(PaSSporT) Extension for Signature-based Handling of
Asserted information using toKENs (SHAKEN)", RFC 8588,
DOI 10.17487/RFC8588, May 2019,
<https://www.rfc-editor.org/info/rfc8588>.
16.2. Informative References
[ATIS-1000074] [ATIS-1000074]
ATIS/SIP Forum NNI Task Group, "Signature-based Handling ATIS/SIP Forum NNI Task Group, "Signature-based Handling
of Asserted information using toKENs (SHAKEN) of Asserted information using toKENs (SHAKEN)
<https://access.atis.org/apps/group_public/ <https://access.atis.org/apps/group_public/
download.php/32237/ATIS-1000074.pdf>", January 2017. 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-08 (work in
progress), March 2019.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
Authors' Addresses Authors' Addresses
Jon Peterson Jon Peterson
Neustar Inc. Neustar Inc.
1800 Sutter St Suite 570 1800 Sutter St Suite 570
 End of changes. 48 change blocks. 
162 lines changed or deleted 211 lines changed or added

This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/