US 6981147 B1 Résumé A method for creating, storing and reading a new certificate type for certification of keys is provided. In the new certificate type, several certificates, containing a minimum quantity of redundant data fields, are collated to form one certificate and all redundant information on the certificates is eliminated. An embodiment of the new certificate type is the group certificate. The group certificate is used where several keys are to be issued at the same time for the same user by the same certification instance. By means of the group certificate, all redundant data elements are eliminated and all data elements for a set of several keys subject to certification are grouped into one certificate. This substantially reduces the memory requirement, and handling of the certificates is simplified for the communication partners. A further embodiment of the new certificate type is the basic and supplementary certificate combination. This form of certification is used where certificates are issued at different times for the same user by the same certification body. The memory requirement is consequently somewhat more than for group certificates, but greater flexibility is gained in use of the keys. Revendications 1. A method of creating certificates with redundant information to certify keys of a user, wherein each of the certificates comprises a defined number of data elements which at least contain information on a certification body or issuer of the certificate, a user of the certificate and a key certified by the certificate, comprising the following steps: a) creation by the certification body of a basic certificate for use in connection with the several keys of the user, the basic certificate containing a single recitation of a defined number of data elements therein which elements are identical or redundant if repeated in separate certificates one for each of the several keys of the user in conjunction with the certification body; b) addition of an identifying characteristic to the basic certificate; c) generation of a digital signature for the basic certificate; d) addition of the digital signature to the basic certificate; e) generation of a key pair; f) creation of a supplementary certificate for the basic certificate which does not recite the redundant data elements contained in the basic certificate but does contain a key as set out in step e), the identifying characteristic as set out in step b) and additional data fields not registered by the basic certificate; g) generation of a digital signature for the supplementary certificate; h) addition of the digital signature to the supplementary certificate; and i) use of the basic certificate created in step a) for other of the several keys in additional supplementary certificates that share with the supplementary certifactes of step f) the redundant information recited in the basic certificate but like the supplementary certificate of step f) do not recite the redundant data elements. 2. The method in accordance with name of the certification body, user ID of the certification body, name of the user, user ID of the user, and an identifying characteristic of the basic certificate. 3. The method in accordance with a signature algorithm, a key, serial number of the key, a validity period of the certificate, extensions, and the identifying characteristic of the basic certificate. 4. The method in accordance with aa) definition of the basic certificate and reading of the identifying characteristics of the basic certificate; bb) generation of a new key pair; cc) creation of a supplementary certificate for the basic certificate with additional data fields not registered by the basic certificate, wherein one of the keys of step bb) is inserted into the supplementary certificate in; dd) insertion of the identifying characteristics in accordance with step aa) into the supplementary certificate to locate the associated basic certificate; ee) generation of a digital signature for the supplementary certificate; and ff) addition of the digital signature to the supplementary certificate. 5. The method in accordance with a signature algorithm, a key, a serial number of the key, validity period of the certificate, extensions, and the identifying characteristic of the basic certificate. 6. The method in accordance with 7. The method of a) check of the nonvolatile storage medium for presence of basic certificates; b) if a basic certificate is present, identification of a supplementary certificate with a suitable signature key; c) reading-in of the supplementary certificate into the chipcard RAM; d) definition of the identification number of the basic certificate from the supplementary certificate; and e) reading-in of the basic certificate into the RAM. 8. A computer program product on a computer usable hardware medium for creating certificates to certify several keys sharing redundant information, wherein a certificate comprises a defined number of data elements which at least contain information on a certification body or issuer to the certificate, a user of the certificate and a key certified by the certificate, said computer program product comprising: a) software code for specification of a request for certification of one of the several keys by a certification body for a user; b) software code for creation of a basic certificate that does not contain any key for the user but does contain a defined number of data elements which, in the certification process, are identical or redundant for the several keys of the user in conjunction with the respective certification body when initially not more than one of the several keys is to be certified with the basic certificate; c) software code for the addition of an identifying characteristic to the basic certificate; d) software code for the generation of a digital signature for the basic certificate; e) software code for the addition of the digital signature to the basic certificate; f) software code for generation of a key pair; g) software code for creation of a supplementary certificate for the basic certificate with a key pair generated with the software as set out in f), the identifying characteristic as set out in c) and additional data elements not registered by the basic certificate of b); h) software code for generation of a digital signature for the supplementary certificate; i) software code for addition of the digital signature to the supplementary certificate; and j) software code for use of the basic certificate created in step b) with a new key that shares the redundant data elements with the basic certificate by issuing an additional supplementary certificate with a new key pair generated with software as set forth in f), the identifying certificate as set forth in c) and additional data elements not registered by the basic certificate of b) or the supplementary certificate of g). 9. The computer program product in accordance with name of the certification body, user ID of the certification body, name of the user, user ID of the user, and identifying characteristic of the basic certificate. 10. The computer program product in accordance with a signature algorithm, a public key from the key pair of f) or a public key from the new key pair of j), a serial number of the key, a validity period of the certificate, extensions, and identifying characteristic of the basic certificate. 11. The computer program product in accordance with aa) software code for generation of several key pairs; bb) software code for generation of a single group certificate for the more than one key with all data elements necessary for the individual keys and keys generated in step aa), omitting the redundant data elements for the several keys by having only a single recitation of the redundent data elements in the group certificate; cc) software code for generation of a digital signature for the group certificate; and dd) software code for addition of the digital signature to the group certificate. 12. The computer program product software in accordance with name of the certification body, user ID of the certification body, name of the user, user ID of the user, type or version of the certificate, number and types of keys, a key, a validity period of the certificate serial Number, and extensions. 13. The computer program product in accordance with aa) software code definition of the basic certificate and reading of the identifying characteristics of the basic certificate; bb) software code for generation of a key pair; cc) software code for creation of a supplementary certificate for the basic certificate with additional data fields not registered by the basic certificate, wherein one of the keys is inserted into the supplementary certificate by step bb); dd) software code for insertion of the identifying characteristics in accordance with step aa) into the supplementary certificate to locate the associated basic certificate; ee) software code for generation of a digital signature for the supplementary certificate; and ff) software code for addition of the digital signature to the supplementary certificate. 14. The computer program product in accordance with a signature algorithm, a key, serial number of the key, validity period of the supplementary certificate, extensions, and the identifying characteristic of the basic certificate. 15. A method of creating and using certificates to certify several keys for use in connection with a chipcard, wherein each of the certificates comprises a defined number of data elements which at least contain information on a certification body or issuer of the certificate, a user of the certificate and a key certified by the certificate, comprising the following steps: a) creation by the certification body of a basic certificate that does not contain a key but is for use in connection with the several keys of the user, the basic certificate containing a single recitation of a defined number of data elements therein which elements would be identical or redundant if contained in separate certificates one for each of the several keys of the user in conjunction with the certification body; b) addition of an identifying characteristic to the basic certificate; c) generation of a digital signature for the basic certificate; d) addition of the digital signature to the basic certificate; e) generation of a key pair; f) creation of a supplementary certificate for the basic certificate which does not recite the redundant data elements contained in the basic certificate but does contain a key as set out in step e), the identifying characteristic as set out in step b) and additional data fields not registered by the basic certificate; g) generation of a digital signature for the supplementary certificate; h) addition of the digital signature to the supplementary certificate; i) use of the basic certificate created in step a) for other of the several keys in additional supplementary certificates that share with the supplementary certificate of step f) the redundant information recited the basic certificate but like the supplementary certificate of step f) do not recite the redundant data elements; and j) storage of the basic and supplementary in a nonvolatile memory of the chipcard. 16. The method in accordance with name of the certification body, user ID of the certification body, name of the user, user ID of the user, and an identifying characteristic of the basic certificate. 17. The method in accordance with a signature algorithm, a key, serial number of the key, a validity period of the certificate, extensions, and the identifying characteristic of the basic certificate. 18. The method in accordance with aa) generation of several key pairs one for each of the keys; bb) generation of a single certificate for all the several keys with all data elements necessary for the individual keys and keys generated in step aa), with only a single recitation of data elements redundant to all the several keys in the group certificate; cc) generation of a digital signature for the group certificate; dd) addition of the digital signature to the group certificate; and ee) group certificate in the nonvolatile memory of the chipcard. 19. The method in accordance with name of the certificate body, user ID of the certification body, name of the user, user ID of the user, type or version of the certificate, number and types of keys, a key, a validity period of the certificate serial number, and extensions. 20. The method of a) check of the nonvolatile storage medium for presence of basic certificates; b) if a basic certificate is present, identification of a supplementary certificate with a suitable signature key; c) reading-in of the supplementary certificate into a RAM of the chipcard; d) definition of the identification number of the basic certificate from the supplementary certificate; e) reading-in of the basic certificate into the RAM; f) when no basic certificate is identified checking of the storage medium for presence of group certificate; and g) reading-in of a necessary group certificate into the RAM. Description U.S. patent application Ser. No. 09/109,578 filed on Jul. 2, 1998 and entitled “Inter Operability of Key Distribution Services”, the contents of which application is hereby incorporated by reference. U.S. patent application Ser. No. 09/274,525, filed on Mar. 23, 1999 and entitled “Secure Hash-And-Sign Signatures”, the contents of which application is hereby incorporated by reference. The present invention relates to a method for creating a new certificate, the storage of that certificate on storage media (in particular on chipcards) and the reading of the certificate. The idea underlying the use of the new certificate is the one-time, centralized authentication of a user or a service by an institution created for that purpose, termed a certification body. If the requirements of the certification body for successful identity verification are met, the certification body appends its own electronic signature to the public key of the identified person or service. The advantage for the subscribers to a public network lies in the fact that they only need to trust the signature of the certification body, and in this way can be sure of the authenticity of the presented public key. The certificate consists of two parts. The first part, for example, contains data elements relating to the key, the issuer of the certificate, the user, the signature algorithm, the serial number, etc. The second part of the certificate contains a digital signature generated using the first part of the certificate. A digital signature basically establishes the authenticity of electronically transmitted messages or electronic documents. In the process of generating a digital signature a HASH algorithm is used to form a HASH value from the first part of the certificate. The HASH algorithm compresses the data of the first part of the certificate. The HASH value is decrypted with a crypto algorithm. Decryption is based on the private key of a key pair. A series of cryptographic keys are issued to a person or an institution for various purposes. These purposes include secure network communication, e.g.
The possibilities for use of a key are defined in a single certificate which is digitally signed by the certification body. At present, each digital key issued to a person or institution must be assigned a certificate. The certificates enable communication partners to verify the legitimate use of a key. Each such certificate requires approximately 800 to 4000 bytes of data, including the certification body's digital signature. If, for example, three keys are to be stored on one chipcard in certified form, 2400 to 12000 bytes of space are required for the certificates. The issue of individual certificates for each key used means more memory is required on the keyholder's storage media. Furthermore, each certificate must be transmitted to the various communication partners of the keyholder and stored by them on their systems. The certificates also need to be stored on the various X.500 servers in the network and within the certification body in publicly accessible certificate lists. Which data fields may be redundant in several certificates is shown in The fact that one certificate is required per key results in an increased communication demand per transaction and increased memory requirement at all the communication partners. When the certificate expires, applications are made for new separate certificates for all keys, and the certificates are issued by the certification body. It is therefore the object of the present invention to deliver a new form of the certificate which can be transmitted fast to the various communication partners and results in reduced memory requirement on the storage media. In accordance with the present invention, a new certificate type is provided. With the new certificate type, several certificates, containing a minimum quantity of redundant data fields, are collated to form one certificate and all redundant information on the certificates is eliminated. An embodiment of the new certificate type is the group certificate. The group certificate is particularly suitable where several keys are to be issued at the same time for the same user by the same certification instance. By means of the group certificate, all redundant data elements are eliminated and all data elements for a set of several keys subject to certification are grouped into one certificate. This substantially reduces the memory requirement, and handling of the certificates is simplified for the communication partners. A further embodiment of the new certificate type is the basic and supplementary certificate combination. This form of certification is suitable where certificates are issued at different times for the same user by the same certification body. The memory requirement is consequently somewhat more than for group certificates, but greater flexibility is gained in use of the keys. The present invention is described in more detail on the basis of preferred embodiments in conjunction with drawings, wherein
Component 1 of the certificate indicates whether the cryptographic key being certified is a public or private key. Component 1 of the first part of the certificate also contains a key identification. It specifies permitted applications of the cryptographic key contained in the certificate. If, after successful certification, the cryptographic key is to be used to execute a specific application, a request is made for this key identification and a check is made as to whether the certified key is usable for the specific application. Depending on the result of this request, the cryptographic key can then either be used or an error message is generated. With the aid of the following components 2, 3 and 4, algorithm identifications are specified. Component 2 indicates the asymmetric cryptographic methods for which the key being certified is suitable. In use of the certified key, a hash algorithm and/or a padding algorithm can be used, for example. This is defined with the aid of components 3 and 4. With the aid of components 5 and 6 application areas of the cryptographic key can be defined. For example, component 5 can be used to determine that the cryptographic key may be used only to generate electronic signatures. Component 7 gives an indication in bits of the length of the cryptographic key to be certified with the certificate. With the aid of components 8, 9 and 10 block length data are transmitted as information for a user of the cryptographic key. Component 11 delivers text information on the cryptographic key. This may, in particular, be instructions for use or security instructions for the user. Component 12 indicates the actual length of the cryptographic key to be certified. The key data are located in component 13. When the first part of the certificate has been generated based on table 1, the process continues with creation of the second part of the certificate as presented in In this case the certificate keys 1–3 with the above-cited identical data fields are collated in one certificate where several keys are to be certified at the same time for the same user by the same certification body. A legal entity applies for simultaneous issue of a certificate for several keys. After verification of the person a certificate (group certificate) is issued for all private keys for which application has been made. This certificate includes all keys and is signed by the certification body. All keys have a uniform period of validity. In comparison with a X.509 V 3 certificate (state of the art), only the additional information concerning the number of keys needs to be incorporated. This group certificate thus has the following data fields:
If the same user applies for keys at different times from the same certification body, the method in accordance with the invention is executed such that the certification body issues to the user a basic certificate for all keys and a supplementary certificate for each key. The basic certificate contains all redundant data fields and the supplementary certificate all differing data fields. This is illustrated by the following example in conjunction with A user applies for a single certificate. The certification body issues a basic and a supplementary certificate to the user. The basic certificate contains the following data fields:
The supplementary certificate contains the following data fields:
If the same user applies for an additional key, only an additional supplementary certificate is created for the key.
It is to be assumed in the following that a specific application sends a request to the chipcard asking it to sign a message. To sign the message the chipcard requires a key. As presented in The present invention is capable of running on any properly configured general purpose computer system, such as the one shown in The computer 700 also contains a modem 726 for telecommunication of information 728 on the Internet and other networks. As shown in The advantages of the present invention lie in the fact that by the creation of a group certificate, and of basic and supplementary certificates, the size of the certificates can be decisively reduced and handling of the certificates by the holders and their communication partners is simplified. The group certificates with three keys save 1200 to 10000 bytes of memory space for the certificates. For the basic and supplementary certificates additional shorter supplementary certificates (key certificates) per key are issued in addition to the basic certificate. This means somewhat more space is taken up than by the group certificates, but greater flexibility is provided in use of the keys. It should be clear to those skilled in the art that a number of changes can be made in what has been disclosed without departing from the invention. Therefore, it should be understood that the present invention is not limited to the disclosed embodiment but includes within its scope those embodiments encompassed by the spirit and scope of the appended claims. Citations de brevets
Citations hors brevets
Référencé par
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||