One document matched: draft-huston-sidr-repos-struct-00.txt
Individual Submission G. Huston
Internet-Draft R. Loomans
Intended status: Best Current G. Michaelson
Practice APNIC
Expires: December 4, 2006 June 2, 2006
A Profile for Resource Certificate Repository Structure
draft-huston-sidr-repos-struct-00.txt
Status of this Memo
By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
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 December 4, 2006.
Copyright Notice
Copyright (C) The Internet Society (2006).
Abstract
This document defines a profile for the structure of repositories
that contain X.509 / PKIX Resource Certificates, Certificate
Revocation Lists and signed objects. This profile contains a
suggested object naming scheme for the contents of Resource
Certificate Repositories and a suggested internal structure of the
Repository that is intended to facilitate synchronization across a
distributed collection of repositories and facilitate certificate
Huston, et al. Expires December 4, 2006 [Page 1]
Internet-Draft ResCert Respository Structure June 2006
path construction.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3
2. Resource Certificate Repository Name Structure . . . . . . . . 3
3. Resource Certificate Repository Structure . . . . . . . . . . 4
4. Synchronising Repositories . . . . . . . . . . . . . . . . . . 5
5. Security Considerations . . . . . . . . . . . . . . . . . . . 7
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8
7. Normative References . . . . . . . . . . . . . . . . . . . . . 8
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 8
Intellectual Property and Copyright Statements . . . . . . . . . . 10
Huston, et al. Expires December 4, 2006 [Page 2]
Internet-Draft ResCert Respository Structure June 2006
1. Introduction
This document defines a profile for the structure of repositories
that contain X.509 / PKIX Resource Certificates
[I-D.huston-sidr-res-certs]. This profile contains a suggested
object naming scheme for the contents of Resource Certificate
Repositories and a suggested internal structure of the Repository
that is intended to facilitate synchronization across a distributed
collection of repositories and facilitate certificate path
construction.
A Resource Certificate describes an action by an Issuer that binds a
list of IP address blocks and AS numbers to the Subject of a
certificate, identified by the unique association of the Subject's
private key with the public key contained in the Resource
Certificate.
1.1. Terminology
It is assumed that the reader is familiar with the terms and concepts
described in "Internet X.509 Public Key Infrastructure Certificate
and Certificate Revocation List (CRL) Profile" [RFC3280], "X.509
Extensions for IP Addresses and AS Identifiers" [RFC3779], and
related regional Internet registry address management policy
documents.
The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119.
2. Resource Certificate Repository Name Structure
This section defines the names associated with objects (certificates,
certificate revocation lists and logical directory names with
repositories) held in resource certificate repositories. The intent
of this name structure is to create a name structure that allows
repository lookup algorithms to locate an object within a repository
in order to ensure unique and deterministic construction of a
certificate path.
The input to this name scheme is the Subject Key Identifier (SKI)
field of a resource certificate, or the Authority Key Identifier
(AKI) of a certificate revocation list.
In the case of a resource certificate, the SKI is a hash of the
subject's public key (using SHA-1 as the hash function). The object
name scheme for resource certificates uses the approach described in
Huston, et al. Expires December 4, 2006 [Page 3]
Internet-Draft ResCert Respository Structure June 2006
section 2.1 of [RFC4387], converting the 160-bit SKI hash value into
a 27-character value using a modified form of Base64 encoding, with
an additional modification as proposed in section 5, table 3, of
[I-D.josefsson-rfc3548bis]. This name generation function is
referred to here as "g()". In this case the function is applied to
the SKI (i.e. g(ski(subject-public-key))).
To form the complete object name for a resource certificate, the 27
character object is appended with a dash, followed by the hexadecimal
representation of the issuer's serial number of the certificate
(using characters 'A' - 'F' in the hexadecimal representation of the
serial number value).
Resource certificates in PEM format named according to this
specification would be named using a scheme of: "<g(ski(subject-
public-key))>-<HEX(issuer-serial-number)>.crt".
Included in this profile is the concept of a "shadow certificate",
which is a resource certificate signed by an issuer without the CA
bit being set. It is recommended that these shadow certificates use
a different public / private key pair than that used by the issuing
authority. The shadow certificate's associated private key may be
used to sign other objects, but the shadow key cannot of itself be
used to issue subordinate certificates. The name scheme and
repository operations of shadow certificates are, in all other
respects, identical to those of resource certificates where the CA
bit has been set.
For Certificate Revocation List objects the object name uses the
certificate revocation list's 160-bit AKI value as input to the "g()"
function described above.
Resource certificate revocation list objects named according to this
specification would be named using a scheme of: "<g(aki(issuers-
public-key)>.crl".
[No naming recommendations are made here regarding the naming of
other objects that may be stored in resource certificate
repositories - it is a matter for further consideration whether
other related objects, such as Route Origination Authorities and
Proxy Aggregate Authorities, should be named according to a
uniform name scheme that may include a name function that is
derived from a hash of the public key that is associated with the
private key that has signed the object.]
3. Resource Certificate Repository Structure
The resource repository is structured using an object hierarchy,
Huston, et al. Expires December 4, 2006 [Page 4]
Internet-Draft ResCert Respository Structure June 2006
where objects that are verifiable by using an Issuer's public key are
grouped within a nodal point (directory) of the repository, together
with the Certificate Revocation List relating to this certificate
set. This implies that when an issuer has multiple current public /
private key pairs there will be multiple repository storage points
(directories) - one for each key pair, and multiple CRLs (again one
for each key pair).
The name of the issuer's repository node (directory) is based on
applying the name generation function "g()" to the SHA-1 160 bit hash
of the issuer's public key. In relation to any certificate issued by
this issuer, the name of the issuer's repository node is generated by
the function "g(aki(issuer_public_key))".
All certificates signed by this issuer (including "shadow
certificates") shall be stored at the issuer's node in the repository
name structure. Also, all objects signed by this issuer's private
key that are stored in the resource certificate repository shall also
be stored in at the issuer's node that corresponds to the matching
public key.
Objects that are verifiable using the public keys contained in
subordinate certificates relative to this issuer shall be stored in a
sub-node (subdirectory) relative to the issuer's node (directory).
The name of the repository sub-node (subdirectory), relative to the
issuer, is "<g(aki(issuer_public_key))> /
<g(ski(subject_public_key))>". The complete structure of the
repository reflects the full issuer / subject certificate path from
root to every end point. The issuer will create this sub-node
(subdirectory) in the local repository at the same time as the issuer
undertake initial certificate issuance to a subject.
4. Synchronising Repositories
While it is possible to perform the validation-related task of
certificate path construction using retrieval of individual
certificates and certificate revocation lists using online retrieval
of individual certificates, sets of candidate certificates and
certificate revocation lists based on the Authority Information
Access, Subject Information Access and CRL Distribution Points fields
of a certificate, the factors of speed and reliability of validation
suggest some operational value in maintaining a local synchronized
repository containing a mirror of all valid certificates, current
certificate revocation lists, and all related signed objects that are
stored in the local instances of components of the overall logical
complete certificate repository.
Huston, et al. Expires December 4, 2006 [Page 5]
Internet-Draft ResCert Respository Structure June 2006
The general approach to repository synchronization is one of a "top-
down" walk of the distributed repository structure, commencing with
the initial configured trust anchor certificates, and then populating
the repository will all valid certificates that have been issued by
these issuers, and then recursively applying the same approach to
each of these subordinate certificates. Obviously a process would
need to support some maximal chain length from the initial trust
anchors to the current working validation point in order to ensure
that the process does not follow a loop or a non-terminating
certificate chain.
An informal algorithmic description of the synchronization algorithm
is as follows:
Huston, et al. Expires December 4, 2006 [Page 6]
Internet-Draft ResCert Respository Structure June 2006
Place configured trust anchor self-signed certificate(s) in the root
directory of the repository
working_directory = repository_directory_root
chain_length = 0
for each certificate in the current working_directory {
Synch_Repository(certificate,working_directory, chain_length)
}
end
Procedure Synch_Repository(certificate, directory, chain) {
sub_dir = create_sub_dir(directory,g(ski(certificate)))
rsync(sia(certificate),sub_dir) ;
if (ca_set(certificate) {
if (crl is invalid or missing) {
warn(directory_name is invalid)
remove(sub_dir)
return(invalid)
}
for each sub_certificate in sub_dir {
if (sub_certificate is invalid)
remove(sub_certificate)
else if (ca_set(sub_certificate) {
if ((chain + 1) < max_chain)) {
valid = Synch_Repository(sub_certificate, sub_dir,chain + 1)
if (valid == invalid)
remove(sub_certificate)
}
}
}
}
else {
for each (sub_certificate in sub_dir) {
remove(sub_certificate) ;
}
}
for each signed_object in sub_dir {
if signature(signed_object) is invalid
remove(signed_object)
}
return(valid) ;
}
5. Security Considerations
[to be completed]
Huston, et al. Expires December 4, 2006 [Page 7]
Internet-Draft ResCert Respository Structure June 2006
6. IANA Considerations
[There are no IANA considerations in this document.]
7. Normative References
[I-D.huston-sidr-res-certs]
Huston, G., "A Profile for X.509 PKIX Resource
Certificates", draft-huston-sidr-res-certs-00 (work in
progress), May 2006.
[I-D.josefsson-rfc3548bis]
Huston, G., "A Profile for X.509 PKIX Resource
Certificates", draft-huston-sidr-res-certs-00 (work in
progress), May 2006.
[RFC3280] Housley, R., Polk, W., Ford, W., and D. Solo, "Internet
X.509 Public Key Infrastructure Certificate and
Certificate Revocation List (CRL) Profile", RFC 3280,
April 2002.
[RFC3779] Lynn, C., Kent, S., and K. Seo, "X.509 Extensions for IP
Addresses and AS Identifiers", RFC 3779, June 2004.
[RFC4387] Gutmann, P., "Internet X.509 Public Key Infrastructure
Operational Protocols: Certificate Store Access via HTTP",
RFC 4387, February 2006.
Authors' Addresses
Geoff Huston
Asia Pacific Network Information Centre
Email: gih@apnic.net
URI: http://www.apnic.net
Robert Loomans
Asia Pacific Network Information Centre
Email: robertl@apnic.net
URI: http://www.apnic.net
Huston, et al. Expires December 4, 2006 [Page 8]
Internet-Draft ResCert Respository Structure June 2006
George Michaelson
Asia Pacific Network Information Centre
Email: ggm@apnic.net
URI: http://www.apnic.net
Huston, et al. Expires December 4, 2006 [Page 9]
Internet-Draft ResCert Respository Structure June 2006
Full Copyright Statement
Copyright (C) The Internet Society (2006).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Acknowledgment
Funding for the RFC Editor function is provided by the IETF
Administrative Support Activity (IASA).
Huston, et al. Expires December 4, 2006 [Page 10]
| PAFTECH AB 2003-2026 | 2026-04-23 10:27:57 |