5816
PROPOSED STANDARD

ESSCertIDv2 Update for RFC 3161

Authors: S. Santesson, N. Pope
Date: April 2010
Area: sec
Working Group: pkix
Stream: IETF
Updates: RFC 3161

Abstract

This document updates RFC 3161. It allows the use of ESSCertIDv2, as defined in RFC 5035, to specify the hash of a signer certificate when the hash is calculated with a function other than the Secure Hash Algorithm (SHA-1). [STANDARDS-TRACK]

RFC 5816: ESSCertIDv2 Update for RFC 3161 [RFC Home] [TEXT|PDF|HTML] [Tracker] [IPR] [Info page]

PROPOSED STANDARD
Internet Engineering Task Force (IETF)                      S. Santesson
Request for Comments: 5816                                  3xA Security
Updates: <a href="./rfc3161">3161</a>                                                    N. Pope
Category: Standards Track                                         Thales
ISSN: 2070-1721                                               March 2010


                    <span class="h1">ESSCertIDv2 Update for <a href="./rfc3161">RFC 3161</a></span>

Abstract

   This document updates <a href="./rfc3161">RFC 3161</a>.  It allows the use of ESSCertIDv2, as
   defined in <a href="./rfc5035">RFC 5035</a>, to specify the hash of a signer certificate when
   the hash is calculated with a function other than the Secure Hash
   Algorithm (SHA-1).

Status of This Memo

   This is an Internet Standards Track document.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Further information on
   Internet Standards is available in <a href="./rfc5741#section-2">Section 2 of RFC 5741</a>.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   <a href="https://www.rfc-editor.org/info/rfc5816">http://www.rfc-editor.org/info/rfc5816</a>.

Copyright Notice

   Copyright (c) 2010 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to <a href="https://www.rfc-editor.org/bcp/bcp78">BCP 78</a> and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (<a href="http://trustee.ietf.org/license-info">http://trustee.ietf.org/license-info</a>) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

   This document may contain material from IETF Documents or IETF
   Contributions published or made publicly available before November
   10, 2008.  The person(s) controlling the copyright in some of this



<span class="grey">Santesson & Pope             Standards Track                    [Page 1]</span>

<span id="page-2" ></span>
<span class="grey"><a href="./rfc5816">RFC 5816</a>             ESSCertIDv2 Update for <a href="./rfc3161">RFC 3161</a>          March 2010</span>


   material may not have granted the IETF Trust the right to allow
   modifications of such material outside the IETF Standards Process.
   Without obtaining an adequate license from the person(s) controlling
   the copyright in such materials, this document may not be modified
   outside the IETF Standards Process, and derivative works of it may
   not be created outside the IETF Standards Process, except to format
   it for publication as an RFC or to translate it into languages other
   than English.

Table of Contents

   <a href="#section-1">1</a>. Introduction ....................................................<a href="#page-2">2</a>
      <a href="#section-1.1">1.1</a>. Terminology ................................................<a href="#page-2">2</a>
   <a href="#section-2">2</a>. Updates to <a href="./rfc3161">RFC 3161</a> .............................................<a href="#page-3">3</a>
      <a href="#section-2.1">2.1</a>. Changes to <a href="#section-2.4.1">Section 2.4.1</a>, Request Format ...................<a href="#page-3">3</a>
      <a href="#section-2.2">2.2</a>. Changes to <a href="#section-2.4.2">Section 2.4.2</a>, Response Format ..................<a href="#page-3">3</a>
           <a href="#section-2.2.1">2.2.1</a>. Signature of Time-Stamp Token .......................<a href="#page-3">3</a>
           <a href="#section-2.2.2">2.2.2</a>. Verifying the Time-Stamp Token ......................<a href="#page-4">4</a>
   <a href="#section-3">3</a>. Security Considerations .........................................<a href="#page-4">4</a>
   <a href="#section-4">4</a>. References ......................................................<a href="#page-5">5</a>
      <a href="#section-4.1">4.1</a>. Normative References .......................................<a href="#page-5">5</a>
      <a href="#section-4.2">4.2</a>. Informative References .....................................<a href="#page-5">5</a>

<span class="h2"><a class="selflink" id="section-1" href="#section-1">1</a>.  Introduction</span>

   The time-stamping protocol defined in <a href="./rfc3161">RFC 3161</a> [<a href="./rfc3161" title=""Internet X.509 Public Key Infrastructure Time-Stamp Protocol (TSP)"">RFC3161</a>] requires
   that the Cryptographic Message Syntax (CMS) SignedData [<a href="./rfc5652" title=""Cryptographic Message Syntax (CMS)"">RFC5652</a>],
   used to apply a digital signature on the time-stamp token, include a
   signed attribute that identifies the signer's certificate.

   This identifier only allows SHA-1 [<a href="#ref-SHA1">SHA1</a>] to be used as the hash
   algorithm to generate the identifier value.

   The mechanism used in [<a href="./rfc3161" title=""Internet X.509 Public Key Infrastructure Time-Stamp Protocol (TSP)"">RFC3161</a>] employed ESSCertID from <a href="./rfc2634">RFC 2634</a>
   [<a href="#ref-ESS" title=""Enhanced Security Services for S/MIME"">ESS</a>].  <a href="./rfc5035">RFC 5035</a> [<a href="#ref-ESSV2" title=""Enhanced Security Services (ESS) Update: Adding CertID Algorithm Agility"">ESSV2</a>] updated ESSCertID with ESSCertIDv2 to allow
   the use of any hash algorithm.

   The changes to <a href="./rfc3161">RFC 3161</a> [<a href="./rfc3161" title=""Internet X.509 Public Key Infrastructure Time-Stamp Protocol (TSP)"">RFC3161</a>] defined in this document allow
   ESSCertIDv2 to be used to include an identifier of the signing
   certificate as defined in <a href="./rfc5035">RFC 5035</a> [<a href="#ref-ESSV2" title=""Enhanced Security Services (ESS) Update: Adding CertID Algorithm Agility"">ESSV2</a>].

<span class="h3"><a class="selflink" id="section-1.1" href="#section-1.1">1.1</a>.  Terminology</span>

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in <a href="./rfc2119">RFC 2119</a> [<a href="./rfc2119" title=""Key words for use in RFCs to Indicate Requirement Levels"">RFC2119</a>].





<span class="grey">Santesson & Pope             Standards Track                    [Page 2]</span>

<span id="page-3" ></span>
<span class="grey"><a href="./rfc5816">RFC 5816</a>             ESSCertIDv2 Update for <a href="./rfc3161">RFC 3161</a>          March 2010</span>


<span class="h2"><a class="selflink" id="section-2" href="#section-2">2</a>.  Updates to <a href="./rfc3161">RFC 3161</a></span>

<span class="h3"><a class="selflink" id="section-2.1" href="#section-2.1">2.1</a>.  Changes to <a href="#section-2.4.1">Section 2.4.1</a>, Request Format</span>

   Last paragraph on Page 5.

   Old:

      If the certReq field is present and set to true, the TSA's public
      key certificate that is referenced by the ESSCertID identifier
      inside a SigningCertificate attribute in the response MUST be
      provided by the TSA in the certificates field from the SignedData
      structure in that response.  That field may also contain other
      certificates.

   New:

      If the certReq field is present and set to true, the TSA's public
      key certificate that is referenced by the ESSCertID [<a href="#ref-ESS" title=""Enhanced Security Services for S/MIME"">ESS</a>] field
      inside a SigningCertificate attribute or by the ESSCertIDv2
      [<a href="#ref-ESSV2" title=""Enhanced Security Services (ESS) Update: Adding CertID Algorithm Agility"">ESSV2</a>] field inside a SigningCertificateV2 attribute in the
      response MUST be provided by the TSA in the certificates field
      from the SignedData structure in that response.  That field may
      also contain other certificates.

<span class="h3"><a class="selflink" id="section-2.2" href="#section-2.2">2.2</a>.  Changes to <a href="#section-2.4.2">Section 2.4.2</a>, Response Format</span>

<span class="h4"><a class="selflink" id="section-2.2.1" href="#section-2.2.1">2.2.1</a>.  Signature of Time-Stamp Token</span>

   Fifth paragraph on Page 8, just before the definition of TSTInfo.

   Old:

      The time-stamp token MUST NOT contain any signatures other than
      the signature of the TSA.  The certificate identifier (ESSCertID)
      of the TSA certificate MUST be included as a signerInfo attribute
      inside a SigningCertificate attribute.

   New:

      The time-stamp token MUST NOT contain any signatures other than
      the signature of the TSA.  The certificate identifier (either
      ESSCertID [<a href="#ref-ESS" title=""Enhanced Security Services for S/MIME"">ESS</a>] or ESSCertIDv2 [<a href="#ref-ESSV2" title=""Enhanced Security Services (ESS) Update: Adding CertID Algorithm Agility"">ESSV2</a>]) of the TSA certificate
      MUST be included as a signerInfo attribute inside a
      SigningCertificate attribute.






<span class="grey">Santesson & Pope             Standards Track                    [Page 3]</span>

<span id="page-4" ></span>
<span class="grey"><a href="./rfc5816">RFC 5816</a>             ESSCertIDv2 Update for <a href="./rfc3161">RFC 3161</a>          March 2010</span>


      Note: As mentioned in <a href="./rfc5035">RFC 5035</a> [<a href="#ref-ESSV2" title=""Enhanced Security Services (ESS) Update: Adding CertID Algorithm Agility"">ESSV2</a>], the SigningCertificateV2
            attribute MUST be used if any algorithm other than SHA-1 is
            used and SHOULD NOT be used for SHA-1.

      Note: For backwards compatibility, in line with <a href="./rfc5035">RFC 5035</a>, both
            ESSCertID and ESSCertIDv2 MAY be present.  Systems MAY
            ignore ESSCertIDv2 if <a href="./rfc5035">RFC 5035</a> has not been implemented.

<span class="h4"><a class="selflink" id="section-2.2.2" href="#section-2.2.2">2.2.2</a>.  Verifying the Time-Stamp Token</span>

   Third paragraph on Page 11.

   Old:

      The purpose of the tsa field is to give a hint in identifying the
      name of the TSA.  If present, it MUST correspond to one of the
      subject names included in the certificate that is to be used to
      verify the token.  However, the actual identification of the
      entity that signed the response will always occur through the use
      of the certificate identifier (ESSCertID Attribute) inside a
      SigningCertificate attribute which is part of the signerInfo (See
      Section 5 of [<a href="#ref-ESS" title=""Enhanced Security Services for S/MIME"">ESS</a>]).

   New:

      The purpose of the tsa field is to give a hint in identifying the
      name of the TSA.  If present, it MUST correspond to one of the
      subject names included in the certificate that is to be used to
      verify the token.  However, the actual identification of the
      entity that signed the response will always occur through the use
      of the certificate identifier (ESSCertID inside a
      SigningCertificate attribute or ESSCertIDv2 inside a
      SigningCertificateV2 attribute) that is part of the signerInfo
      (see Section 5 of [<a href="#ref-ESS" title=""Enhanced Security Services for S/MIME"">ESS</a>] and <a href="#section-3">Section 3</a> of [<a href="#ref-ESSV2" title=""Enhanced Security Services (ESS) Update: Adding CertID Algorithm Agility"">ESSV2</a>]).

<span class="h2"><a class="selflink" id="section-3" href="#section-3">3</a>.  Security Considerations</span>

   This document incorporates the security considerations of <a href="./rfc5035">RFC 5035</a>
   [<a href="#ref-ESSV2" title=""Enhanced Security Services (ESS) Update: Adding CertID Algorithm Agility"">ESSV2</a>] with further explanations in this section.

   ESSCertID provides a means based on the SHA-1 hash algorithm for
   identifying the certificate used to verify the signature on a time
   stamp.  The use of ESSCertIDv2 aims to enable implementers to comply
   with policies that require phasing out all uses of the SHA-1
   algorithm.






<span class="grey">Santesson & Pope             Standards Track                    [Page 4]</span>

<span id="page-5" ></span>
<span class="grey"><a href="./rfc5816">RFC 5816</a>             ESSCertIDv2 Update for <a href="./rfc3161">RFC 3161</a>          March 2010</span>


   The update provided by this document is motivated by reasons of
   interoperability and migration to other hash algorithms rather than
   mitigating new security issues.

<span class="h2"><a class="selflink" id="section-4" href="#section-4">4</a>.  References</span>

<span class="h3"><a class="selflink" id="section-4.1" href="#section-4.1">4.1</a>.  Normative References</span>

   [<a id="ref-RFC2119">RFC2119</a>]   Bradner, S., "Key words for use in RFCs to Indicate
               Requirement Levels", <a href="https://www.rfc-editor.org/bcp/bcp14">BCP 14</a>, <a href="./rfc2119">RFC 2119</a>, March 1997.

   [<a id="ref-ESS">ESS</a>]       Hoffman, P., Ed., "Enhanced Security Services for
               S/MIME", <a href="./rfc2634">RFC 2634</a>, June 1999.

   [<a id="ref-ESSV2">ESSV2</a>]     Schaad, J., "Enhanced Security Services (ESS) Update:
               Adding CertID Algorithm Agility", <a href="./rfc5035">RFC 5035</a>, August 2007.

   [<a id="ref-RFC3161">RFC3161</a>]   Adams, C., Cain, P., Pinkas, D., and R. Zuccherato,
               "Internet X.509 Public Key Infrastructure Time-Stamp
               Protocol (TSP)", <a href="./rfc3161">RFC 3161</a>, August 2001.

   [<a id="ref-RFC5652">RFC5652</a>]   Housley, R., "Cryptographic Message Syntax (CMS)",
               <a href="./rfc5652">RFC 5652</a>, September 2009.

<span class="h3"><a class="selflink" id="section-4.2" href="#section-4.2">4.2</a>.  Informative References</span>

   [<a id="ref-SHA1">SHA1</a>]      Secure Hash Standard. FIPS Pub 180-1. National Institute
               of Standards and Technology. 17 April 1995.

Authors' Addresses

   Stefan Santesson
   3xA Security AB
   Sweden

   EMail: [email protected]


   Nick Pope
   Thales Information Systems Security
   Long Crendon, Aylesbury
   United Kingdom

   EMail: [email protected]







Santesson & Pope             Standards Track                    [Page 5]

Additional Resources