| < draft-ietf-ipsecme-chacha20-poly1305-00.txt | draft-ietf-ipsecme-chacha20-poly1305-01.txt > | |||
|---|---|---|---|---|
| Network Working Group Y. Nir | Network Working Group Y. Nir | |||
| Internet-Draft Check Point | Internet-Draft Check Point | |||
| Intended status: Standards Track March 30, 2015 | Intended status: Standards Track March 31, 2015 | |||
| Expires: October 1, 2015 | Expires: October 2, 2015 | |||
| ChaCha20, Poly1305 and their use in IPsec | ChaCha20, Poly1305 and their use in IKE & IPsec | |||
| draft-ietf-ipsecme-chacha20-poly1305-00 | draft-ietf-ipsecme-chacha20-poly1305-01 | |||
| Abstract | Abstract | |||
| This document describes the use of the ChaCha20 stream cipher along | This document describes the use of the ChaCha20 stream cipher along | |||
| with the Poly1305 authenticator, combined into an AEAD algorithm for | with the Poly1305 authenticator, combined into an AEAD algorithm for | |||
| IPsec. | IPsec. | |||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
| skipping to change at page 1, line 32 ¶ | skipping to change at page 1, line 32 ¶ | |||
| 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 http://datatracker.ietf.org/drafts/current/. | Drafts is at http://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 October 1, 2015. | This Internet-Draft will expire on October 2, 2015. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2015 IETF Trust and the persons identified as the | Copyright (c) 2015 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 | |||
| (http://trustee.ietf.org/license-info) in effect on the date of | (http://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 . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 1.1. Conventions Used in This Document . . . . . . . . . . . . 2 | 1.1. Conventions Used in This Document . . . . . . . . . . . . 2 | |||
| 2. ESP_ChaCha20-Poly1305 for ESP . . . . . . . . . . . . . . . . 3 | 2. ChaCha20 & Poly1305 for ESP . . . . . . . . . . . . . . . . . 3 | |||
| 2.1. AAD Construction . . . . . . . . . . . . . . . . . . . . 4 | 2.1. AAD Construction . . . . . . . . . . . . . . . . . . . . 4 | |||
| 3. Use in IKEv2 . . . . . . . . . . . . . . . . . . . . . . . . 4 | 3. Use in IKEv2 . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 4. Security Considerations . . . . . . . . . . . . . . . . . . . 4 | 4. Security Considerations . . . . . . . . . . . . . . . . . . . 4 | |||
| 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 | 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 5 | 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 7.1. Normative References . . . . . . . . . . . . . . . . . . 5 | 7.1. Normative References . . . . . . . . . . . . . . . . . . 5 | |||
| 7.2. Informative References . . . . . . . . . . . . . . . . . 5 | 7.2. Informative References . . . . . . . . . . . . . . . . . 5 | |||
| Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 6 | Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| skipping to change at page 2, line 38 ¶ | skipping to change at page 2, line 38 ¶ | |||
| only the best choice, but the only choice. | only the best choice, but the only choice. | |||
| The problem is that if future advances in cryptanalysis reveal a | The problem is that if future advances in cryptanalysis reveal a | |||
| weakness in AES, VPN users will be in an unenviable position. With | weakness in AES, VPN users will be in an unenviable position. With | |||
| the only other widely supported cipher being the much slower 3DES, it | the only other widely supported cipher being the much slower 3DES, it | |||
| is not feasible to re-configure IPsec installations to use 3DES. | is not feasible to re-configure IPsec installations to use 3DES. | |||
| [standby-cipher] describes this issue and the need for a standby | [standby-cipher] describes this issue and the need for a standby | |||
| cipher in greater detail. | cipher in greater detail. | |||
| This document proposes the ChaCha20 stream cipher as such a standby | This document proposes the ChaCha20 stream cipher as such a standby | |||
| cipher in an AEAD construction with the Poly1305 authenticator for | cipher in an Authenticated Encryption with Associated Data (AEAD) | |||
| use with the Encapsulated Security Protocol (ESP - [RFC4303]) and the | construction with the Poly1305 authenticator for use with the | |||
| Internet Key Exchange Protocol (IKEv2 - [RFC7296]). The algorithms | Encapsulated Security Protocol (ESP - [RFC4303]) and the Internet Key | |||
| are described in a separate document ([chacha_poly]). This document | Exchange Protocol (IKEv2 - [RFC7296]). The algorithms are described | |||
| only describes the IPsec-specific things. | in a separate document ([chacha_poly]). This document only describes | |||
| the IPsec-specific things. | ||||
| 1.1. Conventions Used in This Document | 1.1. Conventions Used in This Document | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
| document are to be interpreted as described in [RFC2119]. | document are to be interpreted as described in [RFC2119]. | |||
| 2. ESP_ChaCha20-Poly1305 for ESP | 2. ChaCha20 & Poly1305 for ESP | |||
| ESP_ChaCha20-Poly1305 is a combined mode algorithm, or AEAD. The | AEAD_CHACHA20_POLY1305 is a combined mode algorithm, or AEAD. The | |||
| construction follows the AEAD construction in section 2.7 of | construction follows the AEAD construction in section 2.7 of | |||
| [chacha_poly]: | [chacha_poly]: | |||
| o The IV is 64-bit, and is used as part of the nonce. TBD: do we | o The IV is 64-bit, and is used as part of the nonce. TBD: do we | |||
| want to skip the IV altogether and just use the packet counter? | want to skip the IV altogether and just use the packet counter? | |||
| o A 32-bit sender ID is prepended to the 64-bit IV to form the | o A 32-bit sender ID is prepended to the 64-bit IV to form the | |||
| 96-bit nonce. For regular IPsec, this is set to all zeros. IPsec | 96-bit nonce. For regular IPsec, this is set to all zeros. IPsec | |||
| extensions that allow multiple senders, such as GDOI ([RFC6407]) | extensions that allow multiple senders, such as GDOI ([RFC6407]) | |||
| or [RFC6054] may set this to different values. | or [RFC6054] may set this to different values. | |||
| o The encryption key is 256-bit. | o The encryption key is 256-bit. | |||
| skipping to change at page 5, line 9 ¶ | skipping to change at page 5, line 9 ¶ | |||
| Another issue with implementing these algorithms is avoiding side | Another issue with implementing these algorithms is avoiding side | |||
| channels. This is trivial for ChaCha20, but requires some care for | channels. This is trivial for ChaCha20, but requires some care for | |||
| Poly1305. Considerations for implementations of these algorithms are | Poly1305. Considerations for implementations of these algorithms are | |||
| in the [chacha_poly] document. | in the [chacha_poly] document. | |||
| 5. IANA Considerations | 5. IANA Considerations | |||
| IANA is requested to assign one value from the IKEv2 "Transform Type | IANA is requested to assign one value from the IKEv2 "Transform Type | |||
| 1 - Encryption Algorithm Transform IDs" registry, with name | 1 - Encryption Algorithm Transform IDs" registry, with name | |||
| ESP_ChaCha20-Poly1305, and this document as reference. | ENCR_ChaCha20_Poly1305, and this document as reference. | |||
| 6. Acknowledgements | 6. Acknowledgements | |||
| All of the algorithms in this document were designed by D. J. | All of the algorithms in this document were designed by D. J. | |||
| Bernstein. The AEAD construction was designed by Adam Langley. The | Bernstein. The AEAD construction was designed by Adam Langley. The | |||
| author would also like to thank Adam for helpful comments, as well as | author would also like to thank Adam for helpful comments, as well as | |||
| Yaron Sheffer for telling me to write the algorithms draft. | Yaron Sheffer for telling me to write the algorithms draft. | |||
| 7. References | 7. References | |||
| End of changes. 8 change blocks. | ||||
| 14 lines changed or deleted | 15 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/ | ||||