| < draft-ietf-ipsecme-ikev2-multiple-ke-01.txt | draft-ietf-ipsecme-ikev2-multiple-ke-02.txt > | |||
|---|---|---|---|---|
| Internet Engineering Task Force (IETF) C. Tjhai | Internet Engineering Task Force (IETF) C. Tjhai | |||
| Internet-Draft M. Tomlinson | Internet-Draft M. Tomlinson | |||
| Updates: 7296 (if approved) Post-Quantum | Updates: 7296 (if approved) Post-Quantum | |||
| Intended status: Standards Track G. Bartlett | Intended status: Standards Track G. Bartlett | |||
| Expires: January 8, 2021 Quantum Secret | Expires: July 14, 2021 Quantum Secret | |||
| S. Fluhrer | S. Fluhrer | |||
| Cisco Systems | Cisco Systems | |||
| D. Van Geest | D. Van Geest | |||
| ISARA Corporation | ISARA Corporation | |||
| O. Garcia-Morchon | O. Garcia-Morchon | |||
| Philips | Philips | |||
| V. Smyslov | V. Smyslov | |||
| ELVIS-PLUS | ELVIS-PLUS | |||
| July 7, 2020 | January 10, 2021 | |||
| Multiple Key Exchanges in IKEv2 | Multiple Key Exchanges in IKEv2 | |||
| draft-ietf-ipsecme-ikev2-multiple-ke-01 | draft-ietf-ipsecme-ikev2-multiple-ke-02 | |||
| Abstract | Abstract | |||
| This document describes how to extend the Internet Key Exchange | This document describes how to extend the Internet Key Exchange | |||
| Protocol Version 2 (IKEv2) to allow multiple key exchanges to take | Protocol Version 2 (IKEv2) to allow multiple key exchanges to take | |||
| place while computing a shared secret during a Security Association | place while computing a shared secret during a Security Association | |||
| (SA) setup. The primary application of this feature in IKEv2 is the | (SA) setup. The primary application of this feature in IKEv2 is the | |||
| ability to perform one or more post-quantum key exchanges in | ability to perform one or more post-quantum key exchanges in | |||
| conjunction with the classical (Elliptic Curve) Diffie-Hellman key | conjunction with the classical (Elliptic Curve) Diffie-Hellman key | |||
| exchange, so that the resulting shared key is resistant against | exchange, so that the resulting shared key is resistant against | |||
| skipping to change at page 2, line 12 ¶ | skipping to change at page 2, line 12 ¶ | |||
| 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 January 8, 2021. | This Internet-Draft will expire on July 14, 2021. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2020 IETF Trust and the persons identified as the | Copyright (c) 2021 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 | |||
| carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
| 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 . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 1.1. Problem Description . . . . . . . . . . . . . . . . . . . 3 | 1.1. Problem Description . . . . . . . . . . . . . . . . . . . 3 | |||
| 1.2. Proposed Extension . . . . . . . . . . . . . . . . . . . 3 | 1.2. Proposed Extension . . . . . . . . . . . . . . . . . . . 3 | |||
| 1.3. Changes . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 1.3. Changes . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 1.4. Document Organization . . . . . . . . . . . . . . . . . . 5 | 1.4. Document Organization . . . . . . . . . . . . . . . . . . 6 | |||
| 2. Design Criteria . . . . . . . . . . . . . . . . . . . . . . . 6 | 2. Design Criteria . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 3. Multiple Key Exchanges . . . . . . . . . . . . . . . . . . . 8 | 3. Multiple Key Exchanges . . . . . . . . . . . . . . . . . . . 8 | |||
| 3.1. Overall Design . . . . . . . . . . . . . . . . . . . . . 8 | 3.1. Overall Design . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 3.2. Overall Protocol . . . . . . . . . . . . . . . . . . . . 9 | 3.2. Overall Protocol . . . . . . . . . . . . . . . . . . . . 10 | |||
| 3.2.1. IKE_SA_INIT Round: Negotiation . . . . . . . . . . . 10 | 3.2.1. IKE_SA_INIT Round: Negotiation . . . . . . . . . . . 10 | |||
| 3.2.2. IKE_INTERMEDIATE Round: Additional Key Exchanges . . 11 | 3.2.2. IKE_INTERMEDIATE Round: Additional Key Exchanges . . 11 | |||
| 3.2.3. IKE_AUTH Exchange . . . . . . . . . . . . . . . . . . 12 | 3.2.3. IKE_AUTH Exchange . . . . . . . . . . . . . . . . . . 12 | |||
| 3.2.4. CREATE_CHILD_SA Exchange . . . . . . . . . . . . . . 12 | 3.2.4. CREATE_CHILD_SA Exchange . . . . . . . . . . . . . . 12 | |||
| 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15 | 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16 | |||
| 5. Security Considerations . . . . . . . . . . . . . . . . . . . 16 | 5. Security Considerations . . . . . . . . . . . . . . . . . . . 16 | |||
| 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 17 | 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 17 | |||
| 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 17 | 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 18 | |||
| 7.1. Normative References . . . . . . . . . . . . . . . . . . 17 | 7.1. Normative References . . . . . . . . . . . . . . . . . . 18 | |||
| 7.2. Informative References . . . . . . . . . . . . . . . . . 18 | 7.2. Informative References . . . . . . . . . . . . . . . . . 18 | |||
| Appendix A. Alternative Design . . . . . . . . . . . . . . . . . 19 | Appendix A. Alternative Design . . . . . . . . . . . . . . . . . 19 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 22 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 23 | |||
| 1. Introduction | 1. Introduction | |||
| 1.1. Problem Description | 1.1. Problem Description | |||
| Internet Key Exchange Protocol (IKEv2) as specified in [RFC7296] uses | Internet Key Exchange Protocol (IKEv2) as specified in [RFC7296] uses | |||
| the Diffie-Hellman (DH) or Elliptic Curve Diffie-Hellman (ECDH) | the Diffie-Hellman (DH) or Elliptic Curve Diffie-Hellman (ECDH) | |||
| algorithm to establish a shared secret between an initiator and a | algorithm to establish a shared secret between an initiator and a | |||
| responder. The security of the DH and ECDH algorithms relies on the | responder. The security of the DH and ECDH algorithms relies on the | |||
| difficulty to solve a discrete logarithm problem in multiplicative | difficulty to solve a discrete logarithm problem in multiplicative | |||
| skipping to change at page 4, line 31 ¶ | skipping to change at page 4, line 31 ¶ | |||
| to make IKEv2 key exchange quantum secure is to use post-quantum pre- | to make IKEv2 key exchange quantum secure is to use post-quantum pre- | |||
| shared keys as discussed in [RFC8784]. | shared keys as discussed in [RFC8784]. | |||
| Note also, that the proposed approach of performing multiple | Note also, that the proposed approach of performing multiple | |||
| successive key exchanges in such a way that resulting session keys | successive key exchanges in such a way that resulting session keys | |||
| depend on all of them is not limited to achieving quantum resistance | depend on all of them is not limited to achieving quantum resistance | |||
| only. It can also be used when all the performed key exchanges are | only. It can also be used when all the performed key exchanges are | |||
| classical (EC)DH ones, where for some reasons (e.g. policy | classical (EC)DH ones, where for some reasons (e.g. policy | |||
| requirements) it is essential to perform multiple of them. | requirements) it is essential to perform multiple of them. | |||
| This draft does not attempt to address key exchanges with KE payloads | ||||
| longer than 64k; the current IKE payload format does not allow that | ||||
| as a possibility. At the current time, it appears likely that there | ||||
| are a number of key exchanges available that would not require such a | ||||
| requirement. However, if such a requirement is needed, | ||||
| [I-D.tjhai-ikev2-beyond-64k-limit] discusses approaches that should | ||||
| be taken to exchange huge payloads. | ||||
| 1.3. Changes | 1.3. Changes | |||
| RFC EDITOR PLEASE DELETE THIS SECTION. | RFC EDITOR PLEASE DELETE THIS SECTION. | |||
| Changes in this draft in each version iterations. | Changes in this draft in each version iterations. | |||
| draft-ietf-ipsecme-ikev2-multiple-ke-02 | ||||
| o Added a reference on the handling of KE payloads larger than 64KB. | ||||
| draft-ietf-ipsecme-ikev2-multiple-ke-01 | draft-ietf-ipsecme-ikev2-multiple-ke-01 | |||
| o References are updated. | o References are updated. | |||
| draft-ietf-ipsecme-ikev2-multiple-ke-00 | ||||
| o Draft name changed as result of WG adoption and generalization of | o Draft name changed as result of WG adoption and generalization of | |||
| the approach. | the approach. | |||
| o New exchange IKE_FOLLOWUP_KE is defined for additional key | o New exchange IKE_FOLLOWUP_KE is defined for additional key | |||
| exchanges performed after CREATE_CHILD_SA. | exchanges performed after CREATE_CHILD_SA. | |||
| o Nonces are removed from all additional key exchanges. | o Nonces are removed from all additional key exchanges. | |||
| o Clarification that IKE_INTERMEDIATE must be negotiated is added. | o Clarification that IKE_INTERMEDIATE must be negotiated is added. | |||
| draft-tjhai-ipsecme-hybrid-qske-ikev2-04 | ||||
| o Clarification about key derivation in case of multiple key | o Clarification about key derivation in case of multiple key | |||
| exchanges in CREATE_CHILD_SA is added. | exchanges in CREATE_CHILD_SA is added. | |||
| o Resolving rekey collisions in case of multiple key exchanges is | o Resolving rekey collisions in case of multiple key exchanges is | |||
| clarified. | clarified. | |||
| draft-tjhai-ipsecme-hybrid-qske-ikev2-03 | draft-tjhai-ipsecme-hybrid-qske-ikev2-03 | |||
| o Using multiple key exchanges CREATE_CHILD_SA is defined. | o Using multiple key exchanges CREATE_CHILD_SA is defined. | |||
| skipping to change at page 17, line 30 ¶ | skipping to change at page 17, line 46 ¶ | |||
| provide resistance to attacks mounted in the future. The current | provide resistance to attacks mounted in the future. The current | |||
| threat is that encrypted sessions are subject to eavesdropping and | threat is that encrypted sessions are subject to eavesdropping and | |||
| archived with decryption by quantum computers taking place at some | archived with decryption by quantum computers taking place at some | |||
| point in the future. Until quantum computers become available there | point in the future. Until quantum computers become available there | |||
| is no point in attacking the authenticity of a connection because | is no point in attacking the authenticity of a connection because | |||
| there are no possibilities for exploitation. These only occur at the | there are no possibilities for exploitation. These only occur at the | |||
| time of the connection, for example by mounting a man-in-the-middle | time of the connection, for example by mounting a man-in-the-middle | |||
| (MitM) attack. Consequently there is not such a pressing need for | (MitM) attack. Consequently there is not such a pressing need for | |||
| quantum-safe authenticity. | quantum-safe authenticity. | |||
| This draft does not attempt to address key exchanges with KE payloads | ||||
| longer than 64k; the current IKE payload format does not allow that | ||||
| as a possibility. If such huge KE payloads are required, a work | ||||
| around (such as making the KE payload a URL and a hash of the real | ||||
| payload) would be needed. At the current time, it appears likely | ||||
| that there will be plenty of key exchanges available that would not | ||||
| require such a workaround. | ||||
| 6. Acknowledgements | 6. Acknowledgements | |||
| The authors would like to thanks Frederic Detienne and Olivier | The authors would like to thanks Frederic Detienne and Olivier | |||
| Pelerin for their comments and suggestions, including the idea to | Pelerin for their comments and suggestions, including the idea to | |||
| negotiate the post-quantum algorithms using the existing KE payload. | negotiate the post-quantum algorithms using the existing KE payload. | |||
| The authors are also grateful to Tobias Heider and Tobias Guggemos | The authors are also grateful to Tobias Heider and Tobias Guggemos | |||
| for valuable comments. | for valuable comments. | |||
| 7. References | 7. References | |||
| 7.1. Normative References | 7.1. Normative References | |||
| [I-D.ietf-ipsecme-ikev2-intermediate] | [I-D.ietf-ipsecme-ikev2-intermediate] | |||
| Smyslov, V., "Intermediate Exchange in the IKEv2 | Smyslov, V., "Intermediate Exchange in the IKEv2 | |||
| Protocol", draft-ietf-ipsecme-ikev2-intermediate-04 (work | Protocol", draft-ietf-ipsecme-ikev2-intermediate-05 (work | |||
| in progress), June 2020. | in progress), September 2020. | |||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
| DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
| <https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
| [RFC7296] Kaufman, C., Hoffman, P., Nir, Y., Eronen, P., and T. | [RFC7296] Kaufman, C., Hoffman, P., Nir, Y., Eronen, P., and T. | |||
| Kivinen, "Internet Key Exchange Protocol Version 2 | Kivinen, "Internet Key Exchange Protocol Version 2 | |||
| (IKEv2)", STD 79, RFC 7296, DOI 10.17487/RFC7296, October | (IKEv2)", STD 79, RFC 7296, DOI 10.17487/RFC7296, October | |||
| 2014, <https://www.rfc-editor.org/info/rfc7296>. | 2014, <https://www.rfc-editor.org/info/rfc7296>. | |||
| skipping to change at page 18, line 30 ¶ | skipping to change at page 18, line 34 ¶ | |||
| [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
| 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | |||
| May 2017, <https://www.rfc-editor.org/info/rfc8174>. | May 2017, <https://www.rfc-editor.org/info/rfc8174>. | |||
| 7.2. Informative References | 7.2. Informative References | |||
| [GROVER] Grover, L., "A Fast Quantum Mechanical Algorithm for | [GROVER] Grover, L., "A Fast Quantum Mechanical Algorithm for | |||
| Database Search", Proc. of the Twenty-Eighth Annual ACM | Database Search", Proc. of the Twenty-Eighth Annual ACM | |||
| Symposium on the Theory of Computing (STOC 1996), 1996. | Symposium on the Theory of Computing (STOC 1996), 1996. | |||
| [I-D.tjhai-ikev2-beyond-64k-limit] | ||||
| Tjhai, C., Heider, T., and V. Smyslov, "Beyond 64KB Limit | ||||
| of IKEv2 Payload", draft-tjhai-ikev2-beyond-64k-limit-00 | ||||
| (work in progress), October 2020. | ||||
| [RFC4302] Kent, S., "IP Authentication Header", RFC 4302, | [RFC4302] Kent, S., "IP Authentication Header", RFC 4302, | |||
| DOI 10.17487/RFC4302, December 2005, | DOI 10.17487/RFC4302, December 2005, | |||
| <https://www.rfc-editor.org/info/rfc4302>. | <https://www.rfc-editor.org/info/rfc4302>. | |||
| [RFC4303] Kent, S., "IP Encapsulating Security Payload (ESP)", | [RFC4303] Kent, S., "IP Encapsulating Security Payload (ESP)", | |||
| RFC 4303, DOI 10.17487/RFC4303, December 2005, | RFC 4303, DOI 10.17487/RFC4303, December 2005, | |||
| <https://www.rfc-editor.org/info/rfc4303>. | <https://www.rfc-editor.org/info/rfc4303>. | |||
| [RFC7383] Smyslov, V., "Internet Key Exchange Protocol Version 2 | [RFC7383] Smyslov, V., "Internet Key Exchange Protocol Version 2 | |||
| (IKEv2) Message Fragmentation", RFC 7383, | (IKEv2) Message Fragmentation", RFC 7383, | |||
| End of changes. 17 change blocks. | ||||
| 23 lines changed or deleted | 32 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||