< draft-ietf-stir-passport-rcd-03.txt   draft-ietf-stir-passport-rcd-04.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: September 12, 2019 Comcast Expires: January 9, 2020 Comcast
March 11, 2019 July 08, 2019
PASSporT Extension for Rich Call Data PASSporT Extension for Rich Call Data
draft-ietf-stir-passport-rcd-03 draft-ietf-stir-passport-rcd-04
Abstract Abstract
This document extends PASSporT, a token for conveying This document extends PASSporT, a token for conveying
cryptographically-signed information about personal communications, cryptographically-signed call information about personal
to include rich data that can be rendered to users, such as a human- communications, to include rich data that can be rendered to users,
readable display name comparable to the "Caller ID" function common such as a human-readable display name comparable to the "Caller ID"
on the telephone network. The element defined for this purpose is function common on the telephone network. The element defined for
extensible to include related information about calls that helps this purpose, Rich Call Data (RCD), is extensible to include related
people decide whether to pick up the phone. information about calls that helps people decide whether to pick up
the phone.
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 September 12, 2019. This Internet-Draft will expire on January 9, 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
skipping to change at page 2, line 13 skipping to change at page 2, line 14
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 . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. PASSporT "rcd" Claim . . . . . . . . . . . . . . . . . . . . 3 3. PASSporT "rcd" Claim . . . . . . . . . . . . . . . . . . . . 3
3.1. "nam" key . . . . . . . . . . . . . . . . . . . . . . . . 3 3.1. "nam" key . . . . . . . . . . . . . . . . . . . . . . . . 4
3.2. "jcd" key . . . . . . . . . . . . . . . . . . . . . . . . 4 3.2. "icn" key . . . . . . . . . . . . . . . . . . . . . . . . 4
3.3. "jcl" key . . . . . . . . . . . . . . . . . . . . . . . . 4 3.3. "inf" key . . . . . . . . . . . . . . . . . . . . . . . . 4
3.4. "rcd" Usage . . . . . . . . . . . . . . . . . . . . . . . 4 3.4. "jcd" key . . . . . . . . . . . . . . . . . . . . . . . . 4
3.5. Example "rcd" PASSporTs . . . . . . . . . . . . . . . . . 5 3.5. "jcl" key . . . . . . . . . . . . . . . . . . . . . . . . 5
4. Further Information Associated with Callers . . . . . . . . . 6 4. Rich Call Data integrity . . . . . . . . . . . . . . . . . . 5
5. Third-Party Uses . . . . . . . . . . . . . . . . . . . . . . 7 4.1. "rcdi" RCD integrity Claim . . . . . . . . . . . . . . . 5
5.1. Signing as a Third Party . . . . . . . . . . . . . . . . 8 4.1.1. Creation of the "rcd" digest . . . . . . . . . . . . 6
6. Levels of Assurance . . . . . . . . . . . . . . . . . . . . . 9 4.2. JWT Constraint for "rcdi" claim . . . . . . . . . . . . . 7
7. Using "rcd" in SIP . . . . . . . . . . . . . . . . . . . . . 9 5. "rcd" Usage . . . . . . . . . . . . . . . . . . . . . . . . . 7
7.1. Authentication Service Behavior . . . . . . . . . . . . . 9 5.1. Example "rcd" PASSporTs . . . . . . . . . . . . . . . . . 8
7.2. Verification Service Behavior . . . . . . . . . . . . . . 10 6. Further Information Associated with Callers . . . . . . . . . 10
8. Using "rcd" as additional claims to other PASSporT extensions 11 7. Third-Party Uses . . . . . . . . . . . . . . . . . . . . . . 11
8.1. Procedures for applying "rcd" as claims only . . . . . . 11 7.1. Signing as a Third Party . . . . . . . . . . . . . . . . 12
8.2. Example for applying "rcd" as claims only . . . . . . . . 11 8. Levels of Assurance . . . . . . . . . . . . . . . . . . . . . 13
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 12 9. Using "rcd" in SIP . . . . . . . . . . . . . . . . . . . . . 13
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 9.1. Authentication Service Behavior . . . . . . . . . . . . . 13
10.1. JSON Web Token Claim . . . . . . . . . . . . . . . . . . 12 9.2. Verification Service Behavior . . . . . . . . . . . . . . 14
10.2. PASSporT Types . . . . . . . . . . . . . . . . . . . . . 13 10. Using "rcd" as additional claims to other PASSporT extensions 15
10.3. PASSporT RCD Types . . . . . . . . . . . . . . . . . . . 13 10.1. Procedures for applying "rcd" as claims only . . . . . . 15
11. Security Considerations . . . . . . . . . . . . . . . . . . . 13 10.2. Example for applying "rcd" as claims only . . . . . . . 15
12. References . . . . . . . . . . . . . . . . . . . . . . . . . 13 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 16
12.1. Normative References . . . . . . . . . . . . . . . . . . 13 12. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16
12.2. Informative References . . . . . . . . . . . . . . . . . 14 12.1. JSON Web Token Claim . . . . . . . . . . . . . . . . . . 16
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15 12.2. PASSporT Types . . . . . . . . . . . . . . . . . . . . . 17
12.3. PASSporT RCD Types . . . . . . . . . . . . . . . . . . . 17
13. Security Considerations . . . . . . . . . . . . . . . . . . . 17
14. References . . . . . . . . . . . . . . . . . . . . . . . . . 17
14.1. Normative References . . . . . . . . . . . . . . . . . . 17
14.2. Informative References . . . . . . . . . . . . . . . . . 18
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 19
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 12 skipping to change at page 3, line 19
which extends PASSporT to carry additional elements conveying richer which extends PASSporT to carry additional elements conveying richer
information: information that is intended to be rendered to an end information: information that is intended to be rendered to an end
user to assist a called party in determining whether to accept or user to assist a called party in determining whether to accept or
trust incoming communications. This includes the name of the person trust incoming communications. This includes the name of the person
on one side of a communications session, the traditional "Caller ID" on one side of a communications session, the traditional "Caller ID"
of the telephone network, along with related display information that of the telephone network, along with related display information that
would be rendered to the called party during alerting, or potentially would be rendered to the called party during alerting, or potentially
used by an automaton to determine whether and how to alert a called used by an automaton to determine whether and how to alert a called
party. party.
In the traditional telephone network, the display name associated Traditional telephone network signaling protocols have long supported
with a call is typically provided in one of three ways: by a third- delivering a 'calling name' from the originating side, though in
party service queried at the terminating side, by the originator of practice, the terminating side is often left to derive a name from
the call, or through a local address book maintained by a device on the calling party number by consulting a local address book or an
the terminating side. The STIR architecture lends itself especially external database. SIP similarly can carry a 'display-name' in the
to the first of these approaches, as it assumes that an authority on From header field value from the originating to terminating side,
the originating side of the call provides a cryptographic assurance though it is an unsecured field that is not commonly trusted. The
of the validity of the calling party number in order to prevent same is true of information in the Call-Info header field.
impersonation attacks. That same authority could sign for a display
name associated with that number, which the terminating side could The baseline use case for this document will be extending PASSporT to
render to the user when the call is alerting. Even when the provide cryptographic protection for the "display-name" field of SIP
originating side does not provide a display name for the caller, the requests as well as further "rich call data" (RCD) about the caller,
cryptographic attestation of the validity of the calling number which includes the contents of the Call-Info header field or other
provided by STIR still allows the terminating side to query a local data structures that can be added to the PASSporT. This document
or remote service for a name associated with that number without fear furthermore specifies a third-party profile that would allow external
that the number has been impersonated by the caller; STIR thus makes authorities to convey rich information associated with a calling
"Caller ID" more secure even when there is no first-party attestation number via a new type of PASSporT. Finally, this document describes
of a display name. For these cases, this specification outlines how to constrain the RCD data that a PASSporT can attest via
various ways that a display name for a calling party could be certificate-level controls.
determined at the terminating side in a secure fashion.
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. 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 or more key value pairs. This document defines a default set of key
three key values one being mandatory, the others are optional. values.
3.1. "nam" key 3.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. "jcd" key 3.2. "icn" 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 be an [RFC7095] JSON object. This jCard object is intended to and may
extensible object that the calling party of personal communications derive from the Call-Info header field value of a SIP request
can provide both the types of information defined in jCard or can use [RFC3261] Section 20.9 with a type of "card". It is an extensible
the built in extensibility of the jCard specification to add object where the calling party can provide both the standard types of
additional information. The "jcd" is optional. If included, this information defined in jCard or can use the built in extensibility of
key MUST only be included once in the "rcd" JSON object and SHOULD the jCard specification to add additional information. The "jcd" is
NOT be included if there is a "jcl" key included. The "jcd" and optional. If included, this key MUST only be included once in the
"jcl" keys should be mutually exclusive. "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.3. "jcl" key 3.5. "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 be an external reference to a web server. This link is intended to and may derive from the Call-
JSON file with the same intended use of the "jcd" jCard object and Info header field value of a SIP request [RFC3261] Section 20.9 with
has the same intended properties. The "jcl" key is optional. If a type of "card". This URL is an external reference to a JSON file
included, this key MUST only be included once in the "rcd" JSON with the same intended use of the "jcd" jCard object and has the same
object and SHOULD NOT be included if there is a "jcd" key included. intended properties. The "jcl" key is optional. If included, this
The "jcd" and "jcl" keys should be mutually exclusive. key MUST only be included once in the "rcd" JSON object and SHOULD
NOT be included if there is a "jcd" key included. The "jcd" and
"jcl" keys should be mutually exclusive.
3.4. "rcd" Usage 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
The "rcdi" claim is an optional claim that if the application
requires integrity applied to the content of the "rcd" claim SHOULD
be included with a corresponding "rcd" claim. The value of the
"rcdi" key pair should contain a string that is defined as follows.
The first part of the string should define the crypto algorithm used
to generate the digest. For RCD, implementations MUST support the
following hash algorithms, "SHA256", "SHA384", or "SHA512". The SHA-
256, SHA-384, and SHA-512 are part of the SHA-2 set of cryptographic
hash functions defined by the NIST. Implementations MAY support
additional algorithms, but MUST NOT support known weak algorithms
such as MD5 or SHA-1. In the future, the list of algorithms may re-
evaluated based on security best practices. The algorithms MUST be
represented in the text by "sha256", "sha384", or "sha512". The
character following the algorithm string MUST be a minus character,
"-". The subsequent characters MUST be the base64 encoded digest of
a canonicalized and concatenated string based on the "rcd" claim and
the URLs contained in the claim. The details of the creation of this
string are defined in the next section.
Example:
"rcdi" : "sha256-H8BRh8j48O9oYatfu5AZzq6A9RINQZngK7T62em8MUt1FLm52t+eX6xO"
4.1.1. Creation of the "rcd" digest
In order to facilitate proper verification of the digest and whether
the "rcd" content was modified, the input to the digest must be
completely deterministic at three points in the process. First, at
the certification point where the content is evaluated to conform to
the application policy and the JWT constraint is applied to the
certificate containing the digest. Second, when the call is signed
at the Authentication Service, there may be a local policy to verify
that the provided "rcd" claim corresponds to the digest. Third, when
the "rcd" data is verified at the Verification Service, it MUST
verify the digest by constructing the "rcd" input digest string.
The procedures for the creation of the "rcd" input digest string is
as follows.
1. Arrange the keys in the "rcd" claim value to be in lexicographic
order.
2. Serialize the resulting "rcd" claim value JSON object to remove
all white space and line breaks. The procedures of this
deterministic JSON serialization is defined in [RFC8225],
Section 9.
3. Identify, in order of where they appear in the serialized string,
all of the URLs referencing external resource files.
4. Construct the "rcd" input string by first inserting the
serialized "rcd" claim value.
5. If there is at least one URL identified, insert a semicolon
character in the "rcd" input string.
6. Follow the semicolon with the Base64 encoded contents of resource
file referenced by the first URL.
7. Repeat steps 5 and 6 for any additionally identified
corresponding URLs.
Once the input digest string has been created, use this string to
create the base64 encoded digest output that can be inserted into the
"rcdi" claim as discussed in the last section.
Example "rcd" claim with URL:
"rcd": { "nam" : "James Bond",
"icon" : "https://example.org/james_bond.jpg"
}
Example "rcd" input digest string (with line breaks for readability):
{"nam":"James Bond","icon":"https://example.org/james_bond.jpg"};
ONG##*NCCCDJK123...KLJASlkJlkjsadlf2e3
Example "rcdi" claim:
"rcdi":"sha256-u5AZzq6A9RINQZngK7T62em8M"
4.2. JWT Constraint for "rcdi" claim
Once both the contents of the "rcd" claim is certified and the
construction of the "rcdi" claim is complete, the "rcdi" digest is
linked to the STIR certificate associated with the signature in the
PASSporT via JWT Constraints as defined in [RFC8226] Section 8.
The certificate JWT Constraint MUST include both of the following:
o a "mustInclude" for the "rcd" claim
o a "mustInclude" for the "rcdi" claim and a "permittedValues" equal
to the created "rcdi" claim value string.
5. "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 5, line 8 skipping to change at page 8, line 18
"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].
3.5. Example "rcd" PASSporTs 5.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"
claim is shown next (with line breaks for readability only).
{ "orig":{"tn":"12025551000"},
"dest":{"tn":"12025551001"},
"iat":1443208345,
"rcd":{"nam":"James Bond"}
"rcdi":"sha256-H8BRh8j48O9oYatfu5AZzq6A9R6dQZngK7T62em8MUt1FLm52t+eX6xO"
}
An example of a PASSporT claims object that includes the "jcd" which An example of a PASSporT claims object that includes the "jcd" which
is optional, but will also include the mandatory "nam" object is is optional, but will also include the mandatory "nam" object is
shown next (with line breaks for readability only). shown next (with line breaks for readability only).
{ "orig":{"tn":"12025551000"}, { "orig":{"tn":"12025551000"},
"dest":{"tn":"12155551001"}, "dest":{"tn":"12155551001"},
"iat":1443208345, "iat":1443208345,
"rcd":{"nam":"James Bond","jcd":["vcard",[["version",{},"text","4.0"], "rcd":{"nam":"James Bond","jcd":["vcard",[["version",{},"text","4.0"],
["fn",{},"text", "James Bond"], ["fn",{},"text", "James Bond"],
["n",{},"text",["Bond","James","","","Mr."]], ["n",{},"text",["Bond","James","","","Mr."]],
skipping to change at page 6, line 35 skipping to change at page 10, line 11
"https://example.org/james_bond.json", the corresponding PASSporT "https://example.org/james_bond.json", the corresponding PASSporT
claims object would be as follows (with line breaks for readability claims object would be as follows (with line breaks for readability
only): 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"}
} }
4. Further Information Associated with Callers If we were to add a "rcdi" integrity claim to the last example, the
corresponding PASSporT claims object would be as follows (with line
breaks for readability only):
{ "orig":{"tn":"12025551000"},
"dest":{"tn":"12155551001"},
"iat":1443208345,
"rcd":{"nam":"James Bond","jcl":"https://example.org/james_bond.json"}
"rcdi":"sha256-H8BRh8j48O9oYatfu5AZzq6A9R6dQZngK7T62em8MUt1FLm52t+eX6xO"
}
6. 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 7, line 17 skipping to change at page 11, 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 10.3. Specific extensions to the "rcd" PASSporT claim are Section 12.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.
5. Third-Party Uses 7. 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. In telephone operations today, a third-party party service. Such a service effectively acts as a STIR
information service is commonly queried with the calling party's Authentication Service, generating its own PASSporT, and that
number in order to learn the name of the calling party, and PASSporT could be attached to a SIP call by either the originating or
potentially other helpful information could also be passed over that terminating side. This third-party PASSporT attests information
interface. The value of using a PASSporT to convey this information about the calling number, rather than the call or caller itself, and
from third parties lies largely in the preservation of the original as such its RCD MUST NOT be used when a call lacks a first-party
authority's signature over the data, and the potential for the PASSporT that assures verification services that the calling party
PASSporT to be conveyed from intermediaries to endpoint devices. number is not spoofed. It is intended to be used in cases when the
Effectively, these use cases form a sub-case of out-of-band originating side does not supply a display-name for the caller, so
[I-D.ietf-stir-oob] use cases. The manner in which third-party instead some entity in the call path invokes a third-party service to
services are discovered is outside the scope of this document. provide rich caller data for a call.
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 a sub-case 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 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 a display name in its From header field value and an initial PASSporT
object without the "rcd" claim. When the a terminating verification object without the "rcd" claim. When the a terminating verification
service implemented at a SIP proxy server receives this request, and service implemented at a SIP proxy server receives this request, and
determines that the signature is valid, it might query a third-party determines that the signature is valid, it might query a third-party
service that maps telephone numbers to calling party names. Upon service that maps telephone numbers to calling party names. Upon
receiving the PASSport in a response from that third-party service, receiving the PASSport in a response from that third-party service,
the terminating side could add a new Identity header field to the the terminating side could add a new Identity header field to the
request for the "rcd" PASSporT object provided by the third-party request for the "rcd" PASSporT object provided by the third-party
skipping to change at page 8, line 22 skipping to change at page 12, 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.
5.1. Signing as a Third Party 7.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 9, line 5 skipping to change at page 13, 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"} }
6. Levels of Assurance 8. 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?]
7. Using "rcd" in SIP 9. 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.
7.1. Authentication Service Behavior 9.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 5.1 MUST authentication services following the behavior in Section 7.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 10, line 12 skipping to change at page 14, 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.
7.2. Verification Service Behavior 9.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 10, line 51 skipping to change at page 14, 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 5.1. This may include accepting a PASSporT objects, per Section 7.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.
8. Using "rcd" as additional claims to other PASSporT extensions 10. 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.
8.1. Procedures for applying "rcd" as claims only 10.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.
8.2. Example for applying "rcd" as claims only 10.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 [I-D.ietf-stir-passport-shaken] which is the PASSporT
extension supporting the SHAKEN specification [ATIS-1000074], a extension supporting the SHAKEN specification [ATIS-1000074], a
common case for an Authentication service to co-exist in a CSP common case for an Authentication service to co-exist in a CSP
network along with the authority over the calling name used for the network along with the authority over the calling name used for the
call. Rather than require two identity headers, the CSP call. Rather than require two identity headers, the CSP
Authentication Service can apply both the SHAKEN PASSporT claims and Authentication Service can apply both the SHAKEN PASSporT claims and
extension and simply add the "rcd" required claims defined in this extension and simply add the "rcd" required claims defined in this
document. document.
skipping to change at page 12, line 36 skipping to change at page 16, line 36
} }
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.
9. Acknowledgements 11. Acknowledgements
We would like to thank Robert Sparks and Russ Housley for helpful We would like to thank Robert Sparks and Russ Housley for helpful
suggestions. suggestions.
10. IANA Considerations 12. IANA Considerations
10.1. JSON Web Token Claim 12.1. JSON Web Token Claim
This specification requests that the IANA add a new claim to the JSON This specification requests that the IANA add two new claims to the
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: Caller Name Information Claim Description: Rich Call Data Information
Change Controller: IESG Change Controller: IESG
Specification Document(s): [RFCThis] Specification Document(s): [RFCThis]
10.2. PASSporT Types Claim Name: "rcdi"
Claim Description: Rich Call Data Integrity Information
Change Controller: IESG
Specification Document(s): [RFCThis]
12.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].
10.3. PASSporT RCD Types 12.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",
"jcd", and "jcl", which are specified in [RFCThis]. "icn", "inf", "jcd", and "jcl", which are specified in [RFCThis].
11. Security Considerations 13. 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.
12. References 14. References
12.1. Normative References 14.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-04 (work Architecture and Use Cases", draft-ietf-stir-oob-05 (work
in progress), March 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,
<https://www.rfc-editor.org/info/rfc3261>. <https://www.rfc-editor.org/info/rfc3261>.
[RFC6919] Barnes, R., Kent, S., and E. Rescorla, "Further Key Words [RFC6919] Barnes, R., Kent, S., and E. Rescorla, "Further Key Words
for Use in RFCs to Indicate Requirement Levels", RFC 6919, for Use in RFCs to Indicate Requirement Levels", RFC 6919,
DOI 10.17487/RFC6919, April 2013, DOI 10.17487/RFC6919, April 2013,
skipping to change at page 14, line 33 skipping to change at page 18, line 39
[RFC8224] Peterson, J., Jennings, C., Rescorla, E., and C. Wendt, [RFC8224] Peterson, J., Jennings, C., Rescorla, E., and C. Wendt,
"Authenticated Identity Management in the Session "Authenticated Identity Management in the Session
Initiation Protocol (SIP)", RFC 8224, Initiation Protocol (SIP)", RFC 8224,
DOI 10.17487/RFC8224, February 2018, DOI 10.17487/RFC8224, February 2018,
<https://www.rfc-editor.org/info/rfc8224>. <https://www.rfc-editor.org/info/rfc8224>.
[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>.
12.2. Informative References [RFC8226] Peterson, J. and S. Turner, "Secure Telephone Identity
Credentials: Certificates", RFC 8226,
DOI 10.17487/RFC8226, February 2018,
<https://www.rfc-editor.org/info/rfc8226>.
14.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] [I-D.ietf-stir-passport-shaken]
Wendt, C. and M. Barnes, "PASSporT SHAKEN Extension Wendt, C. and M. Barnes, "PASSporT SHAKEN Extension
(SHAKEN)", draft-ietf-stir-passport-shaken-08 (work in (SHAKEN)", draft-ietf-stir-passport-shaken-08 (work in
 End of changes. 41 change blocks. 
114 lines changed or deleted 316 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/