Method and system for restricting access to the private key of a user in a public key infrastructure

An encryption/decryption system for providing restricted use of each key in a plurality of keys to preserve confidentiality of the plurality of keys. Each key is usable by an associated user in a public key infrastructure to encrypt and decrypt data. The encryption/decryption system comprises a key storage means for storing a plurality of keys, user authentication means for determining whether a prospective user of a key in the plurality of keys is the associated user of the key, and an encryption/decryption means for encrypting and decrypting data using the plurality of keys when the user authentication means authenticates the prospective user. The encryption/decryption means is operable in a browser on a client computer.

FIELD OF THE INVENTION

This invention relates in general to public key infrastructure, and more particularly relates to controlling use of the private key of a user in a public key infrastructure

BACKGROUND OF THE INVENTION

Distributed computing environments are becoming increasingly ubiquitous. Perhaps the best known distributed computing environment is the Internet, which is a worldwide system of interconnected computer networks. Each of these computer networks may itself include a group of interconnected computers, together with the hardware and software required to connect them. These computers include client computers and server computers. A server is a computer that makes information and services available. A client is a computer that downloads, uploads or otherwise exchanges information and services from the server using a browser. A browser is a client program that allows users to read hypertext documents on the Internet, and to navigate between different hypertext documents.

Electronic mail provides an efficient means of data exchange in distributed computing environments. Data is also exchanged through visitors to web sites completing web forms and directly entering information into databases. This data exchange is vulnerable to being intercepted by unauthorized third parties. Further, this risk is increased where, as in the case of the Internet, the public has substantially unrestricted access to the distributed computing environment.

To preserve confidentiality in the event of interception, data may be encrypted. One means of encrypting messages that has been widely adopted is public key infrastructure (PKI). In order to preserve, the confidentiality of a transmission between two parties using this encryption method, both parties must have secret or private keys that are used to encrypt each message. In this method, both the information sender and the information recipient have a pair of keys, one of which is private key that the party keeps secret, and the other of which is a public key that the party makes available to others. The encryption method is asymmetric: if a user's public key was used to encrypt a message, then the user's private key must be used to decrypt the message. In other words, only the recipient can decrypt a message that was encrypted using the recipient's public key, as the recipient's private key is required to decrypt such a message.

By tradition, the digital signature , calculated by computing the hash function of the message to be sent and then encrypting the digital signature using the private key of the sender, guarantees that the message originated from the sender. However, if someone other than the sender is able to encrypt messages using the private key, then messages encrypted using the private key may not have originated from the sender.

Much of the benefit of public key infrastructure is lost if adequate measures are not taken to preserve the secrecy of each user's private key. Many users simply store their private key on their client computers hard drive under a private key subdirectory. Other users store the private key on a disk which they take with them, but from which anyone else can readily download their private key. This behavior substantially reduces the integrity of the system, as it increases the risk that data will be intercepted by one who knows, or can find out, the private key required to decrypt or encrypt the data.

A further problem with encryption using conventional software is that it is not always available. Specifically, some electronic messaging systems do not provide for encryption. While documents can be encrypted before being attached to messages sent by such electronic messaging systems, this increases the number of steps required for encryption and decryption and, accordingly, reduces the likelihood that encryption will actually be used.

Accordingly, there is a need for a method and system of permitting encryption in a number of different electronic messaging, database entry, web form completion and other data exchange services, while restricting access to a private key so that only the actual user of that private key can use the key to encrypt or decrypt messages.

SUMMARY OF THE INVENTION

An aspect of one object of the present invention is to provide an improved encryption/decryption system.

In accordance with the aspect of the present invention is provided an encryption/decryption system for providing restricted use of each key in a plurality of keys to preserve confidentiality of the plurality of keys. Each key is usable by an associated user in a public key infrastructure to encrypt and decrypt data. The encryption/decryption system comprises:

(a) A key storage means for storing a plurality of key;

(b) User authentication means for determining whether a prospective user of a key in a plurality of keys is the associated user of the key; and

(c) An encryption/decryption means for encrypting and decrypting data using the plurality of keys when the user authentication means authenticates the prospective user. The encryption/decryption means is operable in a browser on a client computer.

Preferably, for each key in the plurality of keys a biometric standard determined by measuring a selected feature of the associated user is stored in the key storage means. Further, the user authentication means comprises means for:

(i) Measuring the selecting feature of a prospective user;

(ii) Determining if the selected feature measured sufficiently correspond to the biometric standard;

(iii) Granting use of the key to the prospective user if the selected feature as measured sufficiently corresponds to the biometric standard; and

(iv) Denying use of the key to the prospective user if the selected feature as measured insufficiently corresponds to the biometric standard.

An object of a second aspect of the invention is to provide an improved computer program product for encryption/decryption.

In accordance with this second aspect of the present invention there is provided a computer program product for use on a computer system to provide restricted use of each key in a plurality of keys to preserve confidentiality of the plurality of keys. Each key is usable by an associated user in a public key infrastructure to encrypt and decrypt data. The computer program product comprises a recording medium and means recorder on the recording medium for instructing the computer system to perform the following steps:

(a) Storing a plurality of keys;

(b) Determining whether a prospective user of a key in a plurality of keys is the associated user for the key; and

(c) If the prospective user of a key in the plurality of keys is the associated user for the key, then one of encryption and decryption data within a browser using the key.

Preferably, the computer program product further includes means for, for each key in a plurality of keys, storing a biometric standard determined by measuring a selected feature of the associated user. Further, step (b) preferably comprises (i) receiving a measured biometric value of the selected feature of a prospective user, and (ii) determining if the measured biometric value sufficiently corresponds to the biometric standard. Preferably, step (c) comprises (i) granting use of the key to the prospective us if the measured biometric value sufficiently corresponds to the biometric standard, and (ii) denying use of the key to the prospective user if the measured biometric value insufficiently corresponds to the biometric standard.

DETAILED DESCRIPTION OF PREFERRED ASPECTS OF THE INVENTION

Referring to FIG. 1 , there is illustrated a network including two client computers that may be configured to implement an embodiment of the invention. Specifically, network 20 includes a first client computer 22 and a second client computer 30 . Client computer 22 is linked to a first biometric device 24 by a linking means 38 , and is also linked to the remainder of the network 20 via a connection 26 . Similarly, second client computer 30 is 20 linked to a second biometric device 32 by a linking means 38 , and is linked to the remainder of the network by network connection 26 . The network 20 also includes a network or application server 21 as well as an ID template server 28 and a certificate authority server 34 that are 25 accessible to client computers 22 and 30 via connection 26 .

Each client computer comprises a processor (not shown), memory (not shown), and keyboard (not shown) or other suitable input device. Referring to FIG. 2 , there is illustrated the first client computer 22 as configured by browser software to implement an embodiment of the invention. Thus configured, the client computer 22 includes a message storage module 40 for storing the message that is to be encrypted. The client computer 22 also includes an ID template storage module 42 for storing an ID template downloaded over the network connection 26 from the ID template server 28 . Alternatively, ID templates may be stored directly on the client computers 22 and 30 . An ID template 80 is illustrated in FIG. 3 .

The ID template storage module 42 is linked to a biometric value comparison module 44 , which, in turn, is linked by the linking means 38 to a measured biometric value storage module 301 in the biometric device 24 . The ID template storage module 421 is also linked to a key control module 46 , which, in turn, is linked to encryption/decryption module 48 . The encryption/decryption module 48 is linked to the certificate authority server 34 via connection 26 .

Referring to FIG. 3 , there is illustrated an ID template 80 that is storable in the ID template server 28 and can be downloaded to the ID template storage module 42 . The ID template 80 includes a biometric standard storage element 82 , a biometric recognition means 84 , a, digital identifier 88 and a release means 86 for releasing the digital identifier 88 when the biometric recognition means 84 recognizes a biometric value that substantially corresponds to the biometric standard stored in the biometric standard storage element 82 . As illustrated in FIG. 3 , the biometric standard storage element 82 is linked to the biometric recognition means 84 , which, in turn, is linked to the release means 86 . The private key is embedded in the digital identifier 88 to enable the private key to be used without being seen or copied. When the digital identifier 88 is released, the key control module 46 decrypts the digital identifier using a control key to obtain the private key. The private key is then sent to the encryption/decryption module.

Referring to FIG. 4 , there is illustrated a preferred method of implementing the invention in the network 20 of FIG. 1 . In step 100 , a first user writes or Otherwise generates a message that is to be encrypted and sent to a second user. However, the first user does not know his own private key. In order to use his private key to encrypt the message stored in the message storage module 40 , the user downloads his ID template 801 from the ID template server in step 102 . This ID template 801 is then stored in the 10 template storage module 42 . As discussed above the ID template 801 includes a biometric standard 82 and a digital identifier 84 . The biometric standard 82 is a record of a previously measured physical attribute of the user. Typically, this physical attribute would be a finger print, but could also be some other physical attribute, such as a voice print of a voice.

In step 104 , the same physical feature as is recorded in the biometric standard 82 is measured by a biometric device to obtain a measured biometric value. In the embodiment of FIG. 1 , the first biometric device 24 reads the fingerprint from the finger 36 of the first user in step 104 . Then, in step 106 , the biometric value comparison module 44 compares the biometric standard 82 stored on the ID template storage module 42 with the measured biometric value obtained by the biometric device 24 and stored in the measured biometric value storage module 50 g . If there is a sufficient correspondence between the two biometric values, then the biometric value comparison module 44 instructs the ID template storage module 421 to send the digital identifier 88 to the key control module 46 . When the key control module 46 receives the digital identifier 88 from the ID template storage module 42 , the key control module 46 decrypts the digital identifier to obtain the private key 90 . The private key 90 is then provided to the encryption/decryption module 48 . The encryption/decryption module 48 in step 108 then encrypts the message stored in message storage module 40 using the private key extracted from the digital identifier 84 .

In the embodiment of FIG. 1 , the message is being sent to a second user. Accordingly, before sending the message that has been encrypted using the first user's private key, the first user will contact the certificate authority server 34 and download, the second user's public key from the certificate authority 34 in step 1107 . The message is then encrypted again by the encryption/decryption module 48 using the second user's public key in step 112 . The twice encrypted message is then sent to the second user over the network 26 in step 114 , or uploaded to a central message storage server.

According to this aspect of the invention, the private key is never viewed by anyone, including the user authorized to use the private key. Every time the user wishes to use the private key to encrypt or decrypt the message, the user must bio-authenticate using the biometric device 24 . The private key is then used to encrypt the message without the user actually seeing the private key. Thus, the user cannot give the private key away, nor can the private key be determined by others.

First client computer 22 configured as shown in FIG. 2 is also operable to recej 2 e and decrypt encrypted messages, and to encrypt data entered into a web form or data for insertion into a database. Referring to FIG. 5 , there is illustrated second client computer 30 as configured to implement an embodiment of the invention. The second client computer 30 configured as described below is operable to receive and decrypt encrypted messages. However, it will be appreciated by those skilled in the art that client computer 30 is also operable to encrypt and transmit messages, and to encrypt data entered into a web form or data for insertion into a database.

Second client computer 30 , configured as shown in FIG. 5 , is configured similarly to first client computer 22 configured as shown in FIG. 2 . Specifically, thus configured, second client computer 30 includes a message storage module 40 for storing the message that is to be decrypted. Second client computer 30 also includes, an ID template storage module 42 for storing an ID template downloaded over the network connection 26 from the ID template server 28 . The ID template storage module 422 is linked to a biometric value comparison module which, in turn, is linked by the linking means 382 to a measured biometric value storage module 502 in the second biometric device 32 . The ID template storage module 42 is also linked to a key control module 46 , which, in turn, is linked to encryption/decryption module 48 . The encryption/decryption module 48 is linked to the certificate authority server 34 via connection 26 .

Referring to FIG. 6 , there is illustrated a 5 preferred method of implementing a message reception and decryption aspect of the present invention. In step 200 , a second user receives an encrypted message sent by the first user. As discussed above, the encrypted message has been encrypted using the first users private key and the second user's public key.

In step 202 , the second user contacts the ID template server 28 from the second client computer 30 via connection 26 c and 26 a and network 20 . The second user then downloads and stores an ID template 80 for the second user on ID template storage module 42 of second client computer 30 . The ID template 80 for the second user has both the private key of the second user stored in a digital identifier 84 for the second user, and a biometric standard 82 of the fingerprint of the second user. In step 204 , the same physical feature, in this case the fingerprint of the second user, that is recorded in the biometric standard 82 of the second user, is measured by a biometric device to obtain a measured biometric value for the second user. Then, in step 206 , the biometric value comparison module 44 compares the biometric standard 82 stored on the ID template storage module 42 with the measured biometric value obtained by the biometric device 24 . If there is a sufficient correspondence between the two biometric values, then the biometric value comparison module 44 instructs the ID template storage module 42 to send the digital identifier 88 to the key control module 46 . The key control module 46 then decrypts the digital identifier 88 to obtain the second user's private key 90 . The key control module 462 then provides the private key to the encryption module 48 . The encryption module 48 then decrypts the message stored in the message storage module 40 using the second user's private key.

Once the message has been partially decrypted using the, second user's private key, the remainder of the decryption must be performed using the first user's public key. In step 210 , the second user requests the first user's public key from the certification authority server 34 and downloads the first user's public key to the second client computer. Using The first user's public key, the second user fully decrypts the encrypted message in step 212 ; in other words, the second user decrypts that part of the encryption implemented using the first user's private key. If this decryption succeeds, then the second user will be satisfied that the message originated with the first user as the second user will know that the message was encrypted using the first user's private key, which private key can only be used on bio-authentication of the first user's fingerprint (or other selected feature).

The present invention may be embodied in other 25 specific forms without departing from the spirit or essential characteristics. Certain adaptations and modifications of the invention will be obvious to those skilled in the art. For example, instead of bio-authentication being used to authorize encryption/decryption in the browser, user name and password might be used. Further, encryption/decryption might be wholly limited to the client computer itself, or to a computer isolated from any network. The browser might then -be used to encrypt documents that are stored on the user's computer to preserve confidentiality. Therefore, the presently discussed embodiments are considered to be illustrative and not restrictive, the scope of the invention being indicated by the appended claims rather than the foregoing description, and all changes which come within the meaning and range of equivalency of the claims are therefore intended to be embraced therein.