Long-term secure digital signatures
The present invention relates to digitally signing of electronic documents which are to be kept secure for a very long time, thereby taking into account future cryptographic developments which could render current cryptographic key-lengths insufficient. In accordance with the invention a double signature is issued for each document. A first digital signature (DTS) ensures the long time security, whilst a second digital signature (DUS) ensures the involvement of an individual user. Thereby, the second digital signature is less computationally intensive in its generation than the first digital signature.
The present invention is related to a method, computer device, and system for digitally signing an electronic document that is to be kept secure for a long time period. The invention also relates to a method for verifying an electronic document that has been digitally signed.
BACKGROUND OF THE INVENTIONMore and more documents are stored electronically. This often involves a digital time-stamping mechanism in order to bind the document or its content to a particular point in time. To minimize the risk that either the data or the time-stamp can be tampered with at a later date a cryptographic digital signature is used to protect both elements.
US Patent Application Publication US 2002/0120851 A1 refers to a device and method for data time-stamping. The device includes a trusted clock, a memory, a time-stamper and a digital signer. The device is adapted to store to the memory data that has been time-stamped by the time-stamper, with a time obtained from the trusted clock, and digitally signed with a digital signature by the digital signer.
However, at present the requirement that a user is legally liable for documents that he/she digitally signs and that the documents remain secure for a long period of time, for example at least 30 years, can not be fulfilled, because of the limited computational power of personal cryptographic tokens.
It should not be possible to create any signature without the users consent. This can be forced by an individual cryptographic hardware token which acts as a signing device (e.g. a smart card).
Current hardware tokens of this type are restricted in terms of computational power which means that digital signatures with very large key lengths cannot be computed within an acceptable time.
It is an object of the present invention to create and verify digital signatures that are secure for a very long time, taking into account future cryptographic developments which could render current cryptographic key-lengths insufficient.
SUMMARY AND ADVANTAGES OF THE INVENTIONIn accordance with the present invention, there is provided a method for digitally signing an electronic document for long term security purposes comprising the steps of marking with a digital mark and signing with a first digital signature the electronic document. The marked and signed electronic document is then signed with a second digital signature that is less computationally intensive in its generation than the first digital signature. In most cases the second digital signature is based on a shorter cryptographic key then the first digital signature.
The electronic document and the first digital signature or part thereof can be provided to a client computer where under use of a cryptographic token the second digital signature which depends on the content of the electronic document and the first digital signature or the part thereof is generated. This allows a presenting or displaying of the electronic document to a user, who can review the electronic document and sign it with an individual cryptographic token, for example with a smart card, which belongs to the user and is also referred to as signing device.
The cryptographic token can be related to a user group which then shares one cryptographic token making the group or a department liable.
The digital mark can comprise a unique number that is a sequence number, a time-stamp, or a value derived thereof. The digital mark allows a unique number to be allocated which later on can be used for revocation purposes.
The signed electronic document can additionally be signed with a third digital signature or a further digital mark, i.e. after the user has signed. This would be performed where the first digital signature was created, e.g. at a time-stamping or signature server. The revocation process could be simplified because it would allow an easier key revocation, as it is sufficient to tell the signature server which keys are invalid.
The digital signatures may use asymmetrical as well as symmetric encryption. Public/secret- key cryptography can be applied advantageously by using first and second signature keys. The individual key for the second signature has a length that can be handled by the individual signing devices. However this might be insufficient to guarantee security for the long-term future. The first signature key on the other hand is of sufficient length such that by all reasonable predictions it can not be broken within the desired live-time of the key.
In general, the invention solves the problem of creating digital signatures that must be secure for a very long time, taking into account future cryptographic developments which could render current cryptographic key-lengths insufficient. Having a digital signature or part thereof calculated on an easy transportable device, such as a smart card, makes a user legally liable for documents that he/she digitally signs. In accordance with the invention a double signature is issued for each document, one ensuring the long time security, the other one ensuring the involvement of the individual user. The final signature of the document is therefore a combination of these two signatures. Taking into account the nature of the two signatures in terms of used key size and of the calculation algorithms, it seems not to be useful to regenerate the signatures during the life of a document. The combination of these two signatures allows a very high security level, for short tern and overall for long term.
The first stage involves a trusted digital marking which may add time and date and certificate information to the document or a document hash value, and signing it with the first digital signature.
This first stage can be performed by a trusted server that uses a very strong key length, e.g. 3072-4096 bits, and may use several different signature schemes in parallel, e.g. RSA, ECC, to maintain security even if a particular scheme is compromised.
The user then verifies the document, which now includes the signed digital mark, and signs it again using his/her individual signing device with the second digital signature digital which is less computationally intensive in its generation than the first digital signature. The document is then contemplated as a validly signed electronic document. An advantage of this is the long term security, while still allowing every individual user to have his/her private key that never leaves the individual signing device. This allows that users be liable for their signatures, while giving assurance that the key-length on the final signature is sufficient to last for a long time. Thus, the scheme allows a long-term personal liability on digital signatures.
It is also possible to revoke a key if one individual signing device gets lost. Because every signature comes with a reliable digital mark, signatures signed after the revocation time of one individual signing device are simply declared invalid.
If—due to technical developments—the key length of the individual singing keys become into danger of being insufficient, all individual signing keys are revoked and replaced by longer keys. To increase security, the digital marking key may be destroyed, such that it is impossible to issue any digital mark compatible with the old keys.
A computer device, e.g. a laptop computer, with an electronic smart card reader for reading a smart card can be used to generate the second digital signature. Also possible is to use a personal digital assistant (PDA) which at the same time can be the cryptographic token. The cryptographic token is contemplated as an individual signing device or part thereof which is a small device in the possession of the user that issues the second digital signature.
In another aspect of the invention there is provided a system for digitally signing an electronic document for long term security purposes. The system comprises a document repository for storing and providing the electronic document, a digital signature computing device connected to the document repository for deriving from a digital mark and the electronic document a first digital signature, and a cryptographic device for generating a second digital signature that is less computationally intensive in its generation than the first digital signature.
The digital signature computing device could comprise a tamperproof clock, which can be used to create the digital mark and therewith the first digital signature. In addition, the digital signature computing device could comprise an internal clock for verifying a predefined time-interval between the issuance of the first digital signature and the second digital signature to be issued. For example, the individual digital signature computing device only issues the second digital signature on the electronic document that was digitally marked and signed within the last, for example, ten minutes. This makes it harder to stage long term attacks that try to gather the components of a valid digital signature over a certain time period.
The digitally signed electronic document can be verified under use of a first public key corresponding to the first digital signature and a second public key corresponding to the second digital signature. The use of public-key cryptography allows an easy verification process.
In yet another aspect of the invention there is provided a method for verifying an electronic document that has been digitally signed by a first digital signature under use of a digital mark and thereon with a second digital signature. The method comprises the step of verifying the validity of the digitally signed electronic document by using a first public key corresponding to the first digital signature and a second public key corresponding to the second digital signature that is less computationally intensive in its generation than the first digital signature.
DESCRIPTION OF THE DRAWINGSPreferred embodiments of the invention are described in detail below, by way of example only, with reference to the following schematic drawings.
The drawings are provided for illustrative purpose only and do not necessarily represent practical examples of the present invention to scale.
DETAILED DESCRIPTION OF THE INVENTIONIn the following, the various exemplary embodiments of the invention are described.
For the understanding of the process flow, the steps are labeled at the connections with numbers in a circle which correspond to the numbers 1-8 mentioned hereafter. As indicated with 1, the electronic document to be signed is retrieved from the document repository 10 and presented to the signature server 12 where a system signature is created and attached. This is described in more detail with reference to
The system signature is created at the signature server 12 usually located at a central site. For the creation of the system signature two algorithms with public/private double-key based on a key size of, for example, 4096 bits, can be used. A respective private key can be stored in a hyper-secure cryptographic coprocessor card which generates a reference time-stamp. A corresponding public key can be stored in the signature server 12 which can also be used as public keys server located at the central site.
The user signature is calculated and generated under use of a cryptographic token that here is the smart card 18. For that, an algorithm with public/private double-key based on a key size of, for example, 2048 bits can be used. The double-key is generated once by the user or a user group. A users private key is only stored in the electronic card, the smart card 18. It is not on transit on any network and it cannot be copied. A corresponding user public key can be stored in a public keys server located at the central site whereto it is transmitted by order.
In a further embodiment, the user asks for displaying one electronic document he/she wants to sign. Consequently, a request is sent to the application server or directly to the document repository 10 in order to obtain the data in question which has to be presented to the user for his/her signature. The set of data, that is the requested electronic document and the user's identity are sent to the signature server 12 in order to be signed. At this step, the system signature is added to the electronic document. The electronic document and system signature are then forwarded and presented to the user. The data can then be checked by the user.
In another embodiment, the user signs by placing his/her finger on a fingerprint reader which can be on the card reader 16.
The same reference numbers are used to denote the same or like parts.
The long term security of the scheme relies on the security of the first digital signature 28. Performance is a minor issue here, as the system signature DTS is usually generated by a stationary server with sufficient resources. Therefore, the key length used here will be rather large, e.g., 4096 bit RSA, and possibly several different schemes basing on different cryptographic assumptions are used in parallel in case there is a total break of cryptographic algorithm, e.g., RSA and DSA.
The second digital signature 38 is issued by a small cryptographic token being the smart card 18, in possession of the user. Therefore, the computing power may be limited. This imposes a restriction on the key length and thus also on the long-term security of the users signature. Furthermore, it is possible that the cryptographic token, i.e. the smart card 18, is lost or stolen. The token can thus not be used to ensure long-term security. Over the lifetime of the system, it can be replaced or retired at any time without endangering the security if signatures issued before or afterwards.
To verify the signature 28, 38, the user first verifies the second digital signature 38 by applying a second public key. The user also should verify whether or not the second public key 47 is valid for the time or sequence number contained in the digital mark 23. As the second private Key 37 may be revoked, the document signed with it after revocation is not valid.
If the second digital signature 38 is valid, the user verifies if the first digital signature 28 is correct by using a first public key 46, the key that corresponds to the first private key 26 used by the signature server 12. If both signatures DTS, DUS are correct and the second public key 47 is valid for the time in question, the whole signature is considered correct.
In detail, from the document 20, the digital mark 23, and the first digital signature 28 a first verification hash 41 is derived resulting in a first verification hash value 43. Furthermore, under use of the second public key 47, the second digital signature 38, and a cryptographic decryption algorithm a second verification hash value 45 is derived. The first and second verification hash values 43, 45 can then be compared easily.
From the document 20 and the digital mark 23 a second verification hash 40 is derived resulting in a third verification hash value 42. Further, under use of the first public key 46, the first digital signature 28, and a cryptographic decryption algorithm a fourth verification hash value 44 is derived. The third and fourth verification hash values 42, 44 can then be compared easily. If the hash values 43, 45 and 42, 44 match respectively, the signatures are valid.
Any disclosed embodiment may be combined with one or several of the other embodiments shown and/or described. This is also possible for one or more features of the embodiments.
Claims
1. A method comprising: digitally signing an electronic document for long term security purposes, the step of digitally signing comprising the steps of:
- marking electronic document with a digital mark forming a marked electronic document, and
- signing the marked electronic document with a first digital signature forming a signed electronic document, wherein the signed electronic document is signed with a second digital signature that is less computationally intensive in its generation than the first digital signature.
2. The method according to claim 1, further comprising
- generating the digital mark to be dependent upon the content of the electronic document; and
- generating the first digital signature using the digital mark.
3. The method according to claim 1, further comprising
- providing the electronic document and the first digital signature to a client computer; and
- using a cryptographic token to generate the second digital signature that depends on the content of the electronic document and the first digital signature.
4. The method according to claim 3, wherein the cryptographic token is related to at least one of an individual user and a user group.
5. The method according to claim 1, wherein the digital mark comprises a unique number that is at least one of a sequence number, a timestamp, and a value derived thereof.
6. The method according to claim 1, wherein the second digital signature is based on a shorter cryptographic key then the first digital signature.
7. The method according to claim 1, further comprising signing the signed electronic document additionally with a third digital signature.
8. A method according to claim 1, further comprising: employing a computer device for performing the signing of the second digital signature.
9. The method according to claim 8 wherein the computer device comprising an electronic smart card reader for reading a smart card.
10. A system for digitally signing an electronic document for long term security purposes, the system comprising:
- a document repository for storing and providing the electronic document;
- a digital signature computing device connected to the document repository for deriving from a digital mark and the electronic document a first digital signature; and
- a cryptographic device for generating a second digital signature that is less computationally intensive in its generation than the first digital signature.
11. The system according to claim 10, wherein the digital signature computing device comprises a tamperproof clock.
12. The system according to claim 1, wherein the cryptographic device comprises an internal clock for verifying a predefined time-interval between the issuance of the digital mark signature and the second digital signature.
13. The system according to claim 10, used for verifying the digital signed electronic document using a first public key corresponding to the first digital signature and a second public key corresponding to the second digital signature.
14. A method comprising verifying an electronic document that has been digitally signed by a first digital signature using a digital mark, and signed by a second digital signature forming a digitally signed electronic document, the step of verifying comprising the step of:
- verifying a validity of the digitally signed electronic document by using a first public key corresponding to the first digital signature and a second public key corresponding to the second digital signature, said second digital signature being less computationally intensive in its generation than the first digital signature.
15. The method according to claim 14, further comprising:
- generating the digital mark to be dependent upon the content of the electronic document; and
- generating the first digital signature using the digital mark.
16. An article of manufacture comprising a computer usable medium having computer readable program code means embodied therein for causing functions of signing an electronic document, the computer readable program code means in said article of manufacture comprising computer readable program code means for causing a computer to effect the steps of:
- marking electronic document with a digital mark forming a marked electronic document, and
- signing the marked electronic document with a first digital signature forming a signed electronic document, wherein the signed electronic document is signed with a second digital signature that is less computationally intensive in its generation than the first digital signature.
17. A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for signing an electronic document, said method steps comprising the steps of claim 1.
18. A computer program product comprising a computer usable medium having computer readable program code means embodied therein for causing functions of a system for digitally signing an electronic document, the computer readable program code means in said computer program product comprising computer readable program code means for causing a computer to effect the functions of;
- a document repository for storing and providing the electronic document;
- a digital signature computing device connected to the document repository for deriving from a digital mark and the electronic document a first digital signature; and
- a cryptographic device for generating a second digital signature that is less computationally intensive in its generation than the first digital signature.
19. An article of manufacture comprising a computer usable medium having computer readable program code means embodied therein for causing verification of an electronic document, the computer readable program code means in said article of manufacture comprising computer readable program code means for causing a computer to effect the steps of claim 14.
20. A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for verifying an electronic document, said method steps comprising the steps of claim 14.
Type: Application
Filed: Mar 3, 2004
Publication Date: Dec 21, 2006
Inventors: Peter Buhler (Horgen), Klaus Kursawe (Leuven), Roman Maeder (Zurich), Michael Osborne (Au)
Application Number: 10/548,137
International Classification: H04L 9/00 (20060101);