idnits 2.17.1 draft-ietf-stir-passport-shaken-05.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (November 06, 2018) is 1998 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'RFCThis' is mentioned on line 310, but not defined == Unused Reference: 'RFC3323' is defined on line 367, but no explicit reference was found in the text -- Possible downref: Non-RFC (?) normative reference: ref. 'ATIS-1000074' Summary: 0 errors (**), 0 flaws (~~), 3 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 STIR C. Wendt 3 Internet-Draft Comcast 4 Intended status: Standards Track M. Barnes 5 Expires: May 10, 2019 iconectiv 6 November 06, 2018 8 PASSporT SHAKEN Extension (SHAKEN) 9 draft-ietf-stir-passport-shaken-05 11 Abstract 13 This document extends PASSporT, which is a token object that conveys 14 cryptographically-signed information about the participants involved 15 in communications. The extension is defined, corresponding to the 16 SHAKEN specification, to provide both a specific set of levels-of- 17 confidence to the correctness of the originating identity for a SIP 18 based Communication Service Provider (CSP) telephone network 19 originated call as well as an identifier that allows the CSP to 20 uniquely identify the origination of the call within its network. 22 Status of This Memo 24 This Internet-Draft is submitted in full conformance with the 25 provisions of BCP 78 and BCP 79. 27 Internet-Drafts are working documents of the Internet Engineering 28 Task Force (IETF). Note that other groups may also distribute 29 working documents as Internet-Drafts. The list of current Internet- 30 Drafts is at https://datatracker.ietf.org/drafts/current/. 32 Internet-Drafts are draft documents valid for a maximum of six months 33 and may be updated, replaced, or obsoleted by other documents at any 34 time. It is inappropriate to use Internet-Drafts as reference 35 material or to cite them other than as "work in progress." 37 This Internet-Draft will expire on May 10, 2019. 39 Copyright Notice 41 Copyright (c) 2018 IETF Trust and the persons identified as the 42 document authors. All rights reserved. 44 This document is subject to BCP 78 and the IETF Trust's Legal 45 Provisions Relating to IETF Documents 46 (https://trustee.ietf.org/license-info) in effect on the date of 47 publication of this document. Please review these documents 48 carefully, as they describe your rights and restrictions with respect 49 to this document. Code Components extracted from this document must 50 include Simplified BSD License text as described in Section 4.e of 51 the Trust Legal Provisions and are provided without warranty as 52 described in the Simplified BSD License. 54 Table of Contents 56 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 57 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 58 3. Overview of 'shaken' PASSporT extension . . . . . . . . . . . 3 59 4. PASSporT 'attest' Claim . . . . . . . . . . . . . . . . . . . 4 60 5. PASSporT 'origid' Claim . . . . . . . . . . . . . . . . . . . 4 61 6. Example "shaken" PASSporT . . . . . . . . . . . . . . . . . . 5 62 7. Using 'shaken' in SIP . . . . . . . . . . . . . . . . . . . . 5 63 8. Order of Claim Keys . . . . . . . . . . . . . . . . . . . . . 5 64 9. Security Considerations . . . . . . . . . . . . . . . . . . . 6 65 10. Privacy Considerations . . . . . . . . . . . . . . . . . . . 6 66 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 67 11.1. JSON Web Token claims . . . . . . . . . . . . . . . . . 7 68 11.2. PASSporT Types . . . . . . . . . . . . . . . . . . . . . 7 69 12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 7 70 13. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 71 13.1. Normative References . . . . . . . . . . . . . . . . . . 7 72 13.2. Informative References . . . . . . . . . . . . . . . . . 8 73 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 75 1. Introduction 77 The Signature-based Handling of Asserted information using toKENs 78 (SHAKEN) [ATIS-1000074] specification defines a framework for using 79 Secure Telephone Identity Revisited (STIR) protocols including 80 PASSporT [RFC8225], SIP Authenticated Identity Management [RFC8224] 81 and the STIR certificate framework [RFC8226] for implementing the 82 cryptographic validation of an authorized originator of telephone 83 calls using SIP. Because the current telephone network contains both 84 VoIP and TDM/SS7 originated traffic, there are many scenarios that 85 need to be accounted for where PASSporT signatures may represent 86 either direct or indirect call origination scenarios. The SHAKEN 87 [ATIS-1000074] specification defines levels of attestation of the 88 origination of the call as well as an origination identifier that can 89 help create a unique association with the origination of calls from 90 various parts of the VoIP or TDM telephone network. This document 91 specifies these values as claims to extend the base set of PASSporT 92 claims. 94 2. Terminology 96 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 97 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 98 "OPTIONAL" in this document are to be interpreted as described in BCP 99 14 [RFC2119] [RFC8174] when, and only when, they appear in all 100 capitals, as shown here. 102 In addition, the following terms are used in this document: 104 o Verified association: is typically defined as an authenticated 105 relationship with a device that initiated a call, for example, a 106 subscriber account with a specific SIM card or set of SIP 107 credentials. 109 o PASSporT: Defined in [RFC8225] is a JSON Web Token [RFC7519] 110 defined specifically for securing the identity of an initiator of 111 personal communication. This document defines a specific 112 extension to PASSporT. 114 3. Overview of 'shaken' PASSporT extension 116 The SHAKEN framework is designed to use PASSporT [RFC8225] as a 117 method of asserting the telephone number calling identity. In 118 addition to the PASSporT base claims, there are two additional claims 119 that have been defined for the needs of a service provider to signal 120 information beyond just the telephone identity. First, in order to 121 help bridge the transition of the state of the current telephone 122 network which has calls with no authentication and non-SIP [RFC3261] 123 signaling not compatible with the use of PASSporT and Secure 124 Telephone Identity (STI) in general, there is an attestation claim. 125 This provides three levels of attestation, including a full 126 attestation when the service provider can fully attest to the calling 127 identity, a partial attestation, when the service provider originated 128 a telephone call but can not fully attest to the calling identity, 129 and a gateway attestation which is the lowest level of attestation 130 and represents the service provider receiving a call from a non- 131 PASSporT and non-STI supporting telephone gateway. 133 The second claim is a unique origination identifier that should be 134 used by the service provider to identify different sources of 135 telephone calls to support a traceback mechanism that can be used for 136 enforcement and identification of a source of illegitimate calls. 138 The use of the compact form of PASSporT is not specified in this 139 document and is not specified for use in SHAKEN [ATIS-1000074]. 141 The next two sections define these new claims. 143 4. PASSporT 'attest' Claim 145 This indicator allows for both identifying the service provider that 146 is vouching for the call as well as clearly indicating what 147 information the service provider is attesting to. The 'attest' claim 148 can be one of the following three values: 'A', 'B', or 'C' as defined 149 in [ATIS-1000074]. 151 'A' represents 'Full Attestation' where the signing provider MUST 152 satisfy all of the following conditions: 154 o Is responsible for the origination of the call onto the IP based 155 service provider voice network. 157 o Has a direct authenticated relationship with the initiator of the 158 call and can identify the customer associated with the initiator. 160 o Has established a verified association with the calling party 161 telephone number used for the call. 163 'B' represents 'Partial Attestation' where the signing provider MUST 164 satisfy all of the following conditions: 166 o Is responsible for the origination of the call onto its IP-based 167 voice network. 169 o Has a direct authenticated relationship with the initiator of the 170 call and can identify the customer associated with the initiator. 172 o Has NOT established a verified association with the calling party 173 telephone number being used for the call. 175 'C' represents 'Gateway Attestation' where the signing provider MUST 176 satisfy all of the following conditions: 178 o Is the entry point of the call into its VoIP network. 180 o Has no relationship with the initiator of the call (e.g., 181 international gateways) 183 5. PASSporT 'origid' Claim 185 The purpose of the unique origination identifier is to assign an 186 opaque identifier corresponding to the service-provider-initiated 187 calls themselves, customers, classes of devices, or other groupings 188 that a service provider might want to use for determining things like 189 reputation or trace back identification of customers or gateways. 190 The value of 'origid' claim is a UUID as defined in [RFC4122]. 192 SHAKEN isn't prescriptive in the exact usage of origid other than the 193 UUID format as a globally unique identifier representing the 194 originator of the call to whatever granularity the PASSporT signer 195 determines is sufficient for the ability to trace the original 196 origination point of the call. 198 6. Example "shaken" PASSporT 200 Protected Header 201 { 202 "alg":"ES256", 203 "typ":"passport", 204 "ppt":"shaken", 205 "x5u":"https://cert.example.org/passport.cer" 206 } 207 Payload 208 { 209 "attest":"A" 210 "dest":{"uri":["sip:alice@example.com"]} 211 "iat":"1443208345", 212 "orig":{"tn":"12155550121"}, 213 "origid":"123e4567-e89b-12d3-a456-426655440000" 214 } 216 7. Using 'shaken' in SIP 218 The use of the 'shaken' PASSporT type and the claims 'attest' and 219 'origid' are formally defined in [ATIS-1000074] for usage in SIP 220 [RFC3261] aligned with the use of the identity header field defined 221 in [RFC8224]. 223 8. Order of Claim Keys 225 The order of the claim keys MUST follow the rules of [RFC8225] 226 Section 9; the claim keys MUST appear in lexicographic order. 227 Therefore, the claim keys discussed in this document appear in the 228 PASSporT Payload in the following order, 230 o attest 232 o dest 234 o iat 236 o orig 238 o origid 240 9. Security Considerations 242 This document defines a new PASSporT [RFC8225] extension. The 243 considerations related to the security of the PASSporT object itself 244 are the same as those described in [RFC8225]. 246 [RFC8224] defines how to compare the values of the "dest", "orig" and 247 "iat" claims against fields in a SIP containing a PASSporT as part of 248 validating that request. The values of the new "attest" and "origid" 249 claims added by this extension are not used in such a validation 250 step. They are not compared to fields in the SIP message. Instead, 251 they simply carry additional information from the signer to the 252 consumer of the PASSport. This new information shares the same 253 integrity protection and non-repudiation properties as the base 254 claims in the PASSporT. 256 10. Privacy Considerations 258 As detailed in [RFC3261] Section 26, SIP messages inherently carry 259 identifying information of the caller and callee. The value of the 260 'origid' claim, as defined in SHAKEN [ATIS-1000074] and described in 261 this document, is intended to be a opaque and unique identifier of an 262 element on the path of a given request. This identifier is used by 263 an originating telephone service provider to identify where within 264 their network (e.g. a gateway or particular service element) a call 265 was initiated. This facilitates identifying and stopping bad actors 266 trying to spoof identities or make fraudulent calls. The opacity of 267 the 'origid' claim value is intended to minimize direct exposure of 268 information about the origination of a set of calls sharing the 269 'origid' value. It should be recognized, however, that the potential 270 for discovering patterns through correlation of those calls exists. 271 This could allow a recipient of many calls to, for instance, learn 272 that a set of callers are using a particular service or coming 273 through a common gateway. However, this threat already exists in 274 SIP. There is information in the SIP messages(in the form of Record- 275 Route, Via, and potentially History-Info header field values that can 276 be analyzed the same way (and may correlate closely with the 'origid' 277 value). If the operator of an element is concerned about the 278 correlation of 'origid' values, the element could be configured to 279 use a unique 'origid' value per call in such a way that the operator 280 can associate those 'origid' values to the correct element when doing 281 lookups in their backend systems. 283 11. IANA Considerations 284 11.1. JSON Web Token claims 286 This specification requests that the IANA add two new claims to the 287 JSON Web Token Claims registry as defined in [RFC7519]. 289 Claim Name: "attest" 291 Claim Description: Attestation level as defined in SHAKEN framework 293 Change Controller: IESG 295 Specification Document(s): [RFCThis] 297 Claim Name: "origid" 299 Claim Description: Originating Identifier as defined in SHAKEN 300 framework 302 Change Controller: IESG 304 Specification Document(s): [RFCThis] 306 11.2. PASSporT Types 308 This specification requests that the IANA add a new entry to the 309 Personal Assertion Token (PASSporT) Extensions registry for the type 310 "shaken" which is specified in [RFCThis]. 312 12. Acknowledgements 314 The authors would like to thank those that helped review and 315 contribute to this document including specific contributions from Jon 316 Peterson, Russ Housley, Robert Sparks, and Andrew Jurczak. The 317 authors would like to acknowledge the work of the ATIS/SIP Forum IP- 318 NNI Task Force to develop the concepts behind this document. 320 13. References 322 13.1. Normative References 324 [ATIS-1000074] 325 ATIS/SIP Forum IP-NNI Task Group, "Signature-based 326 Handling of Asserted information using toKENs (SHAKEN)", 327 January 2017, . 330 [RFC4122] Leach, P., Mealling, M., and R. Salz, "A Universally 331 Unique IDentifier (UUID) URN Namespace", RFC 4122, 332 DOI 10.17487/RFC4122, July 2005, 333 . 335 [RFC7519] Jones, M., Bradley, J., and N. Sakimura, "JSON Web Token 336 (JWT)", RFC 7519, DOI 10.17487/RFC7519, May 2015, 337 . 339 [RFC8224] Peterson, J., Jennings, C., Rescorla, E., and C. Wendt, 340 "Authenticated Identity Management in the Session 341 Initiation Protocol (SIP)", RFC 8224, 342 DOI 10.17487/RFC8224, February 2018, 343 . 345 [RFC8225] Wendt, C. and J. Peterson, "PASSporT: Personal Assertion 346 Token", RFC 8225, DOI 10.17487/RFC8225, February 2018, 347 . 349 [RFC8226] Peterson, J. and S. Turner, "Secure Telephone Identity 350 Credentials: Certificates", RFC 8226, 351 DOI 10.17487/RFC8226, February 2018, 352 . 354 13.2. Informative References 356 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 357 Requirement Levels", BCP 14, RFC 2119, 358 DOI 10.17487/RFC2119, March 1997, 359 . 361 [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, 362 A., Peterson, J., Sparks, R., Handley, M., and E. 363 Schooler, "SIP: Session Initiation Protocol", RFC 3261, 364 DOI 10.17487/RFC3261, June 2002, 365 . 367 [RFC3323] Peterson, J., "A Privacy Mechanism for the Session 368 Initiation Protocol (SIP)", RFC 3323, 369 DOI 10.17487/RFC3323, November 2002, 370 . 372 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 373 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 374 May 2017, . 376 Authors' Addresses 378 Chris Wendt 379 Comcast 380 One Comcast Center 381 Philadelphia, PA 19103 382 USA 384 Email: chris-ietf@chriswendt.net 386 Mary Barnes 387 iconectiv 389 Email: mary.ietf.barnes@gmail.com