draft-ietf-hip-cert-03.txt | draft-ietf-hip-cert-04.txt | |||
---|---|---|---|---|
Host Identity Protocol Heer | Host Identity Protocol Heer | |||
Internet-Draft Distributed Systems Group, RWTH | Internet-Draft Distributed Systems Group, RWTH | |||
Intended status: Informational Aachen University | Intended status: Experimental Aachen University | |||
Expires: October 30, 2010 Varjonen | Expires: March 27, 2011 Varjonen | |||
Helsinki Institute for Information | Helsinki Institute for Information | |||
Technology | Technology | |||
April 28, 2010 | September 23, 2010 | |||
HIP Certificates | HIP Certificates | |||
draft-ietf-hip-cert-03 | draft-ietf-hip-cert-04 | |||
Abstract | Abstract | |||
This document specifies a certificate parameter called CERT for the | The CERT parameter is a container for X.509.v3 certificates and | |||
Host Identity Protocol (HIP). The CERT parameter is a container for | Simple Public Key Infrastructure (SPKI) certificates. It is used for | |||
X.509.v3 certificates and for Simple Public Key Infrastructure (SPKI) | carrying these certificates in HIP control packets. This document | |||
certificates. It is used for carrying these certificates in HIP | only specifies the certificate parameter and the error signaling in | |||
control packets. Additionally, this document specifies the | case of a failed verification. The use of certificates including how | |||
representations of Host Identity Tags in X.509.v3 and in SPKI | certificates are obtained, requested, and which actions are taken | |||
certificates. | upon successful or failed verification are to be defined in the | |||
documents that use the certificate parameter. Additionally, this | ||||
document specifies the representations of Host Identity Tags in | ||||
X.509.v3 and SPKI certificates. | ||||
Requirements Language | 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", "MAY", and "OPTIONAL" in this | |||
document are to be interpreted as described in RFC 2119 [RFC2119]. | document are to be interpreted as described in RFC 2119 [RFC2119]. | |||
Status of this Memo | Status of this Memo | |||
This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted to IETF in full conformance with the | |||
provisions of BCP 78 and BCP 79. This document may not be modified, | provisions of BCP 78 and BCP 79. This document may not be modified, | |||
and derivative works of it may not be created, except to format it | and derivative works of it may not be created, except to format it | |||
for publication as an RFC or to translate it into languages other | for publication as an RFC or to translate it into languages other | |||
than English. | than English. | |||
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), its areas, and its working groups. Note that | |||
working documents as Internet-Drafts. The list of current Internet- | other groups may also distribute working documents as Internet- | |||
Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts. | |||
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. | ||||
This Internet-Draft will expire on October 30, 2010. | The list of Internet-Draft Shadow Directories can be accessed at | |||
http://www.ietf.org/shadow.html. | ||||
This Internet-Draft will expire on March 27, 2011. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2010 IETF Trust and the persons identified as the | Copyright (c) 2010 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 BSD License. | |||
1. Introduction | 1. Introduction | |||
Digital certificates bind a piece of information to a public key by | Digital certificates bind a piece 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 key to generate cryptographically verifiable statements. The | private key to generate cryptographically verifiable statements. The | |||
Host Identity Protocol (HIP)[RFC5201] defines a new cryptographic | Host Identity Protocol (HIP) [RFC5201] defines a new cryptographic | |||
namespace based on asymmetric cryptography. Each host's identity is | namespace based on asymmetric cryptography. The identity of each | |||
derived from a public key, allowing hosts to digitally sign data with | host is derived from a public key, allowing hosts to digitally sign | |||
their private key. This document specifies a CERT parameter that is | data with their private key. This document specifies the CERT | |||
used to transmit digital signatures in HIP. It fills the placeholder | parameter, which is used to transmit digital certificates in HIP. It | |||
specified in Section 5.2 of [RFC5201]. | fills the placeholder specified in Section 5.2 of [RFC5201]. | |||
2. CERT Parameter | 2. CERT Parameter | |||
The CERT parameter is a container for a certain types of digital | The CERT parameter is a container for certain types of digital | |||
certificates. It may either carry SPKI certificates or X.509.v3 | certificates. It MAY either carry SPKI certificates or X.509.v3 | |||
certificates. It does not specify any certificate semantics. | certificates. It does not specify any certificate semantics. | |||
However, it defines some organizational parameters that help HIP | However, it defines supplementary parameters that help HIP hosts to | |||
hosts to transmit semantically grouped parameters in a more | transmit semantically grouped CERT parameters in a more systematic | |||
systematic way. | way. The specific use of the CERT parameter for different use cases | |||
is intentionally not discussed in this document. | ||||
The CERT parameter may be covered by the HIP SIGNATURE field and is a | The CERT parameter is covered, when present, by the HIP SIGNATURE | |||
non-critical parameter. | field and is a non-critical parameter. | |||
The CERT parameter can be used in all HIP packets but using CERT in | The CERT parameter can be used in all HIP packets but using it in the | |||
I1 is NOT RECOMMENDED. Each allowed HIP control packet may contain | I1 packet is not recommended because it can increase the processing | |||
multiple CERT parameters. These parameters may be related or | times of I1s, which can be problematic when processing storms of I1s. | |||
unrelated. Related certificates are managed in Cert groups. A Cert | Each HIP control packet MAY contain multiple CERT parameters. These | |||
group specifies a group of related CERT parameters that should be | parameters MAY be related or unrelated. Related certificates are | |||
interpreted in a certain order (e.g. for expressing certificate | managed in Cert groups. A Cert group specifies a group of related | |||
chains). For grouping CERT parameters, the Cert group and the Cert | CERT parameters that SHOULD be interpreted in a certain order (e.g. | |||
count field must be set. Ungrouped certificates exhibit a unique | for expressing certificate chains). For grouping CERT parameters, | |||
Cert group field and set the Cert count to 1. CERT parameters with | the Cert group and the Cert count field MUST be set. Ungrouped | |||
the same Cert group number in the group field indicate a logical | certificates exhibit a unique Cert group field and set the Cert count | |||
grouping. The Cert count field indicates the number of CERT | to 1. CERT parameters with the same Cert group number in the group | |||
parameters in the group. | field indicate a logical grouping. The Cert count field indicates | |||
the number of CERT 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 | |||
in multiple sequential HIP control packets. This is indicated by a | in multiple sequential HIP control packets. This is indicated by a | |||
higher Cert count than the amount of CERT parameters with matching | higher Cert count than the amount of CERT parameters with matching | |||
Cert group fields in a HIP control packet. The CERT parameters must | Cert group fields in a HIP control packet. The CERT parameters MUST | |||
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. Only one Cert | packets if the Cert group does not fit the packet. Only a single | |||
group may span two subsequent packets. | Cert group MAY span two subsequent packets. | |||
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 | ||||
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 | | / | Padding | | |||
skipping to change at page 4, line 10 | skipping to change at page 4, line 34 | |||
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. | of 8 bytes. | |||
The following certificate types are defined: | The following certificate types are defined: | |||
+--------------------------------+-------------+ | +--------------------------------+-------------+ | |||
| Cert format | Type number | | | Cert format | Type number | | |||
+--------------------------------+-------------+ | +--------------------------------+-------------+ | |||
| X.509.v3 | 1 | | | X.509.v3 | 1 | | |||
| SPKI | 2 | | | SPKI | 2 | | |||
| URL of X.509.v3 | 3 | | | Hash and URL of X.509.v3 | 3 | | |||
| URL of SPKI | 4 | | | Hash and URL of SPKI | 4 | | |||
| Hash of X.509.v3 | 5 | | | LDAP URL of X.509.v3 | 5 | | |||
| Hash of SPKI | 6 | | | LDAP URL of SPKI | 6 | | |||
| LDAP URL of X.509.v3 | 7 | | | Distinguished Name of X.509.v3 | 7 | | |||
| LDAP URL of SPKI | 8 | | | Distinguished Name of SPKI | 8 | | |||
| Distinguished Name of X.509.v3 | 9 | | ||||
| Distinguished Name of SPKI | 10 | | ||||
+--------------------------------+-------------+ | +--------------------------------+-------------+ | |||
Next sections outline the use of HITs in X.509.v3 and in SPKI | The next sections outline the use of HITs in X.509.v3 and in SPKI | |||
certificates. X.509.v3 certificates are defined in [RFC3280]. The | certificates. X.509.v3 certificates are defined in [RFC3280]. The | |||
Wire format for X.509.v3 is Distinguished Encoding Rules format as | wire format for X.509.v3 is Distinguished Encoding Rules format as | |||
defined in [X.690]. The SPKI and its formats are defined in | defined in [X.690]. The SPKI and its formats are defined in | |||
[RFC2693]. | [RFC2693]. | |||
Hash and URL encodings (3 to 6) are used as defined in [RFC4306]. | Hash and URL encodings (3 to 4) are used as defined in [RFC4306] | |||
Using hash and URL encodings results in smaller HIP control packets, | Section 3.6. Using hash and URL encodings results in smaller HIP | |||
but requires the receiver to resolve the URL or check local cache | control packets, but requires the receiver to resolve the URL or | |||
against the hash. | check a local cache against the hash. | |||
LDAP URL encoding (7 and 8) is used as defined in [RFC2255]. Using | LDAP URL encodings (5 and 6) are used as defined in [RFC2255]. Using | |||
LDAP URL encoding results in smaller HIP control packets, but | LDAP URL encoding results in smaller HIP control packets but requires | |||
requires the receiver to retrieve the certificate or check local | the receiver to retrieve the certificate or check a local cache | |||
cache against the URL. | against the URL. | |||
Distinguished name (DN) encoding (9 and 10) is used as defined in | Distinguished name (DN) encodings (7 and 8) are used as defined in | |||
[RFC1779]. Using LDAP URL encoding results in smaller HIP control | [RFC1779]. 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 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 need to be enclosed within the certificates, when using X.509.v3 | When using X.509.v3 certificates to transmit information related to | |||
certificates to transmit information related to HIP hosts. HITs can | HIP hosts, HITs MAY be enclosed within the certificates. HITs can | |||
represent an issuer, a subject, or both. In X.509.v3 HITs are | represent an issuer, a subject, or both. In X.509.v3 HITs are | |||
represented as issuer and subject alternative name extensions as | represented as issuer and subject alternative name extensions as | |||
defined in [RFC2459]. If only HIP information is presented as either | defined in [RFC2459]. If only HIP information is presented as either | |||
the issuer or the subject the HIT is also placed into the respective | the issuer or the subject the HIT is also placed into the respective | |||
entity's DNs Common Name (CN) section in a colon delimited | entity's DNs Common Name (CN) section in a colon delimited | |||
presentation format. Inclusion of CN is not necessary if DN contains | presentation format. Inclusion of CN is not necessary if DN contains | |||
any other information. It is RECOMMENDED to use FQDN/NAI from the | any other information. It is RECOMMENDED to use the FQDN/NAI from | |||
hosts HOST_ID parameter in DN if one exists. Full HIs are presented | the hosts HOST_ID parameter in the DN if one exists. The full HIs | |||
in the public key entries of X.509.v3 certificates. | are presented in the public key entries of X.509.v3 certificates. | |||
As an example, in a case where the issuer and the subject are both | The following example illustrates a case in which the issuer and the | |||
HIP enabled, the HITs are expressed as follows: | subject are both HIP enabled. | |||
Format: | Format: | |||
Issuer: CN=hit-of-host | Issuer: CN=hit-of-host | |||
Subject: CN=hit-of-host | Subject: CN=hit-of-host | |||
X509v3 extensions: | X509v3 extensions: | |||
X509v3 Issuer Alternative Name: | X509v3 Issuer Alternative Name: | |||
IP Address:HIT-OF-HOST | IP Address:HIT-OF-HOST | |||
X509v3 Subject Alternative Name: | X509v3 Subject Alternative Name: | |||
IP Address:HIT-OF-HOST | IP Address:HIT-OF-HOST | |||
skipping to change at page 5, line 33 | skipping to change at page 6, line 28 | |||
X509v3 extensions: | 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:14:6CF:FAE7:BB79:BF78:7D64:C056 | IP Address:2001:14:6CF:FAE7:BB79:BF78:7D64:C056 | |||
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 PKI environment in which the | ||||
peers have certificates that are anchored in (potentially different) | ||||
managed trust chains. In this scenario, the certificates issued to | ||||
HIP hosts are signed by intermediate Certificate Authorities (CAs) up | ||||
to a root CA. In this example, the managed PKI environment is | ||||
neither HIP aware, nor can it be configured to compute HITs and | ||||
include them in the certificates. | ||||
In this scenario, it is recommended that the HIP peers have and use | ||||
some mechanism of defining trusted root CAs for the purpose of | ||||
establishing HIP communications. Furthermore it is recommended that | ||||
the HIP peers have and use some mechanism of checking peer | ||||
certificate validity for revocation, signature, minimum cryptographic | ||||
strength, etc., up to the trusted root CA. | ||||
When HIP communications are established, the HIP hosts not only need | ||||
to send their identity certificates (or pointers to their | ||||
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 | ||||
peer. This chain of certificates MUST be sent in a Cert group as | ||||
specified in Section 2. The HIP peers validate each other's | ||||
Certificates and compute peer HITs based on the Certificate public | ||||
keys. | ||||
4. SPKI Cert Object and Host Identities | 4. SPKI Cert Object and Host Identities | |||
HITs need to be enclosed within the certificates, when using SPKI | When using SPKI certificates to transmit information related to HIP | |||
certificates to transmit information related to HIP hosts. HITs can | hosts, HITs need to be enclosed within the certificates. HITs can | |||
represent an issuer, a subject, or both. In the following we define | represent an issuer, a subject, or both. In the following we define | |||
the representation of those identifiers for SPKI given as | the representation of those identifiers for SPKI given as | |||
S-expressions. Note that the S-expressions are only the human- | S-expressions. Note that the S-expressions are only the human- | |||
readable representation of SPKI certificates. Full HIs are presented | readable representation of SPKI certificates. Full HIs are presented | |||
in the public key sequences of SPKI certificates. | in the public key sequences of SPKI certificates. | |||
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 SPKI certificates is handled as defined in Section 5. | Revocation of X.509.v3 certificates is handled as defined in Section | |||
in [RFC2693] Revocation of X.509.v3 certificates is handled as | 5 in [RFC2459]. Revocation of SPKI certificates is handled as | |||
defined in Section 5 in [RFC2459]. | defined in Section 5 in [RFC2693]. | |||
6. Signaling | 6. Error signaling | |||
HIP end-hosts and HIP-aware middleboxes need to inform, the initiator | If the Initiator does not send the certificate that the Responder | |||
or the responder, of the need for a certificate or need for a chain | requires the Responder may take actions (e.g. blocking the | |||
of certificates. They also need a way to inform about failing to | connection). The Responder MAY signal this to the Initiator by | |||
meet required conditions. HIP services [HIP.service] describes the | sending a HIP NOTIFY message with NOTIFICATION parameter error type | |||
signaling. Signaling for the requirements and failures with | CREDENTIALS_NEEDED. | |||
certificates is described in Section 4.1 of [HIP.service]. | ||||
If the verification of a certificate fails, a verifier MAY signal | ||||
this to the provider of the certificate by sending a HIP NOTIFY | ||||
message with NOTIFICATION parameter error type INVALID_CERTIFICATE. | ||||
NOTIFICATION PARAMETER - ERROR TYPES Value | ||||
------------------------------------ ----- | ||||
CREDENTIALS_REQUIRED 48 | ||||
The Responder is unwilling to set up an association | ||||
as the Initiator did not send the needed credentials. | ||||
INVALID_CERTIFICATE 50 | ||||
Sent in response to a failed verification of a certificate. | ||||
Notification Data contains 4 octets, in order Cert group, | ||||
Cert count, Cert ID, and Cert type of the certificate | ||||
parameter that caused the failure. | ||||
7. IANA Considerations | 7. IANA Considerations | |||
This document defines the CERT parameter for the Host Identity | This document defines the CERT parameter for the Host Identity | |||
Protocol [RFC5201]. This parameter is defined in Section 2 with type | Protocol [RFC5201]. This parameter is defined in Section 2 with type | |||
768. The parameter type number is also defined in [RFC5201]. The | 768. The parameter type number is also defined in [RFC5201]. | |||
Cert Group and Cert ID namespaces are managed locally by each host | ||||
that sends CERT parameters in HIP control packets. | The CERT parameter has 8-bit unsigned integer field for different | |||
certificate types, for which IANA is to create and maintain a new | ||||
sub-registry entitled "HIP certificate types" under the "Host | ||||
Identity Protocol (HIP) Parameters". Initial values for the | ||||
Certificate type registry are given in Section 2. | ||||
In Section 6 this document defines two new types for "NOTIFY message | ||||
types" sub-registry under "Host Identity Protocol (HIP) Parameters". | ||||
8. Security Considerations | 8. 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, i.e. sending of fragments in wrong order and | fragmentation allows, for example sending of fragments in wrong order | |||
skipping some fragments to delay or stall packet processing by the | and skipping some fragments to delay or stall packet processing by | |||
victim in order to use resources (e.g. CPU or memory). | the victim in order to use resources (e.g. CPU or memory). | |||
It is not recommended to use grouping or hash and URL encodings when | It is not recommended to use grouping or hash and URL encodings when | |||
HIP-aware middleboxes are anticipated to be present on the | HIP aware middleboxes are anticipated to be present on the | |||
communication path between peers because fetching remote certificates | communication path between peers because fetching remote certificates | |||
require the middlebox to buffer the packets and to request remote | require the middlebox to buffer the packets and to request remote | |||
data. This makes these devices prone to denial of service (DoS) | data. This makes these devices prone to denial of service (DoS) | |||
attacks. Moreover, middleboxes and responders that request remote | attacks. Moreover, middleboxes and responders that request remote | |||
certificates can be used as deflectors for distributed denial of | certificates can be used as deflectors for distributed denial of | |||
service attacks. | service attacks. | |||
9. Acknowledgements | 9. Acknowledgements | |||
The authors would like to thank M. Komu and T. Henderson of fruitful | The authors would like to thank A. Keranen, D. Mattes, M. Komu and T. | |||
conversations on the subject. | Henderson for the fruitful conversations on the subject. D. Mattes | |||
most notably contributed the non-HIP aware use case in Section 3. | ||||
10. References | 10. References | |||
10.1. Normative References | 10.1. Normative References | |||
[HIP.service] | ||||
Heer, T., Wirtz, H., and S. Varjonen, "Service Identifiers | ||||
for HIP", <draft-heer-hip-service-00.txt>. | ||||
[RFC1779] Kille, S., "A String Representation of Distinguished | [RFC1779] Kille, S., "A String Representation of Distinguished | |||
Names", RFC 1779, March 1995. | Names", RFC 1779, March 1995. | |||
[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. | |||
[RFC2255] Howes, T. and M. Smith, "The LDAP URL Format", RFC 2255, | [RFC2255] Howes, T. and M. Smith, "The LDAP URL Format", RFC 2255, | |||
December 1997. | December 1997. | |||
[RFC2459] Housley, R., Ford, W., Polk, T., and D. Solo, "Internet | [RFC2459] Housley, R., Ford, W., Polk, T., and D. Solo, "Internet | |||
skipping to change at page 8, line 9 | skipping to change at page 10, line 7 | |||
[X.690] ITU-T, "Recommendation X.690 Information Technology - | [X.690] ITU-T, "Recommendation X.690 Information Technology - | |||
ASN.1 encoding rules: Specification of Basic Encoding | ASN.1 encoding rules: Specification of Basic Encoding | |||
Rules (BER), Canonical Encoding Rules (CER) and | Rules (BER), Canonical Encoding Rules (CER) and | |||
Distinguished Encoding Rules (DER)", July 2002, <http:// | Distinguished Encoding Rules (DER)", July 2002, <http:// | |||
www.itu.int/ITU-T/studygroups/com17/languages/ | www.itu.int/ITU-T/studygroups/com17/languages/ | |||
X.690-0207.pdf>. | X.690-0207.pdf>. | |||
Appendix A. SPKI certificate example | Appendix A. SPKI certificate example | |||
This section shows a self-signed SPKI certificate of HIT 2001:14:6cf: | This section shows a SPKI certificate with encoded HITs. The example | |||
fae7:bb79:bf78:7d64:c056. The example has been indented for | has been indented for readability. | |||
readability. | ||||
(sequence | (sequence | |||
(public_key | (public_key | |||
(rsa-pkcs1-sha1 | (rsa-pkcs1-sha1 | |||
(e #010001#) | (e #010001#) | |||
(n |n1CheoELqYRSkHYMQddub2TpILl+6H9wC/as6zFCZqOY43hsZgAjG0F | (n |uV7M1dl7OcJCPnlJrX8MvQ8SmE6wne5idnp7VfDMolestu | |||
GoQwtyOyQjzO2Ykb2TmUCZemTYui/sR0zIbdwg1xafKl7ggZDkhk5an | JqvB69z3UwlVuSr3VVaQvDSA+15BUweYkis/1+UVnSDdcS | |||
PtGDxJxFalTYo6/A5ZQv8uatbaJgB/G7VM8G+O9HLucadad2zQUXpQf | XUTz6AUTH1tPifoebYPp4s+9XG/vAh7I25pImjW4uL6Jvq | |||
gbK3S8=| | vI3WBE36wBt3Zmq12hpdA8jSIE1CRZYA8=| | |||
) | ) | |||
) | ) | |||
) | ) | |||
(cert | (cert | |||
(issuer | (issuer | |||
(hash hit 2001:0014:06cf:fae7:bb79:bf78:7d64:c056) | (hash hit 2001:001e:d709:1980:5c6a:bb0c:7650:a027) | |||
) | ) | |||
(subject | (subject | |||
(hash hit 2001:0014:06cf:fae7:bb79:bf78:7d64:c056) | (hash hit 2001:001c:5a14:26de:a07c:385b:de35:60e3) | |||
) | ) | |||
(not-before "2008-07-12_22:11:07") | (not-before "2010-06-22_16:40:47") | |||
(not-after "2008-07-22_22:11:07") | (not-after "2010-07-02_16:40:47") | |||
) | ) | |||
(signature | (signature | |||
(hash sha1 |kfElDhagiK0Bsqtj32Gq3t/1mxgA|) | (hash sha1 |+UzjNn5+bXo3aMZQNGGtapKdlFAA|) | |||
|HiIqjjZIUzypvoxQyO0UovPm5uC4Xte0scEcBnENDIfn2DNy/bAtxGEdKq4O | |Fhioyxi0mpHa2aq2ofhotsauYyDuCa45mMAQ+yTEGOzcc1K+Prx | |||
dW80vTCmkF8/HXclgXLLVch3DxRNdSbYiiks000HpQt/OKqlTH+uUHBcHOAo | +O6kFecKxl+Cwz9qXEI6a/zfAnZqLj18yvszM1D/tH+W3RKl2LW | |||
E42LmDskM9T5KQJoC/CH7871zfvojPnpkl2dUngOWv4q0r/wSJ0=| | +lASsCDKXOi9ObNx+Dwzj3YlHABPxt4gGk0XVadEMXfCPDqiLF+ | |||
zMR9fW5/OaJ+vRwhKs=| | ||||
) | ) | |||
) | ) | |||
Appendix B. X.509.v3 certificate example | Appendix B. X.509.v3 certificate example | |||
This section shows a self-signed X.509.v3 certificate of HIT 2001:14: | This section shows a X.509.v3 certificate with encoded HITs. | |||
6cf:fae7:bb79:bf78:7d64:c056. | ||||
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:14:6cf:fae7:bb79:bf78:7d64:c056 | Issuer: CN=2001:1e:d709:1980:5c6a:bb0c:7650:a027 | |||
Validity | Validity | |||
Not Before: Jul 12 18:58:38 2008 GMT | Not Before: Jun 22 13:39:32 2010 GMT | |||
Not After : Jul 22 18:58:38 2008 GMT | Not After : Jul 2 13:39:32 2010 GMT | |||
Subject: CN=2001:14:6cf:fae7:bb79:bf78:7d64:c056 | Subject: CN=2001:1c:5a14:26de:a07c:385b:de35:60e3 | |||
Subject Public Key Info: | Subject Public Key Info: | |||
Public Key Algorithm: rsaEncryption | Public Key Algorithm: rsaEncryption | |||
RSA Public Key: (1024 bit) | RSA Public Key: (1024 bit) | |||
Modulus (1024 bit): | Modulus (1024 bit): | |||
00:9f:50:a1:7a:81:0b:a9:84:52:90:76:0c:41:d7: | 00:b9:5e:cc:d5:d9:7b:39:c2:42:3e:79:49:ad:7f: | |||
6e:6f:64:e9:20:b9:7e:e8:7f:70:0b:f6:ac:eb:31: | 0c:bd:0f:12:98:4e:b0:9d:ee:62:76:7a:7b:55:f0: | |||
42:66:a3:98:e3:78:6c:66:00:23:1b:41:46:a1:0c: | cc:a2:57:ac:b6:e2:6a:bc:1e:bd:cf:75:30:95:5b: | |||
2d:c8:ec:90:8f:33:b6:62:46:f6:4e:65:02:65:e9: | 92:af:75:55:69:0b:c3:48:0f:b5:e4:15:30:79:89: | |||
93:62:e8:bf:b1:1d:33:21:b7:70:83:5c:5a:7c:a9: | 22:b3:fd:7e:51:59:d2:0d:d7:12:5d:44:f3:e8:05: | |||
7b:82:06:43:92:19:39:6a:73:ed:18:3c:49:c4:56: | 13:1f:5b:4f:89:fa:1e:6d:83:e9:e2:cf:bd:5c:6f: | |||
a5:4d:8a:3a:fc:0e:59:42:ff:2e:6a:d6:da:26:00: | ef:02:1e:c8:db:9a:48:9a:35:b8:b8:be:89:be:ab: | |||
7f:1b:b5:4c:f0:6f:8e:f4:72:ee:71:a7:5a:77:6c: | c8:dd:60:44:df:ac:01:b7:76:66:ab:5d:a1:a5:d0: | |||
d0:51:7a:50:7e:06:ca:dd:2f | 3c:8d:22:04:d4:24:59:60:0f | |||
Exponent: 65537 (0x10001) | Exponent: 65537 (0x10001) | |||
X509v3 extensions: | X509v3 extensions: | |||
X509v3 Basic Constraints: | ||||
CA:TRUE | ||||
X509v3 Issuer Alternative Name: | X509v3 Issuer Alternative Name: | |||
IP Address:2001:14:6CF:FAE7:BB79:BF78:7D64:C056 | IP Address:2001:1E:D709:1980:5C6A:BB0C:7650:A027 | |||
X509v3 Subject Alternative Name: | X509v3 Subject Alternative Name: | |||
IP Address:2001:14:6CF:FAE7:BB79:BF78:7D64:C056 | IP Address:2001:1C:5A14:26DE:A07C:385B:DE35:60E3 | |||
Signature Algorithm: sha1WithRSAEncryption | Signature Algorithm: sha1WithRSAEncryption | |||
19:32:0b:72:a8:6c:f9:65:20:5b:1d:9a:e1:c7:39:97:c7:8a: | 48:a1:25:fb:01:31:d9:80:76:1b:1a:2d:00:f1:26:22:3c:3b: | |||
4d:d1:01:f9:7d:0b:0d:6f:61:a2:e3:2c:62:30:28:f6:36:db: | 20:a0:cb:b2:28:d2:0c:21:d3:9e:3b:4a:ab:3d:f6:ea:ad:46: | |||
62:bc:7f:d1:9b:6d:cc:da:e3:9b:90:e7:53:9e:55:28:51:7e: | f6:f5:c4:4f:71:ce:3e:7b:65:8d:58:75:2e:99:25:82:5f:73: | |||
39:de:23:24:f5:a9:97:7a:ba:ce:54:3e:cf:8b:68:04:f6:be: | 10:c6:c2:f0:4b:35:ff:5c:65:ac:fc:a4:a7:76:50:ab:62:50: | |||
78:94:9f:d3:20:62:96:14:84:51:af:c7:ba:30:ae:b1:d6:7e: | b8:86:21:e6:83:e1:c1:3d:20:c9:8e:13:ab:d7:4b:d4:ab:2d: | |||
7f:32:42:9c:f6:f5:76:27:0a:28:58:8b:b5:85:e7:e9:5a:ff: | 72:9d:f0:9f:5f:e0:6f:95:fa:a1:95:64:3f:74:63:e5:a8:1d: | |||
aa:4c:57:55:95:09:33:ac:0b:8c:fd:05:4a:5e:60:e7:7f:d7: | f7:e6:48:98:33:53:7b:91:6d:b0:cb:af:32:15:8c:e0:01:a0: | |||
42:f0 | a0:b8 | |||
Appendix C. Change log | Appendix C. Change log | |||
Changes from version 00 to 01: | Changes from version 00 to 01: | |||
o Revised text about DN usage. | o Revised text about DN usage. | |||
o Revised text about Cert group usage. | o Revised text about Cert group usage. | |||
Changes from version 01 to 02: | Changes from version 01 to 02: | |||
o Revised the type numbers. | o Revised the type numbers. | |||
o Added a section about signaling. | o Added a section about signaling. | |||
Changes from version 02 to 03: | Changes from version 02 to 03: | |||
o Revised text about CERT use in control packets. | o Revised text about CERT use in control packets. | |||
Changes from version 03 to 04: | ||||
o Added the non-HIP aware use case to the Section 3. | ||||
o Clarified that the HITs are not always required in the | ||||
certificates. | ||||
o Rewrote the signaling section. | ||||
o LDAP URL to LDAP DN in Section 2 last paragraph. | ||||
o CERT is always covered by a signature as it's type number requires | ||||
o New example certificates | ||||
o Style and language clean-ups | ||||
o Changed IANA considerations | ||||
o Revised the type numbers | ||||
o RFC 2119 keywords | ||||
o Updated the IANA considerations section | ||||
o Rewrote the abstract | ||||
Authors' Addresses | Authors' Addresses | |||
Tobias Heer | Tobias Heer | |||
Distributed Systems Group, RWTH Aachen University | Distributed Systems Group, RWTH Aachen University | |||
Ahornstrasse 55 | Ahornstrasse 55 | |||
Aachen | Aachen | |||
Germany | Germany | |||
Phone: +49 241 80 214 36 | Phone: +49 241 80 214 36 | |||
Email: heer@cs.rwth-aachen.de | Email: heer@cs.rwth-aachen.de | |||
URI: http://ds.cs.rwth-aachen.de/members/heer | URI: http://ds.cs.rwth-aachen.de/members/heer | |||
Samu Varjonen | Samu Varjonen | |||
Helsinki Institute for Information Technology | Helsinki Institute for Information Technology | |||
Metsnneidonkuja 4 | Metsaenneidonkuja 4 | |||
Helsinki | Helsinki | |||
Finland | Finland | |||
Fax: +35896949768 | ||||
Email: samu.varjonen@hiit.fi | Email: samu.varjonen@hiit.fi | |||
URI: http://www.hiit.fi | URI: http://www.hiit.fi | |||
End of changes. 56 change blocks. | ||||
145 lines changed or deleted | 225 lines changed or added | |||
This html diff was produced by rfcdiff 1.39. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |