idnits 2.17.1 draft-ingles-eap-edhoc-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 (November 2, 2020) is 1268 days in the past. Is this intentional? Checking references for intended status: Experimental ---------------------------------------------------------------------------- == Unused Reference: 'RFC2548' is defined on line 283, but no explicit reference was found in the text Summary: 0 errors (**), 0 flaws (~~), 2 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 EMU Working Group E. Ingles 3 Internet-Draft University of Murcia 4 Intended status: Experimental D. Garcia-Carrillo 5 Expires: May 6, 2021 University of Oviedo 6 R. Marin-Lopez 7 University of Murcia 8 November 2, 2020 10 EAP method based on EDHOC Authentication 11 draft-ingles-eap-edhoc-01 13 Abstract 15 This document describes a proposal of an EAP method based on the 16 EDHOC authentication protocol. 18 Status of This Memo 20 This Internet-Draft is submitted in full conformance with the 21 provisions of BCP 78 and BCP 79. 23 Internet-Drafts are working documents of the Internet Engineering 24 Task Force (IETF). Note that other groups may also distribute 25 working documents as Internet-Drafts. The list of current Internet- 26 Drafts is at https://datatracker.ietf.org/drafts/current/. 28 Internet-Drafts are draft documents valid for a maximum of six months 29 and may be updated, replaced, or obsoleted by other documents at any 30 time. It is inappropriate to use Internet-Drafts as reference 31 material or to cite them other than as "work in progress." 33 This Internet-Draft will expire on May 6, 2021. 35 Copyright Notice 37 Copyright (c) 2020 IETF Trust and the persons identified as the 38 document authors. All rights reserved. 40 This document is subject to BCP 78 and the IETF Trust's Legal 41 Provisions Relating to IETF Documents 42 (https://trustee.ietf.org/license-info) in effect on the date of 43 publication of this document. Please review these documents 44 carefully, as they describe your rights and restrictions with respect 45 to this document. Code Components extracted from this document must 46 include Simplified BSD License text as described in Section 4.e of 47 the Trust Legal Provisions and are provided without warranty as 48 described in the Simplified BSD License. 50 Table of Contents 52 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 53 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 2 54 2. Protocol Overview . . . . . . . . . . . . . . . . . . . . . . 2 55 2.1. The EAP-EDHOC Conversation . . . . . . . . . . . . . . . 2 56 2.1.1. Transport and Message Correlation . . . . . . . . . . 4 57 2.1.2. Identity . . . . . . . . . . . . . . . . . . . . . . 5 58 3. Identity Verification . . . . . . . . . . . . . . . . . . . . 5 59 4. Key Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . 5 60 5. IANA considerations . . . . . . . . . . . . . . . . . . . . . 6 61 6. Security Considerations . . . . . . . . . . . . . . . . . . . 6 62 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 6 63 8. Normative References . . . . . . . . . . . . . . . . . . . . 7 64 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7 66 1. Introduction 68 EDHOC [I-D.selander-lake-edhoc] is a new protocol for autentication 69 and key derivation that has been proposed as an alternative in IoT to 70 provide a secure exchange in an end-to-end fashion. This key 71 material can be futher used to run other protocols such as OSCORE, as 72 well as providing key material to any other protocol that needs pre- 73 shared key material to secure the communications. Provides 74 authentication and key material generation, which are basic pillars 75 to the design of an EAP method. And indeed the most important thing 76 is that it is lightweight and designed for IoT. In addition, the 77 EDHOC implementation that exists on the device can be reused to 78 establish OSCORE Security Associations (SAs) for the authentication 79 process. EAP is a protocol that allows to implement different 80 authentication mechanims, provides a framework for key management and 81 has integration with AAA infrastructures. For these reasons, this 82 new EAP method will allow the different applications and use cases to 83 take advantage of EAP. 85 1.1. Requirements Language 87 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 88 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 89 document are to be interpreted as described in RFC 2119 [RFC2119]. 91 2. Protocol Overview 93 2.1. The EAP-EDHOC Conversation 95 The exchange of messages befalls between two entities that EDHOC 96 identifies as Initiator (I) and Responder (R). In this EAP method, 97 we establish equivalence with those terms. On the one hand, EAP peer 98 acts as Initiator while EAP Server takes on the role of Responder. 100 The EAP-EDHOC conversation typically starts with the negotiation of 101 EAP by the EAP authenticator and the EAP peer. The EAP authenticator 102 sends an EAP-Request/Identity packet to the EAP peer, to which the 103 EAP peer answers with an EAP-Response/Identity. This last messages 104 contains the peer's user-Id. 106 From this point on, the authenticator MAY act as a forwarder of the 107 EAP messages between the EAP peer and the server, if the pass-through 108 mode is used, receiving the EAP packets from the peer, encapsulating 109 them for transmission to the EAP server that will act as 110 Authentication Server (AS). 112 Once the EAP server receives the peer's Identity, it MUST respond 113 with an empty EAP-EDHOC/Start message, which is an EAP-Request packet 114 with EAP-Type=EAP-EDHOC and no data. Initiator must initiate the 115 EDHOC conversation. Hence, EAP Server sends this message to indicate 116 that it can start the authentication process. The EAP-EDHOC 117 conversation will then begin, with the peer sending an EAP-Response 118 packet with EAP-Type=EAP-EDHOC. The data field of that packet will 119 encapsulate the "EDHOC Message 1". 121 The EAP server will then respond with an EAP-Request packet with EAP- 122 Type=EAP-EDHOC. The data field of this packet will encapsulate 123 "EDHOC Message 2" message. To this message, the EAP peer will send 124 the and EAP-Response message containing the "EDHOC Message 3" 125 message. 127 In the case where the EDHOC mutual authentication is successful, the 128 conversation will appear as follows: 130 +--------+ +-------+ 131 | EAP | | EAP | 132 | Peer | | AuthN | 133 +--------+ +-------+ 134 | EAP-Request/Identity | 135 | <---------------------------------------------------+ | 136 | | 137 | EAP-Response/Identity (ID) | 138 | +---------------------------------------------------> | 139 | EAP-Request/ | 140 | EAP-Type=EAP-EDHOC | 141 | (EDHOC Start) | 142 | <---------------------------------------------------+ | 143 | EAP-Response/ | 144 | EAP-Type=EAP-EDHOC | 145 | (EDHOC message 1) | 146 | +---------------------------------------------------> | 147 | EAP-Request/ | 148 | EAP-Type=EAP-EDHOC | 149 | (EDHOC message 2) | 150 | <---------------------------------------------------+ | 151 | EAP-Response/ | 152 | EAP-Type=EAP-EDHOC | 153 | (EDHOC message 3) | 154 | +---------------------------------------------------> | 155 | | 156 | EAP-Success | 157 | <---------------------------------------------------+ | 158 + + 160 Figure 1: Overview EDHOC exchange 162 2.1.1. Transport and Message Correlation 164 One of the defining characteristics of EAP is its lock-step 165 procedure. The EAP protocol manages the exchange of messages 166 guaranteeing the order of transmission. In the same way, it manages 167 retransmissions and the detection of duplicate messages. Therefore, 168 EAP ensures the message correlation mechanism in the different EAP 169 layers. 171 Given the above, EDHOC does not need to use its internal mechanism 172 for correlating messages. Then, the value for METHOD_CORR variable 173 must satisfy the formula: 175 METHOD_CORR = 4 * method + corr 176 Where: 178 method = EDHOC Method Type defined in Section 8.2 of EDHOC 179 [I-D.selander-lake-edhoc] 181 corr = 183 2.1.2. Identity 185 It is RECOMMENDED to use NAIs in the Identity Response as identities. 187 3. Identity Verification 189 The identity provided in the EAP-Response/Identity is not 190 authenticated by EAP-EDHOC, hence SHALL NOT be used for authorization 191 or accounting purposes. The authenticator and the EAP server MAY 192 examine the identity presented in EAP-Response/Identity for routing 193 and EAP method selection. 195 4. Key Hierarchy 197 EDHOC uses HKDF RFC 5869 [RFC5869] to derive keys. HKDF-Extract is 198 used for deriving fixed-length uniformly pseudorandom keys (PRK) from 199 ECDH shared secrets. HKDF-Expand is used for deriving additional 200 output keying material (OKM) from the PRKs. 202 The derivation proceeds as follows: 204 PRK = HKDF-Extract( salt, IKM ) 206 Where: 208 HKDF-Extract = RFC5869 HKDF function 210 salt = The empty byte string 212 IKM (input keying material) = The ECDH shared secret 214 Figure 2 illustrates the EDHOC Key Hierarchy. 216 In EAP-EDHOC, the MSK, EMSK, and Initialization Vector (IV) are 217 derived from the PRK via a hash function. This ensures that the 218 EDHOC PRK cannot be derived from the MSK, EMSK, or IV unless the hash 219 function is defeated. Since the MSK and EMSK are derived from the 220 EDHOC PRK, if the EDHOC PRK is compromised then the MSK and EMSK are 221 also compromised. 223 EAP-EDHOC derives exported keying material and parameters as follows: 225 Type-Code = 0XFF 227 Key_Material = HKDF-Expand(EDHOC PRK, "EAP-EDHOC encryption", 128) 229 MSK = Key_Material(0,63) 231 EMSK = Key_Material(64,127) 233 IV = HKDF-Expand(EDHOC PRK, "EAP-EDHOC IV", 64) 235 Session-Id = Type-Code || Method-Id 237 Method-Id = HKDF-Expand(EDHOC PRK, "EAP_EDHOC_Method-Id", 64) 239 Where: 241 Key_Material(S,F) = Octets S through F inclusive of the key material. 243 | PRK 244 V 245 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 246 | MSK, EMSK | 247 | label == "EAP-EDHOC encryption" | 248 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 249 | | | 250 | MSK(0,63) | EMSK(0,63) | IV (0,63) 251 | | | 252 | | | 253 V V V 255 Figure 2: EAP-EDHOC Key derivation 257 5. IANA considerations 259 TBD. 261 6. Security Considerations 263 TBD. 265 7. Acknowledgements 267 This work is possible due the EU Project IoTCrawlwer under grant 268 agreement n.779852 and the EU Project INSPIRE-5Gplus under grant 269 agreement n.871808 271 8. Normative References 273 [I-D.selander-lake-edhoc] 274 Selander, G., Mattsson, J., and F. Palombini, "Ephemeral 275 Diffie-Hellman Over COSE (EDHOC)", draft-selander-lake- 276 edhoc-01 (work in progress), March 2020. 278 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 279 Requirement Levels", BCP 14, RFC 2119, 280 DOI 10.17487/RFC2119, March 1997, 281 . 283 [RFC2548] Zorn, G., "Microsoft Vendor-specific RADIUS Attributes", 284 RFC 2548, DOI 10.17487/RFC2548, March 1999, 285 . 287 [RFC5869] Krawczyk, H. and P. Eronen, "HMAC-based Extract-and-Expand 288 Key Derivation Function (HKDF)", RFC 5869, 289 DOI 10.17487/RFC5869, May 2010, 290 . 292 Authors' Addresses 294 Eduardo Ingles-Sanchez 295 University of Murcia 296 Campus de Espinardo S/N, Faculty of Computer Science 297 Murcia 30100 298 Spain 300 Email: eduardo.ingles@um.es 302 Dan Garcia-Carrillo 303 University of Oviedo 304 Campus de Gijon, S/N, Escuela Politecnica de Ingenieria de Gijon 305 Gijon, Asturias 33203 306 Spain 308 Email: garciadan@uniovi.es 309 Rafael Marin-Lopez 310 University of Murcia 311 Campus de Espinardo S/N, Faculty of Computer Science 312 Murcia 30100 313 Spain 315 Phone: +34 868 88 85 01 316 Email: rafa@um.es