One document matched: draft-ietf-smime-bfibecms-00.txt







      
                                                                   L. Martin 
     S/MIME Working Group                                       M. Schertler 
     Internet Draft                                         Voltage Security 
     Expires: December 2006                                        June 2006 
                                         
      
                                           
          Using the Boneh-Franklin identity-based encryption algorithm with 
                       the Cryptographic Message Syntax (CMS)  


                         <draft-ietf-smime-bfibecms-00.txt> 


     Status of this Document 

        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 

      

     Abstract 

        This document describes the conventions for using the Boneh-Franklin 
        identity-based encryption (BF-IBE) algorithm in the Cryptographic 
        Message Syntax (CMS). The BF-IBE algorithm supports the transport of 
        symmetric keys to encrypt content encryption keys. Object 
        identifiers and the convention for encoding a recipient’s identity 
        are also defined. 


      
      
      
     Martin, Schertler       Expires December 2006                  [Page 1] 
      
     Internet-Draft          Using BF-IBE with CMS                 June 2006 
         

     Table of Contents 

         
        1. Introduction...................................................2 
           1.1. Terminology...............................................2 
        2. Using identity-based encryption................................3 
        3. Algorithm object identifier....................................5 
        4. Processing by the sender.......................................6 
        5. Processing by the receiver.....................................6 
        6. ASN.1 Module...................................................7 
        7. Security Considerations........................................9 
        8. IANA Considerations............................................9 
        9. References....................................................10 
           9.1. Normative References.....................................10 
        Author's Addresses...............................................10 
        Intellectual Property Statement..................................10 
        Disclaimer of Validity...........................................11 
        Copyright Statement..............................................11 
        Acknowledgment...................................................11 
         
        1. Introduction 

        This document defines the steps needed to use the Boneh-Franklin 
        identity-based encryption (BF-IBE) public-key algorithm [BF] in the 
        Cryptographic Message Syntax (CMS) [CMS]. BF-IBE is a public key 
        technology for encrypting content-encryption keys (CEKs). The 
        recipient’s identity is incorporated into the EnvelopedData CMS 
        content type using the OtherRecipientInfo CHOICE in the RecipientInfo 
        field as defined in section 6.2.5 of [CMS]. This document does not 
        describe the implementation of the BF-IBE algorithm, which is 
        described in detail in [IBCS].  

        The BF-IBE algorithm is a public-key algorithm in which the public 
        key is calculated directly from a user’s identity instead of being 
        generated randomly. This document defines the object identifiers and 
        syntax of the object that is used to define the identity of a message 
        recipient.  

        CMS values and identity objects are defined using ANS.1 [ASN1]. 

        1.1. Terminology 

        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 RFC-2119 [KEYWORDS]. 


      
      
     Martin, Schertler       Expires December 2006                  [Page 2] 
         
     Internet-Draft          Using BF-IBE with CMS                 June 2006 
         

        2. Using identity-based encryption 

        To use IBE, the OtherRecipientInfo field MUST be set to an 
        IBEOtherRecipient type.  

        IBEOtherRecipientInfo ::= SEQUENCE { 

           ibeORIType     OBJECT IDENTIFIER, 

           ibeORIValue    IBERecipientInfo  

        } 

        The fields of IBEOtherRecipientInfo have the following meanings: 

        ibeORIType defines the object identifier (OID)  that indicates that 
        the subsequent ibeORIValue is the information necessary to decrypt 
        the message using IBE. This field MUST be set to  

        ibeORIType OBJECT IDENTIFIER ::= { joint-iso-itu(2) country(16)  

           us(840) organization(1) identicrypt(114334) ibcs(1)  

           cms(4) ori-oid(1) } 

        ibeORIValue defines the identity that was used in the BF-IBE 
        algorithm to encrypt the CEK. This is an IBERecipientInfo type.  

        IBERecipientInfo ::= SEQUENCE { 

           cmsVersion        INTEGER { v0(0) }, 

           keyFetchMethod    OBJECT IDENTIFIER, 

           recipientIdentity IBEIdentityInfo, 

           serverInfo        SEQUENCE OF OIDValuePairs OPTIONAL, 

           encryptedKey      EncryptedKey 

        } 

        The fields of IBERecipientInfo have the following meanings: 

        cmsVersion MUST be set to 0.  


      
      
     Martin, Schertler       Expires December 2006                  [Page 3] 
         
     Internet-Draft          Using BF-IBE with CMS                 June 2006 
         

        keyFetchMethod is the OID that defines the method of retrieving the 
        private key that the recipient MUST use. How to retrieve an IBE 
        private key using the steps defined in [IBEPPS] is defined by the 
        keyFetchMethod OID. The method for retrieving private keys that is 
        specified in [IBEPPS] is defined by cmsPPSOID.  

        cmsPPSOID OBJECT IDENTIFIER ::= { joint-iso-itu(2) country(16)  

           us(840) organization(1) identicrypt(114334) pps-schemas(3) 

           ic-schemas(1) pps-uri(1)  

        } 

        recipientIdentity is the data that was used to calculate the public 
        key that was used to encrypt the CEK. This MUST be an IBEIdentityInfo 
        type. This recipientIdentity is used to calculate IBE public and 
        private keys as described in [IBCS]. 

        IBEIdentityInfo ::= SEQUENCE { 

           district    UTF8STRING, 

           serial      INTEGER, 

           identitySchema OBJECT IDENTIFIER, 

           identityData   OCTET STRING 

        } 

        The fields of IBEIdentityInfo have the following meanings. 

        district and serial are unique identifiers that are used to construct 
        the URI for the location of where the IBE public parameters are 
        located. The construction and use of this URI is defined in [IBEPPS].  

        identitySchema defines the format that is used to encode the 
        information that defines the identity of the recipient. This MUST be 
        set to cmsIdentityOID. 

        cmsIdentityOID OBJECT IDENTIFIER ::= { joint-iso-itu(2) country(16)  

           us(840) organization(1) identicrypt(114334) keyschemas(2) 

           icschemas(1) rfc822email(1)  

      
      
     Martin, Schertler       Expires December 2006                  [Page 4] 
         
     Internet-Draft          Using BF-IBE with CMS                 June 2006 
         

        } 

        identityData is the data that defines the identity of the recipient. 
        This MUST be an EmailIdentitySchema type which is DER encoded. 

        EmailIdentitySchema ::= SEQUENCE { 

           rfc822Email UTF8STRING, 

           time     UTCTime 

        } 

        rfc822Email is the DER-encoded e-mail address of the recipient in the 
        format defined by [RFC822]. 

        time is the DER-encoded UTC time at which the sender wants to let the 
        recipient decrypt the message, so it may be called the “not-before” 
        time. This is usually set to the time when the message is encrypted, 
        but MAY be set to a future time. UTC time values are expressed to the 
        nearest second, but the sender of an IBE-encrypted message may want 
        to express this time rounded to a larger time interval to reduce the 
        number of IBE private keys that a recipient needs to retrieve. To do 
        this, follow the following steps. Let “time-interval” be the number 
        of seconds in this larger time interval. 

           1. Find the UTC time for the not-before value. 

           2. Convert this UTC time into the number of seconds since  

              January 1, 1970. Call this “total-time.” 

           3. Calculate reduced-time = ( floor( total-time /  

              time-interval ) ) * time-interval. 

           4. Convert reduced-time to a UTC time to get the not-before value. 

        3. Algorithm object identifier 

        The BF-IBE algorithm as defined in [IBCS] has the following object 
        identifier: 

        bf-ibe OBJECT IDENTIFIER ::= { joint-iso-itu(2) country(16) us(840)        

           organization(1) identicrypt(114334) ibcs(1) ibcs1(1)  

      
      
     Martin, Schertler       Expires December 2006                  [Page 5] 
         
     Internet-Draft          Using BF-IBE with CMS                 June 2006 
         

           ibe-algorithms(2) bf(1) } 

        This is the object identifier that MUST be inserted in the 
        keyEncryptionAlgorithm field in the CMS when the BF-IBE algorithm is 
        used to encrypt the CEK. 

        4. Processing by the sender 

        The sender of a message that uses BF-IBE to encrypt content 
        encryption keys performs the following steps: 

           1. Selects a set of IBE public parameters to use in the subsequent 
        steps in accordance with his local security policy. He then 
        determines the URI where the public parameters can be obtained using 
        the process described in [IBEPPS]. This information MUST be encoded 
        in the IBEIdentityInfo as described in [IBEPPS]. 

           2. Sets the fields of an OtherRecipientInfo object to their 
        appropriate values as described in Section 2. 

           3. Calculates a BF-IBE public key as defined in [IBCS] using this 
        IBEIdentityInfo as the identity information. 

           4. This BF-IBE public key is then used to encrypt the content 
        encryption key (CEK), using the algorithms that are defined in 
        [IBCS]. 

           5. Sets encryptedKey to the BF-IBE-encrypted CEK. 

           6. Within the CMS, keyEncryptionAlgorithm MUST then be set to bf-
        ibe (see Section 3).  

        5. Processing by the receiver 

        Upon receiving a message that has a CEK encrypted with BF-IBE, the 
        recipient performs the following steps to decrypt the CEK: 

           1. Determines that the CEK is IBE-encrypted by noting that the 
             oriType of the OtherRecipientInfo type is set to ibeORIType. 

           2. Determines that the recipientIdentity was used as the identity 
             in BF encryption of the CEK. 

           3. Determines the location of the IBE public parameters and the 
             IBE Private Key Generator as described in [IBEPPS]. 


      
      
     Martin, Schertler       Expires December 2006                  [Page 6] 
         
     Internet-Draft          Using BF-IBE with CMS                 June 2006 
         

           4. Obtains the IBE public parameters from the location determined 
             in Step 3 using the process defined in [IBEPPS]. 

           5. Obtains the IBE private key needed to decrypt the encrypted CEK 
             using the process defined in [IBE3]. 

           6. Decrypts the CEK using the IBE private key obtained in Step 4 
             using the algorithms described in [IBCS]. 

        6. ASN.1 Module 

        BFCMS-module { joint-iso-itu(2) country(16) us(840) organization(1) 

           identicrypt(114334) ibcs(1) cms(4) module(5) version(1)  

        }  

         

        DEFINITIONS IMPLICIT TAGS ::= BEGIN 

         

        IBEOtherRecipientInfo ::= SEQUENCE { 

           oriType  OBJECT IDENTIFIER, 

           oriValue IBERecipientInfo  

        } 

         

        ibeORIType OBJECT IDENTIFIER ::= { joint-iso-itu(2) country(16)  

              us(840) organization(1) identicrypt(114334) ibcs(1)  

              cms(4) ori-oid(1)  

        } 

         

        IBERecipientInfo ::= SEQUENCE { 

           cmsVersion     INTEGER { v0(0) }, 

      
      
     Martin, Schertler       Expires December 2006                  [Page 7] 
         
     Internet-Draft          Using BF-IBE with CMS                 June 2006 
         

           keyFetchMethod OBJECT IDENTIFIER, 

           recipientIdentity IBEIdentityInfo, 

           serverInfo     SEQUENCE OF OIDValuePairs OPTIONAL, 

           encryptedKey   EncryptedKey 

        } 

         

        IBEIdentityInfo ::= SEQUENCE { 

           district    UTF8STRING, 

           serial      INTEGER, 

           identitySchema OBJECT IDENTIFIER, 

           identityData   OCTET STRING 

        }   

         

        OIDValuePairs ::= SEQUENCE { 

          fieldID     OBJECT IDENTIFIER,   

          fieldData   OCTET STRING 

        } 

         

        EmailIdentitySchema ::= SEQUENCE { 

           rfc822Email UTF8STRING, 

           time     UTCTime 

        } 

         

        cmsIdentityOID OBJECT IDENTIFIER ::= { joint-iso-itu(2) country(16)  
      
      
     Martin, Schertler       Expires December 2006                  [Page 8] 
         
     Internet-Draft          Using BF-IBE with CMS                 June 2006 
         

           us(840) organization(1) identicrypt(114334) keyschemas(2) 

           icschemas(1) rfc822email(1)  

        } 

         

        cmsPPSOID OBJECT IDENTIFIER ::= { joint-iso-itu(2) country(16)  

           us(840) organization(1) identicrypt(114334) pps-schemas(3) 

           ic-schemas(1) pps-uri(1)  

        } 

         

        END 

        7. Security Considerations 

        This document is based on [CMS] and [IBCS1], and the relevant 
        security considerations of those documents apply. 

        8. IANA Considerations 

        All of the object identifiers used in this document were assigned by 
        the National Institute of Standards and Technology (NIST), so no 
        further action by the IANA is necessary for this document. 

















      
      
     Martin, Schertler       Expires December 2006                  [Page 9] 
         
     Internet-Draft          Using BF-IBE with CMS                 June 2006 
         

        9. References 

        9.1. Normative References 

        [ASN1]   CCITT, Recommendation X.209: Specification of Basic Encoding 
                  Rules for Abstract Syntax Notation One (ASN.1). 1998. 

        [CMS]    R. Housley, “Cryptographic Message Syntax,” RFC 3369, August 
                  2002. 

        [IBCS]   X. Boyen, L. Martin, “Identity-based cryptography standard 
                  (IBCS) #1: supersingular curve implementations of the BF 
                  and BB1 cryptosystems,” draft-ieft-smime-ibcs-00.txt. 

        [IBEPPS] G. Appenzeller, “Parameter and Policy Lookup for Identity-
                  based Encryption,” draft-ietf-ibepps-00.txt. 

        [KEYWORDS]  S. Brander, “Key Words for Use in RFCs to Indicate 
                  Requirement Levels,” BCP 14, RFC 2119, March 1997. 

        [RFC822] D. Crocker, “Standard for the format of ARPA internet text 
                  messages,” RFC 822, August 1982.  

     Authors’ Addresses 

        Luther Martin 
        Voltage Security 
        1070 Arastradero Rd Suite 100 
        Palo Alto CA 94304 
            
        Phone: +1 650 543 1280 
        Email: martin@voltage.com 
         
        Mark Schertler 
        Voltage Security 
        1070 Arastradero Rd Suite 100 
        Palo Alto CA 94304 
            
        Phone: +1 650 543 1280 
        Email: mark@voltage.com 
         

     Intellectual Property Statement 

        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 
      
      
     Martin, Schertler       Expires December 2006                 [Page 10] 
         
     Internet-Draft          Using BF-IBE with CMS                 June 2006 
         

        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. 

     Disclaimer of Validity 

        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. 

     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. 

     Acknowledgment 

        Funding for the RFC Editor function is currently provided by the 
        Internet Society. 

         

         


      
      
     Martin, Schertler       Expires December 2006                 [Page 11] 
         


PAFTECH AB 2003-20262026-04-23 20:27:01