S/MIME WG                                             Sean Turner, IECA
Internet Draft                                           March 31, 2008
Intended Status: Information
Updates: 3278 (once approved)
Expires: September 31, 2008



      Update to Use of Elliptic Curve Cryptography (ECC) Algorithms
                  in Cryptographic Message Syntax (CMS)
                  draft-ietf-smime-rfc3278-update-01.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 September 31, 2008.

Copyright Notice

   Copyright (C) The IETF Trust (2008).

Abstract

   RFC 3278 describes how to use Elliptic Curve Cryptography (ECC)
   public-key algorithms in the Cryptographic Message Syntax (CMS).
   This document updates RFC 3278 to add support for the SHA2 family of
   hash algorithms.



Turner                Expires September 31, 2008               [Page 1]


Internet-Draft             RFC 3278 Update                 January 2008


Conventions used in this document

   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 [MUST].

Discussion

   This draft is being discussed on the 'ietf-smime' mailing list. To
   subscribe, send a message to ietf-smime-request@imc.org with the
   single word subscribe in the body of the message. There is a Web site
   for the mailing list at <http://www.imc.org/ietf-smime/>.

Table of Contents

   1. Introduction......................................... 2
   2. Updates to Paragraph 2.1.1............................. 3
   3. Updates to Paragraph 5 ................................ 3
   4. Updates to Paragraph 7 ................................ 4
   5. Updates to Paragraph 8.1............................... 4
   6. Updates to Paragraph 9 ................................ 6
   7. Changes to Security Considerations....................... 6
   8. Security Considerations................................ 6
   9. IANA Considerations................................... 7
   10. References ......................................... 7
      10.1. Normative References............................. 7
      10.2. Informative References ........................... 7

1. Introduction

   RFC 3278 describes how to use Elliptic Curve Cryptography (ECC)
   public-key algorithms in the Cryptographic Message Syntax (CMS).
   This document updates RFC 3278 to add support for the SHA2 family of
   hash algorithms.

   The following summarizes the changes:

    - Paragraph 2.1.1 limited the digest algorithm to SHA-1. This
      document expands the allowed algorithms to SHA-224, SHA-256, SHA-
      384, and SHA-512.

    - Paragraph 5 added requirements for hash algorithms and
      recommendations for matching curves and hash algorithms.

    - Paragraph 7 added S/MIME capabilities for ECDSA with SHA-224, SHA-
      256, SHA-384, and SHA-512.



Turner                Expires September 31, 2008               [Page 2]


Internet-Draft             RFC 3278 Update                 January 2008


    - Paragraph 8.1 listed the algorithm identifiers for SHA-1 and SHA-1
      with ECDSA. This document adds algorithms for SHA-224, SHA-256,
      SHA-384, and SHA-512 and SHA-224, SHA-256, SHA-384, and SHA-512
      with ECDSA.

    - Paragraph 9 references need to be updated.

    - Security considerations paragraph referring to definitions of SHA-
      224, SHA-256, SHA-384, and SHA-512 needs to be deleted.

2. Updates to Paragraph 2.1.1

   Old:

      digestAlgorithm MUST contain the algorithm identifier sha-1 (see
      Section 8.1) which identifies the SHA-1 hash algorithm.

      signatureAlgorithm contains the algorithm identifier ecdsa-with-
      SHA1 (see Section 8.1) which identifies the ECDSA signature
      algorithm.

   New:

      digestAlgorithm MUST contain the algorithm identifier of the hash
      algorithm (see Section 8.1): id-sha1 identifies the SHA-1 hash
      algorithm, id-sha224 identifies the SHA-224 hash algorithm, id-
      sha256 identifies the SHA-256 hash algorithm, id-sha384
      identifies the SHA-384 algorithm, and id-sha512 identifies the
      SHA-512 algorithm.

      signatureAlgorithm contains the signature algorithm identifier
      (see Section 8.1): ecdsa-with-SHA1, ecdsa-with-SHA224, ecdsa-
      with-SHA256, ecdsa-with-SHA384, ecdsa-with-SHA512.

3. Updates to Paragraph 5

   Add the following to the end of the section:

      Implementations of this specification MUST implement the SHA-256
      hash algorithm. The SHA-1, SHA-224, SHA-384, SHA-512 hash
      algorithms MAY be supported.

      When ECDSA is used, it is RECOMMENDED that the P-256 curve be
      used with SHA-256, the P-384 curve be used with SHA-384, and the
      P-521 curve be used with SHA-512.




Turner                Expires September 31, 2008               [Page 3]


Internet-Draft             RFC 3278 Update                 January 2008


4. Updates to Paragraph 7

   Old:

      The SMIMECapability value to indicate support for the ECDSA
      signature algorithm is the SEQUENCE with the capabilityID field
      containing the object identifier ecdsa-with-SHA1 with NULL
      parameters.  The DER encoding is:

        30 0b 06 07 2a 86 48 ce 3d 04 01 05 00

   New:

      The SMIMECapability value to indicate support for the ECDSA
      signature algorithm is the SEQUENCE with the capabilityID field
      containing the object identifiers ecdsa-with-SHA1,
      ecdsa-with-withSHA224, ecdsa-with-SHA256, ecdsa-with-SHA384, and
      ecdsa-with-SHA512 all with NULL parameters.  The DER encodings
      are:

        ecdsa-with-SHA1:   30 0b 06 07 2a 86 48 ce 3d 04 01 05 00

        ecdsa-with-SHA224: 30 0c 06 08 2a 86 48 ce 3d 04 03 01 05 00

        ecdsa-with-SHA256: 30 0c 06 08 2a 86 48 ce 3d 04 03 02 05 00

        ecdsa-with-SHA384: 30 0c 06 08 2a 86 48 ce 3d 04 03 03 05 00

        ecdsa-with-SHA512: 30 0c 06 08 2a 86 48 ce 3d 04 03 04 05 00

5. Updates to Paragraph 8.1

   Old:

      The algorithm identifiers used in this document are taken from
      [X9.62], [SEC1] and [SEC2].

      The following object identifier indicates the hash algorithm used
      in this document:

        sha-1 OBJECT IDENTIFIER ::= { iso(1) identified-organization(3)
        oiw(14) secsig(3) algorithm(2) 26 }

   New:

      The algorithm identifiers used in this document are taken from
      [SMIME-SHA2]


Turner                Expires September 31, 2008               [Page 4]


Internet-Draft             RFC 3278 Update                 January 2008


      The following object identifier indicates the hash algorithm used
      in this document:

        id-sha1 OBJECT IDENTIFIER ::= { iso(1) identified-
        organization(3) oiw(14) secsig(3) algorithm(2) 26 }

        id-sha224 OBJECT IDENTIFIER ::= { joint-iso-itu-t(2)
        country(16) us(840) organization(1) gov(101) csor(3)
        nistalgorithm(4) hashalgs(2) 4 }

        id-sha256 OBJECT IDENTIFIER ::= { joint-iso-itu-t(2)
        country(16) us(840) organization(1) gov(101) csor(3)
        nistalgorithm(4) hashalgs(2) 1 }

        id-sha384 OBJECT IDENTIFIER ::= { joint-iso-itu-t(2)
        country(16) us(840) organization(1) gov(101) csor(3)
        nistalgorithm(4) hashalgs(2) 2 }

        id-sha512 OBJECT IDENTIFIER ::= { joint-iso-itu-t(2)
        country(16) us(840) organization(1) gov(101) csor(3)
        nistalgorithm(4) hashalgs(2) 3 }

   Old:

      The following object identifier indicates the digital signature
      algorithm used in this document:

        ecdsa-with-SHA1 OBJECT IDENTIFIER ::= { ansi-x9-62
        signatures(4) 1 }

   New:

      The following object identifier indicates the digital signature
      algorithm used in this document:

        ecdsa-with-SHA1 OBJECT IDENTIFIER ::= { ansi-x9-62
        signatures(4) 1 }

        ecdsa-with-SHA224 OBJECT IDENTIFIER ::= { ansi-x9-62
        signatures(4) ecdsa-with-SHA2(3) 1 }

        ecdsa-with-SHA256 OBJECT IDENTIFIER ::= { ansi-x9-62
        signatures(4) ecdsa-with-SHA2(3) 2 }

        ecdsa-with-SHA384 OBJECT IDENTIFIER ::= { ansi-x9-62
        signatures(4) ecdsa-with-SHA2(3) 3 }



Turner                Expires September 31, 2008               [Page 5]


Internet-Draft             RFC 3278 Update                 January 2008


        ecdsa-with-SHA512 OBJECT IDENTIFIER ::= { ansi-x9-62
        signatures(4) ecdsa-with-SHA2(3) 4 }

6. Updates to Paragraph 9

   Add the following reference:

      [SMIME-SHA2] Turner, S., "Using SHA2 Algorithms with
      Cryptographic Message Syntax", work-in-progress.

   Update the following references:

   Old:

      [PKI-ALG] Bassham, L., Housley R. and W. Polk, "Algorithms and
      Identifiers for the Internet X.509 Public Key Infrastructure
      Certificate and CRL Profile", RFC 3279, April 2002.

      [FIPS-180] FIPS 180-1, "Secure Hash Standard", National Institute
      of Standards and Technology, April 17, 1995.

   New:

      [PKI-ALG] Turner, S., Brown, D., Yiu, K., Housley, R., and W.
      Polk," Elliptic Curve Cryptography Subject Public Key
      Information", work-in-progress.

      [FIPS] FIPS 180-2, "Secure Hash Standard", National Institute of
      Standards and Technology, August 1, 2002.

7. Changes to Security Considerations

   Delete the following:

      When 256, 384, and 512 bit hash functions succeed SHA-1 in future
      revisions of [FIPS], [FIPS-186-2], [X9.62] and [SEC1], then they
      can similarly succeed SHA-1 in a future revision of this
      document.

8. Security Considerations

   No new security considerations to those already specified in
   [RFC3278], [SMIME-SHA2], and [PKI-ALG].






Turner                Expires September 31, 2008               [Page 6]


Internet-Draft             RFC 3278 Update                 January 2008


9. IANA Considerations

   None: All identifiers are already registered.  Please remove this
   section prior to publication as an RFC.

10. References

10.1. Normative References

   [MUST]        Bradner, S., "Key words for use in RFCs to Indicate
                 Requirement Levels", RFC 2119, BCP 14, March 1997.

   [PKI-ALG]     Turner, S., Brown, D., Yiu, K., Housley, R., and W.
                 Polk, "Elliptic Curve Cryptography Subject Public Key
                 Information", work-in-progress.

   [SMIME-SHA2]  Turner, S., "Using SHA2 Algorithms with Cryptographic
                 Message Syntax", work-in-progress.

   [RFC3278]     Blake-Wilson, S., Brown, D., and P. Lambert, "Use of
                 Elliptic Curve Cryptography (ECC) Algorithms in
                 Cryptographic Message Syntax (CMS)", RFC 3278, April
                 2002.

10.2. Informative References

   None.






















Turner                Expires September 31, 2008               [Page 7]


Internet-Draft             RFC 3278 Update                 January 2008


Author's Addresses

   Sean Turner

   IECA, Inc.
   3057 Nutley Street, Suite 106
   Fairfax, VA 22031
   USA

   Email: turners@ieca.com







































Turner                Expires September 31, 2008               [Page 8]


Internet-Draft             RFC 3278 Update                 January 2008


Full Copyright Statement

   Copyright (C) The IETF Trust (2008).

   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, THE IETF TRUST 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).





Turner                Expires September 31, 2008               [Page 9]