WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Public key/signature cryptosystem with enhanced digital signature certification    
United States Patent5214702   
Link to this pagehttp://www.wikipatents.com/5214702.html
Inventor(s)Fischer; Addison M. (60 14th Ave. South, Naples, FL 33942)
AbstractA public key cryptographic system is disclosed with enhanced digital signature certification which authenticates the identity of the public key holder. A hierarchy of nested certifications and signatures are employed which indicate the authority and responsibility levels of the individual whose signature is being certified. The certifier in constructing a certificate generates a special message that includes fields identifying the public key which is being certified, and the name of the certifiee. The certificate is constructed by the certifier to define the authority which is being granted and which may relate to a wide range of authorizations, delegation responsibilities or restrictions given to, or placed on the certifiee. Methodology is also disclosed by which multiple objects such as, for example, a cover letter, an associated enclosed letter, an associated graphics file, etc., are signed together. Methodology is also disclosed for digitally signing documents in which a digital signature is generated for both computer verification and for reverification if a document needs to be reconfirmed by reentering from a paper rendition.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 5214702
Public key/signature cryptosystem with enhanced digital signature

     certification - US Patent 5214702 Drawing
Public key/signature cryptosystem with enhanced digital signature certification
Inventor     Fischer; Addison M. (60 14th Ave. South, Naples, FL 33942)
Owner/Assignee    
Patent assignment
All assignments
Publication Date     * May 25, 1993
Application Number     07/884,867
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     May 13, 1992
US Classification     380/30 713/157 713/175 713/180
Int'l Classification     H04K 001/00
Examiner     Swann; Tod R.
Assistant Examiner    
Attorney/Law Firm     Nixon & Vanderhye
Address
Parent Case     This is a continuation of application Ser. No. 07/772,120, filed Oct. 9, 1991, which is now a continuation of U.S. Ser. No. 07/619,511, filed Nov. 29, 1990, which both are now abandoned, which is a continuation of U.S. Ser. No. 07/319,780, filed Mar. 7, 1989, now U.S. Pat. No. 5,005,200, which is a continuation-in-part of U.S. Ser. No. 155,447, filed Feb. 8, 1988 now U.S. Pat. No. 4,868,877.
Priority Data    
USPTO Field of Search     380/23 380/24 380/25 380/30
Patent Tags     public key/signature cryptosystem enhanced digital signature certification
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
5018196
Takaragi
380/30
May,1991

[0 after 0 votes]
5005200
Fischer
380/30
Apr,1991

[0 after 0 votes]
4885777
Takaragi
380/30
Dec,1989

[0 after 0 votes]
4868877
Fischer
713/157
Sep,1989

[0 after 0 votes]
4771461
Matyas
380/282
Sep,1988

[0 after 0 votes]
4759064
Chaum
380/30
Jul,1988

[0 after 0 votes]
4633036
Hellman
380/30
Dec,1986

[0 after 0 votes]
4218582
Hellman
380/30
Aug,1980

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


I claim:

1. In a communication system having a plurality of terminal devices coupled to a channel over which users may exchange messages, at least some of said users having a public key and an associated private key, a method for controlling authority in a message digitally signed by a first party comprising the steps of:

specifying a digital authority defining data structure including:

a first digital field indicative of the public key of the first party,

a second digital field indicative of the public key of a second party whose digital signature, in addition to the signature of the first party, must also be associated with the signed message in order for the signed message to be treated as properly authorized, and

digitally signing the message such that the message is related to the digital authority defining data structure as part of the signature process, whereby message recipients may determine the digitally authority defining data structure during a signature verification process.

2. A method according to claim 1, further comprising the step of including in said second digital field digital data specifying a set of parties whose signatures must be associated with the signed message in order for the signed message to be treated as properly authorized.

3. A method according to claim 2, wherein said set of parties defines joint signers.

4. A method according to claim 2, wherein said set of parties defines countersigners.

5. A method according to claim 1, further including the step of including a further digital field in said digital authority defining data structure defining a set of authorizations which have been vested in the message signer, whereby the limitations and authorizations vested in the signer are incorporated into a digital signature packet and may be determined by a message recipient upon an electronic analysis of the digital signature packet.

6. In a communication system having a plurality of terminal devices coupled to a channel over which users may exchange messages, at least some of said users having a public key and an associated private key, a method for controlling authority in a hierarchial manner comprising the steps of:

formulating at least a portion of a digital message,

digitally signing at least said portion of said digital message; and

indicating within said message a digital authority defining data structure having a plurality of digital fields created by a a certifier, said authorizing digital authority defining data structure being created by the steps of:

specifying by the certifier in at least one of said digital fields, the authority which is vested in the certifier limiting the authority which has been delegated to the signer of said message, by including sufficient digital information to enable a recipient of said message to verify, by electronically analyzing said message, that the authority exercised by the signer in signing the content of said message created by the signer was properly exercised by the signer in accordance with the authority delegated by the certifier; and

identifying the certifier in other of said digital fields by including sufficient digital information for said recipient of the message to determine by electronically analyzing said message that the certifier possesses the authority to grant said delegated authority.

7. A method according to claim 6, further including the step of applying a hashing function to at least a portion of the message to be transmitted to form a presignature hash; and wherein said digitally signing step includes the step of processing said presignature hash with the signer's private key to form said digital signature.

8. A method according to claim 7, further including the step of forming a digital signature packet comprising the digital signature and a representation of said at least a portion of the message to be transmitted.

9. A method according to claim 6, wherein said digital authority defining data structure includes digital fields defining the cosignature requirements which must accompany the signer's signature in order for the signer's signature to be treated as properly authorized.

10. A method according to claim 9, wherein said digital fields defining cosignature requirements set forth a required digital signature by a specified third party indicating approval of the signer's signature to thereby define a counter signature requirement.

11. A method according to claim 10, wherein the third party countersigns by digitally signing the signer's digital signature.

12. A method according to claim 9, wherein the cosignature requirements include a digital field specifying at least one other digital signature which is required to appear in the digital message thereby defining a joint signature requirement.

13. A method according to claim 6, wherein said authorizing digital authority defining data structure includes at least one digital field defining limitations as to the authority granted by the digital authority defining data structure.

14. A method according to claim 6, wherein said authorizing digital authority defining data structure defines the identity of the signer.

15. A method according to claim 13, further including the step of specifying a monetary limit for the signer in a digital field in said digital authority defining data structure.
 Description Submit all comments and votes
 


FIELD OF THE INVENTION

This invention relates to a cryptographic communications system and method. More particularly, the invention relates to a public key or signature cryptosystem having improved digital signature certification for indicating the identity, authority and responsibility levels associated with at least the sender of a digital message.

BACKGROUND AND SUMMARY OF THE INVENTION

The rapid growth of electronic mail systems, electronic funds transfer systems and the like has increased concerns over the security of data transferred over unsecured communication channels. Cryptographic systems are widely used to insure the privacy and authenticity of messages communicated over such insecure channels.

In a conventional cryptographic system, a method of encryption is utilized to transform a plain text message into a message which is unintelligible. Thereafter, a method of decryption is utilized for decoding the encrypted message to restore the message to its original form.

Conventional crypotographic signature and authentication systems typically utilize a "one way" hashing function to transform the plain text message into a form which is unintelligible. A "hashing" function as used herein is a function which can be applied to an aggregation of data to create a smaller, more easily processed aggregation of data.

An important characteristic of the hashing function is that it be a "one-way" function. A hash is a "one-way" function which should be computationally easy to compute give the underlying data. The hash function should be computationally impossible given a hash value, to either determine the underlying data, or to create any data which has the specified value as its hash. For all practical purposes, the value obtained from applying the hashing function to the original aggregation of data is an unforgeable unique fingerprint of the original data. If the original data is changed in any manner, the hash of such modified data will be different.

In conventional cryptographic systems, binary coded information is encrypted into an unintelligible form called cipher and decrypted back into its original form utilizing an algorithm which sequences through encipher and decipher operations utilizing a binary code called a key. For example, the National Bureau of Standards in 1977 approved a block cipher algorithm referred as the Data Encryption Standard (DES). Data Encryption Standard, FIPS PUB 46, National Bureau of Standards, Jan. 15, 1977.

In DES, binary coded data is cryptographically protected using the DES algorithm in conjunction with a key. Each member of a group of authorized users of encrypted computer data must have the key that was used to encipher the data in order to use it. This key held by each member in common is used to decipher the data received in cipher form from other members of the group.

The key chosen for use in a particular application makes the results of encrypting data using the DES algorithm unique. Selection of a different key causes the cipher that is produced for a given set of inputs to be different. Unauthorized recipients of the cipher text who know the DES algorithm, but who do not have the secret key, cannot derive the original data algorithmically.

Thus, the cryptographic security of the data depends on the security provided for the key used to encipher and decipher the data. As in most conventional cryptographic systems the ultimate security of the DES system critically depends on maintaining the secrecy of the cryptographic key. Keys defined by the DES system include sixty-four binary digits of which fifty-six are used directly by the DES algorithm as the significant digits of the key and eight bits are used for error detection.

In such conventional cryptographic systems, some secure method must be utilized to distribute a secret key to the message sender and receiver. Thus, one of the major difficulties with existing cryptographic systems is the need for the sender and receiver to exchange a single key in such a manner that an unauthorized party does not have access to the key.

The exchange of such a key is frequently done by sending the key, prior to a message exchange, via, for example, a private courier or registered mail. While providing the necessary security such key distribution techniques are usually slow and expensive. If the need for the sender and receiver is only to have one private message exchange, such an exchange could be accomplished by private courier or registered mail, thereby rendering the cryptographic communication unnecessary. Moreover, if the need to communicate privately is urgent the time required to distribute the private key causes an unacceptable delay.

Public key cryptographic systems solve many of the key distribution problems associated with conventional cryptographic systems. In public key cryptographic systems the encrypting and decrypting processes are decoupled in such a manner that the encrypting process key is separate and distinct from the decrypting process key. Thus, for each encryption key there is a corresponding decryption key which is not the same as the encryption key. Given the knowledge of the encryption key, it is not feasible to compute the decryption key.

With a public key system, it is possible to communicate privately without transmitting any secret keys. The public key system does require that an encryption/decryption key pair be generated. The encryption keys for all users may be distributed or published and anyone desiring to communicate simply encrypts his or her message under the destination user's public key.

Only the destination user, who retains the secret decrypting key, is able to decipher the transmitted message. Revealing the encryption key discloses nothing useful about the decrypting key, i.e., only persons having knowledge of the decrypting key can decrypt the message. The RSA cryptographic system which is disclosed in U.S. Pat. No. 4,405,829 issued to Rivest et al discloses an exemplary methodology for a practical implementation of a public key cryptographic system.

A major problem in public key and other cryptographic systems is the need to confirm that the sender of a received message is actually the person named in the message. A known authenticating technique utilizing "digital signatures" allows a user to employ his secret key to "sign a message" which the receiving party or a third party can validate using the originator's public key. See for example U.S. Pat. No. 4,405,829.

With the advent of such digital signatures, it is now possible for any digital message to be signed so that the recipient is assured that the message is received as sent, and that it is not a forgery. This is done by using the "public key" and digital signature methodology such as described by at least U.S. Pat. No. 4,405,829, hereinafter referred to as RSA technique. There are other public key and signature techniques which use methodologies other than RSA. Examples of other public key or signature techniques include Fiat-Shamir, Ong-Schnorr-Shamir, and several others derived from zero-knowledge proof techniques. While none of these other techniques include the privacy capabilities of RSA, they do allow for digital signatures. The present invention is not limited to any particular public key or signature technique.

A user who has filed a public key in a publicly accessible file can digitally sign a message by "decrypting" (or "signing") the message or a hash of it with the user's private key before transmitting the message. Recipients of the message can verify the message or signature by encrypting it with the sender's public encryption key. Thus, the digital signature process is essentially the reverse of the typical cryptographic process in that the message is first decrypted and then encrypted. Anyone who has the user's public encryption key can read the message or signature, but only the sender having the secret decryption could have created the message or signature.

In general, the digital signature assures the recipient of the integrity of the message at the time the signature was computed. However, the authenticity of the signer is only assured to the extent that the recipient is assured that the public key used to sign the digital message actually belongs to the purported sender. This issue becomes more important as the use of digital signatures become more widespread, and the various correspondents (perhaps otherwise unknown to each other) obtain one another's public keys through centrally maintained "directories" (or any other means).

Thus, serious problems still persist in public key cryptosystems of assuring that a specified public key is that actually created by the specified individual. One known technique for addressing this problem is to rely on some trusted authority, e.g., a governmental agency, to insure that each public key is associated with the person claiming to be the true author.

The trusted authority creates a digital message which contains the claimant's public key and the name of the claimant (which is accurate to the authority's satisfaction) and a representative of the authority signs the digital message with the authority's own digital signature. This digital message, often referred to as a certificate, is sent along with the use of the claimant's own digital signature. Any recipient of the claimant's message can trust the signature, provided that the recipient recognizes the authority's public key (which enables verification of the authority's signature) and to the extent that the recipient trusts the authority.

Certificates can be thought of as brief messages which are signed by the trusted authority, and which contain, either explicitly or implicitly, a reference to the public-key which is being therein certified, and the identity of the public key's owner (creator). In such an implementation, if "C" has provided a certificate for "A"; then recipient "B" can trust the use of "A's" public key, provided that "B" trusts "C", and provided that "B" possesses "C's" certification of "A's" public key.

In conventional communication systems, the transmitted certificate does not provide any indication of the degree of trust or the level of responsibility with which the sender of the message is empowered. Instead, the certification merely indicates that the identified trusted authority recognizes the sender's public key as belonging to that person.

The public key system is designed to operate such that the public keys of various users are published to make private communications easier to accomplish. However, as the number of parties who desire to use the public key system expands, the number of published keys will soon grow to a size where the issuing authority of the public keys can not reasonably insure that the parties whose public keys are published are, in fact, the people who they are claiming to be. Thus, a party may provide a public key to be maintained in the public directory under the name of the chairman of a major corporation, e.g., for example, General Motors Corporation. Such an individual may then be in a position to receive private messages directed to the chairman of General Motors or to create signatures which ostensibly belong to the impersonated chairman.

There are also technologies for producing digital signatures which may not require full public key capability, including, for example, the Fiat-Shamir algorithm. Any reference to public key cryptosystems should also be construed to reflect signature systems. Any reference to public key decryption should be taken as a generalized reference to signature creation and any reference to encryption should be taken as a reference to signature verification.

The present invention addresses such problems with public key or signature cryptographic systems relating to authenticating the identity of the public key holder by expanding the capabilities of digital signature certification. In this regard, a certification methodology is utilized which employs multiple level certification while at the same time indicating the "authority" of the individual whose signature is being certified as will be described in detail below. As used herein, an indication of "authority" broadly refers to any indication of power, control, authorization, delegation responsibilities or restrictions placed thereon through the use of digital signatures or certificates.

The present invention enhances the capabilities of public key cryptography so that it may be employed in a wider variety of business transactions, even those where two parties may be virtually unknown to each other.

The present invention advantageously provides the ability to specify a variety of attributes associated with the certification. These attributes extend beyond merely assuring the correct identity of an individual, and actually specify the authority or constraints (in a wide variety of situations) which are conferred on the certifiee by certifier.

For example, the present invention allows a corporation to not only certify that a particular public key is used by a particular employee, but also allows that corporation to explicitly state the authority which it has granted that individual in the context of his employment, and use of that key on the corporation's behalf.

The types and classes of authority which are granted are not limited. In the present invention, a digital signature is certified in a way which indicates the authority the has been granted to the party being certified (the certifiee). The certifier in constructing a certificate generates a special message that includes fields identifying the public key which is being certified, and the name and other identification of the certifiee. In addition, the certificate constructed by the certifier includes the authority which is being granted and limitations and safeguards which are imposed including information which reflects issues of concern to the certifier such as, for example, the monetary limit for the certifiee and the level of trust which is granted to the certifiee. The certificate may also specify co-signature requirements as being imposed upon the certifiee. Some of the more practical classes of authority and/or limitations thereon contemplated by the present invention are summarized below:

A certificate may include the monetary amount which a certified employee is able to authorize using a particular digital signature. Such a limitation will become increasingly important as more and more business is transacted electronically over digital networks. Since this limitation is "built-in" to the certificate, it allows any recipient to know immediately whether, for example, a digitally-signed purchase order is valid.

The present invention may also require digital "co-signatures" to be used whenever a particular certified public key is used. The term "co-signature" is used to encompass either "joint" or "countersignatures". As used herein, joint signatures are signatures which are applied directly to the same "object" (e.g., document purchase order), whereas counter signatures are signatures which are applied to another signature. In principle, joint signatures can be applied "in parallel", in any order, whereas a counter signature specifically "ratifies" an existing signature. Thus, the digital signature certification method and apparatus of the present invention provides for a hierarchy of certifications and signatures. With respect to co-signature requirements, counter-signature and joint-signature requirements are referenced in each digital certification to permit business transactions to take place electronically, which heretofore often only would take place after at least one party physically winds his way through a corporate bureaucracy. This will allow an organization to mimic, for example, the current practice of requiring multiple signatures to authorize spending (or any other sensitive purpose that may be deemed appropriate). Since this requirement is built into the digital certificates of the present invention, it will be clear to the receiver when (one or more) co-signatures are required, and the recipient (or the recipient's software) can determine whether the necessary appropriate co-signatures are present.

The present invention further provides for certifying digital signatures such that the requirement for further joint certifying signatures is made apparent to any receiver of a digital message. The requirement for joint signatures is especially useful, for example, in transactions where money is to be transferred or authorized to be released. To accomplish this end, the certificate of the present invention is constructed to reflect (in addition to the public key and the name of the certifiee and other fields) the number of joint signatures required and an indication as to the identity of qualifying joint signers. Thus, an explicit list of each of the other public key holders that are required to sign jointly may be included in the certificate. In this fashion, the recipient is informed that any material which is signed by the authority of the sender's certificate, must also be signed by a number of other specified signators. The recipient is therefore able to verify other joint and counter signatures by simply comparing the public keys present in each signature in the certificate. The present invention also includes other ways of indicating co-signature requirements such as by referencing other certificates. Such indications of other public key holders may be explicit (with a list as described here), or implicit, by specifying some other attribute or affiliation. This attribute or affiliation may also be indicated in each co-signer's certificate.

The present invention contemplates building "clearance" levels into the certificate. For example, this allows the military (or any organization concerned about security), to incorporate security into their certificates. This feature allows for the confirmation of the exact security level of the person who authored a signed message.

Conversely, and perhaps more important, is the ability to provide an additional level of checking when sending digital messages: when messages are encrypted (a process which also requires a recipient's public key and therefore the recipient's certificate) the computer system embodying the present invention will be able to insure that all recipients have the proper security authorization to receive a particular message containing sensitive information.

Additionally, the present invention provides for the certification of digital signatures such that a trust level is granted to the recipient for doing subcertifications. In this manner, a trust level of responsibility flows from a central trusted source.

In an exemplary embodiment of the present invention, a certifier is permitted to assign with one predetermined digital code, a trust level which indicates that the certifier warrants that the user named in the certificate is known to the certifier and is certified to use the associated public key. However, by virtue of this digital code, the user ("certifiee") is not authorized to make any further identifications or certifications on the certifier's behalf. Alternatively, the certifier may issue a certificate having other digital codes including a code which indicates that the user of the public key is trusted to accurately identify other persons on the certifier's behalf and (perhaps) is even further trusted to delegate this authority as the user sees fit.

The present invention further provides for a user's public key to be certified in multiple ways (e.g., certificates by different certifiers). The present invention contemplates including the appropriate certificates as part of a user's signed message. Such certificates include a certificate for the signer's certifier and for the certifiers' certifier, etc., up to a predetermined certificate (or set of mutually referenced co-certificates) which is trusted by all parties involved. When this is done, each signed message unequivocally contains the ladder or hierarchy of certificates and the signatures indicating the sender's authority. A recipient of such a signed message can verify that authority such that business transactions can be immediately made based upon an analysis of the signed message together with the full hierarchy of certificates.

The present invention provides the ability to hierarchically administer a large system or group of systems; and to do so in a fashion with maximum control, and which minimizes the possibility of error, corruption, subterfuge or mischievous disruption.

Since the certificates created by the present invention convey not only simple identification, but also authority, restrictions and limitations, including monetary authority, it is extremely important that certification be accurately implemented and carefully controlled. In a large organization (or group of organizations), it becomes more difficult to centrally confirm everyone's identity (not to mention their authority). Also there is constant change: employees will need to be re-issued certificates as their status' change. The present invention incorporates distributed, hierarchial administration to meet these needs.

The present invention enforces limitations and accountability from hierarchy to hierarchy so that the recipient of any message signed with such a (hierarchically derived) certificate can be assured that the authority represented by the signer is strictly accounted.

This is accomplished by 1) including as part of each certificate the statement (in a form readily checked by computer, as well possibly by human confirmation) the powers, authority and limitations which are being granted.

2) Stipulating in each certificate, the powers and authorities which the certifier will permit to be further hierarchically granted (if at all).

3) When important, valuable or sensitive authority is being granted, including possibly the power to in turn grant authority to a yet further level, or the power to authorize money or other sensitive resource, the requirement of multiple signatures (co-signatures) can be stipulated. Such co-signatures may be explicitly indicated (by reference to another certificate, or public key), or implicitly (by specifying a class of certificates or public keys, or by some abstract grouping or identification).

This enforces checks and balances, and mutual decisions, and automatic policing when sensitive powers are exercised. This also enhances the integrity of the entire system by reducing the chance that corruption will occur, and if it does occur, to minimize and isolate any damage. The risk of collusion can always be reduced by increasing the required number of necessary co-signers.

4) In large organizations, the private aspect of public keys will occasionally become compromised (perhaps through carelessness by their owners), and it may be necessary to issue cancellations notices throughout a network.

In the current state of the art, the only practical way to do this is for the maker of a certificate (the certifier) to cancel a certificate. Otherwise, a malicious or mischievous entity could create bogus cancellation notices and wreak havoc by falsely cancelling innocent users' certificates.

The present invention may be used to control cancellation in a distributed manner, so that the actual maker of a certificate is not required to always also be the canceller. This allows the "police" power to be safely regulated, but without requiring the constant attention of those who define the certificates and insure their accuracy.

The present invention additionally provides a methodology by which multiple objects such as, for example, a cover letter, an associated enclosed letter, an associated graphics file, etc., may be signed together in such a way that each object is individually verifiable and while also indicating the relationship of each object to the whole group. An aggregation of data related to all of these objects (possibly the HASH of each of these objects together with control information) is gathered into an ordered list. This ordered list is then viewed as an object and is signed or the hash of the list is signed. This list shows that the signer individually recognized the associated objects as well as their context in the group. Thus, each element of this ordered list is processed by a hashing algorithm (to generate a more compact version thereof) which results in a list of presignature hash values. The presignature hash list is then run through a decrypt (signature) cycle to result in the signer's signature, hereinafter referred to as seal, which becomes part of the signature packet as will be described in detail below.

The present invention further provides a methodology for digitally signing documents in which the signature is generated for both computer verification and for reverification if a document needs to be reconfirmed in the future by reentering it from a paper rendition. To accomplish this end, two hash values are utilized in digital signatures of document-type computer messages. The first hash value which is utilized relates to the exact bit-for-bit data in the file. This will allow for validation of the exact original document as long as it is accessible in computer readable form.

The present invention also embodies a second auxiliary hash value which is taken across the same data in the file, except the data used for the second hash value is "white-space-normalized". This white space normalization allows the data to be re-entered from a printout at some future time, if necessary, without having to worry about what kind of unprintable, unseen control characters may have existed on the original.

It should be recognized that in any given application, the public key, certificate and digital signature may be designed to perform distinct but somewhat overlapping functions. In this regard, one might possibly include in the "public" key certain aspects of what is referred to herein as the "certificate". Conversely, the certificate could be constructed as containing the public key as part of it. Similarly, some or part of the certificate and/or public key could be embedded as part of a signature. This possibility is especially important to keep in mind when the signature applies to authorizing another certificate. Thus, the specific examples shown in the detailed description which follows should not be construed as limiting the present invention.

BRIEF DESCRIPTION OF THE DRAWINGS

These as well as other features of this invention will be better appreciated by reading the following description of the preferred embodiments of the present invention taken in conjunction with the accompanying drawings of which

FIG. 1 is a block diagram of a cryptographic communications system in accordance with an exemplary embodiment of the present invention;

FIG. 2 is a flow diagram that indicates how a digital signature is created in accordance with an exemplary embodiment of the present invention;

FIG. 3 is a flow diagram that indicates how a digital signature created in accordance with FIG. 2 is verified;

FIG. 4 is a flow diagram that indicates how a countersignature is created for a digital signature;

FIG. 5 is a flow diagram that indicates how a digital certificate in created in accordance with an exemplary embodiment of the present invention;

FIG. 6 is a flow diagram that indicates how a joint signature is added to a certificate;

FIG. 7 is a flow diagram that indicates how the signatures and certificates are verified by a recipient of the transmitted message;

FIG. 8 is an exemplary memorandum to be electronically transmitted that includes a digital signature section;

FIGS. 9A and 9B is a flowchart showing the processing associated with computing the white-space hash function;

FIG. 10 show how a multiple document package is signed in accordance with the present invention;

FIG. 11 shows how a printed document may be reverified using the white space hash function; and

FIG. 12 shows how a signature is verified for a multiple document/file package.

DETAILED DESCRIPTION OF THE PRESENTLY PREFERRED EMBODIMENT

FIG. 1 shows in block diagram form an exemplary communications system which may be used in conjunction with the present invention. This system includes an unsecured communication channel 12 over which communications between terminals A,B . . . N may take place. Communication channel 12 may, for example, be a telephone line. Terminals A,B through N may, by way of example only, be IBM PC's having a processor (with main memory) 2 which is coupled to a conventional keyboard/CRT 4. Each terminal A,B through N also includes a conventional IBM PC communications board (not shown) which when coupled to a conventional modem 6, 8, 10, respectively, permits the terminals to transmit and receive messages.

Each terminal is capable of generating a plain text or unenciphered message and performing whatever signature operation may be required, and transmitting the message to any of the other terminals connected to communications channel 12 (or to a communications network (not shown) which may be connected to communications channel 12). Additionally, each of the terminals A,B through N is capable of performing signature verification on each message.

Each of the terminal users (as discussed above with respect to public key systems) has a public encrypting key and an associated private secret decrypting key. In the public key cryptosystem shown in FIG. 1, each terminal user is aware of the general method by which the other terminal users encrypt a message. Additionally, each terminal user is aware of the encryption key utilized by the terminal's encryption procedure to generate the enciphered message.

Each terminal user, however, by revealing his encryption procedure and encryption key does not reveal his private decryption key which is necessary to decrypt the ciphered message and to create signatures. In this regard, it is computationally unfeasible to compute the decryption key from knowledge of the encryption key.

Besides the capability of transmitting a private message, each terminal user likewise has the capability of digitally signing a transmitted message. A message may be digitally signed by a terminal user decrypting a message with his private decrypting key before transmitting the message. Upon receiving the message, the recipient can read the message by using the sender's public encryption key. In this fashion, the recipient can verify that only the holder of the secret decryption key could have created the message. Thus, the recipient of the signed message has proof that the message originated from the sender. Further details of an exemplary digital signature methodology which may be used in conjunction with the present invention is disclosed in U.S. Pat. No. 4,405,829.

Before describing the details of the enhanced digital certification in accordance with the present invention, the general operation of FIG. 1 in, for example, an electronic mail, public key cryptographic context will initially be described. Initially, presume that the user of terminal A is a relatively low level supervisor of a General Motors computer automated design team who wishes to purchase a software package from a computer software distributor located in a different state. The computer software distributor has terminal N and an associated modem 10 located at his store.

The General Motors supervisor at terminal A constructs an electronic purchase order which identifies the item(s) being ordered and the address to which the items must be sent as well as other items which are necessary in a standard purchase order. It should be recognized that, although this example relates to an electronic purchase order, any aggregation of data which can be represented in a manner suitable for processing with whatever public-key method is being used for signatures may likewise be transmitted. In the more detailed description which follows such an aggregation of data, e.g., a computer data file, will generically be referred to as an "object".

The terminal A user, the General Motors supervisor, digitally signs the purchase order under the authority of a certificate which is appended to the transmitted message which will be discussed further below. Turning first to the supervisor's digital signature, a message can be "signed" by applying to at least a portion of the object being signed, the privately held signature key. By signing an image of the object (or a more compact version thereof known as a digest or hash of the object to be explained in more detail below) with the secret key, it is possible for anyone with access to the public key to "encrypt" (i.e., reverse) this result and compare it with the object (or a recomputed hash or digit version thereof). Because only the owner of the public key could have used the secret key to perform this operation, the owner of the public key is thereby confirmed to have signed the message. It is noted that other methods besides "encryption" may be appropriate for different signature schemes such as Fiat-Shamir.

In accordance with the present invention, a digital signature is additionally accompanied by at least one valid certificate which specifies the identity of the signer and the authorization which the signer has been granted. The certificate may be viewed as a special object or message which specifies the identity of the user of a particular public key and the authority which has been granted to that user by a party having a higher level of authority than the user.

To be valid a certificate must be signed by the private key(s) associated with one or more other valid certificates which are hereafter referred to as antecedents to that certificate. These may also be accompanied by