draft-ietf-ipsecme-dh-checks-01.txt   draft-ietf-ipsecme-dh-checks-02.txt 
ipsecme Y. Sheffer ipsecme Y. Sheffer
Internet-Draft Porticor Internet-Draft Porticor
Updates: 5996 (if approved) S. Fluhrer Updates: 5996 (if approved) S. Fluhrer
Intended status: Standards Track Cisco Intended status: Standards Track Cisco
Expires: October 4, 2013 April 2, 2013 Expires: October 22, 2013 April 20, 2013
Additional Diffie-Hellman Tests for IKEv2 Additional Diffie-Hellman Tests for IKEv2
draft-ietf-ipsecme-dh-checks-01 draft-ietf-ipsecme-dh-checks-02
Abstract Abstract
This document adds a small number of mandatory tests required for the This document adds a small number of mandatory tests required for the
secure operation of IKEv2 with elliptic curve groups. No change is secure operation of IKEv2 with elliptic curve groups. No change is
required to IKE implementations that use modular exponential groups, required to IKE implementations that use modular exponential groups,
other than a few rarely used so-called DSA groups. This document other than a few rarely used so-called DSA groups. This document
updates the IKEv2 protocol, RFC 5996. updates the IKEv2 protocol, RFC 5996.
Status of this Memo Status of this Memo
skipping to change at page 1, line 35 skipping to change at page 1, line 35
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 4, 2013. This Internet-Draft will expire on October 22, 2013.
Copyright Notice Copyright Notice
Copyright (c) 2013 IETF Trust and the persons identified as the Copyright (c) 2013 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 . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . 3
1.1. Conventions used in this document . . . . . . . . . . . 3 1.1. Conventions used in this document . . . . . . . . . . 3
2. Group Membership Tests . . . . . . . . . . . . . . . . 3 2. Group Membership Tests . . . . . . . . . . . . . . . . 3
2.1. Regular MODP Groups . . . . . . . . . . . . . . . . . . 3 2.1. Sophie Germain Prime MODP Groups . . . . . . . . . . . 3
2.2. MODP Groups with Small Subgroups . . . . . . . . . . . 3 2.2. MODP Groups with Small Subgroups . . . . . . . . . . . 4
2.3. Elliptic Curve Groups . . . . . . . . . . . . . . . . . 4 2.3. Elliptic Curve Groups . . . . . . . . . . . . . . . . 4
2.4. Transition . . . . . . . . . . . . . . . . . . . . . . 4 2.4. Transition . . . . . . . . . . . . . . . . . . . . . . 5
2.5. Protocol Behavior . . . . . . . . . . . . . . . . . . . 5 2.5. Protocol Behavior . . . . . . . . . . . . . . . . . . 5
3. Security Considerations . . . . . . . . . . . . . . . . 5 3. Side-Channel Attacks . . . . . . . . . . . . . . . . . 5
3.1. DH Key Reuse and Multiple Peers . . . . . . . . . . . . 5 4. Security Considerations . . . . . . . . . . . . . . . 6
3.2. Groups not covered by this RFC . . . . . . . . . . . . 5 4.1. DH Key Reuse and Multiple Peers . . . . . . . . . . . 6
3.3. Behavior Upon Test Failure . . . . . . . . . . . . . . 6 4.2. DH Key Reuse: Variants . . . . . . . . . . . . . . . . 7
4. IANA Considerations . . . . . . . . . . . . . . . . . . 6 4.3. Groups not covered by this RFC . . . . . . . . . . . . 7
5. Acknowledgements . . . . . . . . . . . . . . . . . . . 6 4.4. Behavior Upon Test Failure . . . . . . . . . . . . . . 7
6. References . . . . . . . . . . . . . . . . . . . . . . 7 5. IANA Considerations . . . . . . . . . . . . . . . . . 8
6.1. Normative References . . . . . . . . . . . . . . . . . 7 6. Acknowledgements . . . . . . . . . . . . . . . . . . . 8
6.2. Informative References . . . . . . . . . . . . . . . . 7 7. References . . . . . . . . . . . . . . . . . . . . . . 9
Appendix A. Appendix: Change Log . . . . . . . . . . . . . . . . . 7 7.1. Normative References . . . . . . . . . . . . . . . . . 9
A.1. -01 . . . . . . . . . . . . . . . . . . . . . . . . . . 8 7.2. Informative References . . . . . . . . . . . . . . . . 9
A.2. -00 . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Appendix A. Appendix: Change Log . . . . . . . . . . . . . . . . . 10
Authors' Addresses . . . . . . . . . . . . . . . . . . 8 A.1. -02 . . . . . . . . . . . . . . . . . . . . . . . . . 10
A.2. -01 . . . . . . . . . . . . . . . . . . . . . . . . . 10
A.3. -00 . . . . . . . . . . . . . . . . . . . . . . . . . 10
Authors' Addresses . . . . . . . . . . . . . . . . . . 10
1. Introduction 1. Introduction
IKEv2 [RFC5996] consists of the establishment of a shared secret IKEv2 [RFC5996] consists of the establishment of a shared secret
using the Diffie-Hellman (DH) protocol, followed by authentication of using the Diffie-Hellman (DH) protocol, followed by authentication of
the two peers. Existing implementations typically use modular the two peers. Existing implementations typically use modular
exponential (MODP) DH groups, such as those defined in [RFC3526]. exponential (MODP) DH groups, such as those defined in [RFC3526].
IKEv2 does not require that any tests be performed by a peer IKEv2 does not require that any tests be performed by a peer
receiving a public Diffie-Hellman key from the other peer. This is receiving a public Diffie-Hellman key from the other peer. This is
fine for the common case of MODP groups. For other DH groups, when fine for the common case of MODP groups. For other DH groups, when
peers reuse DH values across multiple IKE sessions, the lack of tests peers reuse DH values across multiple IKE sessions, the lack of tests
by the recipient results in a potential vulnerability (see by the recipient results in a potential vulnerability (see
Section 3.1 for more details). In particular, this is true for Section 4.1 for more details). In particular, this is true for
elliptic curve groups whose use is becoming ever more popular. This elliptic curve groups whose use is becoming ever more popular. This
document defines such tests for several types of DH groups. document defines such tests for several types of DH groups.
In addition, this document describes another potential attack related
to reuse of DH keys: a timing attack. This additional material is
taken from [RFC2412].
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. Group Membership Tests 2. Group Membership Tests
This section describes the tests that need to be performed by IKE This section describes the tests that need to be performed by IKE
peers receiving a Key Exchange (KE) payload. The tests are peers receiving a Key Exchange (KE) payload. The tests are
RECOMMENDED for all implementations, but only REQUIRED for those that RECOMMENDED for all implementations, but only REQUIRED for those that
reuse DH secret keys (as defined in [RFC5996], Sec. 2.12). The tests reuse DH secret keys (as defined in [RFC5996], Sec. 2.12). The tests
are listed here according to the DH group being used. apply to the recipient of a KE payload, and describe how it should
check the received payload. They are listed here according to the DH
group being used.
2.1. Regular MODP Groups 2.1. Sophie Germain Prime MODP Groups
These are currently the most commonly used groups; all these groups These are currently the most commonly used groups; all these groups
have the property that (p-1)/2 is also prime; this section applies to have the property that (p-1)/2 is also prime; this section applies to
any such MODP group. Each recipient MUST verify that the peer's any such MODP group. Each recipient MUST verify that the peer's
public value r is in the legal range (1 < r < p-1). According to public value r is in the legal range (1 < r < p-1). According to
[Menezes], Sec 2.2, even with this check there remains the [Menezes], Sec 2.2, even with this check there remains the
possibility of leaking a single bit of the secret exponent when DH possibility of leaking a single bit of the secret exponent when DH
keys are reused; this amount of leakage is insignificant. keys are reused; this amount of leakage is insignificant.
See Section 4 for the specific groups covered by this section. See Section 5 for the specific groups covered by this section.
2.2. MODP Groups with Small Subgroups 2.2. MODP Groups with Small Subgroups
[RFC5114] defines modular exponential groups with small subgroups; [RFC5114] defines modular exponential groups with small subgroups;
these are modular exponential groups with comparatively small these are modular exponential groups with comparatively small
subgroups, and all have (p-1)/2 composite. Sec. 2.1 of [Menezes] subgroups, and all have (p-1)/2 composite. Sec. 2.1 of [Menezes]
describes some informational leakage from a small subgroup attack on describes some informational leakage from a small subgroup attack on
these groups, if the DH private value is reused. these groups, if the DH private value is reused.
This leakage can be prevented if the recipient performs a test on the This leakage can be prevented if the recipient performs a test on the
skipping to change at page 4, line 29 skipping to change at page 4, line 35
subgroup, as listed in the RFC). DH private values MAY then be subgroup, as listed in the RFC). DH private values MAY then be
reused. This option is appropriate if conformance to reused. This option is appropriate if conformance to
[NIST-800-56A] is required. [NIST-800-56A] is required.
o It MUST NOT reuse DH private values (that is, the DH private value o It MUST NOT reuse DH private values (that is, the DH private value
for each DH exchange MUST be generated from a fresh output of a for each DH exchange MUST be generated from a fresh output of a
cryptographically secure random number generator), and it MUST cryptographically secure random number generator), and it MUST
check that the peer's public value is in range (1 < r < p-1). check that the peer's public value is in range (1 < r < p-1).
This option is more appropriate if conformance to [NIST-800-56A] This option is more appropriate if conformance to [NIST-800-56A]
is not required. is not required.
See Section 4 for the specific groups covered by this section. See Section 5 for the specific groups covered by this section.
2.3. Elliptic Curve Groups 2.3. Elliptic Curve Groups
IKEv2 can be used with elliptic curve groups defined over a field IKEv2 can be used with elliptic curve groups defined over a field
GF(p) [RFC5903] [RFC5114]. According to [Menezes], Sec. 2.3, there GF(p) [RFC5903] [RFC5114]. According to [Menezes], Sec. 2.3, there
is some informational leakage possible. A receiving peer MUST check is some informational leakage possible. A receiving peer MUST check
that its peer's public value is valid; that is, it is not the point- that its peer's public value is valid; that is, it is not the point-
at-infinity, and that the x and y parameters from the peer's public at-infinity, and that the x and y parameters from the peer's public
value satisfy the curve equation, that is, y**2 = x**3 + ax + b mod p value satisfy the curve equation, that is, y**2 = x**3 + ax + b mod p
(where for groups 19, 20, 21, a=-3, and all other values of a, b and (where for groups 19, 20, 21, a=-3 (mod p), and all other values of
p for the group are listed in the RFC). a, b and p for the group are listed in the RFC).
See Section 4 for the specific groups covered by this section. See Section 5 for the specific groups covered by this section.
2.4. Transition 2.4. Transition
Existing implementations of IKEv2 with ECDH groups MAY be modified to Existing implementations of IKEv2 with ECDH groups MAY be modified to
include the tests described in the current document, if they do not include the tests described in the current document, even if they do
reuse DH keys with multiple peers. The tests can be considered as not reuse DH keys. The tests can be considered as sanity checks, and
sanity checks, and will prevent the code having to handle inputs that will prevent the code having to handle inputs that it may not have
it may not have been designed to handle. been designed to handle.
ECDH implementations that do reuse DH keys MUST be enhanced to ECDH implementations that do reuse DH keys MUST be enhanced to
include the above tests. include the above tests.
2.5. Protocol Behavior 2.5. Protocol Behavior
The recipient of a DH public key that fails one of the above tests The recipient of a DH public key that fails one of the above tests
can assume that the sender either is truly malicious or else it has a can assume that the sender is either truly malicious or else it has a
bug in its implementation. The recipient MAY respond with an bug in its implementation.
unauthenticated INVALID_SYNTAX notification, and MUST immediately
drop the IKE SA.
3. Security Considerations If this error happens during the IKE_SA_INIT exchange, then the
recipient MUST drop the message that contains an invalid KE payload,
and MUST NOT use that message when creating the IKE SA.
If the implementation implements the DoS-resistant behavior proposed
in Sec. 2.4 of [RFC5996], it may simply ignore the erroneous request
or response message, and continue waiting for a later message
containing a legitimate KE payload.
If DoS-resistant behavior is not implemented, and the invalid KE
payload was in the IKE_SA_INIT request, the implementation MAY send
an INVALID_SYNTAX error notification back, and remove the in-progress
IKE SA; if the invalid KE payload was in the IKE_SA_INIT response,
then the implementation MAY simply delete the half created IKE SA,
and re-initiate the exchange.
If the invalid KE payload is received during the CREATE_CHILD_SA
exchange (or any other exchange after the IKE SA has been
established) and the invalid KE payload is in the request message,
the Responder MUST reply with an INVALID_SYNTAX error notification
and drop the IKE SA. If the invalid KE payload is in a response, the
Initiator getting this reply MUST immediately delete the IKE SA by
sending an IKE SA Delete notification as a new exchange. In this
case the sender evidently has an implementation bug, and dropping the
IKE SA makes it easier to detect.
3. Side-Channel Attacks
In addition to the small-subgroup attack, there is also a potential
timing attack on IKE peers when they are reusing Diffie-Hellman
secret values. This is a side-channel attack, which means that it
may or may not be a vulnerability in certain cases, depending on
implementation details and the threat model.
The remainder of this section is quoted from [RFC2412], Sec. 5, with
a few minor clarifications. This attack still applies to IKEv2
implementations, and both to MODP groups and ECDH groups. We also
note that more efficient countermeasures are available for ECC groups
represented in projective form, but these are outside the scope of
the current document.
Timing attacks that are capable of recovering the exponent value used
in Diffie-Hellman calculations have been described by Paul Kocher
[Kocher]. In order to nullify the attack, implementors must take
pains to obscure the sequence of operations involved in carrying out
modular exponentiations.
One potential method to foil these timing attacks is to use a
"blinding factor". In this method, a group element, r, is chosen at
random, and its multiplicative inverse modulo p is computed, which
we'll call r_inv. r_inv can be computed by the Extended Euclidean
Method, using r and p as inputs. When an exponent x is chosen, the
value r_inv^x is also calculated. Then, when calculating (g^y)^x,
the implementation will calculate this sequence:
A = r*g^y
B = A^x = (r*g^y)^x = (r^x)(g^(xy))
C = B*r_inv^x = (r^x)(r^(-1*x))(g^(xy)) = g^(xy)
The blinding factor is only necessary if the exponent x is used more
than 100 times (estimate by Richard Schroeppel).
4. Security Considerations
This entire document is concerned with the IKEv2 security protocol This entire document is concerned with the IKEv2 security protocol
and the need to harden it in some cases. and the need to harden it in some cases.
3.1. DH Key Reuse and Multiple Peers 4.1. DH Key Reuse and Multiple Peers
This section describes the attack prevented by the tests defined This section describes one variant of the attack prevented by the
here. tests defined above.
Suppose that IKE peer Alice maintains IKE security associations with Suppose that IKE peer Alice maintains IKE security associations with
peers Bob and Eve. Alice uses the same secret ECDH key for both SAs, peers Bob and Eve. Alice uses the same secret ECDH key for both SAs,
which is allowed with some restrictions. If Alice does not implement which is allowed with some restrictions. If Alice does not implement
these tests, Eve will be able to send a malformed public key, which these tests, Eve will be able to send a malformed public key, which
would allow her to efficiently determine Alice's secret key (as would allow her to efficiently determine Alice's secret key (as
described in Sec. 2 of [Menezes]). Since the key is shared, Eve will described in Sec. 2 of [Menezes]). Since the key is shared, Eve will
be able to obtain Alice's shared IKE SA key with Bob. be able to obtain Alice's shared IKE SA key with Bob.
3.2. Groups not covered by this RFC 4.2. DH Key Reuse: Variants
Private DH keys can be reused in different ways, with subtly
different security implications. For example:
1. DH keys are reused for multiple connections (IKE SAs) to the same
peer, and for connections to different peers.
2. DH keys are reused for multiple connections to the same peer
(e.g. when the peer is identified by its IP address) but not for
different peers.
3. DH keys are reused only when they had not been used to complete
an exchange, e.g. when the peer replies with an
INVALID_KE_PAYLOAD notification.
Both the small subgroup attack and the timing attack described in
this document apply at least to options #1 and #2.
4.3. Groups not covered by this RFC
There are a number of group types that are not specifically addressed There are a number of group types that are not specifically addressed
by this RFC. A document that defines such a group MUST describe the by this RFC. A document that defines such a group MUST describe the
tests required by that group. tests required by that group.
One specific type of group would be an even-characteristic elliptic One specific type of group would be an even-characteristic elliptic
curve group. Now, these curves have cofactors greater than 1; this curve group. Now, these curves have cofactors greater than 1; this
leads to a possibility of some information leakage. There are leads to a possibility of some information leakage. There are
several ways to address this information leakage, such as performing several ways to address this information leakage, such as performing
a test analogous to the test in section 2.2, or adjusting the ECDH a test analogous to the test in section 2.2, or adjusting the ECDH
operation to avoid this leakage (such as "ECC CDH", where the shared operation to avoid this leakage (such as "ECC CDH", where the shared
secret really is hxyG). Because the appropriate test depends on how secret really is hxyG). Because the appropriate test depends on how
the group is defined, we cannot document it in advance. the group is defined, we cannot document it in advance.
3.3. Behavior Upon Test Failure 4.4. Behavior Upon Test Failure
The behavior recommended in Section 2.5 is in line with generic error The behavior recommended in Section 2.5 is in line with generic error
treatment during the IKE_SA_INIT exchange, Sec. 2.21.1 of [RFC5996]. treatment during the IKE_SA_INIT exchange, Sec. 2.21.1 of [RFC5996].
The sender is not required to send back an error notification, and The sender is not required to send back an error notification, and
the recipient cannot depend on this notification because it is the recipient cannot depend on this notification because it is
unauthenticated. Thus, the notification is only useful to debug unauthenticated, and may in fact have been sent by an attacker trying
implementation errors. to DoS the connection. Thus, the notification is only useful to
debug implementation errors.
On the other hand, the error notification is secure, in the sense On the other hand, the error notification is secure, in the sense
that no secret information is leaked. All IKEv2 Diffie-Hellman that no secret information is leaked. All IKEv2 Diffie-Hellman
groups are publicly known, and none of the tests defined here depend groups are publicly known, and none of the tests defined here depend
on any secret key. In fact the tests can all be performed by an on any secret key. In fact the tests can all be performed by an
eavesdropper. eavesdropper.
4. IANA Considerations The situation when the failure occurs in the Create Child SA exchange
is different, since everything is protected by an IKE SA. The peers
are authenticated, and error notifications can be relied on. See
Sec. 2.21.3 of [RFC5996] for more details on error handling in this
case.
5. IANA Considerations
This document requests that IANA should add a column named "Recipient This document requests that IANA should add a column named "Recipient
Tests" to the IKEv2 DH Group Transform IDs Registry Tests" to the IKEv2 DH Group Transform IDs Registry
[IANA-DH-Registry]. [IANA-DH-Registry].
This column should initially be populated as per the following table. This column should initially be populated as per the following table.
+-----------------------------+---------------------+ +-----------------------------+---------------------+
| Number | Recipient Tests | | Number | Recipient Tests |
+-----------------------------+---------------------+ +-----------------------------+---------------------+
skipping to change at page 6, line 43 skipping to change at page 8, line 36
| 19, 20, 21, 25, 26 | [current], Sec. 2.3 | | 19, 20, 21, 25, 26 | [current], Sec. 2.3 |
+-----------------------------+---------------------+ +-----------------------------+---------------------+
Note to RFC Editor: please replace [current] by the RFC number Note to RFC Editor: please replace [current] by the RFC number
assigned to this document. assigned to this document.
Future documents that define new DH groups for IKEv2 are REQUIRED to Future documents that define new DH groups for IKEv2 are REQUIRED to
provide this information for each new group, possibly by referring to provide this information for each new group, possibly by referring to
the current document. the current document.
5. Acknowledgements 6. Acknowledgements
We would like to thank Dan Harkins who initially raised this issue on We would like to thank Dan Harkins who initially raised this issue on
the ipsec mailing list. Thanks to Tero Kivinen and Rene Struik for the ipsec mailing list. Thanks to Tero Kivinen and Rene Struik for
their useful comments. their useful comments.
The document was prepared using the lyx2rfc tool, created by Nico The document was prepared using the lyx2rfc tool, created by Nico
Williams. Williams.
6. References 7. References
7.1. Normative References
6.1. Normative References
[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, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC5996] Kaufman, C., Hoffman, P., Nir, Y., and P. Eronen, [RFC5996] Kaufman, C., Hoffman, P., Nir, Y., and P. Eronen,
"Internet Key Exchange Protocol Version 2 (IKEv2)", "Internet Key Exchange Protocol Version 2 (IKEv2)",
RFC 5996, September 2010. RFC 5996, September 2010.
6.2. Informative References 7.2. Informative References
[RFC2412] Orman, H., "The OAKLEY Key Determination Protocol",
RFC 2412, November 1998.
[RFC3526] Kivinen, T. and M. Kojo, "More Modular Exponential (MODP) [RFC3526] Kivinen, T. and M. Kojo, "More Modular Exponential (MODP)
Diffie-Hellman groups for Internet Key Exchange (IKE)", Diffie-Hellman groups for Internet Key Exchange (IKE)",
RFC 3526, May 2003. RFC 3526, May 2003.
[RFC5114] Lepinski, M. and S. Kent, "Additional Diffie-Hellman [RFC5114] Lepinski, M. and S. Kent, "Additional Diffie-Hellman
Groups for Use with IETF Standards", RFC 5114, Groups for Use with IETF Standards", RFC 5114,
January 2008. January 2008.
[RFC5903] Fu, D. and J. Solinas, "Elliptic Curve Groups modulo a [RFC5903] Fu, D. and J. Solinas, "Elliptic Curve Groups modulo a
Prime (ECP Groups) for IKE and IKEv2", RFC 5903, Prime (ECP Groups) for IKE and IKEv2", RFC 5903,
June 2010. June 2010.
[NIST-800-56A] [NIST-800-56A]
National Institute of Standards and Technology (NIST), National Institute of Standards and Technology (NIST),
"Recommendation for Pair-Wise Key Establishment Schemes "Recommendation for Pair-Wise Key Establishment Schemes
Using Discrete Logarithm Cryptography (Revised)", NIST PUB Using Discrete Logarithm Cryptography (Revised)", NIST PUB
800-56A, March 2007. 800-56A, March 2007.
[Kocher] Kocher, P., "Timing Attacks on Implementations of Diffie-
Hellman, RSA, DSS, and Other Systems", December 1996,
<http://www.cryptography.com/timingattack/paper.html>.
[Menezes] Menezes, A. and B. Ustaoglu, "On Reusing Ephemeral Keys In [Menezes] Menezes, A. and B. Ustaoglu, "On Reusing Ephemeral Keys In
Diffie-Hellman Key Agreement Protocols", December 2008, <h Diffie-Hellman Key Agreement Protocols", December 2008, <h
ttp://www.cacr.math.uwaterloo.ca/techreports/2008/ ttp://www.cacr.math.uwaterloo.ca/techreports/2008/
cacr2008-24.pdf>. cacr2008-24.pdf>.
[IANA-DH-Registry] [IANA-DH-Registry]
IANA, "Internet Key Exchange Version 2 (IKEv2) Parameters, IANA, "Internet Key Exchange Version 2 (IKEv2) Parameters,
Transform Type 4 - Diffie-Hellman Group Transform IDs", Transform Type 4 - Diffie-Hellman Group Transform IDs",
Jan. 2005, <http://www.iana.org/assignments/ Jan. 2005, <http://www.iana.org/assignments/
ikev2-parameters/ikev2-parameters.xml#ikev2-parameters-8>. ikev2-parameters/ikev2-parameters.xml#ikev2-parameters-8>.
Appendix A. Appendix: Change Log Appendix A. Appendix: Change Log
Note to RFC Editor: please remove this section before publication. Note to RFC Editor: please remove this section before publication.
A.1. -01 A.1. -02
o Based on Tero's review: Improved the protocol behavior, and
mentioned that these checks apply to Create Child SA. Added a
discussion of DH timing attacks, stolen from RFC 2412.
A.2. -01
o Corrected an author's name that was misspelled. o Corrected an author's name that was misspelled.
o Added recipient behavior if a test fails, and the related security o Added recipient behavior if a test fails, and the related security
considerations. considerations.
A.2. -00 A.3. -00
o First WG document. o First WG document.
o Clarified IANA actions. o Clarified IANA actions.
o Discussion of potential future groups not covered here. o Discussion of potential future groups not covered here.
o Clarification re: practicality of recipient tests for DSA groups. o Clarification re: practicality of recipient tests for DSA groups.
Authors' Addresses Authors' Addresses
Yaron Sheffer Yaron Sheffer
Porticor Porticor
 End of changes. 27 change blocks. 
56 lines changed or deleted 161 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/