idnits 2.17.1 draft-birkholz-rats-uccs-01.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 (June 01, 2020) is 1418 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 231, but not defined ** Obsolete normative reference: RFC 7049 (Obsoleted by RFC 8949) ** Obsolete normative reference: RFC 8152 (Obsoleted by RFC 9052, RFC 9053) -- Possible downref: Non-RFC (?) normative reference: ref. 'TPM2' == Outdated reference: A later version (-22) exists of draft-ietf-rats-architecture-04 == Outdated reference: A later version (-25) exists of draft-ietf-rats-eat-03 == Outdated reference: A later version (-19) exists of draft-ietf-teep-architecture-08 Summary: 2 errors (**), 0 flaws (~~), 5 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 RATS Working Group H. Birkholz 3 Internet-Draft Fraunhofer SIT 4 Intended status: Standards Track J. "O'Donoghue" 5 Expires: December 3, 2020 Qualcomm Technologies Inc. 6 N. Cam-Winget 7 Cisco Systems 8 C. Bormann 9 Universitaet Bremen TZI 10 June 01, 2020 12 A CBOR Tag for Unprotected CWT Claims Sets 13 draft-birkholz-rats-uccs-01 15 Abstract 17 CBOR Web Token (CWT, RFC 8392) Claims Sets sometimes do not need the 18 protection afforded by wrapping them into COSE, as is required for a 19 true CWT. This specification defines a CBOR tag for such unprotected 20 CWT Claims Sets (UCCS) and discusses conditions for its proper use. 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 December 3, 2020. 39 Copyright Notice 41 Copyright (c) 2020 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 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 58 2. Motivation and Requirements . . . . . . . . . . . . . . . . . 3 59 3. Characteristics of a Secure Channel . . . . . . . . . . . . . 3 60 3.1. UCCS and Remote ATtestation procedureS (RATS) . . . . . . 4 61 3.2. Privacy Preserving Channels . . . . . . . . . . . . . . . 5 62 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 63 5. Security Considerations . . . . . . . . . . . . . . . . . . . 5 64 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 6 65 6.1. Normative References . . . . . . . . . . . . . . . . . . 6 66 6.2. Informative References . . . . . . . . . . . . . . . . . 7 67 Appendix A. Example . . . . . . . . . . . . . . . . . . . . . . 7 68 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7 70 1. Introduction 72 A CBOR Web Token (CWT) as specified by [RFC8392] is always wrapped in 73 a CBOR Object Signing and Encryption (COSE, [RFC8152]) envelope. 74 COSE provides - amongst other things - the integrity protection 75 mandated by RFC 8392 and optional encryption for CWTs. Under the 76 right circumstances, though, a signature providing proof for 77 authenticity and integrity can be provided through the transfer 78 protocol and thus omitted from the information in a CWT without 79 compromising the intended goal of authenticity and integrity. If a 80 mutually Secured Channel is established between two remote peers, and 81 if that Secure Channel provides the correct properties, it is 82 possible to omit the protection provided by COSE, creating a use case 83 for unprotected CWT Claims Sets. Similarly, if there is one-way 84 authentication, the party that did not authenticate may be in a 85 position to send authentication information through this channel that 86 allows the already authenticated party to authenticate the other 87 party. 89 This specification allocates a CBOR tag to mark Unprotected CWT 90 Claims Sets (UCCS) as such and discusses conditions for its proper 91 use in the scope of Remote ATtestation procedureS (RATS). 93 This specification does not change [RFC8392]: A true CWT does not 94 make use of the tag allocated here; the UCCS tag is an alternative to 95 using COSE protection and a CWT tag. Consequently, in a well-defined 96 scope, it might be acceptable to strip a CWT of its COSE container an 97 replace the CWT Claims Set's CWT CBOR tag with a UCCS CBOR tag for 98 further processing - or vice versa. 100 1.1. Terminology 102 The term Claim is used as in [RFC8725]. 104 The terms Claim Key, Claim Value, and CWT Claims Set are used as in 105 [RFC8392]. 107 UCCS: Unprotected CWT Claims Set; a CBOR map of Claims as defined by 108 the CWT Claims Registry that are composed of pairs of Claim Keys 109 and Claim Values. 111 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 112 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 113 "OPTIONAL" in this document are to be interpreted as described in 114 BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all 115 capitals, as shown here. 117 2. Motivation and Requirements 119 Use cases involving the conveyance of claims, in particular, remote 120 attestations [I-D.ietf-rats-architecture] require a standardized data 121 schema and format that can be trasferred and transported using 122 different communication channels. As these are Claims, [RFC8392] are 123 a suitable format but how these Claims are secured depends on the 124 deployment, the security capabilities of the device, as well as their 125 software stack. For example, a Claim may be securely stored and 126 conveyed using the device's trusted execution environment or 127 especially in some resource constrained environments the same process 128 that provides the secure communication transport is also the delegate 129 to compose the Claim to be conveyed. Whether it is a transfer or 130 transport, a Secure Channel is presumed to be used for conveying such 131 UCCS. The following section further describes the requirements and 132 scenarios in which UCCS can be used. 134 3. Characteristics of a Secure Channel 136 A Secure Channel for the conveyance of UCCS needs to provide the 137 security properties that would otherwise be provided by COSE for a 138 CWT. In this regard, UCCS is similar in security considerations to 139 JWTs [RFC8725] using the algorithm "none". RFC 8725 states: "if a 140 JWT is cryptographically protected end-to-end by a transport layer, 141 such as TLS using cryptographically current algorithms, there may be 142 no need to apply another layer of cryptographic protections to the 143 JWT. In such cases, the use of the "none" algorithm can be perfectly 144 acceptable.". Analogously, the considerations discussed in Sections 145 2.1, 3.1, and 3.2 of RFC 8725 apply to the use of UCCS as elaborated 146 on in this document. 148 Secure Channels are often set up in a handshake protocol that 149 mutually derives a session key, where the handshake protocol 150 establishes the authenticity of one of both ends of the 151 communication. The session key can then be used to provide 152 confidentiality and integrity of the transfer of information inside 153 the Secure Channel. A well-known example of a such a Secure Channel 154 setup protocol is the TLS [RFC8446] handshake; the TLS record 155 protocol can then be used for secure conveyance. 157 As UCCS were initially created for use in Remote ATtestation 158 procedureS (RATS) Secure Channels, the following subsection provides 159 a discussion of their use in these channels. Where other 160 environments are intended to be used to convey UCCS, similar 161 considerations need to be documented before UCCS can be used. 163 3.1. UCCS and Remote ATtestation procedureS (RATS) 165 Secure Channels can be transient in nature. For the purposes of this 166 specification, the mechanisms used to establish a Secure Channel are 167 out of scope. As a minimum requirement in the scope of RATS Claims, 168 however, the Verifier must authenticate the Attester as part of the 169 Secure Channel establishment. 171 If only authenticity/integrity for a Claim is required, a Secure 172 Channel MUST be established to, at minimum, provide integrity of the 173 communication. Further, the provider of the UCCS SHOULD be 174 authenticated by the reciever to ensure the channel is truly secured 175 and the sender is validated. If confidentiality is also required, 176 the receiving side SHOULD also be authenticated. 178 The extent to which a Secure Channel can provide assurances that UCCS 179 originate from a trustworthy attesting environment depends on the 180 characteristics of both the cryptographic mechanisms used to 181 establish the channel and the characteristics of the attesting 182 environment itself. A Secure Channel established or maintained using 183 weak cryptography may not provide the assurance required by a relying 184 party of the authenticity and integrity of the UCCS. 186 Where the security assurance required of an attesting environment by 187 a relying party requires it, the attesting environment may be 188 implemented using techniques designed to provide enhanced protection 189 from an attacker wishing to tamper with or forge UCCS. A possible 190 approach might be to implement the attesting environment in a 191 hardened environment such as a TEE [I-D.ietf-teep-architecture] or a 192 TPM [TPM2]. 194 As with EATs nested in other EATs (Section 3.12.1.2 of 195 [I-D.ietf-rats-eat]), the Secure Channel does not endorse fully 196 formed CWTs transferred through it. Effectively, the COSE envelope 197 of a CWT shields the CWT Claims Set from the endorsement of the 198 Secure Channel. (Note that EAT might add a nested UCCS Claim, and 199 this statement does not apply to UCCS nested into UCCS, only to fully 200 formed CWTs) 202 3.2. Privacy Preserving Channels 204 A Secure Channel which preserves the privacy of the Attester may 205 provide security properties equivalent to COSE, but only inside the 206 life-span of the session established. In general, a Verifier cannot 207 correlate UCCS received in different sessions from the same attesting 208 environment based on the cryptographic mechanisms used when a privacy 209 preserving Secure Channel is employed. 211 In the case of a Remote Attestation, the attester must consider 212 whether any UCCS it returns over a privacy preserving Secure Channel 213 compromises the privacy in unacceptable ways. As an example, the use 214 of the EAT UEID [I-D.ietf-rats-eat] Claim in UCCS over a privacy 215 preserving Secure Channel allows a verifier to correlate UCCS from a 216 single attesting environment across many Secure Channel sessions. 217 This may be acceptable in some use-cases (e.g. if the attesting 218 environment is a physical sensor in a factory) and unacceptable in 219 others (e.g. if the attesting environment is a device belonging to a 220 child). 222 4. IANA Considerations 224 In the registry [IANA.cbor-tags], IANA is requested to allocate the 225 tag in Table 1 from the FCFS space, with the present document as the 226 specification reference. 228 +--------+-----------+--------------------------------------+ 229 | Tag | Data Item | Semantics | 230 +--------+-----------+--------------------------------------+ 231 | TBD601 | map | Unprotected CWT Claims Set [RFCthis] | 232 +--------+-----------+--------------------------------------+ 234 Table 1: Values for Tags 236 5. Security Considerations 238 The security considerations of [RFC7049] and [RFC8392] apply. 240 {#secchan} discusses security considerations for Secure Channels, in 241 which UCCS might be used. This documents provides the CBOR tag 242 definition for UCCS and a discussion on security consideration for 243 the use of UCCS in Remote ATtestation procedureS (RATS). Uses of 244 UCCS outside the scope of RATS are not covered by this document. The 245 UCCS specification - and the use of the UCCS CBOR tag, 246 correspondingly - is not intended for use in a scope where a scope- 247 specific security consideration discussion has not been conducted, 248 vetted and approved for that use. 250 6. References 252 6.1. Normative References 254 [IANA.cbor-tags] 255 IANA, "Concise Binary Object Representation (CBOR) Tags", 256 . 258 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 259 Requirement Levels", BCP 14, RFC 2119, 260 DOI 10.17487/RFC2119, March 1997, 261 . 263 [RFC7049] Bormann, C. and P. Hoffman, "Concise Binary Object 264 Representation (CBOR)", RFC 7049, DOI 10.17487/RFC7049, 265 October 2013, . 267 [RFC8152] Schaad, J., "CBOR Object Signing and Encryption (COSE)", 268 RFC 8152, DOI 10.17487/RFC8152, July 2017, 269 . 271 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 272 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 273 May 2017, . 275 [RFC8392] Jones, M., Wahlstroem, E., Erdtman, S., and H. Tschofenig, 276 "CBOR Web Token (CWT)", RFC 8392, DOI 10.17487/RFC8392, 277 May 2018, . 279 [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol 280 Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, 281 . 283 [RFC8725] Sheffer, Y., Hardt, D., and M. Jones, "JSON Web Token Best 284 Current Practices", BCP 225, RFC 8725, 285 DOI 10.17487/RFC8725, February 2020, 286 . 288 [TPM2] "Trusted Platform Module Library Specification, Family 289 "2.0", Level 00, Revision 01.59 ed., Trusted Computing 290 Group", 2019. 292 6.2. Informative References 294 [I-D.ietf-rats-architecture] 295 Birkholz, H., Thaler, D., Richardson, M., Smith, N., and 296 W. Pan, "Remote Attestation Procedures Architecture", 297 draft-ietf-rats-architecture-04 (work in progress), May 298 2020. 300 [I-D.ietf-rats-eat] 301 Mandyam, G., Lundblade, L., Ballesteros, M., and J. 302 O'Donoghue, "The Entity Attestation Token (EAT)", draft- 303 ietf-rats-eat-03 (work in progress), February 2020. 305 [I-D.ietf-teep-architecture] 306 Pei, M., Tschofenig, H., Thaler, D., and D. Wheeler, 307 "Trusted Execution Environment Provisioning (TEEP) 308 Architecture", draft-ietf-teep-architecture-08 (work in 309 progress), April 2020. 311 Appendix A. Example 313 The example CWT Claims Set from Appendix A.1 of [RFC8392] can be 314 turned into an UCCS by enclosing it with a tag number TBD601: 316 ( 317 { 318 / iss / 1: "coap://as.example.com", 319 / sub / 2: "erikw", 320 / aud / 3: "coap://light.example.com", 321 / exp / 4: 1444064944, 322 / nbf / 5: 1443944944, 323 / iat / 6: 1443944944, 324 / cti / 7: h'0b71' 325 } 326 ) 328 Authors' Addresses 329 Henk Birkholz 330 Fraunhofer SIT 331 Rheinstrasse 75 332 Darmstadt 64295 333 Germany 335 Email: henk.birkholz@sit.fraunhofer.de 337 Jeremy O'Donoghue 338 Qualcomm Technologies Inc. 339 279 Farnborough Road 340 Farnborough GU14 7LS 341 United Kingdom 343 Email: jodonogh@qti.qualcomm.com 345 Nancy Cam-Winget 346 Cisco Systems 347 3550 Cisco Way 348 San Jose, CA 95134 349 USA 351 Email: ncamwing@cisco.com 353 Carsten Bormann 354 Universitaet Bremen TZI 355 Bibliothekstrasse 1 356 Bremen 28369 357 Germany 359 Phone: +49-421-218-63921 360 Email: cabo@tzi.de