Internet DRAFT - draft-ietf-smime-ibepps

draft-ietf-smime-ibepps









      
     S/MIME Working Group                                     G. Appenzeller 
     Internet Draft                                         Voltage Security 
     Expires: December 2006                                        June 2006 
                                         
      
                              Identity-based Encryption  
                             Parameter and Policy Lookup 


                          <draft-ietf-smime-ibepps-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 a protocol to obtain public parameters and 
     policy information for an identity-based encryption system.   

     Table of Contents 

         
        1. Introduction...................................................2 
           1.1. Terminology...............................................2 
        2. Overview.......................................................2 
        3. Request Method.................................................3 
        4. Parameter and Policy Format....................................4 
        5. ASN.1 Module...................................................7 
      
      
      
     Appenzeller             Expires December 2006                  [Page 1] 
      
     Internet-Draft       Parameter and Policy Lookup              June 2006 
         

        6. Security Considerations........................................8 
        7. IANA Considerations............................................8 
        8. References.....................................................9 
           8.1. Normative References......................................9 
        Author's Address.................................................10 
        Intellectual Property Statement..................................10 
        Disclaimer of Validity...........................................10 
        Copyright Statement..............................................10 
        Acknowledgment...................................................11 
         
          1. Introduction 

        An identity-based encryption system (IBE) allows the encryption of 
        messages using a user’s identity plus a set of public parameters. 
        Theses public parameters are a global piece of data that is generated 
        together with the master secret of the IBE system when the IBE system 
        is set up. This document defines a protocol to retrieve public 
        parameters as well as configuration parameters of the private key 
        generator (PKG) of an IBE system. 

        This document does not describe the actual algorithms used for 
        encryption or the mathematical structure of the public parameters, 
        they are described in [IBCS]. It also does not describe the 
        communication protocol to the PKG, which is described in [IBEPKG]. 

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

          2. Overview 

        For an identity-based encryption (IBE) system to operate correctly, 
        the sender, receiver and the private key generator (PKG) have to 
        agree on a number of parameters. This protocol specifies how a system 
        component of an IBE system can retrieve these parameters, 
        specifically: 

          1. The Public Parameters of the PKG. The public parameters are part 
             of the encryption (and in some cases decryption) operation of 
             the IBE system. Generation of public parameters and the master 
             secret, as well as the mathematical structure of the public 
             parameters for the BF and BB1 algorithms are described in 
             [IBCS]. 


      
      
     Appenzeller           Expires December 14, 2006                [Page 2] 
         
     Internet-Draft       Parameter and Policy Lookup              June 2006 
         

          2. The URI of the PKG. Knowledge of this URI allows recipients to 
             request a private key as described in [IBEPKG]. 

          3. The schema to format the identity strings. When issuing a 
             private key, the PKG often wants to limit who can obtain private 
             keys. For example for an identity string that contains 
             “bob@example.com”, only the owner of the identity string should 
             be able to request the private key. To ensure that the PKG can 
             interpret the identity string for which a private key is 
             requested, the encryption engine and the PKG have to use the 
             same schema for identity strings. Identity schemas are described 
             in [IBECMS] 

        A sending or receiving client MUST allow configuration of these 
        parameters manually, e.g. through editing a configuration file.  

        However for simplified configuration a client MAY also implement the 
        PP URI request method described in this document to fetch the system 
        parameters based on a configured URI. This is especially useful for 
        federating between IBE systems. By specifying a single URL a client 
        can be configured to fetch all the relevant parameters for a remote 
        PKG. These public parameters can then be used to encrypt messages to 
        recipients who authenticate to and retrieve private keys from that 
        PKG. 

        Section 3 of this document outlines the URI request method to 
        retrieve a parameter block based on a URI. Section 4 describes the 
        schema of the parameter block itself. 

          3. Request Method 

        The configuration URI SHOULD be an HTTPS URL [RFC2616] of the format: 

          http_URL = "https:" "//" host [ ":" port ] [ abs_path ] 

        An example URL for ibe system parameters is 

          https://ibe-0000.example.com/example.com.pem 

        To retrieve the IBE system parameters, the client SHOULD use the HTTP 
        GET method as defined in [RFC2616]. The request SHOULD happen over a 
        secure protocol. The requesting client MUST support either SSL v 3.0 
        [SSL3] protocol or TLS v 1.1 [TLS]. When requesting the URL the 
        client MUST only accept the system parameter block if the server 
        identity was verified successfully by SSL or TLS [RFC2618]. 


      
      
     Appenzeller           Expires December 14, 2006                [Page 3] 
         
     Internet-Draft       Parameter and Policy Lookup              June 2006 
         

        A successful GET request returns in its body the DER and Base64 
        encoded ASN.1 structure that is described in the next section. 

          4. Parameter and Policy Format 

        The IBE System parameters are a set of  

        IBESysParams ::= SEQUENCE { 
           version              INTEGER, 
           districtName         UTF8String, 
           districtSerial       INTEGER, 
           validity             Validity, 
           ibePublicParameters  IBEPublicParameters, 
           ibeIdentitySchema    OBJECT IDENTIFIER, 
           ibeParamExtensions   IBEParamExtensions 
        } 

        The version specifies the version of the parameter format. For the 
        format described in this standard it MUST be set to 2 The district 
        name is a UTF8String that MUST be a valid domain name as defined by 
        [RFC1035]. The districtSerial is a serial number. If new parameters 
        are published for a district, it MUST be increased.  

        The Validity is identical to the Validity definition for an X.509 
        certificate: 

        Validity ::= SEQUENCE { 
            notBefore     CertificateValidityDate, 
            notAfter      CertificateValidityDate  
        } 
         
        CertificateValidityDate ::= CHOICE { 
            utcTime       UTCTime, 
            generalTime   GeneralizedTime  
        } 
         
        A client SHOULD verify if system parameters that it obtains are 
        currently valid and SHOULD not use these parameters if they are not 
        valid. 

        IBEPublicParameters is a set of public parameters that correspond to 
        encryption algorithms that the PKG associated with this district 
        understands. 




      
      
     Appenzeller           Expires December 14, 2006                [Page 4] 
         
     Internet-Draft       Parameter and Policy Lookup              June 2006 
         

         
        IBEPublicParameters ::= SEQUENCE OF IBEPublicParameter  
         
        IBEPublicParameter  ::= SEQUENCE { 
              ibeAlgorithm         OBJECT IDENTIFIER, 
              publicParameterData  OCTET STRING 
        } 
         
        The ibeAlgorithm OID specifies an IBE algorithm. The 
        publicParameterData is a DER encoded ASN.1 structure that contains 
        the actual cryptographic parameters. Its specific structure depends 
        on the algorithm. The OIDs for two IBE algorithms, the Boneh-Franklin 
        and Boneh-Boyen algorithms and their publicParameterData structures 
        are defined in [IBCS]. 

        The IBESysParams of a district MUST contain at least one algorithm 
        and MAY contain several algorithms. It MUST NOT contain two or more 
        IBEPublicParameter entries with the same algorithm. A client that 
        wants to use IBESysParams can chose any of the algorithms specified 
        in the publicParameterData structure. If a client does not support 
        any of the supported algorithms it MUST generate an error message.A 
        client MUST implement at least the Boneh-Franklin algorithm and MAY 
        implement the Boneh-Boyens and other algorithms. 

        ibeIdentitySchema is an OID that defines the type of identities that 
        are used with this district. The OIDs and the required and optional 
        fields for each OID are described in [IBECMS]. 

        IBEParamExtensions is a set of extensions that are defined the same 
        way as X.509 extensions.  

        IBEParamExtensions ::= SEQUENCE OF Extensions    
         
        Extension  ::=  SEQUENCE  { 
          id         OBJECT IDENTIFIER, 
          critical   BOOLEAN DEFAULT FALSE, 
          value      OCTET STRING   
        } 
         
        ibeParamExt OBJECT IDENTIFIER ::= {  
          ibcs ibcs3(3) parameter-extensions(2) 
        } 

        The contents of the octet string are defined by the specific 
        extension type. The System Parameters of a district MAY have any 
        number of extensions, including zero. A client that encounters an 

      
      
     Appenzeller           Expires December 14, 2006                [Page 5] 
         
     Internet-Draft       Parameter and Policy Lookup              June 2006 
         

        extension SHOULD fail if the extension is critical and SHOULD ignore 
        it silently if the extension is not critical. 

        The Extension pkgURL as defined in section 5 defines the URL of the 
        Private Key Generator of the district. If the PKG is publicly 
        accessible, this extension SHOULD be present to allow the automatic 
        retrieval of private keys for recipients of encrypted messages. For 
        this extension the OCTET STRING contains a UTF8String with the full 
        URL of the key server. 






































      
      
     Appenzeller           Expires December 14, 2006                [Page 6] 
         
     Internet-Draft       Parameter and Policy Lookup              June 2006 
         

          5. ASN.1 Module 

        This section defines the ASN.1 module for the encodings discussed in 
        section 4. 
         
        IBEPP { joint-iso-itu(2) country(16) us(840) organization(1)  
           identicrypt(114334) ibcs(1) pps(4) version(1) } 
         
        DEFINITIONS IMPLICIT TAGS ::= BEGIN 
         
        IMPORTS IBEIdentitySchema 
          FROM BFCMS  
              { joint-iso-itu(2) country(16) us(840) organization(1) 
                identicrypt(114334) ibcs(1) cms(4) module(5) version(1)  
              }; 
         
        ibcs OBJECT IDENTIFIER ::= { 
           joint-iso-itu(2) country(16) us(840) organization(1)  
              identicrypt(114334) ibcs(1)  
        }   
         
        -- The IBE System parameters consist of a set of public parameters  
        -- for the encryption algorithms supported by the district,  
        -- the identity schema, the URL of the PKG and further optional  
        -- parameters 
         
        IBESysParams ::= SEQUENCE { 
           version              INTEGER, 
           districtName         UTF8String, 
           districtSerial       INTEGER, 
           validity             Validity, 
           ibePublicParameters  IBEPublicParameters, 
           ibeIdentitySchema    OBJECT IDENTIFIER, 
           ibeParamExtensions   IBEParamExtensions 
        }    
         
        -- Validity designates the time interval for which these parameters 
        -- are valid. It is defined the same as in X.509 
         
        Validity ::= SEQUENCE { 
            notBefore     CertificateValidityDate, 
            notAfter      CertificateValidityDate  
        } 
         
        CertificateValidityDate ::= CHOICE { 
            utcTime       UTCTime, 
            generalTime   GeneralizedTime  
      
      
     Appenzeller           Expires December 14, 2006                [Page 7] 
         
     Internet-Draft       Parameter and Policy Lookup              June 2006 
         

        } 
         
        -- Public Parameters for the IBE Algorithm 
        --   ibeAlgorithm is the algorithm OID from IBCS, e.g. "bb" or "bf" 
        --   publicParameterData is a DER encoded ASN.1 public parameter  
        --   block, e.g. BFPublicParamaters, BBPublicParamaters 
         
        IBEPublicParameters ::= SEQUENCE OF IBEPublicParameter  
         
        IBEPublicParameter  ::= SEQUENCE { 
              ibeAlgorithm         OBJECT IDENTIFIER, 
              publicParameterData  OCTET STRING 
        } 
         
        -- Extensions are defined the same as in X.509 
         
        IBEParamExtensions ::= SEQUENCE OF Extension    
         
        Extension  ::=  SEQUENCE  { 
          id         OBJECT IDENTIFIER, 
          critical   BOOLEAN DEFAULT FALSE, 
          value      OCTET STRING   
        } 
         
        ibeParamExt OBJECT IDENTIFIER ::= {  
          ibcs ibcs3(3) parameter-extensions(2) 
        } 
         
        -- Defined Extensions: 
        -- pkgURL:        URL of the PKG, value is a UTF8String 
         
        pkgURL        OBJECT IDENTIFIER ::= { ibeParamExt pkgURL(1) } 
         
        END 
         
          6. Security Considerations 

        This entire document relates to security considerations. 

          7. IANA Considerations 

        No further action by the IANA is necessary for the protocols 
        described in this document. 




      
      
     Appenzeller           Expires December 14, 2006                [Page 8] 
         
     Internet-Draft       Parameter and Policy Lookup              June 2006 
         

          8. References 

          8.1. Normative References 

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

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

        [P1363] IEEE P1363.3, “Standards Specifications for Public-Key 
                  Cryptography,” 2001. 

        [SSL3] A. Frier, P. Karlton, and P. Kocher, "The SSL 3.0 Protocol", 
              Netscape Communications Corp., Nov 18, 1996. 

        [TLS] T. Dierks, E. Rescorla, “The Transport Layer Security Protocol 
                  Version 1.1,” RFC 4346, April 2006. 

        [X509] ITU-T Recommendation X.509 (1997 E): Information Technology - 
              Open Systems Interconnection - The Directory: Authentication 
              Framework, June 1997.  

        [IBEARCH] L. Martin, M. Schertler, “Identity-based Encryption 
              Architecture,” draft-ietf-smime-ibearch-00.txt. 

        [IBCS] X. Boyen, L. Martin, “Identity-Based Cryptography Standard 
              (IBCS) #1: Supersingular Curve Implementations of the BF and 
              BB1 Cryptosystems,” draft-ietf-smime-ibcs-00.txt. 

        [IBECMS] M. Schertler, L. Martin, “Using the Boneh-Franklin identity-
              based encryption algorithm with the Cryptographic Message 
              Syntax (CMS),” draft-ietf-smime-bfibecms-01.txt. 

        [IBEPKG] G. Appezeller “Private Key Request protocol for Identity-
              Based Encryption,” draft-ietf-smime-ibepkg-00.txt. 

        [RFC2396] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform 
              Resource Identifiers (URI): Generic Syntax", RFC 2396, August 
              1998.Author's Address 

        [RFC2616] Fielding, R.,  Gettys, J., Mogul, J., Frysyk, H., Masinter, 
              L., Leach, P. and T. Berners-Lee, "Hypertext Transfer Protocol 
              -- HTTP/1.1", RFC 2616, June 1999. 



      
      
     Appenzeller           Expires December 14, 2006                [Page 9] 
         
     Internet-Draft       Parameter and Policy Lookup              June 2006 
         

     Author's Address 

        Guido Appenzeller 
        Voltage Security 
        1070 Arastradero Rd Suite 100 
        Palo Alto CA 94304 
            
        Phone: +1 650 543 1280 
        Email: guido@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 
        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). 
      
      
     Appenzeller           Expires December 14, 2006               [Page 10] 
         
     Internet-Draft       Parameter and Policy Lookup              June 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. 

         

         



































      
      
     Appenzeller           Expires December 14, 2006               [Page 11]