< draft-kivinen-ipsecme-oob-pubkey-01.txt   draft-kivinen-ipsecme-oob-pubkey-02.txt >
IP Security Maintenance and Extensions T. Kivinen IP Security Maintenance and Extensions T. Kivinen
(ipsecme) AuthenTec (ipsecme) AuthenTec
Internet-Draft P. Wouters Internet-Draft P. Wouters
Intended status: Informational Red Hat Updates: RFC 5996 (if approved) Red Hat
Expires: April 19, 2013 H. Tschofenig Intended status: Standards Track H. Tschofenig
Nokia Siemens Networks Expires: April 25, 2013 Nokia Siemens Networks
October 16, 2012 October 22, 2012
More Raw Public Keys for IKEv2 More Raw Public Keys for IKEv2
draft-kivinen-ipsecme-oob-pubkey-01.txt draft-kivinen-ipsecme-oob-pubkey-02.txt
Abstract Abstract
The Internet Key Exchange Version 2 (IKEv2) protocol currently only The Internet Key Exchange Version 2 (IKEv2) protocol currently only
supports raw RSA keys. In some environments it is useful to make use supports raw RSA keys. In some environments it is useful to make use
of other types of public keys, such as those based on Elliptic Curve of other types of public keys, such as those based on Elliptic Curve
Cryptography. This documents adds support for other types of raw Cryptography. This documents adds support for other types of raw
public keys to IKEv2. public keys to IKEv2.
Status of this Memo Status of this Memo
skipping to change at page 1, line 37 skipping to change at page 1, line 37
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 April 19, 2013. This Internet-Draft will expire on April 25, 2013.
Copyright Notice Copyright Notice
Copyright (c) 2012 IETF Trust and the persons identified as the Copyright (c) 2012 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
2. Certificate Encoding Payload . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Old Raw RSA Key Certificate Type . . . . . . . . . . . . . . . 4 3. Certificate Encoding Payload . . . . . . . . . . . . . . . . . 3
4. Security Considerations . . . . . . . . . . . . . . . . . . . . 5 4. Old Raw RSA Key Certificate Type . . . . . . . . . . . . . . . 4
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 5 5. Security Considerations . . . . . . . . . . . . . . . . . . . . 5
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 5 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 5
7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 6 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 5
7.1. Normative References . . . . . . . . . . . . . . . . . . . 6 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 6
7.2. Informative References . . . . . . . . . . . . . . . . . . 6 8.1. Normative References . . . . . . . . . . . . . . . . . . . 6
8.2. Informative References . . . . . . . . . . . . . . . . . . 6
Appendix A. Examples . . . . . . . . . . . . . . . . . . . . . . . 6 Appendix A. Examples . . . . . . . . . . . . . . . . . . . . . . . 6
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 8 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 8
1. Introduction 1. Introduction
Secure DNS allows public keys to be associated with domain names for Secure DNS allows public keys to be associated with domain names for
usage with security protocols like Internet Key Exchange Version 2 usage with security protocols like Internet Key Exchange Version 2
(IKEv2) [RFC5996] and Transport Layer Security (TLS) but it relies on (IKEv2) [RFC5996] and Transport Layer Security (TLS) but it relies on
extensions in those protocols to be specified. extensions in those protocols to be specified.
skipping to change at page 3, line 31 skipping to change at page 3, line 31
This document is similar than the TLS Out-of-Band Public Key This document is similar than the TLS Out-of-Band Public Key
Validation specification, and applies the concept to IKEv2 to support Validation specification, and applies the concept to IKEv2 to support
all public key formats defined by PKIX. This approach also allows all public key formats defined by PKIX. This approach also allows
future public key extensions to be supported without the need to future public key extensions to be supported without the need to
introduce further enhancements to IKEv2. introduce further enhancements to IKEv2.
To support new types of public keys in IKEv2 the following changes To support new types of public keys in IKEv2 the following changes
are needed: are needed:
o A new Certificate Encoding format needs to be defined for carrying o A new Certificate Encoding format needs to be defined for carrying
the SubjectPublicKeyInfo structure. Section 2 specifies this new the SubjectPublicKeyInfo structure. Section 3 specifies this new
encoding format. encoding format.
o A new Certificate Encoding type needs to be allocated from the o A new Certificate Encoding type needs to be allocated from the
IANA registry. Section 5 contains this request to IANA. IANA registry. Section 6 contains this request to IANA.
2. Terminology
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. Certificate Encoding Payload 3. Certificate Encoding Payload
Section 3.6 of RFC 5996 defines the Certificate payload format as Section 3.6 of RFC 5996 defines the Certificate payload format as
shown in Figure 1. shown in Figure 1.
1 2 3 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Next Payload |C| RESERVED | Payload Length | | Next Payload |C| RESERVED | Payload Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Cert Encoding | | | Cert Encoding | |
+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ |
~ Certificate Data ~ ~ Certificate Data ~
| | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: Certificate Payload Format Figure 1: Certificate Payload Format.
o Certificate Encoding (1 octet) - This field indicates the type of o Certificate Encoding (1 octet) - This field indicates the type of
certificate or certificate-related information contained in the certificate or certificate-related information contained in the
Certificate Data field. Certificate Data field.
Certificate Encoding Value Certificate Encoding Value
---------------------------------------------------- ----------------------------------------------------
Raw Public Key TBD Raw Public Key TBD
o Certificate Data (variable length) - Actual encoding of the o Certificate Data (variable length) - Actual encoding of the
skipping to change at page 4, line 38 skipping to change at page 4, line 38
Certificate Encoding field. Certificate Encoding field.
When the certificate encoding type 'Raw Public Key' is used then the When the certificate encoding type 'Raw Public Key' is used then the
Certificate Data only contains the SubjectPublicKeyInfo part of the Certificate Data only contains the SubjectPublicKeyInfo part of the
PKIX certificate. PKIX certificate.
In the case of the Certificate Request payload the Certification In the case of the Certificate Request payload the Certification
Authority field MUST be empty if the "Raw Public Key" certificate Authority field MUST be empty if the "Raw Public Key" certificate
encoding is used. encoding is used.
3. Old Raw RSA Key Certificate Type 4. Old Raw RSA Key Certificate Type
After this there are two ways of sending Raw RSA public keys in the After this there are two ways of sending Raw RSA public keys in the
IKEv2: The already existing mechanism (Raw RSA Key, encoding value IKEv2: The already existing mechanism (Raw RSA Key, encoding value
11), and the new format defined here. The IKEv2 protocol already 11), and the new format defined here. The IKEv2 protocol already
supports a method to indicate what certificate encoding formats are supports a method to indicate what certificate encoding formats are
supported, i.e. a peer can send one or multiple Certificate Request supported, i.e. a peer can send one or multiple Certificate Request
payload with the certificate encoding types it supports. From this payload with the certificate encoding types it supports. From this
list the recipient can see what formats are supported and select one list the recipient can see what formats are supported and select one
which is used to send Certificate back. which is used to send Certificate back.
skipping to change at page 5, line 18 skipping to change at page 5, line 18
the Certificate Request payloads, it is RECOMMENDED for the Certificate Request payloads, it is RECOMMENDED for
implementations to prefer new format defined in this document, so the implementations to prefer new format defined in this document, so the
old Raw RSA public key format could possibly be phased out in the old Raw RSA public key format could possibly be phased out in the
future. future.
To better support minimal implementations, it would be best to limit To better support minimal implementations, it would be best to limit
the code complexity of those versions, and such implementations might the code complexity of those versions, and such implementations might
choose to implement only the new format, which supports all types of choose to implement only the new format, which supports all types of
raw public keys. raw public keys.
4. Security Considerations 5. Security Considerations
An IKEv2 deployment using raw public keys needs to utilize an out-of- An IKEv2 deployment using raw public keys needs to utilize an out-of-
band public key validation procedure to be confident in the band public key validation procedure to be confident in the
authenticity of the keys being used. One such mechanism is to use a authenticity of the keys being used. One such mechanism is to use a
configuration mechanism for provisioning raw public keys into the configuration mechanism for provisioning raw public keys into the
IKEv2 software. A suitable deployment is likely to be found with IKEv2 software. A suitable deployment is likely to be found with
smart objects. Yet another approach is to rely on secure DNS to smart objects. Yet another approach is to rely on secure DNS to
associate public keys to be associated with domain names using the associate public keys to be associated with domain names using the
IPSECKEY DNS RRtype [RFC4025]. More information can be found in DNS- IPSECKEY DNS RRtype [RFC4025]. More information can be found in DNS-
Based Authentication of Named Entities (DANE) [RFC6394]. Based Authentication of Named Entities (DANE) [RFC6394].
This document does not change the assumptions made by the IKEv2 This document does not change the assumptions made by the IKEv2
specifications since "Raw RSA Key" support is already available in specifications since "Raw RSA Key" support is already available in
IKEv2. This document only generalizes the raw public key support. IKEv2. This document only generalizes the raw public key support.
5. IANA Considerations 6. IANA Considerations
This document allocates a new value from the IKEv2 Certificate This document allocates a new value from the IKEv2 Certificate
Encodings registry: Encodings registry:
TBD Raw Public Key TBD Raw Public Key
6. Acknowledgements 7. Acknowledgements
This document copies parts from the similar TLS document This document copies parts from the similar TLS document
([I-D.ietf-tls-oob-pubkey]). ([I-D.ietf-tls-oob-pubkey]).
7. References 8. References
7.1. Normative References 8.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.
[RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., [RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S.,
Housley, R., and W. Polk, "Internet X.509 Public Key Housley, R., and W. Polk, "Internet X.509 Public Key
Infrastructure Certificate and Certificate Revocation List Infrastructure Certificate and Certificate Revocation List
(CRL) Profile", RFC 5280, May 2008. (CRL) Profile", RFC 5280, May 2008.
[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.
7.2. Informative References 8.2. Informative References
[I-D.ietf-tls-oob-pubkey] [I-D.ietf-tls-oob-pubkey]
Wouters, P., Gilmore, J., Weiler, S., Kivinen, T., and H. Wouters, P., Gilmore, J., Weiler, S., Kivinen, T., and H.
Tschofenig, "Out-of-Band Public Key Validation for Tschofenig, "Out-of-Band Public Key Validation for
Transport Layer Security", draft-ietf-tls-oob-pubkey-04 Transport Layer Security", draft-ietf-tls-oob-pubkey-04
(work in progress), July 2012. (work in progress), July 2012.
[RFC3447] Jonsson, J. and B. Kaliski, "Public-Key Cryptography [RFC3447] Jonsson, J. and B. Kaliski, "Public-Key Cryptography
Standards (PKCS) #1: RSA Cryptography Specifications Standards (PKCS) #1: RSA Cryptography Specifications
Version 2.1", RFC 3447, February 2003. Version 2.1", RFC 3447, February 2003.
 End of changes. 14 change blocks. 
25 lines changed or deleted 28 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/