idnits 2.17.1 draft-ietf-stir-passport-shaken-06.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 (December 06, 2018) is 1939 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 311, but not defined == Unused Reference: 'RFC3323' is defined on line 368, 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: June 9, 2019 iconectiv 6 December 06, 2018 8 PASSporT SHAKEN Extension (SHAKEN) 9 draft-ietf-stir-passport-shaken-06 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 in 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 origin 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 June 9, 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 between the origin of a particular 90 call to the point in the VoIP or TDM telephone network the call came 91 from to identify, for example, either a customer or class of service 92 that call represents. This document specifies these values as claims 93 to extend the base set of PASSporT claims. 95 2. Terminology 97 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 98 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 99 "OPTIONAL" in this document are to be interpreted as described in BCP 100 14 [RFC2119] [RFC8174] when, and only when, they appear in all 101 capitals, as shown here. 103 In addition, the following terms are used in this document: 105 o Verified association: is typically defined as an authenticated 106 relationship between a customer and a device that initiated a call 107 on behalf of that customer, for example, a subscriber account with 108 a specific SIM card or set of SIP credentials. 110 o PASSporT: Defined in [RFC8225] is a JSON Web Token [RFC7519] 111 defined specifically for securing the identity of an initiator of 112 personal communication. This document defines a specific 113 extension to PASSporT. 115 3. Overview of 'shaken' PASSporT extension 117 The SHAKEN framework is designed to use PASSporT [RFC8225] as a 118 method of asserting the telephone number calling identity. In 119 addition to the PASSporT base claims, there are two additional claims 120 that have been defined for the needs of a service provider to signal 121 information beyond just the telephone identity. First, in order to 122 help bridge the transition of the state of the current telephone 123 network which has calls with no authentication and non-SIP [RFC3261] 124 signaling not compatible with the use of PASSporT and Secure 125 Telephone Identity (STI) in general, there is an attestation claim. 126 This provides three levels of attestation, including a full 127 attestation when the service provider can fully attest to the calling 128 identity, a partial attestation, when the service provider originated 129 a telephone call but can not fully attest to the calling identity, 130 and a gateway attestation which is the lowest level of attestation 131 and represents the service provider receiving a call from a non- 132 PASSporT and non-STI supporting telephone gateway. 134 The second claim is a unique origination identifier that should be 135 used by the service provider to identify different sources of 136 telephone calls to support a traceback mechanism that can be used for 137 enforcement and identification of a source of illegitimate calls. 139 The use of the compact form of PASSporT is not specified in this 140 document and is not specified for use in SHAKEN [ATIS-1000074]. 142 The next two sections define these new claims. 144 4. PASSporT 'attest' Claim 146 This indicator allows for both identifying the service provider that 147 is vouching for the call as well as clearly indicating what 148 information the service provider is attesting to. The 'attest' claim 149 can be one of the following three values: 'A', 'B', or 'C' as defined 150 in [ATIS-1000074]. 152 'A' represents 'Full Attestation' where the signing provider MUST 153 satisfy all of the following conditions: 155 o Is responsible for the origination of the call onto the IP based 156 service provider voice network. 158 o Has a direct authenticated relationship with the initiator of the 159 call and can identify the customer associated with the initiator. 161 o Has established a verified association with the calling party 162 telephone number used for the call. 164 'B' represents 'Partial Attestation' where the signing provider MUST 165 satisfy all of the following conditions: 167 o Is responsible for the origination of the call onto its IP-based 168 voice network. 170 o Has a direct authenticated relationship with the initiator of the 171 call and can identify the customer associated with the initiator. 173 o Has NOT established a verified association with the calling party 174 telephone number being used for the call. 176 'C' represents 'Gateway Attestation' where the signing provider MUST 177 satisfy all of the following conditions: 179 o Is the entry point of the call into its VoIP network. 181 o Has no relationship with the initiator of the call (e.g., 182 international gateways) 184 5. PASSporT 'origid' Claim 186 The purpose of the unique origination identifier is to assign an 187 opaque identifier corresponding to the service-provider-initiated 188 calls themselves, customers, classes of devices, or other groupings 189 that a service provider might want to use for determining things like 190 reputation or trace back identification of customers or gateways. 191 The value of 'origid' claim is a UUID as defined in [RFC4122]. 193 SHAKEN isn't prescriptive in the exact usage of origid other than the 194 UUID format as a globally unique identifier representing the 195 originator of the call to whatever granularity the PASSporT signer 196 determines is sufficient for the ability to trace the original 197 origination point of the call. 199 6. Example "shaken" PASSporT 201 Protected Header 202 { 203 "alg":"ES256", 204 "typ":"passport", 205 "ppt":"shaken", 206 "x5u":"https://cert.example.org/passport.cer" 207 } 208 Payload 209 { 210 "attest":"A" 211 "dest":{"uri":["sip:alice@example.com"]} 212 "iat":"1443208345", 213 "orig":{"tn":"12155550121"}, 214 "origid":"123e4567-e89b-12d3-a456-426655440000" 215 } 217 7. Using 'shaken' in SIP 219 The use of the 'shaken' PASSporT type and the claims 'attest' and 220 'origid' are formally defined in [ATIS-1000074] for usage in SIP 221 [RFC3261] aligned with the use of the identity header field defined 222 in [RFC8224]. 224 8. Order of Claim Keys 226 The order of the claim keys MUST follow the rules of [RFC8225] 227 Section 9; the claim keys MUST appear in lexicographic order. 228 Therefore, the claim keys discussed in this document appear in the 229 PASSporT Payload in the following order, 231 o attest 233 o dest 235 o iat 237 o orig 239 o origid 241 9. Security Considerations 243 This document defines a new PASSporT [RFC8225] extension. The 244 considerations related to the security of the PASSporT object itself 245 are the same as those described in [RFC8225]. 247 [RFC8224] defines how to compare the values of the "dest", "orig" and 248 "iat" claims against fields in a SIP containing a PASSporT as part of 249 validating that request. The values of the new "attest" and "origid" 250 claims added by this extension are not used in such a validation 251 step. They are not compared to fields in the SIP message. Instead, 252 they simply carry additional information from the signer to the 253 consumer of the PASSport. This new information shares the same 254 integrity protection and non-repudiation properties as the base 255 claims in the PASSporT. 257 10. Privacy Considerations 259 As detailed in [RFC3261] Section 26, SIP messages inherently carry 260 identifying information of the caller and callee. The value of the 261 'origid' claim, as defined in SHAKEN [ATIS-1000074] and described in 262 this document, is intended to be a opaque and unique identifier of an 263 element on the path of a given request. This identifier is used by 264 an originating telephone service provider to identify where within 265 their network (e.g. a gateway or particular service element) a call 266 was initiated. This facilitates identifying and stopping bad actors 267 trying to spoof identities or make fraudulent calls. The opacity of 268 the 'origid' claim value is intended to minimize direct exposure of 269 information about the origination of a set of calls sharing the 270 'origid' value. It should be recognized, however, that the potential 271 for discovering patterns through correlation of those calls exists. 272 This could allow a recipient of many calls to, for instance, learn 273 that a set of callers are using a particular service or coming 274 through a common gateway. However, this threat already exists in 275 SIP. There is information in the SIP messages(in the form of Record- 276 Route, Via, and potentially History-Info header field values that can 277 be analyzed the same way (and may correlate closely with the 'origid' 278 value). If the operator of an element is concerned about the 279 correlation of 'origid' values, the element could be configured to 280 use a unique 'origid' value per call in such a way that the operator 281 can associate those 'origid' values to the correct element when doing 282 lookups in their backend systems. 284 11. IANA Considerations 285 11.1. JSON Web Token claims 287 This specification requests that the IANA add two new claims to the 288 JSON Web Token Claims registry as defined in [RFC7519]. 290 Claim Name: "attest" 292 Claim Description: Attestation level as defined in SHAKEN framework 294 Change Controller: IESG 296 Specification Document(s): [RFCThis] 298 Claim Name: "origid" 300 Claim Description: Originating Identifier as defined in SHAKEN 301 framework 303 Change Controller: IESG 305 Specification Document(s): [RFCThis] 307 11.2. PASSporT Types 309 This specification requests that the IANA add a new entry to the 310 Personal Assertion Token (PASSporT) Extensions registry for the type 311 "shaken" which is specified in [RFCThis]. 313 12. Acknowledgements 315 The authors would like to thank those that helped review and 316 contribute to this document including specific contributions from Jon 317 Peterson, Russ Housley, Robert Sparks, and Andrew Jurczak. The 318 authors would like to acknowledge the work of the ATIS/SIP Forum IP- 319 NNI Task Force to develop the concepts behind this document. 321 13. References 323 13.1. Normative References 325 [ATIS-1000074] 326 ATIS/SIP Forum IP-NNI Task Group, "Signature-based 327 Handling of Asserted information using toKENs (SHAKEN)", 328 January 2017, . 331 [RFC4122] Leach, P., Mealling, M., and R. Salz, "A Universally 332 Unique IDentifier (UUID) URN Namespace", RFC 4122, 333 DOI 10.17487/RFC4122, July 2005, 334 . 336 [RFC7519] Jones, M., Bradley, J., and N. Sakimura, "JSON Web Token 337 (JWT)", RFC 7519, DOI 10.17487/RFC7519, May 2015, 338 . 340 [RFC8224] Peterson, J., Jennings, C., Rescorla, E., and C. Wendt, 341 "Authenticated Identity Management in the Session 342 Initiation Protocol (SIP)", RFC 8224, 343 DOI 10.17487/RFC8224, February 2018, 344 . 346 [RFC8225] Wendt, C. and J. Peterson, "PASSporT: Personal Assertion 347 Token", RFC 8225, DOI 10.17487/RFC8225, February 2018, 348 . 350 [RFC8226] Peterson, J. and S. Turner, "Secure Telephone Identity 351 Credentials: Certificates", RFC 8226, 352 DOI 10.17487/RFC8226, February 2018, 353 . 355 13.2. Informative References 357 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 358 Requirement Levels", BCP 14, RFC 2119, 359 DOI 10.17487/RFC2119, March 1997, 360 . 362 [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, 363 A., Peterson, J., Sparks, R., Handley, M., and E. 364 Schooler, "SIP: Session Initiation Protocol", RFC 3261, 365 DOI 10.17487/RFC3261, June 2002, 366 . 368 [RFC3323] Peterson, J., "A Privacy Mechanism for the Session 369 Initiation Protocol (SIP)", RFC 3323, 370 DOI 10.17487/RFC3323, November 2002, 371 . 373 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 374 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 375 May 2017, . 377 Authors' Addresses 379 Chris Wendt 380 Comcast 381 One Comcast Center 382 Philadelphia, PA 19103 383 USA 385 Email: chris-ietf@chriswendt.net 387 Mary Barnes 388 iconectiv 390 Email: mary.ietf.barnes@gmail.com