Internet DRAFT - draft-moreau-pkix-takrem
draft-moreau-pkix-takrem
INTERNET DRAFT Thierry Moreau
Document: draft-moreau-pkix-takrem-01.txt CONNOTECH
Category: Informational September, 2005
Expires: March, 2006
Trust Anchor Key Renewal Method
Applied to X.509 Self-signed Certificates
(TAKREM-X.509)
Status of this Memo
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/1id-abstracts.html
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html
Copyright Notice
Copyright (C) The Internet Society (2005).
IPR Disclosure Acknowledgment
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.
Abstract
In the Internet PKI, trust anchor keys are distributed as self-
signed X.509 security certificates. This document specifies a trust
anchor key renewal mechanism that leverages the confidence in the
initial certificate distribution. A non-critical X.509 certificate
extension holds a sequence of opaque octet strings. The trust
anchor renewal operation occurs upon receipt of a message that
hashes to one of those octet strings.
Moreau Informational [page 1]
Internet-Draft TAKREM-X.509 July, 2005
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Initial Self-signed X.509 Certificate Extension . . . . . . . . . 3
2.1 Interoperability Considerations . . . . . . . . . . . . . . 3
2.2 Security Processing . . . . . . . . . . . . . . . . . . . . 4
3. Trust Anchor Key Renewal Message . . . . . . . . . . . . . . . . . 6
4. Renewal Message Processing by Relying Systems . . . . . . . . . . 6
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . . 9
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
8.1 Normative References . . . . . . . . . . . . . . . . . . . . 9
8.2 Informative References . . . . . . . . . . . . . . . . . . . 10
9. Revision history . . . . . . . . . . . . . . . . . . . . . . . . . 10
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . . 11
IPR Notices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Intellectual Property . . . . . . . . . . . . . . . . . . . . . 11
Derivative Works Limitation . . . . . . . . . . . . . . . . . . 11
Copyright Notice . . . . . . . . . . . . . . . . . . . . . . . . 11
Disclaimer . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1. Introduction
A Certification Authority (CA) may issue a self-signed X.509 public
key certificate to announce its public key to a community of
relying parties, see normative reference [RFC2459]. This public key
is called a "trust anchor" key because it is the end of a chain of
security certificates.
This document describes a mechanism for the renewal of a trust
anchor key. Although it is conceivable to renew a self-signed
certificate without renewing the CA public key, the present
document addresses the simultaneous renewal of both the CA public
key and the self-signed certificate. The suggested acronym for the
renewal mechanism is TAKREM for Trust Anchor Key REnewal Method.
We thus distinguish the initial self-signed X.509 certificate from
the renewed self-signed X.509 certificate. The mechanism uses an
innocuous (i.e. non-critical) certificate extension in the initial
self-signed certificate. This is explained in section 2. A trust
anchor key renewal message is defined in section 3. A system
Moreau Informational [page 2]
Internet-Draft TAKREM-X.509 July, 2005
configured with a self-signed certificate MAY process this renewal
message in the manner specified in section 4, and thus complete the
renewal operation.
The cryptographic bound between the certificate extension value
elements and the renewal message rests on the MASH (Modular
Arithmetic Secure Hash) primitive, defined in the normative
reference [ISO10118-4]. This secure hash primitive specification
allows the selection of a hash function instance within a hash
function family. Moreover, the MASH parameter selection provides
flexibility in cryptographic parameter size selection, hence
flexibility in cryptographic strength decisions.
Operating principles are further explained in informational
reference [CONNOTECH]. The present document focuses on the
interoperability aspects of the renewal mechanism in the context of
Internet X.508 PKI. In here, an issuer of an initial self-signed
certificate is called a "self-certifying CA".
2. Initial Self-signed X.509 Certificate Extension
2.1 Interoperability Considerations
This document defines the TAKREM X.509 security certificate
extension. Security certificate extensions are explained in section
4.2 of [RFC2459].
o The object identifier (OID) value referring to the TAKREM
extension is
{ iso(1) identified-organization(3) 6 1 4 1 23742 2}.
o The TAKREM extension is non-critical.
o The octet string extension value is a sequence of opaque octet
strings, each of a size least 160 bits:
SEQUENCE SIZE (1..MAX) OF OCTET STRING SIZE (20..MAX)
In the next document subsection, we use the notation #n# for the
number of opaque octet strings actually present in the TAKREM
certificate extension field. The recommended procedure for filling
the extension value is specified in the next document subsection.
Moreau Informational [page 3]
Internet-Draft TAKREM-X.509 July, 2005
2.2 Security Processing
The self-certifying CA SHALL follow the procedure described herein
for the generation of the TAKREM certificate extension. We use the
notation #<r[i],R[i]># for the key pair comprising the public key
#R[i]# and the private key counterpart #r[i]#.
Prior to digitally signing the initial self-signed certificate, the
self-certifying CA SHALL establish anticipated key pairs
#<r[1],R[1]>#, #<r[2],R[2]>#, ... #<r[i],R[i]>#, ... #<r[n],R[n]>#
for #1<=i<=n# (#n# is defined in the previous document subsection).
For each key pair #<r[i],R[i]>#, the self-certifying CA MAY prepare
an anticipated self-signed certificate #Cert[i]#, reflecting the
intended usage context for the public key #R[i]#. The key pairs for
which no such certificate Cert[i] is prepared SHALL be generated
for the subject public key algorithm indicated in the initial self-
signed certificate, i.e. the same algorithm object identifier.
A separate MASH (Modular Arithmetic Secure Hash) instance #H[i]# is
created for each #R[i]#. That is, the self-certifying CA SHALL
select a large composite modulus number #N[i]# used in the MASH
round function and a prime number #p[i]# used in the MASH final
reduction function, in compliance with normative reference
[ISO10118-4]. Each prime number #p[i]# SHALL have an octet-aligned
size no less than 160 bits, i.e. #2^(8j-1)<p[i]<2^8j# for some
integer #j>=20#.
The self-certifying CA SHALL also select a random octet string of
the same length as the final hash-code output in the MASH
specification, notation salt field #s[i]#.
Then, the self-certifying CA SHALL compute a hash value, giving the
digest #D[i]# :
#D[i]=H[i](s[i]|R[i]|N[i]|p[i])#,
or
#D[i]=H[i](s[i]|Cert[i]|N[i]|p[i])#,
if an anticipated self-signed certificate #Cert[i]# has been
prepared. The MASH variant used in this computation SHALL be
MASH-2.
Moreau Informational [page 4]
Internet-Draft TAKREM-X.509 July, 2005
For the above hash value computation, the input string SHALL be the
DER encoding for a value of the ASN.1 type TakremX509MashInput
defined as:
TakremX509MashInput ::= SEQUENCE {
OCTET STRING SIZE(20..MAX), -- #s[i]#
IMPLICIT CHOICE {
[1] IMPLICIT SEQUENCE { -- #R[i]# same as type as
-- SubjectPublicKeyInfo per RFC 2459
SEQUENCE { -- AlgorithmIdentifier in RFC2459
algorithm OBJECT IDENTIFIER,
parameters ANY DEFINED BY algorithm OPTIONAL
},
subjectPublicKey BIT STRING
-- public key encoded as a "subjectPublicKey" per
-- RFC 2459, or per encoding rules for the subject
-- public key algorithm
},
[2] IMPLICIT Certificate -- #Cert[i]# encoded per rfc2459
},
INTEGER, -- #N[i]#
INTEGER -- #p[i]#
}
The TAKREM certificate extension value SHALL hold the digests
#D[1], D[2], ..., D[n]#
as a sequence of opaque octet strings. The digest #D[i]# is like an
advanced notice of future trust anchor key #R[i]#.
As soon as the initial self-signed certificate is prepared, the
issuer SHOULD conceal every data tuple #<r[i],s[i],R[i],N[i],p[i]>#
(or #<r[i],s[i],Cert[i],N[i],p[i]>#) until the key pair
#<r[i],R[i]># needs activation.
3. Trust Anchor Key Renewal Message
Some time after distributing an initial self-signed certificate,
the self-certifying CA might wish to activate a key pair
#<r[i],R[i]># for which the public key #R[i]# is hashed into a
digest #D[i]# held in the initial certificate.
In this case and if the public key #R[i]# was hashed directly into
the digest #D[i]# (i.e. not through a #Cert[i]#), the self-
certifying CA MAY distribute the data tuple #<s[i],R[i],N[i],p[i]>#
along with a self-signed certificate for #R[i]#, notation
#Cert'[i]#. Likewise, if the public key #R[i]# was hashed into the
digest #D[i]# through the #Cert[i]#, the self-certifying CA MAY
distribute the data tuple #<s[i],Cert[i],N[i],p[i]>#, optionally
Moreau Informational [page 5]
Internet-Draft TAKREM-X.509 July, 2005
with a new self-signed certificate #Cert'[i]# for #R[i]#.
This data element distribution occurs in a trust anchor key renewal
message whose format and protocol encapsulation details are outside
the scope of the present document. Nonetheless, it is recommended
that the renewal message syntax be specified with ASN.1 and contain
a data element of the type TakremX509MashInput and an optional data
element of the type of the type Certificate defined in [RFC2459]
holding #Cert'[i]#. In addition, it is recommended that the renewal
message contain a data element of the type AuthorityKeyIdentifier
defined in [RFC2459] identifying the relevant self-signed
certificate, and an integer data element holding the value #i#.
When both self-signed certificates #Cert[i]# and #Cert'[i]# are
present in a trust anchor key renewal message, the contents of the
later takes precedence. This allows the self-certifying CA to use
the public key #R[i]# in a PKI environment different from the one
initially anticipated.
4. Renewal Message Processing by Relying Systems
By the time a relying system receives a renewal message as
specified in section 3, it may have been configured with one or
more self-signed certificates with a TAKREM certificate extension.
If the relying system trusts some of these self-signed
certificates, it MAY implement a message receipt capability
expecting a trust anchor key renewal message and processing it
according to the present section.
A relying system processes renewal messages with the following
sequence of operations:
o renewal message recognition,
o preliminary renewal message validation,
o matching the renewal message to a digest #D[i]#
o cryptographic validation,
o security certificate enablement.
The recognition of a trust anchor renewal message is out of scope
for the present document. However, a renewal message might hold the
TAKREM-specific data elements #<s[i],R[i],N[i],p[i]># (or
#<s[i],Cert[i],N[i],p[i]>#) and optionally #Cert'[i]# (e.g. in
ASN.1 data elements of the types TakremX509MashInput and
Certificate), in which case the relying system SHOULD proceed with
the next processing steps.
The relying party SHOULD validate the TAKREM-specific portions of
Moreau Informational [page 6]
Internet-Draft TAKREM-X.509 July, 2005
the trust anchor key renewal message, applying the following
semantic validations:
o If the two certificates #Cert[i]# and #Cert'[i]# are received,
the two should have the same public key value.
o If no #Cert[i]# is received in the renewal message, the public
key value in #Cert'[i]# must be #R[i]#.
Moreover, The relying party SHALL verify the self-signed
certificates #Cert[i]# and/or #Cert'[i]#.
From the data elements #<s[i],R[i],N[i],p[i]># (or
#<s[i],Cert[i],N[i],p[i]>#), the relying system is in a position to
recompute the alleged digest #D'[i]#, as
#D'[i]=H[i](s[i]|R[i]|N[i]|p[i])#,
or
#D'[i]=H[i](s[i]|Cert[i]|N[i]|p[i])#,
where #H[i]()# is a MASH-2 function instance defined by the large
composite modulus number #N[i]# and the prime number #p[i]#. The
relying system SHOULD attempt to match the renewal message to a
digest #D[i]=D'[i]# and to the initial self-signed certificate
holding #D[i]#. If the renewal message contains a data element of
the type AuthorityKeyIdentifier, and an integer data element
holding the value #i#, they may be used to facilitate the matching
process. A successful match completes the cryptographic validation
step. Conversely, a relying system SHOULD ignore the renewal
message as a bogus one if it fails the matching and cryptographic
validation steps.
Upon successful completion of the preceding steps, a relying system
MAY accept #Cert'[i]#, or #Cert[i]# if #Cert'[i]# is absent, as a
trusted certificate.
A relying system that trusts a self-signed certificate with a
TAKREM certificate extension MAY trust the digest values #D[i]#
beyond the validity period of the self-signed certificate holding
them.
5. Usage Rationale vs Long Term Trust Anchor Digest Validity
This document section is informational. The traditional view of
cryptographic key renewal is that a new key is generated when it is
needed, i.e. shortly before its actual period of use so that it can
Moreau Informational [page 7]
Internet-Draft TAKREM-X.509 July, 2005
be distributed to relying parties. In the case of a trust anchor
key, the distribution of a renewed key is a difficult problem.
With the TAKREM proposal, en estimate of the lifetime of a trust
anchor key application should be made (i.e. a conservative estimate
of the end of usage for the last renewed trust anchor key before
the application becomes totally obsolete). Then, a renewal period
should be determined, plus an incident count estimation for
emergency trust anchor renewal. This gives a reasonable upper limit
on the number of trust anchor keys that will be needed for the life
of the application secured by the trust anchor. With the proposed
TAKREM, this number of public/private key pairs should be generated
at once, pre-announced in the proprietary certificate extension,
and safely set aside in a storage arrangement allowing the
retrieval of public/private key pair data one at a time by
custodians of the trusted organization.
On a long-term perspective, this arrangement replaces the need to
maintain a secure key generation system (e.g. evaluated with the
Common Criteria, [CC1], [CC2], [CC3]) with the need to securely
store key material which was generated at once. With this change,
the key generation can be seen as a design and manufacturing
process for security object (i.e. the bar code printout for the key
material), in which case "process assurance" is substituted to a
more comprehensive Common Criteria evaluation.
6. Security Considerations
The technology described in the present document, if properly used,
is meant to improve the confidence in trust anchor keys in relying
systems in a PKI scenario.
Irrespective of the use of the TAKREM mechanism, the initial
distribution of a trust anchor key should be authenticated by an
out-of-band mechanism.
The uninterrupted integrity protection of trust anchor key
configuration is important to prevent spoofing attacks on relying
systems. It can be assumed that most adversaries targeting relying
systems are motivated by short-term benefits, i.e. an attack
completion time much shorter than a trust anchor key renewal
period. If this is a proper assessment of threats to key
configuration integrity, the integrity protection requirements are
no more demanding with the use of the TAKREM mechanism.
The security principles behind the present mechanism suggest the
Moreau Informational [page 8]
Internet-Draft TAKREM-X.509 July, 2005
concealment of each public key for the duration between its
generation and its period of use. This is to prevent brute force
attacks on public keys, which might be possible if a very powerful
adversary was given the public key long in advance of its period of
use.
The security or MASH parameter selection should follow the
guidelines from normative reference [ISO10118-4].
7. IANA Considerations
This document has no actions for IANA.
8. References
8.1 Normative References
[RFC2459] Housley, R., Ford, W., Polk, W., and Solo, D., "Internet X.509
Public Key Infrastructure Certificate and CRL Profile", RFC
2459, January 1999
[ISO10118-4] International standard document ISO/IEC 10118-4:1998,
"Information technology - Security techniques -
Hash-functions - Part 4: Hash-functions using modular
arithmetic"
8.2 Informative References
[CONNOTECH] Thierry Moreau, "A Note About Trust Anchor Key
Distribution", CONNOTECH Experts-conseils inc., Document
Number C003444, 2005/07/05,
http://www.connotech.com/takrem.pdf
[CC1] Common Criteria Project Sponsoring Organizations, "Common
Criteria for Information Technology Security Evaluation, Part
1: Introduction and general model", January 2004, Version 2.2,
Revision 256
[CC2] Common Criteria Project Sponsoring Organizations, "Common
Criteria for Information Technology Security Evaluation, Part
2: Security functional requirements", January 2004, Version
2.2, Revision 256
Moreau Informational [page 9]
Internet-Draft TAKREM-X.509 July, 2005
[CC3] Common Criteria Project Sponsoring Organizations, "Common
Criteria for Information Technology Security Evaluation, Part
3: Security Assurance Requirements", January 2004, Version
2.2, Revision 256
9. Revision history
>From version -00 to -01:
o The public key in the TakremX509MashInput now includes the domain
parameters - technical correction.
o Some hints given for the use of ASN.1 format of renewal messages.
o Defined the private extension OID.
o Section 4 reorganized.
o Added the explanation section 5.
o Deleted text from the security considerations.
o Miscellaneous editorial corrections.
Author's Address
Thierry Moreau
CONNOTECH Experts-conseils inc.
9130 Place de Montgolfier
Montreal, Qc, Canada
Tel.: +1-514-385-5691
e-mail: thierry.moreau@connotech.com
IPR Notices
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 ISOC's procedures with respect to rights in ISOC
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
Moreau Informational [page 10]
Internet-Draft TAKREM-X.509 July, 2005
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.
Derivative Works Limitation
This document may not be modified, and derivative works of it may
not be created, except to publish it as an RFC and to translate it
into languages other than English.
Copyright Notice
Copyright (C) The Internet Society (2005).
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.
Disclaimer
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.
Moreau Informational [page 11]