draft-ietf-smime-escertid-04.txt   draft-ietf-smime-escertid-05.txt 
Network Working Group J. Schaad Network Working Group J. Schaad
Internet-Draft Soaring Hawk Consulting Internet-Draft Soaring Hawk Consulting
Updates: 2634 (if approved) January 4, 2007 Updates: 2634 (if approved) March 22, 2007
Intended status: Standards Track Intended status: Standards Track
Expires: July 8, 2007 Expires: September 23, 2007
ESS Update: Adding CertID Algorithm Agility ESS Update: Adding CertID Algorithm Agility
draft-ietf-smime-escertid-04.txt draft-ietf-smime-escertid-05.txt
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware 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 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. aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
skipping to change at page 1, line 35 skipping to change at page 1, line 35
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 The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on July 8, 2007. This Internet-Draft will expire on September 23, 2007.
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (2007). Copyright (C) The IETF Trust (2007).
Abstract Abstract
In the original Enhanced Security Services for S/MIME document (RFC In the original Enhanced Security Services for S/MIME document (RFC
2634), a structure for cryptographically linking the certificate to 2634), a structure for cryptographically linking the certificate to
be used in validation with the signature was introduced, this be used in validation with the signature was introduced, this
structure was hardwired to use SHA-1. This document allows for the structure was hardwired to use SHA-1. This document allows for the
structure to have algorithm agility and defines a new attribute for structure to have algorithm agility and defines a new attribute for
this purpose. this purpose.
skipping to change at page 2, line 27 skipping to change at page 2, line 27
1.1. Notation . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Notation . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2. Updates to RFC 2634 . . . . . . . . . . . . . . . . . . . 3 1.2. Updates to RFC 2634 . . . . . . . . . . . . . . . . . . . 3
2. Replace Section 5.4 'Signing Certificate Attribute 2. Replace Section 5.4 'Signing Certificate Attribute
Definitions' . . . . . . . . . . . . . . . . . . . . . . . . . 4 Definitions' . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Insert new section 5.4.1 'Signing Certificate Attribute 3. Insert new section 5.4.1 'Signing Certificate Attribute
Definition Version 2' . . . . . . . . . . . . . . . . . . . . 5 Definition Version 2' . . . . . . . . . . . . . . . . . . . . 5
4. Insert new section 5.4.1.1 'Certificate Identification 4. Insert new section 5.4.1.1 'Certificate Identification
Version 2' . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Version 2' . . . . . . . . . . . . . . . . . . . . . . . . . . 7
5. Insert new section 5.4.2 ' Signing Certificate Attribute 5. Insert new section 5.4.2 ' Signing Certificate Attribute
Defintion Version 1 . . . . . . . . . . . . . . . . . . . . . 9 Defintion Version 1 . . . . . . . . . . . . . . . . . . . . . 9
6. Renumber Section 5.4.1 Certificate Identification Version 1 . 11 6. Insert new section 5.4.2.1 Certificate Identification
Version 1 . . . . . . . . . . . . . . . . . . . . . . . . . . 11
7. Normative References . . . . . . . . . . . . . . . . . . . . . 12 7. Normative References . . . . . . . . . . . . . . . . . . . . . 12
Appendix A. ASN.1 Module . . . . . . . . . . . . . . . . . . . . 13 Appendix A. ASN.1 Module . . . . . . . . . . . . . . . . . . . . 13
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 18 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 18
Intellectual Property and Copyright Statements . . . . . . . . . . 19 Intellectual Property and Copyright Statements . . . . . . . . . . 19
1. Introduction 1. Introduction
In the original Enhanced Security Services (ESS) for S/MIME document In the original Enhanced Security Services (ESS) for S/MIME document
[ESS], a structure for cryptographically linking the certificate to [ESS], a structure for cryptographically linking the certificate to
be used in validation with the signature was defined. This be used in validation with the signature was defined. This
skipping to change at page 4, line 7 skipping to change at page 4, line 7
5.4.1.1 Certificate Identification Version 2 5.4.1.1 Certificate Identification Version 2
5.4.2 Signing Certificate Attribute Definition Version 1 5.4.2 Signing Certificate Attribute Definition Version 1
5.4.2.1 Certificate Identification Version 1 5.4.2.1 Certificate Identification Version 1
In addition, the ASN.1 module in Appendix A is replaced. In addition, the ASN.1 module in Appendix A is replaced.
2. Replace Section 5.4 'Signing Certificate Attribute Definitions' 2. Replace Section 5.4 'Signing Certificate Attribute Definitions'
5.4 Signing Certificate Attribute Definiitions
The signing certificate attribute is designed to prevent simple The signing certificate attribute is designed to prevent simple
substitution and re-issue attacks, and to allow for a restricted set substitution and re-issue attacks, and to allow for a restricted set
of certificates to be used in verifying a signature. of certificates to be used in verifying a signature.
Two different attributes exist for this due to a flaw in the original Two different attributes exist for this due to a flaw in the original
design. The only substantial difference between the two attributes design. The only substantial difference between the two attributes
is that SigningCertificateV2 allows for hash algorithm agility, while is that SigningCertificateV2 allows for hash algorithm agility, while
SigningCertificate forces the use of the SHA-1 hash algorithm. With SigningCertificate forces the use of the SHA-1 hash algorithm. With
the recent advances in the ability to create hash collisions for the recent advances in the ability to create hash collisions for
SHA-1 it is wise to move forward sooner rather than later. SHA-1 it is wise to move forward sooner rather than later.
skipping to change at page 5, line 40 skipping to change at page 5, line 40
to verify the signature. The encoding of the ESSCertIDv2 for this to verify the signature. The encoding of the ESSCertIDv2 for this
certificate SHOULD include the issuerSerial field. If other certificate SHOULD include the issuerSerial field. If other
constraints ensure that issuerAndSerialNumber will be present in constraints ensure that issuerAndSerialNumber will be present in
the SignerInfo, the issuerSerial field MAY be omitted. The the SignerInfo, the issuerSerial field MAY be omitted. The
certificate identified is used during the signature verification certificate identified is used during the signature verification
process. If the hash of the certificate does not match the process. If the hash of the certificate does not match the
certificate used to verify the signature, the signature MUST be certificate used to verify the signature, the signature MUST be
considered invalid. considered invalid.
If more than one certificate is present, subsequent certificates If more than one certificate is present, subsequent certificates
limit the set of certificates that are used during signature limit the set of certificates that are used during validation.
validation. Certificates can be either attribute certificates or Certificates can be either attribute certificates (limiting
normal certificates. The issuerSerial field (in the ESSCertIDv2 authorizations) or public key certificates (limiting path
validation). The issuerSerial field (in the ESSCertIDv2
structure) SHOULD be present for these certificates, unless the structure) SHOULD be present for these certificates, unless the
client who is validating the signature is expected to have easy client who is validating the signature is expected to have easy
access to all the certificates required for validation. If only access to all the certificates required for validation. If only
the signing certificate is present in the sequence, there are no the signing certificate is present in the sequence, there are no
restrictions on the set of certificates used in validating the restrictions on the set of certificates used in validating the
signature. signature.
policies contains a sequence of policy information terms that policies contains a sequence of policy information terms that
identify those certificate policies that the signer asserts apply identify those certificate policies that the signer asserts apply
to the certificate, and under which the certificate should be to the certificate, and under which the certificate should be
skipping to change at page 9, line 37 skipping to change at page 9, line 37
The encoding of the ESSCertID for this certificate SHOULD include the The encoding of the ESSCertID for this certificate SHOULD include the
issuerSerial field. If other constraints ensure that issuerSerial field. If other constraints ensure that
issuerAndSerialNumber will be present in the SignerInfo, the issuerAndSerialNumber will be present in the SignerInfo, the
issuerSerial field MAY be omitted. The certificate identified is issuerSerial field MAY be omitted. The certificate identified is
used during the signature verification process. If the hash of the used during the signature verification process. If the hash of the
certificate does not match the certificate used to verify the certificate does not match the certificate used to verify the
signature, the signature MUST be considered invalid. signature, the signature MUST be considered invalid.
If more than one certificate is present in the sequence of If more than one certificate is present in the sequence of
ESSCertIDs, the certificates after the first one limit the set of ESSCertIDs, the certificates after the first one limit the set of
certificates that are used during signature validation. Certificates certificates that are used during validation. Certificates can be
can be either attribute certificates or public key certificates. The either attribute certificates (limiting authorizations) or public key
issuerSerial field (in the ESSCertID structure) SHOULD be present for certificates (limiting path validation). The issuerSerial field (in
these certificates, unless the client who is validating the signature the ESSCertID structure) SHOULD be present for these certificates,
is expected to have easy access to all the certificates required for unless the client who is validating the signature is expected to have
validation. If only the signing certificate is present in the easy access to all the certificates required for validation. If only
sequence, there are no restrictions on the set of certificates used the signing certificate is present in the sequence, there are no
in validating the signature. restrictions on the set of certificates used in validating the
signature.
The sequence of policy information terms identifies those certificate The sequence of policy information terms identifies those certificate
policies that the signer asserts apply to the certificate, and under policies that the signer asserts apply to the certificate, and under
which the certificate should be relied upon. This value suggests a which the certificate should be relied upon. This value suggests a
policy value to be used in the relying party's certification path policy value to be used in the relying party's certification path
validation. validation.
If present, the SigningCertificate attribute MUST be a signed If present, the SigningCertificate attribute MUST be a signed
attribute; it MUST NOT be an unsigned attribute. CMS defines attribute; it MUST NOT be an unsigned attribute. CMS defines
SignedAttributes as a SET OF Attribute. A SignerInfo MUST NOT SignedAttributes as a SET OF Attribute. A SignerInfo MUST NOT
include multiple instances of the SigningCertificate attribute. CMS include multiple instances of the SigningCertificate attribute. CMS
defines the ASN.1 syntax for the signed attributes to include defines the ASN.1 syntax for the signed attributes to include
attrValues SET OF AttributeValue. A SigningCertificate attribute attrValues SET OF AttributeValue. A SigningCertificate attribute
MUST include only a single instance of AttributeValue. There MUST MUST include only a single instance of AttributeValue. There MUST
NOT be zero or multiple instances of AttributeValue present in the NOT be zero or multiple instances of AttributeValue present in the
attrValues SET OF AttributeValue. attrValues SET OF AttributeValue.
6. Renumber Section 5.4.1 Certificate Identification Version 1 6. Insert new section 5.4.2.1 Certificate Identification Version 1
Change the number on this section from 5.4.1 to 5.4.2.1. Delete old section 5.4.1
Change the title on this section to "Certificate Identification Insert the following as new text
Version 1".
5.4.2.1 Certificate Identification Version 1
Certificates are uniquely identified using the information in the
ESSCertID structure. Discussion can be found in section 5.4.1.1.
This document defines a certificate identifier as:
ESSCertID ::= SEQUENCE {
certHash Hash,
issuerSerial IssuerSerial OPTIONAL
}
The fields of ESSCertID are defined as follows:
certHash is computed over the entire DER encoded certifiate
(including the signature).
issuerSerial holds the identification of the certificate. This
field would normally be present unless the value can be inferred
from other information (e.g. the sid field of the SignerInfo
object).
The fields of IssuerSerial are discussed in section 5.4.1.1
7. Normative References 7. Normative References
[ESS] Hoffman, P., "Enhanced Security Services for S/MIME", [ESS] Hoffman, P., "Enhanced Security Services for S/MIME",
RFC 2634, June 1999. RFC 2634, June 1999.
[PKIXCERT] [PKIXCERT]
Housley, R., Ford, W., Polk, W., and D. Solo, "Internet Housley, R., Ford, W., Polk, W., and D. Solo, "Internet
X.509 Public Key Infrastructure Certificate and X.509 Public Key Infrastructure Certificate and
Certificate Revocation List (CRL) Profile", RFC 3280, Certificate Revocation List (CRL) Profile", RFC 3280,
skipping to change at page 19, line 7 skipping to change at page 19, line 7
Jim Schaad Jim Schaad
Soaring Hawk Consulting Soaring Hawk Consulting
PO Box 675 PO Box 675
Gold Bar, WA 98251 Gold Bar, WA 98251
Phone: (425) 785-1031 Phone: (425) 785-1031
Email: jimsch@exmsft.com Email: jimsch@exmsft.com
Full Copyright Statement Full Copyright Statement
Copyright (C) The Internet Society (2007). Copyright (C) The IETF Trust (2007).
This document is subject to the rights, licenses and restrictions This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors contained in BCP 78, and except as set forth therein, the authors
retain all their rights. retain all their rights.
This document and the information contained herein are provided on an This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property Intellectual Property
The IETF takes no position regarding the validity or scope of any The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights 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 might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information made any independent effort to identify any such rights. Information
 End of changes. 14 change blocks. 
26 lines changed or deleted 54 lines changed or added

This html diff was produced by rfcdiff 1.33. The latest version is available from http://tools.ietf.org/tools/rfcdiff/