draft-ietf-hip-cert-10.txt   draft-ietf-hip-cert-11.txt 
Host Identity Protocol Heer Host Identity Protocol Heer
Internet-Draft Communication and Distributed Internet-Draft Communication and Distributed
Updates: 5201 (if approved) Systems, RWTH Aachen University Updates: 5201 (if approved) Systems, RWTH Aachen University
Intended status: Experimental Varjonen Intended status: Experimental Varjonen
Expires: September 10, 2011 Helsinki Institute for Information Expires: September 10, 2011 Helsinki Institute for Information
Technology Technology
March 9, 2011 March 9, 2011
Host Identity Protocol Certificates Host Identity Protocol Certificates
draft-ietf-hip-cert-10 draft-ietf-hip-cert-11
Abstract Abstract
The CERT parameter is a container for digital certificates. It is The CERT parameter is a container for digital certificates. It is
used for carrying these certificates in Host Identity Protocol (HIP) used for carrying these certificates in Host Identity Protocol (HIP)
control packets. This document specifies the certificate parameter control packets. This document specifies the certificate parameter
and the error signaling in case of a failed verification. and the error signaling in case of a failed verification.
Additionally, this document specifies the representations of Host Additionally, this document specifies the representations of Host
Identity Tags in X.509.v3 and SPKI certificates. Identity Tags in X.509 version 3 (v3) and SPKI certificates.
The concrete use of certificates including how certificates are The concrete use of certificates including how certificates are
obtained, requested, and which actions are taken upon successful or obtained, requested, and which actions are taken upon successful or
failed verification are specific to the scenario in which the failed verification are specific to the scenario in which the
certificates are used. Hence, the definition of these scenario- certificates are used. Hence, the definition of these scenario-
specific aspects are left to the documents that use the CERT specific aspects are left to the documents that use the CERT
parameter. parameter.
This document updates RFC 5201.
Status of this Memo Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF). Note that other groups may also distribute
other groups may also distribute working documents as Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts. 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."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on September 10, 2011. This Internet-Draft will expire on September 10, 2011.
Copyright Notice Copyright Notice
Copyright (c) 2011 IETF Trust and the persons identified as the Copyright (c) 2011 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
skipping to change at page 2, line 20 skipping to change at page 2, line 15
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 BSD License. described in the Simplified BSD License.
This document may contain material from IETF Documents or IETF This document may contain material from IETF Documents or IETF
Contributions published or made publicly available before November Contributions published or made publicly available before November
10, 2008. The person(s) controlling the copyright in some of this 10, 2008. The person(s) controlling the copyright in some of this
material may not have granted the IETF Trust the right to allow material may not have granted the IETF Trust the right to allow
modifications of such material outside the IETF Standards Process. modifications of such material outside the IETF Standards Process.
Without obtaining an adequate license from the person(s) controlling Without obtaining an adequate license from the person(s) controlling
the copyright in such materials, this document may not be modified the copyright in such materials, this document may not be modified
outside the IETF Standards Process, and derivative works of it may outside the IETF Standards Process, and derivative works of it may
not be created outside the IETF Standards Process, except to format not be created outside the IETF Standards Process, except to format
skipping to change at page 2, line 50 skipping to change at page 2, line 45
namespace based on asymmetric cryptography. The identity of each namespace based on asymmetric cryptography. The identity of each
host is derived from a public key, allowing hosts to digitally sign host is derived from a public key, allowing hosts to digitally sign
data and issue certificates with their private key. This document data and issue certificates with their private key. This document
specifies the CERT parameter, which is used to transmit digital specifies the CERT parameter, which is used to transmit digital
certificates in HIP. It fills the placeholder specified in Section certificates in HIP. It fills the placeholder specified in Section
5.2 of [RFC5201], and thus, updates [RFC5201]. 5.2 of [RFC5201], and thus, updates [RFC5201].
1.1. Requirements Language 1.1. Requirements Language
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", "NOT RECOMMENDED", "MAY", and
document are to be interpreted as described in RFC 2119 [RFC2119]. "OPTIONAL" in this document are to be interpreted as described in RFC
2119 [RFC2119].
2. CERT Parameter 2. CERT Parameter
The CERT parameter is a container for certain types of digital The CERT parameter is a container for certain types of digital
certificates. It does not specify any certificate semantics. certificates. It does not specify any certificate semantics.
However, it defines supplementary parameters that help HIP hosts to However, it defines supplementary parameters that help HIP hosts to
transmit semantically grouped CERT parameters in a more systematic transmit semantically grouped CERT parameters in a more systematic
way. The specific use of the CERT parameter for different use cases way. The specific use of the CERT parameter for different use cases
is intentionally not discussed in this document because it is is intentionally not discussed in this document because it is
specific to a concrete use case. Hence, the use of the CERT specific to a concrete use case. Hence, the use of the CERT
skipping to change at page 4, line 36 skipping to change at page 4, line 36
The certificates MUST use the algorithms defined in [RFC5201] as the The certificates MUST use the algorithms defined in [RFC5201] as the
signature and hash algorithms. signature and hash algorithms.
The following certificate types are defined: The following certificate types are defined:
+--------------------------------+-------------+ +--------------------------------+-------------+
| Cert format | Type number | | Cert format | Type number |
+--------------------------------+-------------+ +--------------------------------+-------------+
| Reserved | 0 | | Reserved | 0 |
| X.509.v3 | 1 | | X.509 v3 | 1 |
| SPKI | 2 | | SPKI | 2 |
| Hash and URL of X.509.v3 | 3 | | Hash and URL of X.509 v3 | 3 |
| Hash and URL of SPKI | 4 | | Hash and URL of SPKI | 4 |
| LDAP URL of X.509.v3 | 5 | | LDAP URL of X.509 v3 | 5 |
| LDAP URL of SPKI | 6 | | LDAP URL of SPKI | 6 |
| Distinguished Name of X.509.v3 | 7 | | Distinguished Name of X.509 v3 | 7 |
| Distinguished Name of SPKI | 8 | | Distinguished Name of SPKI | 8 |
+--------------------------------+-------------+ +--------------------------------+-------------+
The next sections outline the use of Host Identity Tags (HITs) in The next sections outline the use of Host Identity Tags (HITs) in
X.509.v3 and in Simple Public Key Infrastructure (SPKI) certificates. X.509 v3 and in Simple Public Key Infrastructure (SPKI) certificates.
X.509.v3 certificates and the handling procedures are defined in X.509 v3 certificates and the handling procedures are defined in
[RFC5280]. The wire format for X.509.v3 is Distinguished Encoding [RFC5280]. The wire format for X.509 v3 is Distinguished Encoding
Rules format as defined in [X.690]. The SPKI, the handling Rules format as defined in [X.690]. The SPKI, the handling
procedures, and the formats are defined in [RFC2693]. procedures, and the formats are defined in [RFC2693].
Hash and Uniform Resource Locator (URL) encodings (3 and 4) are used Hash and Uniform Resource Locator (URL) encodings (3 and 4) are used
as defined in [RFC5996] Section 3.6. Using hash and URL encodings as defined in [RFC5996] Section 3.6. Using hash and URL encodings
results in smaller HIP control packets, but requires the receiver to results in smaller HIP control packets, but requires the receiver to
resolve the URL or check a local cache against the hash. resolve the URL or check a local cache against the hash.
LDAP URL encodings (5 and 6) are used as defined in [RFC4516]. Using LDAP URL encodings (5 and 6) are used as defined in [RFC4516]. Using
LDAP URL encoding results in smaller HIP control packets but requires LDAP URL encoding results in smaller HIP control packets but requires
the receiver to retrieve the certificate or check a local cache the receiver to retrieve the certificate or check a local cache
against the URL. against the URL.
Distinguished name (DN) encodings (7 and 8) are used as defined in Distinguished name (DN) encodings (7 and 8) are used as defined in
[RFC4514]. Using the DN encoding results in smaller HIP control [RFC4514]. Using the DN encoding results in smaller HIP control
packets, but requires the receiver to retrieve the certificate or packets, but requires the receiver to retrieve the certificate or
check a local cache against the DN. check a local cache against the DN.
3. X.509.v3 Certificate Object and Host Identities 3. X.509 v3 Certificate Object and Host Identities
HITs can represent an issuer, a subject, or both in x.509.v3. HITs HITs can represent an issuer, a subject, or both in x.509 v3. HITs
are represented as IPv6 addresses as defined in [RFC4843]. When Host are represented as IPv6 addresses as defined in [RFC4843]. When Host
Identifier ( HI ) is used to sign the certificate the respective HIT Identifier ( HI ) is used to sign the certificate the respective HIT
MUST be placed in to the Issuer Alternative Name (IAN) extension MUST be placed in to the Issuer Alternative Name (IAN) extension
using the GeneralName form iPAddress as defined in [RFC5280]. When using the GeneralName form iPAddress as defined in [RFC5280]. When
the certificate is issued for a HIP host, identified by a HIT and HI, the certificate is issued for a HIP host, identified by a HIT and HI,
the respective HIT MUST be placed in to the Subject Alternative Name the respective HIT MUST be placed in to the Subject Alternative Name
(SAN) extension using the GeneralName form iPAddress and the full HI (SAN) extension using the GeneralName form iPAddress and the full HI
is presented as the subjects public key info as defined in [RFC5280]. is presented as the subjects public key info as defined in [RFC5280].
The following examples illustrate how HITs are presented as issuer The following examples illustrate how HITs are presented as issuer
and subject in the X.509.v3 extension alternative names. and subject in the X.509 v3 extension alternative names.
Format of X509v3 extensions: Format of X509v3 extensions:
X509v3 Issuer Alternative Name: X509v3 Issuer Alternative Name:
IP Address:hit-of-issuer IP Address:hit-of-issuer
X509v3 Subject Alternative Name: X509v3 Subject Alternative Name:
IP Address:hit-of-subject IP Address:hit-of-subject
Example X509v3 extensions: Example X509v3 extensions:
X509v3 Issuer Alternative Name: X509v3 Issuer Alternative Name:
IP Address:2001:14:6cf:fae7:bb79:bf78:7d64:c056 IP Address:2001:14:6cf:fae7:bb79:bf78:7d64:c056
X509v3 Subject Alternative Name: X509v3 Subject Alternative Name:
IP Address:2001:1C:5a14:26de:a07C:385b:de35:60e3 IP Address:2001:1C:5a14:26de:a07C:385b:de35:60e3
Appendix B shows a full example X.509.v3 certificate with HIP Appendix B shows a full example X.509 v3 certificate with HIP
content. content.
As another example, consider a managed Public Key Infrastructure As another example, consider a managed Public Key Infrastructure
(PKI) environment in which the peers have certificates that are (PKI) environment in which the peers have certificates that are
anchored in (potentially different) managed trust chains. In this anchored in (potentially different) managed trust chains. In this
scenario, the certificates issued to HIP hosts are signed by scenario, the certificates issued to HIP hosts are signed by
intermediate Certificate Authorities (CAs) up to a root CA. In this intermediate Certificate Authorities (CAs) up to a root CA. In this
example, the managed PKI environment is neither HIP aware, nor can it example, the managed PKI environment is neither HIP aware, nor can it
be configured to compute HITs and include them in the certificates. be configured to compute HITs and include them in the certificates.
skipping to change at page 6, line 40 skipping to change at page 6, line 40
As an example the Host Identity Tag of a host is expressed as As an example the Host Identity Tag of a host is expressed as
follows: follows:
Format: (hash hit hit-of-host) Format: (hash hit hit-of-host)
Example: (hash hit 2001:13:724d:f3c0:6ff0:33c2:15d8:5f50) Example: (hash hit 2001:13:724d:f3c0:6ff0:33c2:15d8:5f50)
Appendix A shows a full example SPKI certificate with HIP content. Appendix A shows a full example SPKI certificate with HIP content.
5. Revocation of Certificates 5. Revocation of Certificates
Revocation of X.509.v3 certificates is handled as defined in Section Revocation of X.509 v3 certificates is handled as defined in Section
5 of [RFC5280]. Revocation of SPKI certificates is handled as 5 of [RFC5280]. Revocation of SPKI certificates is handled as
defined in Section 5 of [RFC2693]. defined in Section 5 of [RFC2693].
6. Error signaling 6. Error signaling
If the Initiator does not send the certificate that the Responder If the Initiator does not send the certificate that the Responder
requires the Responder may take actions (e.g. reject the connection). requires the Responder may take actions (e.g. reject the connection).
The Responder MAY signal this to the Initiator by sending a HIP The Responder MAY signal this to the Initiator by sending a HIP
NOTIFY message with NOTIFICATION parameter error type NOTIFY message with NOTIFICATION parameter error type
skipping to change at page 8, line 13 skipping to change at page 8, line 13
fragmentation allows, for example sending of fragments in wrong order fragmentation allows, for example sending of fragments in wrong order
and skipping some fragments to delay or stall packet processing by and skipping some fragments to delay or stall packet processing by
the victim in order to use resources (e.g. CPU or memory). Hence, the victim in order to use resources (e.g. CPU or memory). Hence,
hosts SHOULD implement mechanisms to discard certificate groups with hosts SHOULD implement mechanisms to discard certificate groups with
outstanding certificates if state space is scarce. outstanding certificates if state space is scarce.
Checking of the URL and LDAP entries might allow DoS attacks, where Checking of the URL and LDAP entries might allow DoS attacks, where
the target host may be subjected to bogus work. the target host may be subjected to bogus work.
Security considerations for SPKI certificates are discussed in Security considerations for SPKI certificates are discussed in
[RFC2693] and for X.509.v3 in [RFC5280] [RFC2693] and for X.509 v3 in [RFC5280]
9. Acknowledgements 9. Acknowledgements
The authors would like to thank A. Keranen, D. Mattes, M. Komu and T. The authors would like to thank A. Keranen, D. Mattes, M. Komu and T.
Henderson for the fruitful conversations on the subject. D. Mattes Henderson for the fruitful conversations on the subject. D. Mattes
most notably contributed the non-HIP aware use case in Section 3. most notably contributed the non-HIP aware use case in Section 3.
10. Normative References 10. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
skipping to change at page 10, line 7 skipping to change at page 10, line 7
(hash sha1 |h5fC8HUMATTtK0cjYqIgeN3HCIMA|) (hash sha1 |h5fC8HUMATTtK0cjYqIgeN3HCIMA|)
|u8NTRutINI/AeeZgN6bngjvjYPtVahvY7MhGfenTpT7MCgBy |u8NTRutINI/AeeZgN6bngjvjYPtVahvY7MhGfenTpT7MCgBy
NoZglqH5Cy2vH6LrQFYWx0MjWoYwHKimEuBKCNd4TK6hrCyAI NoZglqH5Cy2vH6LrQFYWx0MjWoYwHKimEuBKCNd4TK6hrCyAI
CIDJAZ70TyKXgONwDNWPOmcc3lFmsih8ezkoBseFWHqRGISIm CIDJAZ70TyKXgONwDNWPOmcc3lFmsih8ezkoBseFWHqRGISIm
MLdeaMciP4lVfxPY2AQKdMrBc=| MLdeaMciP4lVfxPY2AQKdMrBc=|
) )
) )
Appendix B. X.509.v3 certificate example Appendix B. X.509.v3 certificate example
This section shows a X.509.v3 certificate with encoded HITs. This section shows a X.509 v3 certificate with encoded HITs.
Certificate: Certificate:
Data: Data:
Version: 3 (0x2) Version: 3 (0x2)
Serial Number: 0 (0x0) Serial Number: 0 (0x0)
Signature Algorithm: sha1WithRSAEncryption Signature Algorithm: sha1WithRSAEncryption
Issuer: CN=2001:1e:d709:1980:5c6a:bb0c:7650:a027 Issuer: CN=2001:1e:d709:1980:5c6a:bb0c:7650:a027
Validity Validity
Not Before: Jun 22 13:39:32 2010 GMT Not Before: Jun 22 13:39:32 2010 GMT
Not After : Jul 2 13:39:32 2010 GMT Not After : Jul 2 13:39:32 2010 GMT
skipping to change at page 13, line 5 skipping to change at page 12, line 47
o Fixing boilerplate. o Fixing boilerplate.
Changes from version 09 to 10: Changes from version 09 to 10:
o IANA considerations updated based on the IANA review. o IANA considerations updated based on the IANA review.
o Updates based on the hip-chairs review. o Updates based on the hip-chairs review.
o Updates based on the Gen-ART review. o Updates based on the Gen-ART review.
Changes from version 10 to 11:
o Fixed the nits.
Authors' Addresses Authors' Addresses
Tobias Heer Tobias Heer
Communication and Distributed Systems, RWTH Aachen University Communication and Distributed Systems, RWTH Aachen University
Ahornstrasse 55 Ahornstrasse 55
Aachen Aachen
Germany Germany
Phone: +49 241 80 20 776 Phone: +49 241 80 20 776
Email: heer@cs.rwth-aachen.de Email: heer@cs.rwth-aachen.de
 End of changes. 22 change blocks. 
30 lines changed or deleted 30 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/