draft-ietf-hip-rfc6253-bis-09.txt | rfc8002.txt | |||
---|---|---|---|---|
Host Identity Protocol T. Heer | Internet Engineering Task Force (IETF) T. Heer | |||
Internet-Draft Albstadt-Sigmaringen University | Request for Comments: 8002 Albstadt-Sigmaringen University | |||
Obsoletes: 6253 (if approved) S. Varjonen | Obsoletes: 6253 S. Varjonen | |||
Updates: 7401 (if approved) University of Helsinki | Updates: 7401 University of Helsinki | |||
Intended status: Standards Track July 6, 2016 | Category: Standards Track October 2016 | |||
Expires: January 7, 2017 | ISSN: 2070-1721 | |||
Host Identity Protocol Certificates | Host Identity Protocol Certificates | |||
draft-ietf-hip-rfc6253-bis-09 | ||||
Abstract | Abstract | |||
The Certificate (CERT) parameter is a container for digital | The Certificate (CERT) parameter is a container for digital | |||
certificates. It is used for carrying these certificates in Host | certificates. It is used for carrying these certificates in Host | |||
Identity Protocol (HIP) control packets. This document specifies the | Identity Protocol (HIP) control packets. This document specifies the | |||
certificate parameter and the error signaling in case of a failed | certificate parameter and the error signaling in case of a failed | |||
verification. Additionally, this document specifies the | verification. Additionally, this document specifies the | |||
representations of Host Identity Tags in X.509 version 3 (v3). | representations of Host Identity Tags (HITs) in X.509 version 3 (v3). | |||
The concrete use cases of certificates, including how certificates | The concrete use cases of certificates, including how certificates | |||
are obtained, requested, and which actions are taken upon successful | are obtained and requested and which actions are taken upon | |||
or failed verification, are specific to the scenario in which the | successful or failed verification, are specific to the scenario in | |||
certificates are used. Hence, the definition of these scenario- | which the certificates are used. Hence, the definition of these | |||
specific aspects is left to the documents that use the CERT | scenario-specific aspects is left to the documents that use the CERT | |||
parameter. | parameter. | |||
This document updates RFC7401 and obsoletes RFC6253. | This document updates RFC 7401 and obsoletes RFC 6253. | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This is an Internet Standards Track document. | |||
provisions of BCP 78 and BCP 79. | ||||
Internet-Drafts are working documents of the Internet Engineering | ||||
Task Force (IETF). Note that other groups may also distribute | ||||
working documents as Internet-Drafts. The list of current Internet- | ||||
Drafts is at http://datatracker.ietf.org/drafts/current/. | ||||
Internet-Drafts are draft documents valid for a maximum of six months | This document is a product of the Internet Engineering Task Force | |||
and may be updated, replaced, or obsoleted by other documents at any | (IETF). It represents the consensus of the IETF community. It has | |||
time. It is inappropriate to use Internet-Drafts as reference | received public review and has been approved for publication by the | |||
material or to cite them other than as "work in progress." | Internet Engineering Steering Group (IESG). Further information on | |||
Internet Standards is available in Section 2 of RFC 7841. | ||||
This Internet-Draft will expire on January 7, 2017. | Information about the current status of this document, any errata, | |||
and how to provide feedback on it may be obtained at | ||||
http://www.rfc-editor.org/info/rfc8002. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2016 IETF Trust and the persons identified as the | Copyright (c) 2016 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 17 ¶ | skipping to change at page 2, line 20 ¶ | |||
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 | ||||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | ||||
1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 | ||||
2. CERT Parameter . . . . . . . . . . . . . . . . . . . . . . . 3 | ||||
3. X.509 v3 Certificate Object and Host Identities . . . . . . . 5 | ||||
4. Revocation of Certificates . . . . . . . . . . . . . . . . . 6 | ||||
5. Error Signaling . . . . . . . . . . . . . . . . . . . . . . . 7 | ||||
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 | ||||
7. Security Considerations . . . . . . . . . . . . . . . . . . . 8 | ||||
8. Differences from RFC 6253 . . . . . . . . . . . . . . . . . . 8 | ||||
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 | ||||
9.1. Normative References . . . . . . . . . . . . . . . . . . 9 | ||||
9.2. Informative References . . . . . . . . . . . . . . . . . 10 | ||||
Appendix A. X.509 v3 Certificate Example . . . . . . . . . . . . 11 | ||||
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 13 | ||||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13 | ||||
1. Introduction | 1. Introduction | |||
Digital certificates bind pieces of information to a public key by | Digital certificates bind pieces of information to a public key by | |||
means of a digital signature, and thus, enable the holder of a | means of a digital signature and thus enable the holder of a private | |||
private key to generate cryptographically verifiable statements. The | key to generate cryptographically verifiable statements. The Host | |||
Host Identity Protocol (HIP) [RFC7401] defines a new cryptographic | Identity Protocol (HIP) [RFC7401] defines a new cryptographic | |||
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 | certificates in HIP. It fills the placeholder specified in | |||
Section 5.2 of [RFC7401], and thus, updates [RFC7401]. | Section 5.2 of [RFC7401] and thus updates [RFC7401]. | |||
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", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
"OPTIONAL" in this document are to be interpreted as described in RFC | "OPTIONAL" in this document are to be interpreted as described in | |||
2119 [RFC2119]. | 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. Hence, the use of | is intentionally not discussed in this document. Hence, the use of | |||
the CERT parameter will be defined in the documents that use the CERT | the CERT parameter will be defined in the documents that use the CERT | |||
parameter. | parameter. | |||
The CERT parameter is covered and protected, when present, by the HIP | The CERT parameter is covered and protected, when present, by the HIP | |||
SIGNATURE field and is a non-critical parameter. | SIGNATURE field and is a non-critical parameter. | |||
The CERT parameter can be used in all HIP packets. However, using it | The CERT parameter can be used in all HIP packets. However, using it | |||
in the first Initiator (I1) packet is NOT RECOMMENDED because it can | in the first Initiator (I1) packet is NOT RECOMMENDED because it can | |||
increase the processing times of I1s, which can be problematic when | increase the processing times of I1s, which can be problematic when | |||
processing storms of I1s. Each HIP control packet MAY contain | processing storms of I1s. Each HIP control packet MAY contain | |||
multiple CERT parameters each carrying one certificate. These | multiple CERT parameters, each carrying one certificate. These | |||
parameters MAY be related or unrelated. Related certificates are | parameters MAY be related or unrelated. Related certificates are | |||
managed in CERT groups. A CERT group specifies a group of related | managed in CERT groups. A CERT group specifies a group of related | |||
CERT parameters that SHOULD be interpreted in a certain order (e.g., | CERT parameters that SHOULD be interpreted in a certain order (e.g., | |||
for expressing certificate chains). Ungrouped certificates exhibit a | for expressing certificate chains). Ungrouped certificates exhibit a | |||
unique CERT group field and set the CERT count to 1. CERT parameters | unique CERT group field and set the CERT count to 1. CERT parameters | |||
with the same group number in the CERT group field indicate a logical | with the same group number in the CERT group field indicate a logical | |||
grouping. The CERT count field indicates the number of CERT | grouping. The CERT count field indicates the number of CERT | |||
parameters in the group. | parameters in the group. | |||
CERT parameters that belong to the same CERT group MAY be contained | CERT parameters that belong to the same CERT group MAY be contained | |||
skipping to change at page 3, line 33 ¶ | skipping to change at page 4, line 19 ¶ | |||
be placed in ascending order, within a HIP control packet, according | be placed in ascending order, within a HIP control packet, according | |||
to their CERT group field. CERT groups MAY only span multiple | to their CERT group field. CERT groups MAY only span multiple | |||
packets if the CERT group does not fit the packet. A HIP packet MUST | packets if the CERT group does not fit the packet. A HIP packet MUST | |||
NOT contain more than one incomplete CERT group that continues in the | NOT contain more than one incomplete CERT group that continues in the | |||
next HIP control packet. | next HIP control packet. | |||
The CERT ID acts as a sequence number to identify the certificates in | The CERT ID acts as a sequence number to identify the certificates in | |||
a CERT group. The numbers in the CERT ID field MUST start from 1 up | a CERT group. The numbers in the CERT ID field MUST start from 1 up | |||
to CERT count. | to CERT count. | |||
The CERT Group and CERT ID namespaces are managed locally by each | The CERT group and CERT ID namespaces are managed locally by each | |||
host that sends CERT parameters in HIP control packets. | host that sends CERT parameters in HIP control packets. | |||
0 1 2 3 | 0 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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Type | Length | | | Type | Length | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| CERT group | CERT count | CERT ID | CERT type | | | CERT group | CERT count | CERT ID | CERT type | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Certificate / | | Certificate / | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
/ | Padding (variable length) | | / | Padding (variable length) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Type 768 | Type 768 | |||
Length Length in octets, excluding Type, Length, and Padding | Length Length in octets, excluding Type, Length, and | |||
CERT group Group ID grouping multiple related CERT parameters | Padding. | |||
CERT group Group ID grouping multiple related CERT parameters. | ||||
CERT count Total count of certificates that are sent, possibly | CERT count Total count of certificates that are sent, possibly | |||
in several consecutive HIP control packets. | in several consecutive HIP control packets. | |||
CERT ID The sequence number for this certificate. | ||||
CERT ID The sequence number for this certificate | CERT Type Indicates the type of the certificate. | |||
CERT Type Indicates the type of the certificate | ||||
Padding Any Padding, if necessary, to make the TLV a multiple | Padding Any Padding, if necessary, to make the TLV a multiple | |||
of 8 bytes. Any added padding bytes MUST be zeroed by | of 8 bytes. Any added padding bytes MUST be zeroed | |||
the sender, and their values SHOULD NOT be checked by | by the sender, and their values SHOULD NOT be checked | |||
the receiver. | by the receiver. | |||
The certificates MUST use the algorithms defined in [RFC7401] as the | The certificates MUST use the algorithms defined in [RFC7401] 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 | | |||
| Obsoleted | 2 | | | Obsoleted | 2 | | |||
| Hash and URL of X.509 v3 | 3 | | | Hash and URL of X.509 v3 | 3 | | |||
| Obsoleted | 4 | | | Obsoleted | 4 | | |||
| LDAP URL of X.509 v3 | 5 | | | LDAP URL of X.509 v3 | 5 | | |||
| Obsoleted | 6 | | | Obsoleted | 6 | | |||
| Distinguished Name of X.509 v3 | 7 | | | Distinguished Name of X.509 v3 | 7 | | |||
| Obsoleted | 8 | | | Obsoleted | 8 | | |||
+--------------------------------+-------------+ | +--------------------------------+-------------+ | |||
The next sections outline the use of Host Identity Tags (HITs) in | The next sections outline the use of HITs in X.509 v3. X.509 v3 | |||
X.509 v3. X.509 v3 certificates and the handling procedures are | certificates and the handling procedures are defined in [RFC5280]. | |||
defined in [RFC5280]. The wire format for X.509 v3 is the | The wire format for X.509 v3 is the Distinguished Encoding Rules | |||
Distinguished Encoding Rules format as defined in [X.690]. | format as defined in [X.690]. | |||
Hash and Uniform Resource Locator (URL) encoding (3) is used as | Hash and Uniform Resource Locator (URL) encoding (3) is used as | |||
defined in Section 3.6 of [RFC7296]. Using hash and URL encodings | defined in Section 3.6 of [RFC7296]. Using hash and URL encodings | |||
results in smaller HIP control packets than by including the | result in smaller HIP control packets than by including the | |||
certificate(s), but requires the receiver to resolve the URL or check | certificate(s) but requires the receiver to resolve the URL or check | |||
a local cache against the hash. | a local cache against the hash. | |||
Lightweight Directory Access Protocol (LDAP) URL encoding (5) is used | Lightweight Directory Access Protocol (LDAP) URL encoding (5) is used | |||
as defined in [RFC4516]. Using LDAP URL encoding results in smaller | as defined in [RFC4516]. Using LDAP URL encoding results in smaller | |||
HIP control packets but requires the receiver to retrieve the | HIP control packets but requires the receiver to retrieve the | |||
certificate or check a local cache against the URL. | certificate or check a local cache against the URL. | |||
Distinguished Name (DN) encoding (7) is represented by the string | Distinguished Name (DN) encoding (7) is represented by the string | |||
representation of the certificate's subject DN as defined in | representation of the certificate's subject DN 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 | |||
If needed, HITs can represent an issuer, a subject, or both in X.509 | If needed, HITs can represent an issuer, a subject, or both in X.509 | |||
v3. HITs are represented as IPv6 addresses as defined in [RFC7343]. | v3. HITs are represented as IPv6 addresses as defined in [RFC7343]. | |||
When the Host Identifier (HI) is used to sign the certificate, the | When the Host Identifier (HI) is used to sign the certificate, the | |||
respective HIT SHOULD be placed into the Issuer Alternative Name | respective HIT SHOULD be placed into the Issuer Alternative Name | |||
(IAN) extension using the GeneralName form iPAddress as defined in | (IAN) extension using the GeneralName form iPAddress as defined in | |||
[RFC5280]. When the certificate is issued for a HIP host, identified | [RFC5280]. When the certificate is issued for a HIP host, identified | |||
by a HIT and HI, the respective HIT SHOULD be placed into the Subject | by a HIT and an HI, the respective HIT SHOULD be placed into the | |||
Alternative Name (SAN) extension using the GeneralName form | Subject Alternative Name (SAN) extension using the GeneralName form | |||
iPAddress, and the full HI is presented as the subject's public key | iPAddress, and the full HI is presented as the subject's public key | |||
info as defined in [RFC5280]. | info as defined in [RFC5280]. | |||
The following examples illustrate how HITs are presented as issuer | The following examples illustrate how HITs are presented as the | |||
and subject in the X.509 v3 extension alternative names. | issuer 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:24:6cf:fae7:bb79:bf78:7d64:c056 | IP Address:2001:24:6cf:fae7:bb79:bf78:7d64:c056 | |||
skipping to change at page 5, line 41 ¶ | skipping to change at page 6, line 31 ¶ | |||
IP Address:2001:2c:5a14:26de:a07c:385b:de35:60e3 | IP Address:2001:2c:5a14:26de:a07c:385b:de35:60e3 | |||
Appendix A shows a full example X.509 v3 certificate with HIP | Appendix A 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 Certification Authorities (CAs) up to a root CA. In | intermediate Certification Authorities (CAs) up to a root CA. In | |||
this example, the managed PKI environment is neither HIP aware, nor | this example, the managed PKI environment is neither HIP aware nor | |||
can it be configured to compute HITs and include them in the | can it be configured to compute HITs and include them in the | |||
certificates. | certificates. | |||
When HIP communications are established, the HIP hosts not only need | When HIP communications are established, the HIP hosts not only need | |||
to send their identity certificates (or pointers to their | to send their identity certificates (or pointers to their | |||
certificates), but also the chain of intermediate CAs (or pointers to | certificates) but also the chain of intermediate CAs (or pointers to | |||
the CAs) up to the root CA, or to a CA that is trusted by the remote | the CAs) up to the root CA, or to a CA that is trusted by the remote | |||
peer. This chain of certificates SHOULD be sent in a CERT group as | peer. This chain of certificates SHOULD be sent in a CERT group as | |||
specified in Section 2. The HIP peers validate each other's | specified in Section 2. The HIP peers validate each other's | |||
certificates and compute peer HITs based on the certificate public | certificates and compute peer HITs based on the certificate public | |||
keys. | keys. | |||
4. Revocation of Certificates | 4. Revocation of Certificates | |||
Revocation of X.509 v3 certificates is handled as defined in | Revocation of X.509 v3 certificates is handled as defined in | |||
Section 5 of [RFC5280] with two exceptions. First, any HIP | Section 5 of [RFC5280] with two exceptions. First, any HIP | |||
certificate serial number that appears on the CRL is treated as | certificate serial number that appears on the Certificate Revocation | |||
invalid regardless of the reason code. Second, the certificateHold | List (CRL) is treated as invalid regardless of the reason code. | |||
is not supported. | Second, the certificateHold is not supported. | |||
5. Error Signaling | 5. Error Signaling | |||
If the Initiator does not send all the certificates that the | If the Initiator does not send all the certificates that the | |||
Responder requires, the Responder may take actions (e.g. reject the | Responder requires, the Responder may take actions (e.g., reject the | |||
connection). The Responder MAY signal this to the Initiator by | connection). The Responder MAY signal this to the Initiator by | |||
sending a HIP NOTIFY message with NOTIFICATION parameter error type | sending a HIP NOTIFY message with NOTIFICATION parameter error type | |||
CREDENTIALS_REQUIRED. | CREDENTIALS_REQUIRED. | |||
If the verification of a certificate fails, a verifier MAY signal | If the verification of a certificate fails, a verifier MAY signal | |||
this to the provider of the certificate by sending a HIP NOTIFY | this to the provider of the certificate by sending a HIP NOTIFY | |||
message with NOTIFICATION parameter error type INVALID_CERTIFICATE. | message with NOTIFICATION parameter error type INVALID_CERTIFICATE. | |||
NOTIFICATION PARAMETER - ERROR TYPES Value | NOTIFICATION PARAMETER - ERROR TYPES Value | |||
------------------------------------ ----- | ------------------------------------ ----- | |||
CREDENTIALS_REQUIRED 48 | CREDENTIALS_REQUIRED 48 | |||
The Responder is unwilling to set up an association, | The Responder is unwilling to set up an association, | |||
as the Initiator did not send the needed credentials. | as the Initiator did not send the needed credentials. | |||
INVALID_CERTIFICATE 50 | INVALID_CERTIFICATE 50 | |||
Sent in response to a failed verification of a certificate. | Sent in response to a failed verification of a certificate. | |||
Notification Data MAY contain CERT group and CERT ID octet | Notification Data MAY contain a CERT group and CERT ID octet | |||
(in this order) of the CERT parameter that caused the | (in this order) of the CERT parameter that caused the | |||
failure. | failure. | |||
6. IANA Considerations | 6. IANA Considerations | |||
This document defines the CERT parameter for the Host Identity | This document defines the CERT parameter for HIP [RFC7401]. The CERT | |||
Protocol [RFC7401]. The CERT parameter type number (768) is defined | parameter type number (768) is defined in [RFC7401]. | |||
in [RFC7401]. | ||||
The CERT parameter has an 8-bit unsigned integer field for different | The CERT parameter has an 8-bit unsigned integer field for different | |||
certificate types, for which IANA has created and maintains a sub- | certificate types, for which IANA has created and maintains a | |||
registry entitled "HIP certificate types" under the "Host Identity | subregistry entitled "HIP Certificate Types" under "Host Identity | |||
Protocol (HIP) Parameters". Values for the Certificate type registry | Protocol (HIP) Parameters". Values for the "HIP Certificate Types" | |||
are given in Section 2. New values for the Certificate types from | registry are given in Section 2. New values for the Certificate | |||
the unassigned space are assigned through IETF Review. | types from the unassigned space are assigned through IETF Review. | |||
In Section 5, this document defines two types for the "NOTIFY message | In Section 5, this document defines two types for the "NOTIFY Message | |||
types" sub-registry under "Host Identity Protocol (HIP) Parameters". | Types" subregistry under "Host Identity Protocol (HIP) Parameters". | |||
As this document obsoletes [RFC6253], references to [RFC6253] in IANA | As this document obsoletes [RFC6253], references to [RFC6253] in IANA | |||
registries must be replaced by references to this document. This | registries have been replaced by references to this document. This | |||
document changes Certificate type registry in Section 2. | document changes the "HIP Certificate Types" registry in Section 2. | |||
The following updates to the "HIP Certificate Types" registry must be | The following updates to the "HIP Certificate Types" registry have | |||
made. | been made. | |||
The references must be updated from [RFC6253] to this document. | The references have been updated from [RFC6253] to this document. | |||
This document obsoleted the type numbers "2", "4", "6", "8" for | This document obsoleted the type numbers "2", "4", "6", and "8" | |||
the SPKI certificates. | for the Simple Public Key Infrastructure (SPKI) certificates. | |||
7. Security Considerations | 7. Security Considerations | |||
Certificate grouping allows the certificates to be sent in multiple | Certificate grouping allows the certificates to be sent in multiple | |||
consecutive packets. This might allow similar attacks, as IP-layer | consecutive packets. This might allow similar attacks, as IP-layer | |||
fragmentation allows, for example, the sending of fragments in the | fragmentation allows, for example, the sending of fragments in the | |||
wrong order and skipping some fragments to delay or stall packet | wrong order and skipping some fragments to delay or stall packet | |||
processing by the victim in order to use resources (e.g., CPU or | processing by the victim in order to use resources (e.g., CPU or | |||
memory). Hence, hosts SHOULD implement mechanisms to discard | memory). Hence, hosts SHOULD implement mechanisms to discard | |||
certificate groups with outstanding certificates if state space is | certificate groups with outstanding certificates if state space is | |||
scarce. | scarce. | |||
Although, CERT parameter is allowed in the first Initiator (I1) | Although the CERT parameter is allowed in the I1 packet, it is NOT | |||
packet it is NOT RECOMMENDED because it can increase the processing | RECOMMENDED because it can increase the processing times of I1s, | |||
times of I1s, which can be problematic when processing storms of I1s. | which can be problematic when processing storms of I1s. Furthermore, | |||
Furthermore, Initiator has to take into consideration that the | the Initiator has to take into consideration that the Responder can | |||
Responder can drop the CERT parameter in I1 without processing the | drop the CERT parameter in I1 without processing the parameter. | |||
parameter. | ||||
Checking of the URL and LDAP entries might allow denial-of-service | Checking of the URL and LDAP entries might allow denial-of-service | |||
(DoS) attacks, where the target host may be subjected to bogus work. | (DoS) attacks, where the target host may be subjected to bogus work. | |||
Security considerations for X.509 v3 are discussed in [RFC5280]. | Security considerations for X.509 v3 are discussed in [RFC5280]. | |||
8. Differences from RFC 6253 | 8. Differences from RFC 6253 | |||
This section summarizes the technical changes made from [RFC6253]. | This section summarizes the technical changes made from [RFC6253]. | |||
This section is informational, intended to help implementors of the | This section is informational and is intended to help implementors of | |||
previous protocol version. If any text in this section contradicts | the previous protocol version. If any text in this section | |||
text in other portions of this specification, the text found outside | contradicts text in other portions of this specification, the text | |||
of this section should be considered normative. | found outside of this section should be considered normative. | |||
The following changes have been made. | ||||
o Support for Simple Public Key Infrastructure (SPKI) certificates | ||||
has been removed. | ||||
9. Acknowledgements | The following change has been made. | |||
The authors would like to thank A. Keranen, D. Mattes, M. Komu and T. | o Support for SPKI certificates has been removed. | |||
Henderson for the fruitful conversations on the subject. D. Mattes | ||||
most notably contributed the non-HIP aware use case in Section 3. | ||||
10. References | 9. References | |||
10.1. Normative References | 9.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, | |||
DOI 10.17487/RFC2119, March 1997, | ||||
<http://www.rfc-editor.org/info/rfc2119>. | ||||
[RFC4514] Zeilenga, K., "Lightweight Directory Access Protocol | [RFC4514] Zeilenga, K., Ed., "Lightweight Directory Access Protocol | |||
(LDAP): String Representation of Distinguished Names", RFC | (LDAP): String Representation of Distinguished Names", | |||
4514, June 2006. | RFC 4514, DOI 10.17487/RFC4514, June 2006, | |||
<http://www.rfc-editor.org/info/rfc4514>. | ||||
[RFC4516] Smith, M. and T. Howes, "Lightweight Directory Access | [RFC4516] Smith, M., Ed. and T. Howes, "Lightweight Directory Access | |||
Protocol (LDAP): Uniform Resource Locator", RFC 4516, June | Protocol (LDAP): Uniform Resource Locator", RFC 4516, | |||
2006. | DOI 10.17487/RFC4516, June 2006, | |||
<http://www.rfc-editor.org/info/rfc4516>. | ||||
[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, DOI 10.17487/RFC5280, May 2008, | |||
<http://www.rfc-editor.org/info/rfc5280>. | ||||
[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, <http://www.rfc-editor.org/info/rfc7296>. | 2014, <http://www.rfc-editor.org/info/rfc7296>. | |||
[RFC7343] Laganier, J. and F. Dupont, "An IPv6 Prefix for Overlay | [RFC7343] Laganier, J. and F. Dupont, "An IPv6 Prefix for Overlay | |||
Routable Cryptographic Hash Identifiers Version 2 | Routable Cryptographic Hash Identifiers Version 2 | |||
(ORCHIDv2)", RFC 7343, DOI 10.17487/RFC7343, September | (ORCHIDv2)", RFC 7343, DOI 10.17487/RFC7343, September | |||
2014, <http://www.rfc-editor.org/info/rfc7343>. | 2014, <http://www.rfc-editor.org/info/rfc7343>. | |||
[RFC7401] Moskowitz, R., Heer, T., Jokela, P., and T. Henderson, | [RFC7401] Moskowitz, R., Ed., Heer, T., Jokela, P., and T. | |||
"Host Identity Protocol Version 2 (HIPv2)", RFC 7401, | Henderson, "Host Identity Protocol Version 2 (HIPv2)", | |||
April 2015. | RFC 7401, DOI 10.17487/RFC7401, April 2015, | |||
<http://www.rfc-editor.org/info/rfc7401>. | ||||
[X.690] ITU-T, , "Recommendation X.690 (2002) | ISO/IEC | [X.690] ITU-T, , "Information Technology - ASN.1 encoding rules: | |||
8825-1:2002, Information Technology - ASN.1 encoding | Specification of Basic Encoding Rules (BER), Canonical | |||
rules: Specification of Basic Encoding Rules (BER), | Encoding Rules (CER) and Distinguished Encoding Rules | |||
Canonical Encoding Rules (CER) and Distinguished Encoding | (DER)", ITU-T Recommendation X.690 | ISO/IEC 8825-1, | |||
Rules (DER)", July 2002. | August 2015. | |||
10.2. Informative References | 9.2. Informative References | |||
[RFC6253] Heer, T. and S. Varjonen, "Host Identity Protocol | [RFC6253] Heer, T. and S. Varjonen, "Host Identity Protocol | |||
Certificates", RFC 6253, DOI 10.17487/RFC6253, May 2011, | Certificates", RFC 6253, DOI 10.17487/RFC6253, May 2011, | |||
<http://www.rfc-editor.org/info/rfc6253>. | <http://www.rfc-editor.org/info/rfc6253>. | |||
Appendix A. X.509 v3 certificate example | Appendix A. X.509 v3 Certificate Example | |||
This section shows a X.509 v3 certificate with encoded HITs. | This section shows an X.509 v3 certificate with encoded HITs. | |||
Certificate: | Certificate: | |||
Data: | Data: | |||
Version: 3 (0x2) | Version: 3 (0x2) | |||
Serial Number: 12705268244493839545 (0xb0522e27291b2cb9) | Serial Number: 12705268244493839545 (0xb0522e27291b2cb9) | |||
Signature Algorithm: sha256WithRSAEncryption | Signature Algorithm: sha256WithRSAEncryption | |||
Issuer: DC=Example, DC=com, CN=Example issuing host | Issuer: DC=Example, DC=com, CN=Example issuing host | |||
Validity | Validity | |||
Not Before: Feb 25 11:28:29 2016 GMT | Not Before: Feb 25 11:28:29 2016 GMT | |||
Not After : Feb 24 11:28:29 2017 GMT | Not After : Feb 24 11:28:29 2017 GMT | |||
skipping to change at page 10, line 43 ¶ | skipping to change at page 13, line 5 ¶ | |||
yol46ihcvAJKVM2qqZmN1jnpXqlzGl2TVTmbchrCoB/jTLBBmJcCAwEAAaM8MDow | yol46ihcvAJKVM2qqZmN1jnpXqlzGl2TVTmbchrCoB/jTLBBmJcCAwEAAaM8MDow | |||
GwYDVR0RBBQwEocQIAEAJ9z8DLj4hdU/TmNItzAbBgNVHRIEFDAShxAgAQAt+Hhk | GwYDVR0RBBQwEocQIAEAJ9z8DLj4hdU/TmNItzAbBgNVHRIEFDAShxAgAQAt+Hhk | |||
wWfjlxaIvWjkMA0GCSqGSIb3DQEBCwUAA4IBAQBt5qmmMMSrPoY5Ht52TU6kLWNN | wWfjlxaIvWjkMA0GCSqGSIb3DQEBCwUAA4IBAQBt5qmmMMSrPoY5Ht52TU6kLWNN | |||
u0G/0wxmE4tNslBZNvyuQp7IoEEaHJRWBSiCNE5jdYcxJWc2phoPuPfbA+fdppom | u0G/0wxmE4tNslBZNvyuQp7IoEEaHJRWBSiCNE5jdYcxJWc2phoPuPfbA+fdppom | |||
xGjiz1lU5u7Mp877Vr8xYPTL5/AOUPi3xTwa3nTQqoPlFSWxv76kf68K3ggJDhMd | xGjiz1lU5u7Mp877Vr8xYPTL5/AOUPi3xTwa3nTQqoPlFSWxv76kf68K3ggJDhMd | |||
KjsamdmvEPwIkl/Y0BDWuQyG2oU7RLWXkBACT1ofrgcwa/XmEpNy4hDJjiwAi9bw | KjsamdmvEPwIkl/Y0BDWuQyG2oU7RLWXkBACT1ofrgcwa/XmEpNy4hDJjiwAi9bw | |||
BcP/kSRpbVtaDEAoAfJbRbibrp5z6d2D4IXXrWyxgaygMDedYL2SO9KhIYeLxNla | BcP/kSRpbVtaDEAoAfJbRbibrp5z6d2D4IXXrWyxgaygMDedYL2SO9KhIYeLxNla | |||
XCFWPgJ+82+l3kB1gPVBaFyyYfsdmqWXqNSpgkWGeTxjdj39hqD4FIRVwYz6 | XCFWPgJ+82+l3kB1gPVBaFyyYfsdmqWXqNSpgkWGeTxjdj39hqD4FIRVwYz6 | |||
-----END CERTIFICATE----- | -----END CERTIFICATE----- | |||
Appendix B. Change log | Acknowledgments | |||
Contents of draft-ietf-hip-rfc6253-bis-00: | ||||
o RFC6253 was submitted as draft-RFC. | ||||
Changes from version 01 to 02: | ||||
o Updated the references. | ||||
Changes from version 02 to 03: | ||||
o Fixed the nits raised by the working group. | ||||
Changes from version 03 to 04: | ||||
o Added "obsoletes RFC 6253". | ||||
Changes from version 04 to 05: | ||||
o Updates to contact details. | ||||
o Correct updates and obsoletes headers. | ||||
o Removed the pre5378 disclaimer. | ||||
o Updated references. | ||||
o Removed the SPKI references from the document. | ||||
Changes from version 05 to 06: | ||||
o Addressed the Int-Dir review comments from Korhonen. | ||||
Changes from version 06 to 07: | ||||
o Addressed the GenArt, OPSdir, SecDir, and IANA comments. | ||||
Changes from version 07 to 08: | ||||
o Addresses one editorial nit for CERT group numbers. | ||||
Changes from version 08 to 09: | ||||
o Rewrote the IANA section. | The authors would like to thank A. Keranen, D. Mattes, M. Komu, and | |||
T. Henderson for the fruitful conversations on the subject. | ||||
D. Mattes most notably contributed the non-HIP-aware use case in | ||||
Section 3. | ||||
Authors' Addresses | Authors' Addresses | |||
Tobias Heer | Tobias Heer | |||
Albstadt-Sigmaringen University | Albstadt-Sigmaringen University | |||
Poststr. 6 | Poststr. 6 | |||
72458 Albstadt | 72458 Albstadt | |||
Germany | Germany | |||
Email: heer@hs-albsig.de | Email: heer@hs-albsig.de | |||
End of changes. 53 change blocks. | ||||
163 lines changed or deleted | 136 lines changed or added | |||
This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |