Entity authentication in electronic communications by providing verification status of device

A current verification status of a device (256) is identified out of a plurality of predefined verification data input (250) into the device (256) and data prestored within the device.(254) The indicator (272) reveals neither the prestored data nor the verification data. One of the predefined verification statuses is representative of the verification data being the same as the prestored data, and another verification status is representative of the verification data being different from the prestored data. An identified verification status is used by one entity in determining risk regarding an electronic communication from another entity, especially where the electronic communication comprises a request. The prestored data is for a Secret or a biometric characteristic of the first entity.

II. FIELD OF THE PRESENT INVENTION

The present invention generally relates to entity authentication and, in particular, to entity authentication in the field of electronic communications.

III. BACKGROUND OF THE PRESENT INVENTION

As used herein, an electronic communication. (“EC”) is considered to be any communication in electronic form. ECs have become an integral part of transacting business today, especially with the growth of the Internet and e-commerce. An EC can represent, for example, a request for access to information or a physical area, a financial transaction, such as an instruction to a bank to transfer funds, or a legal action, such as the delivery of an executed contract.

Over recent years, digital signatures also have become an important part of e-commerce. The origination of a digital signature generally comprises: (1) the calculation of a message digest—such as a hash value; and (2) the subsequent encryption of the message digest. The message digest is encrypted by an electronic device generally using a private key of a key pair used in public-private key cryptography (also known as asymmetric cryptography). The resulting ciphertext itself usually constitutes the digital signature, which typically is appended to the message to form the EC. The second part of originating the digital signature—using encryption with a private key—is referred to herein as “generating” the digital signature, and the combined two steps is referred to herein as “originating” the digital signature. Furthermore, while the generation of the digital signature is conventionally understood as the encryption of the message digest, it is contemplated herein that generating the digital signature also may include simply encrypting the message rather than the message digest. Digital signatures are important because any change whatsoever to the message in an EC is detectable from an analysis of the message and the digital signature. In this regard, the digital signature is used to “authenticate” a message contained within the EC (hereinafter referred to as “Message Authentication”).

For example, a message digest may be calculated by applying a hashing algorithm—such as the SHA-1 algorithm—to the message. The hashing algorithm may be applied either within the device or external to the device with the resulting hash value then being transmitted to the device for generation of the digital signature. In order to perform Message Authentication in this example, the recipient of the EC must know or be able to obtain both the identity of the hashing algorithm applied to the message as well as the public key (“PuK”) corresponding to the private key used to encrypt the message digest. With this knowledge, the recipient applies the appropriate hashing algorithm to the message to calculate a hash value, and the recipient decrypts the digital signature using the public key. If the hash value calculated by the recipient equals the hash value of the decrypted digital signature, then the recipient determines that the content of the message contained in the EC was not altered in transmission, which necessarily would have changed the hash value.

In performing Message Authentication, the recipient also authenticates the sender of the EC, in so much as the recipient thereby confirms that the sender of the EC possessed the private key corresponding to the public key used successfully to authenticate the message. This is one type of entity authentication and is based on what the sender “has” (hereinafter referred to as “Factor A Entity Authentication”). Factor A Entity Authentication is useful when the recipient of the EC has trusted information regarding the identity of the owner of the private key. Such trusted information may arise from a digital certificate issued by a trusted third party that accompanies the EC and binds the identity of the private key owner with the public key. This trusted knowledge also may comprise actual knowledge of the identity of the private key owner, such as in the case where the recipient itself has issued the private key or device containing the private key to the owner.

As will be appreciated, trust in the digital signature system depends upon the legitimate possession and use of the private key, i.e., upon the sender of the EC actually being the private key owner. A fraudulent use of a private key to generate a digital signature of an EC currently cannot be detected through the above-described Message Authentication and Factor A Entity Authentication procedures. The digital signature system therefore is susceptible to fraud if a private key of a device is stolen, either by discovery of the private key therein and subsequent copying and use in another device capable of generating digital signatures, or by physical theft of the device containing the private key.

To guard against discovery of a private key and subsequent copying and use in another device, devices are manufactured with electronic shielding, zeroization, auditing, tamper evidence and tamper response, and other security features that safeguard the private key (and other protected data) contained therein. Such security features include hardware, software, and firmware and are well known in the art of manufacturing secure computer chips and other devices having cryptographic modules.

The requirements of such security features are specified, for example, inFederal Information Processing Standards Publication140-1,Security Requirements for Cryptographic Modules,US DOC/NBS, Jan. 11, 1994 (herein “FIPS PUB 140-1”), which is incorporated herein by reference and which is available for download at http://csrc.nist.gov/publications/fips; andFederal Information Processing Standards Publication140-2,Security Requirements for Cryptographic Modules,US DOC/NBS, May 25, 2001 (herein “FIPS PUB 140-2”), which is incorporated herein by reference and which is available for download at http://csrc.nist.gov/publications/fips. FIPS PUB 140-1 and 140-2 also define security levels that may be met by a device based on the device's security features, with each of these defined security levels generally representing a various level of difficulty—in terms of time and money—that would be encountered in attempting to discern a private key of a device. Currently, four security levels are defined with security level 4 being the highest level of security available.

Specifications for such security features also are set forth inTrusted Computing Platform Alliance Trusted Platform Module Protection Profile Version0.45, TRUSTED COMPUTING PLATFORM ALLIANCE, September 2000;Trusted Platform Module(TPM)Security Policy Version0.45, TRUSTED COMPUTING PLATFORM ALLIANCE, October 2000; andTCPA PC Implementations Specification Version0.95, TRUSTED COMPUTING PLATFORM ALLIANCE, Jul. 4, 2001, which are incorporated herein by reference (collectively “TCPA Documents”), and which are available for download at http://www.trustedpc.com; and CommonCriteria for Information Technology Security Evaluation, Smart Card Protection Profile, Draft Version2.1d, SMART CARD SECURITY USER GROUP, Mar. 21, 2001, which is incorporated herein by reference (hereinafter “Smart Card Protection Profile”), and which is available for download at http://csrc.nist.gov.

To guard against fraudulent use of a device through theft of the device itself, a personal identification number (PIN), password, or passphrase (collectively referred to herein as “Secret”) is typically prestored within the device and must be input into the device before it will operate to generate digital signatures. Alternatively, the Secret is shared with the recipient beforehand and, when the EC later is sent to the recipient, the Secret also is sent to the recipient in association with the message. In the first case, verification of the Secret authenticates the user of the device (hereinafter “User Authentication”), and in the second case, verification of the Secret authenticates the sender of the EC (hereinafter “Sender Authentication”). In either case, confirmation of the Secret represents entity authentication based on what the user or sender “knows” (hereinafter “Factor B Entity Authentication”).

Another countermeasure against fraudulent use of the device through physical theft includes the verification of a biometric characteristic—like a fingerprint—of the user of the device or sender of the EC. This type of authentication is based on what the user or sender “is” (hereinafter “Factor C Entity Authentication”). As with the Secret, a biometric value is either maintained within the device for User Authentication, or is shared with the recipient beforehand for Sender Authentication by the recipient.

While Factor B Entity Authentication and Factor C Entity Authentication both reduce the risk of a fraudulent use of a device to generate a digital signature for a message, both also include significant drawbacks. For instance, if the Secret or biometric value is communicated to the recipient in association with a message for sender authentication by the recipient, then the Secret or biometric value first must have been shared with the recipient beforehand and safeguarded by the recipient as part of an established relationship. This conventional paradigm therefore precludes both Factor B Entity Authentication and Factor C Entity Authentication between entities having no such preexisting relationship.

This paradigm also exposes the Secret or biometric value itself to a greater risk of theft. First, the transmission of the Secret or biometric value for verification carries with it the risk of interception and discovery during transit. Second, the Secret or biometric value must be safeguarded by the recipient, thereby exposing the Secret to theft from the recipient. This is especially significant in the corporate context where a rogue employee may steal the safeguarded Secret or biometric value (insider fraud historically has been the greatest risk).

The potential damages also are extensive when the Secret or biometric value is stolen under this paradigm. Since it is difficult for an individual to remember multiple Secrets for multiple recipients, it is common for the same Secret to be used by an individual with different recipients. For example, with regard to credit cards, the same Secret usually is shared with all credit card companies as a matter of convenience, and usually comprises the mother's maiden name of the account holder. The theft of the Secret from one credit card company puts all of the other credit card accounts at jeopardy, at least until the Secret is changed. In the case of the theft of a biometric value, the damages are even more severe, as a person's biometric characteristic cannot be changed and, once lost, potentially compromises any future entity authentication therewith.

Alternatively, when the Secret or biometric value is prestored and maintained within the device for User Authentication, the risks associated with safeguarding of the Secret or biometric value by the recipient and associated with transmission of the Secret or biometric value to the recipient are avoided. In this conventional paradigm, the recipient does not actually perform the verification—it is done at the device level.

A drawback to this alternative paradigm, however, is that because the device remains inoperable until the correct Secret or biometric value of the user is entered, the recipient is unable to monitor repeated attempts to guess the Secret or biometric value. Furthermore, when the device is enabled by the entry of the correct Secret or a biometric value resulting in a match, the device typically remains enabled for a predefined period of time thereafter, such as until it is powered off or resets. Under this alternative paradigm, a recipient is unable to determine whether a particular EC sent during such a time period includes a fraudulently generated digital signature, as the device may have been stolen after being enabled but before its deactivation. Accordingly, while there is User Authentication under this alternative paradigm, there is no provision per se for Sender Authentication.

Yet another drawback is that this alternative paradigm does not particularly accommodate the use of the device to send ECs to different recipients when a biometric value is prestored and maintained within—and Factor C Entity Authentication is performed by—the device. In this regard, different recipients may have different requirements as to what constitutes a biometric “match” so as to be a successful verification; a biometric match is a determination of whether a biometric value input is sufficiently close to a stored biometric value so as to meet at least a minimum security threshold. A security threshold is subjectively set by each recipient and includes factors such as the nature of the communication and the extent of liability to the recipient for actions and responses based on a fraudulently sent EC. Different recipients cannot make their own match/no-match determinations based on their own requirements, standards, and criteria if each recipient does not receive beforehand the biometric value of the sender, make its own comparison thereof with each additional biometric value that is received in association with a message, and apply its own business judgment as to whether the comparison is sufficiently close so as to be a match.

Accordingly, a need exists for a new paradigm in which Factor B Entity Authentication and/or Factor C Entity Authentication is used, but in which the aforementioned drawbacks of the conventional paradigms that use such authentication procedures are overcome. In particular, a need exists for such a paradigm that provides for both User Authentication as well as for Sender Authentication using either or both of Factor B Entity Authentication and Factor C Entity Authentication, and all without requiring a recipient to safeguard either a Secret or a biometric value. In this regard, a need exists for such a paradigm in which Factor B Entity Authentication and Factor C Entity Authentication can be reliably inferred by the recipient without the recipient being privy to the authenticating information, thereby addressing privacy concerns. Furthermore, a need exists in such a paradigm for the recipient to be able to determine, in its own subjective business judgment, what constitutes a successful biometric match when Factor C Entity Authentication is used. A need also exists for such a paradigm in which the recipient is able to monitor repeated attacks on a device to guess a Secret or a biometric value, and for such a paradigm that further accommodates the use of a single device for the sending of ECs to various, unrelated recipients.

IV. SUMMARY OF THE PRESENT INVENTION

A. First Aspect of the Present Invention

A first aspect of the present invention relates to the provision of a verification status of a device and includes the steps of identifying within the device a current verification status out of a plurality of predefined verification statuses of the device as a function of verification data input into the device and data prestored within the device; and, independent of the verification status identified, transmitting the identified verification status to an electronic apparatus external to the device. One of the predefined verification statuses is representative of the verification data being the same as the prestored data, and at least one other verification status is representative of the verification data being different from the prestored data. An indicator of the identified verification status is output from the device.

In a variation of this aspect of the invention, the verification status regards an entity authentication using a device. This variation includes the steps of receiving within the device input comprising verification data of an entity; identifying within the device a current verification status out of a plurality of predefined verification statuses of the device as a function of the verification data and data prestored within the device; and, independent of the verification status identified, outputting from the device an indicator of the identified verification status. Again, one of the predefined verification statuses being representative of the verification data being the same as the prestored data, and at least one other verification status being representative of the verification data being different from the prestored data.

In another variation, a first entity is authenticated to a second entity. In this variation, data of the first entity is stored within a verification component of a device during a personalization of the verification component. Later, verification data is input into the device and received within the verification component of the device, and a current verification status is identified as a function of the verification data and prestored data within the verification component of the device. The verification status identified is one out of a plurality of predefined verification statuses of the device that include a verification status representative of the verification data being the same as the prestored data, and at least one other verification status representative of the verification data being different from the prestored data. Independent of the verification status identified, such verification status is communicated to the second entity. The verification status is communicated to the second entity by outputting an indicator of the verification status from the verification component and transmitting the output indicator to the second entity.

In a fourth variation of this aspect of the present invention, a verification status regarding an entity authentication is provided wherein no verification data is yet received by a device. In particular, the method in this case includes the steps of maintaining within the device prestored data of an entity for identifying a verification status of the device as a function of the prestored data and verification data later input into the device; identifying within the device a current verification status of the device representing the lack of input of any verification data during a predefined period of time; and outputting from the device an indicator of the identified verification status for evaluation thereof. Preferably at some point thereafter, input comprising verification data is received within the device, a current verification status is identified within the device out of a plurality of predefined verification statuses of the device by comparing the received verification data with the prestored data; and an indicator of the identified verification status is again output from the device for evaluation thereof, wherein the second indicator reveals the identified verification status based on the comparison. Preferably, one verification status out of the plurality of predefined verification statuses of the device is representative of the verification data being the same as the prestored data, and at least one other predefined verification status is representative of the verification data being different from the prestored data.

In preferred embodiments of this aspect of the present invention: the prestored data represents either a Secret or biometric characteristic, or both; the verification status identified as the current verification status represents a relational correspondence between the verification data and the prestored data without revealing either of the verification data or the prestored data; and the device is capable of generating digital signatures. Additionally, a request is evaluated with business logic based on the identified verification status.

B. Second Aspect of the Present Invention

A second aspect of the present invention relates to the provision of a verification status of a device and includes the steps of identifying within the device a current verification status out of a plurality of predefined verification statuses of the device as a function of biometric verification data input into the device and biometric data prestored within the device; and, independent of the verification status identified, transmitting an indicator of the identified verification status to an electronic apparatus external to the device, the indicator revealing the identified verification status without revealing either of the verification data or the prestored data. The indicator of the identified verification status is output from the device.

In a variation of this aspect of the invention, the verification status regards an entity authentication using the device. This variation includes the steps of receiving within the device input comprising biometric verification data of an entity; identifying within the device a current verification status out of a plurality of verification statuses of the device as a function of the verification data and biometric data prestored within the device; and, independent of the verification status identified, outputting from the device an indicator of the identified verification status, the indicator revealing the identified verification status without revealing either of the verification data or the prestored data.

In another variation, a first entity is authenticated to a second entity. In this variation, biometric data of the first entity is stored within a verification component of a device during a personalization of the verification component. Later, biometric verification data is input into the device and received within the verification component of the device, and a current verification status is identified as a function of the verification data and prestored data within the verification component of the device. Independent of the verification status identified, such verification status is communicated to the second entity by outputting from the verification component an indicator of the identified verification status and transmitting the output indicator to the second entity. The indicator reveals the identified verification status without revealing either of the verification data or the prestored data.

In a fourth variation of this aspect of the present invention, a verification status regarding an entity authentication is provided wherein no verification data is yet received by a device. In particular, the method in this case includes the steps of maintaining within the device prestored biometric data of an entity for identifying a verification status of the device as a function of the prestored data and biometric verification data later input into the device; identifying within the device a current verification status of the device representing the lack of input of any verification data during a predefined period of time; and outputting from the device an indicator of the identified verification status for evaluation thereof. Preferably at some point thereafter, input comprising verification data is received within the device, a current verification status is identified within the device out of a plurality of predefined verification statuses of the device by comparing the received verification data with the prestored data; and an indicator of the identified verification status is again output from the device for evaluation thereof, wherein the second indicator reveals the identified verification status based on the comparison without revealing either of the verification data or the prestored data.

In preferred embodiments of this aspect of the present invention: one verification status out of the plurality of predefined verification statuses of the device is representative of the verification data being the same as the prestored data, and at least one other predefined verification status is representative of the verification data being different from the prestored data; and the device is capable of generating digital signatures. Additionally, a request is evaluated with business logic based on the identified verification status.

C. Third Aspect of the Present Invention

A third aspect of the present invention relates to the provision of a verification status of a device and includes the steps of identifying within the device a current verification status out of a plurality of predefined verification statuses of the device; generating within the device a digital signature for a message as a function of the identified verification status, including modifying within the device data representing the message as a function of the identified verification status of the device such that the generated digital signature comprises an indicator of the identified verification status; and, transmitting the generated digital signature to an electronic apparatus external to the device. The identification of the current verification status is a function of verification data input into the device and data prestored within the device.

In a variation of this aspect of the invention, the verification status regards an entity authentication. This variation includes the steps of receiving within the device input comprising verification data of an entity; identifying within the device a current verification status out of a plurality of predefined verification statuses of the device as a function of the verification data and data prestored within the device; generating within the device a digital signature for a message as a function of the identified verification status, including modifying within the device data representing the message as a function of the identified verification status of the device such that the generated digital signature comprises an indicator of the identified verification status; and outputting from the device the generated digital signature.

In another variation, a first entity is authenticated to a second entity. In this variation, data of the first entity is stored within a verification component of a device during a personalization of the verification component. Later, verification data is input into and received within the verification component of the device, and a current verification status is identified as a function of the verification data and prestored data within the verification component of the device. The verification status identified is one out of a plurality of predefined verification statuses of the device. A digital signature then is generated within the device for a message as a function of the identified verification status and includes modifying within the device data representing the message as a function of the identified verification status of the device. The generated digital signature comprises an indicator of the identified verification status. The digital signature is output from the verification component of the device and, thereafter, communicated to the second entity.

In a fourth variation of this aspect of the present invention, a verification status regarding an entity authentication is provided wherein no verification data is yet received by a device. In particular, the method in this case includes the steps of maintaining within the device prestored data of an entity for identifying a verification status of the device as a function of the prestored data and verification data, later input into the device; identifying within the device a current verification status of the device representing the lack of input of any verification data during a predefined period of time; generating within the device a digital signature for a message such that the generated digital signature comprises an indicator of the identified verification status; and outputting from the device the generated digital signature for evaluation of the identified verification status. Preferably at some point thereafter, input comprising verification data is received within the device; a current verification status is identified within the device out of a plurality of predefined verification statuses of the device by comparing the received verification data with the prestored data; and another digital signature is generated within the device for a message as a function of the identified verification status. In this regard, data representing the message is modified within the device as a function of the identified verification status of the device. The, second generated digital signature comprising an indicator of the identified verification status is then output from the device for evaluation thereof.

In preferred embodiments of this aspect of the present invention, one verification status out of the plurality of predefined verification statuses of the device is representative of the verification data being the same as the prestored data, and at least one other predefined verification status is representative of the verification data being different from the prestored data; the indicator of the identified verification status neither reveals the prestored data nor the verification data; the prestored data represents a Secret; and the prestored data represents a biometric characteristic. Additionally, a request is evaluated with business logic based on the identified verification status.

The generation of the digital signature includes encrypting within the device using a private key of a public private key pair a message digest calculated within the device for the modified data. In a preferred embodiment, the digital signature for the modified data representing the message is output from the device, but the modified data itself is not output from the device.

In some preferred embodiments, the message is composed within the device by a user of the device. Preferably, the message for which a digital signature is generated is displayed on a display screen of the device for review and approval by the user. Alternatively, the message is composed within an I/O support element external to the device which, in turn, transmits the input representing the message into the device through an interface of the device. In other preferred embodiments, a portion of the message is composed within an I/O support element external to the device which, in turn, transmits input representing the portion of the message into the device through an interface of the device, and a remaining portion of the message is composed within the device. The I/O support element may comprise, for example, a point of sale terminal, a biometric scanner, a card reader, or a computer.

The message itself may be for the performance of a financial transaction, the performance of a legal action, access to a database, access to a physical space, access to a web site, or access to a computer program. The message also may be predetermined and static, and may be stored within the device itself. Verification data also may not be required to be input into the device for other types of messages, or for a predefined period of time such as the time between approval of a request embodied in a message and a powering off of the device.

The data representing the message comprise a hash value of the message or, alternatively, the data representing the message comprise a message digest for the message. The data representing the message may be stored within the device. The modification of the data representing the message preferably includes: embedding the assigned value of an identification marker within the data representing the message; appending the assigned value of the identification marker to the data representing the message; appending the assigned value of the identification marker to the beginning of the data representing the message; and appending the assigned value of the identification marker to the end of the data representing the message.

In preferred embodiments, verification data may be required to be input into the device following a predefined period of time after a last successful verification, and verification data may be required to be input into the device for each one of a particular type of message. The particular type of message may comprise, for example, a request for a financial transaction.

Additional preferred embodiments include message authentication using the digital signature generated within the device, and include the steps of: modifying data representing the message embodying the request as a function of a suspected verification status of the device, calculating a message digest as a function of the modified data, decrypting the generated digital signature using the public key of the public-private key pair, and concluding the verification status of the device as being the suspected verification status of the device when the calculated message digest matches the decrypted digital signature.

The device preferably identifies the current verification status of the device by assigning an identification marker within the device equal to a value out of a set of predefined values corresponding to the predefined verification statuses. In a preferred embodiment, the identification marker is assigned a value equated with a successful verification, and the assigned value further represents whether a digital signature was generated since verification data was last input into the device. Furthermore, the generated digital signature preferably comprises the indicator.

D. Fourth Aspect of the Present Invention

A fourth aspect of the present invention relates to the provision of a verification status of a device and includes the step of identifying within the device a current verification status out of a plurality of predefined verification statuses of the device as a function of verification data input into the device and data prestored within the device. This step includes comparing verification data representing a Secret with the data prestored within the device and assigning, based on the comparison, a first comparison marker within the device equal to a value out of a set of predefined values; and comparing verification data representing biometric data with the data prestored within the device and assigning, based on the comparison, a second comparison marker within the device equal to a value out of a set of predefined values. Data representing a message is modified within the device as a function of the assigned values for the first and second comparison markers. Thereafter, a digital signature is generated within the device for the modified data such that the generated digital signature comprises an indicator of the identified verification status. The generated digital signature then is transmitted to an electronic apparatus external to the device.

In a variation of this aspect of the invention, the verification status regards an entity authentication using a device. This variation includes the steps of receiving within the device input comprising verification data of an entity, the verification data representing both a Secret and a biometric characteristic of the entity; identifying within the device a current verification status out of a plurality of predefined verification statuses of the device as a function of the verification data and data prestored within the device; modifying within the device data representing a message as a function of the identified verification status and generating within the device a digital signature for a message such that the generated digital signature comprises an indicator of the identified verification status; and outputting from the device the generated digital signature. The identification of the verification status includes comparing verification data representing the Secret with the data prestored within the device and assigning, based on the comparison, a first comparison marker within the device equal to a value out of a set of predefined values; and comparing verification data representing biometric data with the data prestored within the device and assigning, based on the comparison, a second comparison marker within the device equal to a value out of a set of predefined values. The modification of the message data includes modifying the data as a function of the assigned values for the first and second comparison markers.

In another variation, a first entity is authenticated to a second entity. In this variation, data representing both a Secret and biometric data of the first entity is stored within a verification component of a device during a personalization of the verification component. Later, verification data is input into the device and received within the verification component of the device, and a current verification status is identified as a function of the verification data and prestored data within the verification component of the device. The identification of the verification status includes comparing verification data representing the Secret with data prestored within the device and assigning, based on the comparison, a first comparison marker within the device equal to a value out of a set of predefined values; and comparing verification data representing biometric data with data prestored within the device and assigning, based on the comparison, a second comparison marker within the device equal to a value out of a set of predefined values. A digital signature is generated within the device for a message by first modifying within the device data representing the message as a function of the assigned values for the first and second comparison markers, and then encrypting the modified data such that the digital signature comprises an indicator of the identified verification status. The digital signature then is output from the verification component and transmitted to the second entity.

In preferred embodiments of this fourth aspect of the present invention: one verification status out of the plurality of predefined verification statuses of the device is representative of the verification data being the same as the prestored data, and at least one other predefined verification status is representative of the verification data being different from the prestored data; the assigned value of the first comparison marker, the assigned value of the second comparison marker, or the assigned values of the first and second comparison markers are output from the device with the generated digital signature; and the modification of the message includes embedding the assigned value of the first comparison marker, the assigned value of the second comparison marker, or both, within the data representing the message, or appending such assigned value(s) to the data representing the message, including appending to the beginning or the end of the message data. Additionally, a request is evaluated with business logic based on the identified verification status.

In alternative embodiments to this fourth aspect of the present invention, the data representing the message is modified as a function of only one of the assigned values for the first and second comparison markers. Furthermore, the generated digital signature for the message and the other of the assigned values for the first and second comparison markers is transmitted to the second entity.

E. Fifth Aspect of the Present Invention

A fifth aspect of the present invention relates to determining a current verification status of a device that generates a digital signature and includes the steps: receiving a digital signature; decrypting the digital signature using a public key of a public-private key pair; for each one of a plurality of predefined verification statuses of the device, modifying data representing a message as a function of the predefined verification status; and identifying the current verification status of the device as being the predefined verification status for which the modified data matches the decrypted digital signature. In a variation of this aspect, a message digest is calculated as a function of the modified data following the modification. The calculation of the message digest as a function of the modified data may include the calculation of a hash value for the modified data.

In preferred embodiments of this fourth aspect of the present invention, each one of the verification statuses represents a relational correspondence between verification data input into the device and data prestored within the device. Furthermore, each verification status neither reveals verification data nor prestored data of the device for which the current verification status is determined.

Preferably, the current verification status is associated with a request. The request, for example, may be for the performance of a financial transaction or for the performance of a legal action. The request, for example, may be predetermined and static and included in a predefined message. The request may be for access to a physical space, access to a web site, access to a database, or access to a computer program. Preferably, the request is received in association with the digital signature and evaluated based on the current verification status indicated by the digital signature. The evaluation of the request includes the step of considering an assurance level of the device generating the digital signature. The request may be implicit in the receipt of the digital signature. The request may be communicated over an electronic communications medium such as a computer network, whether public or private.

Additionally, in preferred embodiments, one of the predefined verification statuses represents an unsuccessful verification; one of the predefined verification statuses represents a successful verification; one of the predefined verification statuses additionally represents whether a digital signature has been generated by the device since verification data was last input into the device; one of the predefined verification statuses additionally represents whether a digital signature has been generated subsequent to a comparison of verification data input into the device with data prestored within the device; one of the predefined verification statuses additionally represents whether any verification data has been input into the device within a predetermined time period comprising, for example, the time since a last successful verification or the time since a resetting of the device.

Additionally, in preferred embodiments, one of the predefined verification status represents a difference between verification data input into the device and data prestored within the device; one of the predefined verification statuses represents a degree of match between biometric verification data input into the device and biometric data prestored within the device; one of the predefined verification statuses additionally represents a percentage of match between biometric verification data input into the device and biometric data prestored within the device; one of the predefined verification statuses additionally represents whether a digital signature has been generated by the device since verification data was last input into the device; one of the predefined verification statuses additionally represents whether a digital signature has been generated subsequent to a comparison of verification data input into the device with data prestored within the device; one of the predefined verification statuses additionally represents whether any verification data has been input into the device within a predetermined time period.

F. Features of the Present Invention

In features of the aforementioned aspects of the present invention, the device preferably identifies the current verification status of the device by assigning an identification marker within the device equal to a value out of a set of predefined values corresponding to the predefined verification statuses. In preferred embodiments, the identification marker is assigned a value equated with a successful verification when the comparison results in a match, including an exact match (e.g., when the data represents a Secret); the identification marker is assigned a value equated with a successful verification when the comparison results in a match, but not an exact match (e.g., when the data represents a biometric characteristic); and, the identification marker is assigned a value equated with an unsuccessful verification when a comparison between the verification data and the prestored data does not result in a match.

Additionally in preferred embodiments, the identification marker is assigned a value representing a difference determined from a comparison between the verification data and the prestored data; the identification marker is assigned a value representing a degree of match between the verification data and the prestored data; the identification marker is assigned a value equated with a percentage, of match between the verification data and the prestored data; and the identification marker is assigned a value representing whether any verification data was input into the device within a predefined time period, such as the time since a last successful verification or the time since a resetting of the device.

In preferred embodiments wherein the identification marker is assigned a value equated with a successful verification, the assigned value further represents whether an indicator was output subsequent to the successful verification or whether an indicator was output since verification data was last input into the device. In additional features, the indicator comprises the assigned value of the identification marker, and the assigned value further represents whether a digital signature was generated by the device since verification data was last input into the device. Furthermore, the device preferably generates a digital signature in response to an external inquiry received by the device, in response to receipt of data representing the message, or in response to receipt of input comprising the verification data.

Other features of the present invention include the verification data being input directly into the device by a user; and, alternatively, input representing the verification data being received within an I/O support element external to the device and then transmitted into the device. The I/O support element may include, for example, a point of sale terminal, a biometric scanner, a card reader, an ATM machine, or a computer.

In yet additional features, the indicator points definitively (i.e., without ambiguity) to a single predefined verification status of the device; neither the prestored data comprising a Secret and/or biometric data nor the verification data input into the device are exported from the device; and the device prestores data for a plurality of users of the device; a digital signature is generated within the device and output from the device with the value of the identification marker.

When the prestored data comprises biometric data, the identification marker is assigned a value representing the type of the biometric data in a feature of the present invention. Furthermore, the biometric data may represent, for example, a digitized fingerprint, a digitized handprint or hand geometry, a digitized retina, a digitized iris, a digitized voice print, a digitized facial scan, a digitized written signature, or a digitized DNA sample. In such case, the device may include a biometric scanner for inputting of the verification data. The device also may prestore data for a plurality of different types of biometric data, whether for one person or for several persons.

In other features of the present invention wherein a request is evaluated based on the identified verification status, verification data is required to be input into the device for each one of a particular type of request such as, for example, a financial transaction. Verification data may not be required to be input into the device for other types of requests. Verification data also may be required to be input into the device for a particular type of request, but only until an evaluation of the request results in an approval, and then verification data may not be required to be input into the device for additional requests of such type during a predefined period of time thereafter, such as the time between the approval of the request and a resetting of the device.

Random numbers are utilized in may computer applications, such as in security protocols like secure socket layer (SSL) protocol and pretty good privacy (PGP) for the creation of session keys. Yet another feature of the present invention includes the generation of a digital signature using a digital signature algorithm, with the resulting digital signature being used in such an application as a random number.

The device of the methods of the present invention preferably is a personal device of the sender of the EC. The device also preferably includes a device interface such as, for example, an alphanumeric keypad, an electrical contact, a touch screen display, a standard electronic interface with a computer bus, or an antenna. The device interface also may comprise a port the device, such as a wireless communications port, a serial port, a USB port, a parallel port, or an infrared port. The device preferably is portable and of a handheld form factor. The device preferably includes a computer chip and/or integrated circuitry, and may be, for example, a cell phone, a PDA, a digitized key, a dongle, a subcutaneous implant, jewelry, an integrated circuit card (IC Card), a credit card, a debit card, smart card, a security card, an ID badge, or a computer.

Other features of the present invention include: a device with a computer-readable medium having computer-executable instructions that perform one or more steps of a method of the present invention; integrated circuitry that performs one or more steps of a method of the present invention; and a computer chip that performs one or more steps of a method of the present invention.

VI. DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

As a preliminary matter, it readily will be understood by those persons skilled in the art that, in view of the following detailed description of the devices, systems, and methods of the present invention, the present invention is susceptible of broad utility and application. Many embodiments and adaptations of the present invention other than those herein described, as well as many variations, modifications, and equivalent arrangements, will be apparent from or reasonably suggested by the present invention and the following detailed description thereof, without departing from the substance or scope of the present invention. Furthermore, those of ordinary skill in the art will understand and appreciate that although steps of various processes may be shown and described in some instances as being carried out in a preferred sequence or temporal order, the steps of such processes are not necessarily to be limited to being carried out in such particular sequence or order. Rather, in many instances the steps of processes described herein may be carried out in various different sequences and orders, while still falling within the scope of the present invention. Accordingly, while the present invention is described herein in detail in relation to preferred embodiments, it is to be understood that this detailed description only is illustrative and exemplary of the present invention and is made merely for purposes of providing a full and enabling disclosure of the present invention. The detailed description set forth herein is not intended nor is to be construed to limit the present invention or otherwise to exclude any such other embodiments, adaptations, variations, modifications and equivalent arrangements of the present invention, the present invention being limited solely by the claims appended hereto and the equivalents thereof.

A. Overview of the Present Invention

Conceptually, the present invention is illustrated best inFIG. 1, wherein an EC110including a message from a sender120is received by a recipient130. In accordance with the present invention, a device140includes a verification component thereof that performs the functions of: receiving input150representing verification data of the sender120; identifying a current verification status of the device140; and communicating the identified verification status (VS)160to the recipient130in association with the EC110. The verification data represented by the input150comprise a Secret or a biometric value.

In preferred embodiments of the present invention, discussed in detail below, the verification status160preferably is identified within the device by maintaining prestored data of the sender120and by comparing the prestored data with the verification data that is input. Accordingly, the prestored data comprises a Secret or a biometric value, too.

In preferred embodiments, the device140also includes a plurality of predefined verification statuses, each representing a relational correspondence between the verification data and the prestored data. None of the verification statuses, however, actually reveals the verification data or the prestored data; thus, there need be no “shared secret” between the sender120and the recipient130. The device140identifies one of the predefined verification statuses as being the current verification status160based on the comparison of the verification data with the prestored data, and the device140communicates the identified verification status160to the recipient130by outputting from the device140an indicator of the identified verification status that then is transmitted to the recipient130. The indicator may or may not actually comprise the verification status160; however, the indicator does indicate to the recipient130(or enables the recipient130to determine) the verification status160identified within the device.

Additionally, the device140preferably includes a predefined verification status representing that no input150was received within a predefined period of time. The device140identifies this verification status as being the current verification status160if no input150is received within such predefined period of time and, when appropriate, communicates such verification status to the recipient130in association with an EC110. The predefined period of time may comprise, for example, the time since a resetting of the device140or simply a predetermined amount of time. Further, for devices140that “power on” only when voltage or an appropriate signal is provided to the device140(e.g., voltage from an internal power supply, voltage from an external power supply, receipt of an RF signal, and the like), the predefined amount of time may comprise the time since the device140was, in fact, “powered on.”

Examples of possible verification statuses include “match” and “no match” between the verification data and the prestored data, and degrees of match or difference between the verification data and prestored data (e.g., when the verification data and prestored data comprises biometric values). The verification statuses also may further represent whether a verification status has been provided to the recipient130within a predefined period of time. The predefined period of time may comprise, for example, the time since the last comparison of verification data with prestored data that resulted in a successful verification, the time since the last receipt of input150representing verification data, or simply a predetermined amount of time, as discussed above.

The recipient130preferably has the ability of determining a level of risk associated with the EC110based on the verification status160. Because of this determined level of risk associated with the EC110, the recipient130is better able to evaluate the message of the EC110. The recipient130preferably is represented by an electronic apparatus that includes an interface for receiving the indicator transmitted from device140and logic circuitry or software incorporating business logic for evaluating the EC110from the sender120based on the received indicator. The electronic apparatus may be located remote to the device140but disposed in electronic communication therewith, such as over an electronic communications network (e.g. Internet, intranet, wireless network, and the like).

It should be understood that, depending upon the context in which the sender120and recipient130are interacting, the message may be explicit or implicit. If implicit, the content of the message may be predefined. For example, the actual act of receiving an indicator of the verification status of the device140by the recipient130may, in itself, represent a message agreed upon between the sender120and the recipient130. In such a case, no EC110containing a message need be sent. Furthermore, when an EC110actually is sent from the sender120to the recipient130, part or all of the EC110may be composed and sent from the device140, rather than separate from the device140as shown inFIG. 1.

B. Preferred Embodiments of the Present Invention

A first preferred embodiment200of the present invention is illustrated inFIG. 2a,wherein an EC210including a message from a sender220is received by a recipient represented by an electronic apparatus230, and wherein a device240receives input representing verification data (VD)250at a device interface252. The device240includes a verification component therein that maintains data (PD)270of the sender220prestored in memory254of the device240. The verification data250and prestored data270represent Secret or biometric values.

The verification component identifies at256a current verification status of the device240based on a comparison of the verification data250with the prestored data270. Upon receipt of a signal (S)280, the last identified (i.e., “current”) verification status of the device240is communicated to the recipient by outputting from the device240an indicator260that then is transmitted to the recipient in association with the EC210. The signal280is sent to the device240, which triggers the device240to output the indicator260. The signal280represents, for example, a request or command for the provision of the verification status to the recipient and is generated by the sender220, by the electronic apparatus230, or by another apparatus (not shown). The device interface252includes, as appropriate, one or more of the following: a user interface such as an alphanumeric keypad, a touch screen display, or a biometric scanner for receiving input directly from the sender220; an electrical contact; a standard electronic interface with a computer bus; an antenna; or a communications port, such as a serial port, USB port, parallel port, infrared port, or other wireless communications port.

The device240also includes a set of predefined verification statuses each representing a relational correspondence between the verification data250and the prestored data270. Verification statuses of the set further represent whether an indicator260has been output from the device240since the last successful verification or since the last receipt of input representing verification data. The set also contains one additional predefined verification status representing the lack of input representing verification data250since a resetting after a timeout or a powering on of the device240. The indicator260output from the device240is based on the last comparison of the verification data250with the prestored data270, but only if input representing verification data250has been received since the resetting of the device240. Otherwise, the indicator260indicates the lack of input representing verification data250since the resetting of the device240. In either case, the indicator260is transmitted in association with the EC210, whereby the recipient is able to identify the indicator260as relating to the EC210. The electronic apparatus230includes an interface (not shown) capable of receiving the indicator260from device240, and also includes logic circuitry or software incorporating business logic therein for determining the verification status based on the indicator260and for evaluating the EC210received from the sender220based on the verification status of the device240.

When the verification data250and the prestored data270comprise a Secret, the predefined set of verification statuses includes at least four verification statuses, comprising: a first verification status representing the lack of verification data250since a resetting of the device; a second verification status representing a match between the verification data250and the prestored data270, and further representing no other indicator260being output from the device240since the match; a third verification status representing a failed match between the verification data250and the prestored data270; and a fourth verification status representing a match between the verification data250and the prestored data270, and further representing that an indicator260has been output since the match. The device240preferably includes an identification marker (“IM”)272stored in memory274and comprising one of four binary numbers that represents the current verification status identified by the device240. The four binary numbers respectively correspond to the four verification statuses and include: “00” identifying the first verification status; “01” identifying the second verification status; “10” identifying the third verification status; and “11” identifying the fourth verification status. Furthermore, the indicator260output from the device240preferably includes the value of the identification marker272, with the correspondence of the value with the predefined verification statuses of the device240being previously known by the recipient. None of the verification statuses actually reveal the verification data250or the prestored data270; thus, no “shared secret” is required between the sender220and the recipient. However, the recipient can infer correct knowledge of the Secret from the verification status.

Alternatively, when the verification data250and the prestored data270comprise biometric values, the set of predefined verification statuses comprises the possible percentages of match—or degrees of difference—between the verification data250and prestored data270, together with a verification status representing the lack of input representing verification data250since a resetting of the device240. For example, the predefined verification statuses comprising the percentage match of the verification data250with the prestored data270may comprise the set of percentages ranging from 0% to 100% in increments of 1%. Preferably each one of the verification statuses representing a percentage match also further represents whether an indicator260has been output from the device240since the last receipt of input representing verification data250. The device240preferably includes the identification marker272for storing a value representing the verification status identified by the device240as the current verification status. Furthermore, the indicator260output from the device240preferably comprises the value of the identification marker272, with the correspondence of such value with the predefined verification statuses of the device being previously known by the recipient. Again, none of the verification statuses actually reveal either of the verification data250or the prestored data270; thus, no biometric value representing the sender's irreplaceable biometric characteristic is communicated to the recipient. However, the recipient can infer from the verification status the presence of the sender220from the reading of the biometric characteristic.

A variation based on the first preferred embodiment200ofFIG. 2ais shown inFIG. 2b,and includes an I/O support element262from which the input representing the verification data250is received at the device interface252. The I/O support element262includes a user interface258from which input from the sender is received and an I/O interface259that communicates the input representing the verification data250to the device240. Yet an additional variation thereof is shown inFIG. 2c,wherein the I/O support element262receives the indicator260output from the device240and, in turn, transmits the indicator260to the electronic apparatus230.

As shown, the indicator260transmitted from the I/O support element262is the same as the indicator260output from the device240. However, the indicator transmitted from the I/O support element262may be different from the indicator output from the device240, so long as the recipient is able to determine the verification status as indicated by the indicator260output from the device240. For instance, the indicator transmitted from the I/O support element262may indicate not only the verification status of the device240, but also a verification status of the I/O support element262when the I/O support element262itself identifies a verification status. Furthermore, the indicator260transmitted from the I/O support element262may be packaged or embedded within another communication—including additional information that is digitally signed by the I/O support element262.

InFIGS. 2a,2b,and2c,the EC210is shown as being transmitted separate from the indicator260. However, in the preferred embodiment ofFIG. 2aand variations thereof, the indicator260equally may be associated with the EC210by being transmitted as part of the EC210. Furthermore, the EC210may be output from the device240, an associated I/O support element262(not shown inFIG. 2a), or other apparatus.

A preferred mode300of operation of the device ofFIGS. 2a,2b,and2cis illustrated inFIG. 3and begins with a resetting Step304of the device following a timeout or powering on of the device at302. During the reset, the identification marker is assigned a value corresponding to a verification status representing the receipt of no input representing verification data and further representing the fact that that no indicator has yet been output. The device then enters a repeating loop that begins at306and ends at312and continues within this loop until the device is reset, is powered off, or deactivates after a predetermined amount of time. The first step in the loop preferably includes the determination Step308whether any input representing verification data (VD) is received by the device. If the determination in Step308is positive, the current verification status (VS) of the device is identified Step314by comparing the verification data (VD) with the data prestored (PD) in memory of the device. The verification status identified then is recorded by assigning Step316a value to the identification marker stored within the memory of the device equal to the predefined value corresponding to the identified verification status.

If no input representing verification data is received in Step308or after the value of the identification marker has been assigned in Step316, a determination is then made of whether a signal (S) has been or is being received by the device. If a signal is not received, then the loop restarts Step306. When a signal is received, the determination in Step310is positive and the indicator of the current verification status of the device is output Step318. As set forth above, the indicator comprises the value of the identification marker maintained in memory within the device. Following the output of the indicator, the determination is made Step320whether the indicator output is the first indicator output since receipt of input representing verification data. The loop restarts Step306if the determination in Step320is negative. If the determination in Step320is positive, then the verification status is newly recorded by assigning Step322a value to the identification marker that further represents the fact that an indicator has been output since input representing verification data was received in Step308. The loop then restarts Step306.

2. Second Preferred Embodiment (Digital Signature for Indicator)

A second preferred embodiment400of the present invention is illustrated inFIG. 4a,wherein an EC410including a message from a sender420is received by a recipient represented by an electronic apparatus430, and wherein a device440receives input representing verification data (VD)450at a device interface452. The device440includes a verification component therein that maintains data (PD)470of the sender420prestored in memory454of the device440. The verification data450and prestored data470represent Secret or biometric values.

The verification component identifies at456a current verification status of the device440based on a comparison of the verification data450with the prestored data470. Upon receipt of a signal (S)480, the last identified (i.e., “current”) verification status of the device440is communicated to the recipient by outputting from the device440an indicator460that then is transmitted to the recipient in association with the EC410. Also upon receipt of the signal480, a digital signature component of the device440originates a digital signature (DS)482for the indicator460by calculating a hash value for the indicator at490and then encrypting the hash value at492using a private key495of a public-private key pair. The digital signature482then is output from the device440and transmitted to the recipient with the indicator460. For increased reliability and trust, the private key495is retained securely within memory494so that it is never exported from the device440and is not discoverable from outside of the device440.

In this preferred embodiment, the digital signature is originated in accordance with an elliptical curve digital signature algorithm (ECDSA) as specified inFederal Information Processing Standards Publication186-2,Digital Signature Standard,US DOC/NBS, Jan. 11, 1994 (hereinafter “FIPS PUB 186-2”), which is incorporated herein by reference and which is available for download at http://csrc.nist.gov/publications/fips. Accordingly, the digital signature482is generated using a random number generator, and the hash function at490is performed using the secure hash algorithm (“SHA-1”), which generates a 20-byte output regardless of the size of the input received from component456. The SHA-1 itself is specified inFederal Information Processing Standards Publication180-1,Secure Hash Standard,US DOC/NBS, Apr. 17, 1995 (hereinafter “FIPS PUB 180-1”), which is incorporated herein by reference and which is available for download at http://csrc.nist.gov/publications/fips.

The signal480is sent to the device440, which triggers the device440to output the indicator460. The signal480represents, for example, a request or command for the provision of the verification status to the recipient and is generated by the sender420, by the electronic apparatus430, or by another apparatus (not shown). The device interface452includes, as appropriate, one or more of the following: a user interface such as an alphanumeric keypad, a touch screen display, or a biometric scanner for receiving input directly from the sender420; an electrical contact; a standard electronic interface with a computer bus; an antenna; or a communications port, such as a serial port, USB port, parallel port, infrared port or other wireless communications port.

The device440also includes a set of predefined verification statuses each representing a relational correspondence between the verification data450and the prestored data470. Verification statuses of the set further represent whether an indicator460has been output from the device since the last successful verification or since the last receipt of input representing verification data. The set also contains one additional predefined verification status representing the lack of input representing verification data450since a resetting after a timeout or a powering on of the device440. The indicator460output from the device440is based on the last comparison of the verification data450with the prestored data470, but only if input representing verification data450has been received since the resetting of the device440. Otherwise, the indicator460indicates the lack of input representing verification data450since the resetting of the device440. In either case, the indicator460is transmitted with the digital signature482therefor in association with the EC410, whereby the recipient is able to identify the indicator460as relating to the EC410.

The electronic apparatus430includes an interface (not shown) capable of receiving the indicator460and digital signature482from device440. The electronic apparatus430also includes logic circuitry or software incorporating business logic therein for determining the verification status of the device based on the indicator460and for evaluating the EC410received from the sender420based on the verification status of the device440. The electronic apparatus430also decrypts the digital signature482to confirm the authenticity of the indicator460(i.e., the electronic apparatus430conducts Message Authentication with respect to the indicator460). The decryption is performed using the public key, which corresponds to the private key495and which may be received in association with the digital signature482or otherwise known or obtained beforehand by the recipient.

When the verification data450and the prestored data470comprise a Secret, the predefined set of verification statuses includes at least four verification statuses, comprising: a first verification status representing the lack of verification data450since a resetting of the device; a second verification status representing a match between the verification data450and the prestored data470, and further representing no other indicator460being output from the device440since the match; a third verification status representing a failed match between the verification data450and the prestored data470; and a fourth verification status representing a match between the verification data450and the prestored data470, and further representing that an indicator460has been output since the match. The device440preferably includes an identification marker (“IM”)472stored in memory474and comprising one of four binary numbers that represents the current verification status identified by the device440. The four binary numbers respectively correspond to the four verification statuses and include: “00” identifying the first verification status; “01” identifying the second verification status; “10” identifying the third verification status; and “11” identifying the fourth verification status. Furthermore, the indicator460output from the device440preferably includes the value of the identification marker472, with the correspondence of the value with the predefined verification statuses of the device440being previously known by the recipient. None of the verification statuses actually reveal the verification data450or the prestored data470; thus, no “shared secret” is required between the sender420and the recipient. However, the recipient can infer correct knowledge of the Secret from the verification status.

Alternatively, when the verification data450and the prestored data470comprise biometric values, the set of predefined verification statuses comprises the possible percentages of match—or degrees of difference—between the verification data450and prestored data470, together with a verification status representing the lack of input representing verification data450since a resetting of the device440. For example, the predefined verification statuses comprising the percentage match of the verification data450with the prestored data470may comprise the set of percentages ranging from 0% to 100% in increments of 1%. Each one of the verification statuses representing a percentage match also further represents whether an indicator460has been output from the device440since the last receipt of input representing verification data450. The device440preferably includes the identification marker472for storing a value representing the verification status identified by the device440as the current verification status. Furthermore, the indicator460output from the device440preferably comprises the value of the identification marker472, and the correspondence of such value with the predefined verification statuses of the device is previously known by the recipient. Again, none of the verification statuses actually reveal either of the verification data450or the prestored data470; thus, no biometric value representing the sender's irreplaceable biometric characteristic is communicated to the recipient. However, the recipient can infer from the verification status the presence of the sender420from the reading of the biometric characteristic.

A variation based on the second preferred embodiment400ofFIG. 4ais shown inFIG. 4b,and includes an I/O support element462from which the input representing the verification data450is received at the device interface452. The I/O support element462includes a user interface458from which input from the sender420is received and an I/O interface459that communicates the input representing the verification data450to the device440. Yet an additional variation thereof is shown inFIG. 4c,wherein the I/O support element462receives the indicator460and digital signature482therefor output from the device440. The I/O support element462, in turn, transmits the indicator460and digital signature482to the external electronic apparatus430.

As shown, the indicator460transmitted from the I/O support element462is the same as the indicator460output from the device440. However, the indicator transmitted from the I/O support element462may be different from the indicator output from the device440, so long as the recipient is able to determine both the verification status as indicated by the indicator460output from the device440, and the bit pattern of the indicator460for which the digital signature was originated by the device440. For instance, the indicator transmitted from the I/O support element462may indicate not only the verification status of the device440, but also a verification status of the I/O support element462when the I/O support element462itself identifies a verification status. Furthermore, the indicator460transmitted from the I/O support element462may be packaged or embedded within another communication—including additional information that is digitally signed by the I/O support element462.

Furthermore, inFIGS. 4a,4b,and4c,the EC410is shown as being transmitted separate from the indicator460and digital signature482. However, in the preferred embodiment ofFIG. 4aand any variations thereof, the indicator460and digital signature482equally may be associated with the EC410by being transmitted as part of the EC410. Furthermore, the EC410may be output from the device440, an associated I/O support element462(not shown inFIG. 4a), or other apparatus.

A preferred mode500of operation of the device ofFIGS. 4a,4b,and4cis illustrated inFIG. 5and begins with a resetting Step504of the device following a timeout or powering on of the device at502. During the reset, the identification marker is assigned a value corresponding to a verification status representing the receipt of no input representing verification data and further representing the fact that that no indicator has yet been output. The device then enters a repeating loop that begins at506and ends at512and continues within this loop until the device is reset, is powered off, or deactivates after a predetermined amount of time. The first step in the loop preferably includes the determination Step508whether any input representing verification data (VD) is received by the device. If the determination in Step508is positive, the current verification status (VS) of the device is identified Step514by comparing the verification data (VD) with the data prestored (PD) in memory of the device. The verification status identified then is recorded by assigning Step516a value to the identification marker stored within the memory of the device equal to the predefined value corresponding to the identified verification status.

If no input representing verification data is received in Step508or after the value of the identification marker has been assigned in Step516, a determination is then made of whether a signal (S) has been or is being received by the device. If a signal is not received, then the loop restarts Step506. When a signal is received, the determination in Step510is positive and a digital signature is originated Step518for the indicator of the current verification status. The indicator and the digital signature therefor then are output Step520. As set forth above, the indicator comprises the value of the identification marker maintained in memory within the device. Following the output of the indicator and digital signature, the determination is made Step522whether the indicator output is the first indicator output since receipt of input representing verification data. The loop restarts Step506if the determination in Step522is negative. If the determination in Step522is positive, then the verification status is newly recorded by assigning Step524a value to the identification marker that further represents the fact that an indicator has been output since input representing verification data was received in Step508. The loop then restarts Step506.

3. Third Preferred Embodiment (Digital Signature for Message)

A third preferred embodiment600of the present invention is illustrated inFIG. 6a,wherein an EC610including a message from a sender620is received by a recipient represented by an electronic apparatus630, and wherein a device640receives input representing verification data (VD)650at a device interface652. The device640includes a verification component therein that maintains data (PD)670of the sender620prestored in memory654of the device640. The verification data650and prestored data670represent Secret or biometric values.

The verification component identifies at656a current verification status of the device640based on a comparison of the verification data650with the prestored data670. Upon receipt of a signal (S)680, the last identified (i.e., “current”) verification status of the device640is communicated to the recipient by outputting from the device640an indicator660that then is transmitted to the recipient in association with the EC610. The signal680is sent to the device640, which triggers the device640to output the indicator660. The signal680represents, for example, a request or command for the provision of the verification status to the recipient and is generated by the sender620, by the electronic apparatus630, or by another apparatus (not shown). The device interface652includes, as appropriate, one or more of the following: a user interface such as an alphanumeric keypad, a touch screen display, or a biometric scanner for receiving input directly from the sender620; an electrical contact; a standard electronic interface with a computer bus; an antenna; or a communications port, such as a serial port, USB port, parallel port, infrared port or other wireless communications port.

The device640receives at the device interface652data (MD)622representing the message of the EC610. The message data may comprise the message itself, a message digest thereof, or the result of some other processing of the message (M). The device640includes a digital signature component that, upon receipt of the message data622, originates a digital signature (DS)686for the message data622. The digital signature686is originated by calculating a hash value for the message data622at690and then encrypting the hash value at692using a private key695of a public-private key pair. For increased reliability and trust, the private key695is retained securely within memory694so that it is never exported from the device640and is not discoverable from outside of the device640. The digital signature is originated in accordance with the ECDSA as specified in FIPS PUB 186-2. Accordingly, the digital signature682is generated using a random number generator, and the hash function at690is performed using SHA-1, which generates a 20-byte output regardless of the size of the input received. The digital signature686then is output from the device640and transmitted to the recipient with the indicator660.

In alternative preferred embodiments, if the message data622has already been hashed before it is received by the device640, then the hash function is omitted. In such alternative embodiments, the device640is configured not to hash any message data622or not to hash message data622if a specific instruction, signal, or command is received.

The device640also includes a set of predefined verification statuses each representing a relational correspondence between the verification data650and the prestored data670. Verification statuses of the set further represent whether an indicator660has been output from the device640since the last successful verification or since the last receipt of input representing verification data. The set also contains one additional predefined verification status representing the lack of input representing verification data650since a resetting after a timeout or a powering on of the device640. The indicator660output from the device640is based on the last comparison of the verification data650with the prestored data670, but only if input representing verification data650has been received since the resetting of the device640. Otherwise, the indicator660indicates the lack of input representing verification data650since the resetting of the device640.

In either case, the indicator660is transmitted with the digital signature686in association with the EC610, whereby the recipient is able to identify the indicator660and digital signature686as relating to the EC610. The electronic apparatus630includes an interface (not shown) capable of receiving the indicator660and digital signature686from the device640. The electronic apparatus630also includes logic circuitry or software incorporating business logic therein for determining the verification status of the device based on the indicator, and for evaluating the EC610received from the sender620based on the determined verification status. The electronic apparatus630also decrypts the digital signature686to confirm the authenticity of the message of the EC610. The decryption is performed with the public key, which corresponds with the private key695and which may be received in association with the digital signature686or known or obtained beforehand by the recipient. Of course, in calculating a hash value for comparison, the electronic apparatus630performs any necessary processing to the message in order to produce the message data for which the digital signature was originated.

When the verification data650and the prestored data670comprise a Secret, the predefined set of verification statuses includes at least four verification statuses, comprising: a first verification status representing the lack of verification data650since a resetting of the device; a second verification status representing a match between the verification data650and the prestored data670, and further representing no other indicator660being output from the device640since the match; a third verification status representing a failed match between the verification data650and the prestored data670; and a fourth verification status representing a match between the verification data650and the prestored data670, and further representing that an indicator660has been output since the match. The device640preferably includes an identification marker (“IM”)672stored in memory674and comprising one of four binary numbers that represents the current verification status identified by the device640. The four binary numbers respectively correspond to the four verification statuses and include: “00” identifying the first verification status; “01” identifying the second verification status; “10” identifying the third verification status; and “11” identifying the fourth verification status. Furthermore, the indicator660output from the device640preferably includes the value of the identification marker672, with the correspondence of the value with the predefined verification statuses of the device being previously known by the recipient. None of the verification statuses actually reveal the verification data650or the prestored data670; thus, no “shared secret” is required between the sender620and the recipient. However, the recipient can infer correct knowledge of the Secret from the verification status.

Alternatively, when the verification data650and the prestored data670comprise biometric values, the set of predefined verification statuses comprises the possible percentages of match—or degrees of difference—between the verification data650and prestored data670, together with a verification status representing the lack of input representing verification data650since a resetting of the device640. For example, the predefined verification statuses comprising the percentage match of the verification data650with the prestored data670may comprise the set of percentages ranging from 0% to 100% in increments of 1%. Preferably each one of the verification statuses representing a percentage match also further represents whether an indicator660has been output from the device640since the last receipt of input representing verification data650. The device640preferably includes the identification marker672for storing a value representing the verification status identified by the device640as the current verification status. Furthermore, the indicator660output from the device640preferably comprises the value of the identification marker672, with the correspondence of such value with the predefined verification statuses of the device being previously known by the recipient. Again, none of the verification statuses actually reveal either of the verification data650or the prestored data670; thus, no biometric value representing the sender's irreplaceable biometric characteristic is communicated to the recipient. However, the recipient can infer from the verification status the presence of the sender from the reading of the biometric characteristic.

A variation based on the third preferred embodiment600ofFIG. 6ais shown inFIG. 6b, and includes an I/O support element662from which input representing the verification data650and input representing the message data622are received by the device640. The I/O support element662includes a user interface658from which input from the sender620is received and an I/O interface659that communicates the input representing the verification data650and input representing the message data622to the device640. Although the message data622is shown coming from the I/O support element662, it is possible for some or all of the message data622to be composed within the device640or another apparatus (not shown). Yet an additional variation thereof is shown inFIG. 6c, wherein the I/O support element662receives the indicator660and digital signature686output from the device640. The I/O support element662, in turn, transmits the indicator660and the digital signature686to the electronic apparatus630.

As shown, the indicator660and digital signature686transmitted from the I/O support element662are the same as the indicator660and digital signature686output from the device640. However, the indicator transmitted from the I/O support element662may be different from the indicator output from the device640, so long as the recipient is able to determine the verification status as indicated by the indicator660output from the device640. For instance, the indicator transmitted from the I/O support element662may indicate not only the verification status of the device640, but also a verification status of the I/O support element662when the I/O support element662itself identifies a verification status. Furthermore, the indicator660and digital signature686transmitted from the I/O support element662may be packaged or embedded within another communication—including additional information that is digitally signed by the I/O support element662.

Furthermore, inFIGS. 6a,6b,and6c, the EC610is shown as being transmitted separate from the indicator660and digital signature686. However, in the preferred embodiment ofFIG. 6aand any variations thereof, the indicator660and digital signature686equally may be associated with the EC610by being transmitted as part of the EC610. Furthermore, the EC610may be output from the device640, an associated I/O support element662(not shown inFIG. 6a), or other apparatus.

A preferred mode700of operation of the device ofFIGS. 6a,6b,and6cis illustrated inFIG. 7and begins with a resetting Step704of the device following a timeout or powering on of the device at702. During the reset, the identification marker is assigned a value corresponding to a verification status representing the receipt of no input representing verification data and further representing the fact that that no indicator has yet been output. The device then enters a repeating loop that begins at706and ends at714and continues within this loop until the device is reset, is powered off, or deactivates after a predetermined amount of time. The first step in the loop preferably includes the determination Step708whether any input representing verification data (VD) is received by the device. If the determination in Step708is positive, the current verification status (VS) of the device is identified Step716by comparing the verification data (VD) with the data prestored (PD) in memory of the device. The verification status identified then is recorded by assigning Step718a value to the identification marker stored within the memory of the device equal to the predefined value corresponding to the identified verification status.

If no input representing verification data is received in Step708or after the value of the identification marker is recorded in Step718, the next step in the loop preferably includes the determination Step710whether any input representing message data (MD) is received by the device. If the determination in Step710is positive, the device originates Step720a digital signature for the message data. The digital signature for the message data is then output Step722from the device.

If no input representing message data is received in Step710or after the digital signature for the message data is output in Step722, a determination is then made of whether a signal (S) has been or is being received by the device. If a signal is not received, then the loop restarts Step706. When a signal is received, the determination in Step712is positive and the indicator of the current verification status of the device is output Step724. As set forth above, the indicator comprises the value of the identification marker maintained in memory within the device. Following the output of the indicator, the determination is made Step726whether the indicator output is the first indicator output since receipt of input representing verification data. The loop restarts Step706if the determination in Step726is negative. If the determination in Step726is positive, then the verification status is newly recorded by assigning Step728a value to the identification marker that further represents the fact that an indicator has been output since input representing verification data was received in Step708. The loop then restarts Step706.

A fourth preferred embodiment800of the present invention is illustrated inFIG. 8a,wherein a device840includes message data (MD)822representing a predefined message that is maintained in memory, of the device840. Furthermore, it is preferred that the content of the predefined message be known in advance by the recipient, whereby the message is implicitly received by the recipient in the act of receiving a digital signature886for the message data822. However, in the event that the recipient does not have knowledge of the predefined message, the device840preferably includes the option of exporting the message data822for communication to the recipient as shown by the dotted line inFIG. 8a.

The device840includes a digital signature component that, upon receipt of a signal (S1)898at the device interface852, originates the digital signature886for the message data822by calculating a hash value therefor at890and then encrypting the hash value at892using a private key895of a public-private key pair, and then outputs the digital signature886for transmitting to the recipient. For increased reliability and trust, the private key895is retained securely within memory894so that it is never exported from the device840and is not discoverable from outside of the device840. The digital signature is originated in accordance with the ECDSA as specified in FIPS PUB 186-2. Accordingly, the digital signature882is generated using a random number generator, and the hash function at890is performed using SHA-1, which generates a 20-byte output regardless of the size of the input received.

The signal898represents, for example, a request or command generated by the sender820for the communication of the digital signature886to the recipient or, alternatively, the signal898may simply comprise the receipt from the sender820of input representing verification data850by the device840. In this regard, the device840receives input representing verification data (VD)850at a device interface852. The device840includes a verification component therein that maintains data (PD)870of the sender820prestored in memory854of the device840. The verification data850and prestored data870represent Secret or biometric values. The verification component of the device840identifies at856a current verification status of the device840based on a comparison of the verification data850with the prestored data870.

Upon receipt of a signal (S2)880, the last identified (i.e., “current”) verification status of the device840is communicated to the recipient by outputting from the device840an indicator (IVS)860that then is transmitted to the recipient in association with the digital signature886. The signal880is sent to the device840, which triggers the device840to output the indicator860. The signal880represents, for example, a request or command for the provision of the verification status to the recipient and is generated by the sender820, by the electronic apparatus830, or by another apparatus (not shown). Alternatively, the signal880may comprise the receipt of the input representing the verification data850itself; thus, it is possible for signal (S1)898and signal (S2)880to be the same signal.

The device interface852includes, as appropriate, one or more of the following: a user interface such as an alphanumeric keypad, a touch screen display, or a biometric scanner for receiving input directly from the sender820; an electrical contact; a standard electronic interface with a computer bus; an antenna; or a communications port, such as a serial port, USB port, parallel port, infrared port or other wireless communications port.

The device840includes a set of predefined verification statuses each representing a relational correspondence between the verification data850and the prestored data870. Verification statuses of the set further represent whether an indicator860has been output from the device840since the last successful verification or since the last receipt of input representing verification data850. The set also contains one additional predefined verification status representing the lack of input representing verification data850since a resetting after a timeout or a powering on of the device840. The indicator860output from the device840is based on the last comparison of the verification data850with the prestored data870, but only if input representing verification data850has been received since the resetting of the device840. Otherwise, the indicator860indicates the lack of input representing verification data850since the resetting of the device840.

In either case, the indicator860is transmitted with the digital signature886, whereby the recipient is able to identify the indicator860as relating to the digital signature686. The electronic apparatus830includes an interface (not shown) capable of receiving the indicator860and digital signature886. The electronic apparatus830also includes logic circuitry or software incorporating business logic therein for determining the verification status of the device840based on the indicator860, and for evaluating the implicit (or explicit) message received from the sender820based on the determined verification status. The electronic apparatus830also decrypts the digital signature886to confirm the authenticity of the message. The decryption is performed with the public key, which corresponds with the private key895and which may be received in association with the digital signature886or known or obtained beforehand by the recipient.

When the verification data850and the prestored data870comprise a Secret, the predefined set of verification statuses includes at least four verification statuses, comprising: a first verification status representing the lack of verification data850since a resetting of the device; a second verification status representing a match between the verification data850and the prestored data870, and further representing no other indicator860being output from the device840since the match; a third verification status representing a failed match between the verification data850and the prestored data870; and a fourth verification status representing a match between the verification data850and the prestored data870, and further representing the output of an indicator860since the match. The device840preferably includes an identification marker (“IM”)872stored in memory874and comprising one of four binary numbers that represents the current verification status identified by the device840. The four binary numbers respectively correspond to the four verification statuses and include: “00” identifying the first verification status; “01” identifying the second verification status; “10” identifying the third verification status; and “11” identifying the fourth verification status. Furthermore, the indicator860output from the device840preferably includes the value of the identification marker872, with the correspondence of the value with the predefined verification statuses of the device being previously known by the recipient. None of the verification statuses actually reveal the verification data850or the prestored data870; thus there is no “shared secret” between the sender820and the recipient. However, the recipient can infer correct knowledge of the Secret from the verification status.

Alternatively, when the verification data850and the prestored data870comprise biometric values, the set of predefined verification statuses comprises the possible percentages of match—or degrees of difference—between the verification data850and prestored data870, together with a verification status representing the lack of input representing verification data850since a resetting of the device840. For example, the predefined verification statuses comprising the percentage match of the verification data850with the prestored data870may comprise the set of percentages ranging from 0% to 100% in increments of 1%. Preferably each one of the verification statuses representing a percentage match also further represents whether an indicator860has been output from the device840since the last receipt of input representing verification data850. The device840preferably includes the identification marker872for storing a value representing the verification status identified by the device840as the current verification status. Furthermore, the indicator860output from the device840preferably comprises the value of the identification marker872, and the correspondence of such value with the predefined verification statuses of the device is previously known by the recipient. Again, none of the verification statuses actually reveal either of the verification data850or the prestored data870; thus, no biometric value representing the sender's irreplaceable biometric characteristic is communicated to the recipient. However, the recipient can infer from the verification status the presence of the sender from the reading of the biometric characteristic.

A variation based on the fourth preferred embodiment800ofFIG. 8ais shown inFIG. 8b,and includes an I/O support element862from which input representing the verification data850is received by the device840. The I/O support element862includes a user interface858from which input from the sender820is received and an I/O interface859that communicates the input representing the verification data850to the device840. Yet an additional variation thereof is shown inFIG. 8c,wherein the I/O support element862receives the indicator860and digital signature886(and optionally the message data822) output from the device840. The I/O support element862, in turn, transmits the indicator860and the digital signature886(and optionally the message data822) to the electronic apparatus830.

As shown, the indicator860and digital signature886transmitted from the I/O support element862are the same as the indicator860and digital signature886output from the device840. However, the indicator transmitted from the I/O support element862may be different from the indicator output from the device840, so long as the recipient is able to determine the verification status as indicated by the indicator860output from the device840. For instance, the indicator transmitted from the I/O support element862may indicate not only the verification status of the device840, but also a verification status of the I/O support element862when the I/O support element862itself identifies a verification status. Furthermore, the indicator860and digital signature886transmitted from the I/O support element862may be packaged or embedded within another communication—including additional information that is digitally signed by the I/O support element862.

A further variation based on the fourth preferred embodiment800ofFIG. 8ais shown inFIG. 8d,in which the message data822stored in the device840is a calculated hash value of the predefined message. In this case, the device840generates a digital signature886for the predefined message by directly encrypting the message data822at892, and the component890for calculating the hash value inFIG. 8ais omitted from the device ofFIG. 8d.In this example, it is assumed that the recipient knows the predefined message corresponding to the message data822stored within the device840; thus, there is no need to communicate the message (or message data822) from the device840to the recipient.

A preferred mode900of operation of the device ofFIGS. 8a,8b,8c,and8dis illustrated inFIG. 9and begins with a resetting Step904of the device following a timeout or powering on of the device at902. During the reset, the identification marker is assigned a value corresponding to a verification status representing the receipt of no input representing verification data and further representing the fact that that no indicator has yet been output. The device then enters a repeating loop that begins at906and ends at914and continues within this loop until the device is reset, is powered off, or deactivates after a predetermined amount of time. The first step in the loop preferably includes the determination Step908whether any input representing verification data (VD) is received by the device. If the determination in Step908is positive, the current verification status (VS) of the device is identified Step916by comparing the verification data (VD) with the data prestored (PD) in memory of the device. The verification status identified then is recorded by assigning Step918a value to the identification marker stored within the memory of the device equal to the predefined value corresponding to the identified verification status.

If no input representing verification data is received in Step908or after the value of the identification marker is recorded in Step918, the next step in the loop preferably includes the determination Step910whether any signal S1is received by the device. If the determination in Step910is positive, the device originates Step920(or generates, as applicable) a digital signature for the predefined message data. The digital signature for the predefined message data is then output Step922from the device.

If signal S1is not received in Step910or after the digital signature for the predefined message data is output in Step922, a determination is then made of whether a signal S2has been or is being received by the device. If a signal S2is not received, then the loop restarts Step906. When a signal S2is received, the determination in Step912is positive and the indicator of the current verification status of the device is output Step924. As set forth above, the indicator comprises the value of the identification marker maintained in memory within the device. Following the output of the indicator, the determination is made Step926whether the indicator output is the first indicator output since receipt of input representing verification data. The loop restarts Step906if the determination in Step926is negative. If the determination in Step926is positive, then the verification status is newly recorded by assigning Step928a value to the identification marker that further represents the fact that an indicator has been output since input representing verification data was received in Step908. The loop then restarts Step906.

5. Fifth Preferred Embodiment (Secret and Biometric Verification Data)

A fifth preferred embodiment1000of the present invention is illustrated inFIG. 10a,wherein an EC1010including a message from a sender1020is received by a recipient represented by an electronic apparatus1030, and wherein a device1040receives input representing verification data for a Secret (SVD)1051and input representing verification data for a biometric characteristic (BVD)1053at a device interface1052. The device1040includes a verification component therein that maintains data of the sender1020prestored in memory of the device1040. The prestored data (SPD)1042is located in memory1041and comprises a value for a Secret, and the prestored data (BPD)1044is located in memory1043and comprises a value for a biometric characteristic.

The verification component identifies at1056a current verification status of the device1040based on respective comparisons of the verification data1051,1053with the prestored data1042,1044. Upon receipt of a signal (S)1080, the last identified (i.e., “current”) verification status of the device1040is communicated to the recipient by outputting from the device1040an indicator1060that is transmitted to the recipient in association with the EC1010. The signal1080is sent to the device1040, which triggers the device1040to output the indicator1060. The signal1080represents, for example, a request or command for the provision of the verification status to the recipient and is generated by the sender1020, by the electronic apparatus1030, or by another apparatus (not shown). The device interface1052includes, as appropriate, one or more of the following: a user interface such as an alphanumeric keypad, a touch screen display, or a biometric scanner for receiving input directly from the sender1020; an electrical contact; a standard electronic interface with a computer bus; an antenna; or a communications port, such as a serial port, USB port, parallel port, infrared port or other wireless communications port.

The device1040also receives at the device interface1052data (MD)1022representing the message of the EC1010. The message data1022may comprise the message (M) itself, a message digest thereof, or the result of some other processing of the message. The device1040includes a digital signature component that, upon receipt of the message data1022, originates a digital signature (DS)1086for the message data1022by calculating a hash value therefor at1090and then encrypting the hash value at1092using a private key1095of a public-private key pair. For increased reliability and trust, the private key1095is retained securely within memory1094so that it is never exported from the device1040and is not discoverable from outside of the device1040. The digital signature1086then is output from the device1040and transmitted to the recipient with the indicator1060. The digital signature is originated in accordance with the ECDSA as specified in FIPS PUB 186-2. Accordingly, the digital signature1082is generated using a random number generator, and the hash function at1090is performed using SHA-1, which generates a 20-byte output regardless of the size of the input received.

In alternative preferred embodiments, if the message data1022has already been hashed before it is received by the device1040, then the hash function is omitted. In such alternative embodiments, the device1040is configured not to hash any message data1022or not to hash message data1022if a specific instruction, signal, or command is received.

The device1040also includes a set of predefined verification statuses each representing a relational correspondence between the verification data1051,1053and the prestored data1042,1043. Verification statuses of the set further represent whether an indicator1060has been output from the device1040since the last successful verification or since the last receipt of input representing verification data. The set also contains one additional predefined verification status representing the lack of input representing verification data1051since a resetting after a timeout or a powering on of the device1040, and one predefined verification status representing the lack of input representing verification data1053since a resetting after a timeout or a powering on of the device1040. The indicator1060output from the device1040is based on the last comparison of each of verification data1051(if received) with prestored data1042and of verification data1053(if received) with prestored data1044. Otherwise, the indicator1060indicates the lack of input representing verification data1051,1053since the resetting of the device1040.

In either case, the indicator1060is transmitted with the digital signature1086in association with the EC1010, whereby the recipient is able to identify the indicator1060and digital signature1086as relating to the EC1010. The electronic apparatus1030includes an interface (not shown) capable of receiving the indicator1060and digital signature1086. The electronic apparatus1030also includes logic circuitry or software incorporating business logic therein for determining the verification status of the device1040based on the indicator1060, and for evaluating the EC1010received from the sender1020based on the determined verification status. The electronic apparatus1030also decrypts the digital signature1086to confirm the authenticity of the message of the EC1010. The decryption is performed with the public key, which corresponds with the private key1095and which may be received in association with the digital signature1086or known or obtained beforehand by the recipient. In calculating a hash value for comparison, the electronic apparatus1030also performs any necessary processing to the message in order to produce the message digest for which the digital signature was originated.

Verification data1051and prestored data1042represent a Secret, and a comparison of verification data1051received with the prestored data1042produces a result preferably out of four possible outcomes, including: a first outcome representing the lack of verification data1050since a resetting of the device1040; a second outcome representing a match between the verification data1051and the prestored data1042, and further representing no other indicator1060being output from the device1040since the match; a third outcome representing a failed match between the verification data1051and the prestored data1042; and a fourth outcome representing a match between the verification data1051and the prestored data1042, and further representing the output of an indicator1060since the match.

Verification data1053and prestored data1044represent a biometric characteristic, and a comparison of verification data1053received with the prestored data1044produces a result preferably out of a predefined number of possible outcomes. Each outcome represents a possible percentage of match—or degree of difference—between the verification data1053and prestored data1044that is allowed, together with a verification status representing the lack of input for verification data1053since a resetting of the device1040. For example, the predefined outcomes comprising the percentage match of the verification data1053with the prestored data1044may comprise the set of percentages ranging from 0% to 100% in increments of 1%. Preferably each one of the outcomes representing a percentage match also further represents whether an indicator1060has been output from the device1040since the last receipt of input representing verification data1053.

The device1040preferably includes an identification marker (“IM”)1072stored in memory1074and comprising one of the set of predefined verification statuses of the device. The set of predefined verification statuses preferably comprises all of the possible combinations of outcomes from the comparison of the verification data1051with the prestored data1042in addition to all of the possible outcomes from the comparison of the verification data1053with the prestored data1044. Furthermore, the indicator1060output from the device1040preferably includes the value of the identification marker1072, with the correspondence of the value of the identification marker with the predefined verification statuses of the device1040being previously known by the recipient. None of the verification statuses actually reveal any of the verification data1051,1053or the prestored data1042,1044; thus, no “shared secret” is required between the sender1020and the recipient, and no biometric value representing the sender's irreplaceable biometric characteristic is communicated to the recipient. However, the recipient can infer correct knowledge of the Secret and correct input of a biometric value from the verification status.

A variation based on the fifth preferred embodiment1000ofFIG. 10ais shown inFIG. 10b,and includes an I/O support element1062from which input representing the verification data1051,1053and input representing the message data1022is received by the device1040. The I/O support element1062includes a user interface1058from which input from the sender1020is received and an I/O interface1059that communicates the input representing the verification data1051,1053to the device1040. Although the message data1022is shown coming from the I/O support element1062, it is possible for some or all of the message data1022to originate with the device1040or another apparatus (not shown). Yet an additional variation thereof is shown inFIG. 10c,wherein the I/O support element1062receives the indicator1060and digital signature1086output from the device1040. The110support element1062, in turn, transmits the indicator1060and the digital signature1086to the electronic apparatus1030.

As shown, the indicator1060and digital signature1086transmitted from the110support element1062are the same as the indicator1060and digital signature1086output from the device1040. However, the indicator transmitted from the I/O support element1062may be different from the indicator output from the device1040, so long as the recipient is able to determine the verification status as indicated by the indicator1060output from the device1040. For instance, the indicator transmitted from the I/O support element1062may indicate not only the verification status of the device1040, but also a verification status of the1(O support element1062when the I/O support element1062itself identifies a verification status. Furthermore, the indicator1060and digital signature1086transmitted from the I/O support element1062may be packaged or embedded within another communication—including additional information that is digitally signed by the I/O support element1062.

Furthermore, inFIGS. 10a,10b,and10c,the EC1010is shown as being transmitted separate from the indicator1060and digital signature1086. However, in the preferred embodiment ofFIG. 10aand any variations thereof, the indicator1060and digital signature1086equally may be associated with the EC1010by being transmitted as part of the EC1010. Furthermore, the EC1010may be output from the device1040, an associated I/O support element1062(not shown inFIG. 10a), or other apparatus.

A preferred mode1100of operation of the device ofFIGS. 10a,10b,and10cis illustrated inFIG. 11and begins with a resetting Step1104of the device following a timeout or powering on of the device at1102. During the reset, the identification marker is assigned a value corresponding to a verification status representing the receipt of no input for verification data for either a Secret or a biometric characteristic and further representing the fact that that no indicator has yet been output. The device then enters a repeating loop that begins at1106and ends at1116and continues within this loop until the device is reset, is powered off, or deactivates after a predetermined amount of time.

Still referring toFIG. 11, the first step in the loop preferably includes the determination Step1108whether any input representing verification data for the Secret (SVD) is received by the device. If the determination in Step1108is positive, the current verification status (VS) of the device is identified Step1118by comparing the Secret verification data (SVD) with the data for the Secret (SPD) prestored in the memory of the device. The verification status identified then is recorded by assigning Step1120the identification marker stored within the memory of the device equal to the predefined value corresponding to the identified verification status.

If no input representing verification data for the Secret is received in Step1108or after the value of the identification marker is assigned in Step1120, the next step in the loop preferably includes the determination Step1110whether any input representing verification data for the biometric characteristic (BVD) is received by the device. If the determination in Step1110is positive, the current verification status (VS) of the device is identified Step1122by comparing the biometric verification data (BVD) with the biometric data (BPD) prestored in the memory of the device. The verification status identified then is recorded by assigning Step1124the identification marker stored within the memory of the device equal to the predefined value corresponding to the identified verification status.

If no input representing verification data for the biometric characteristic is received in Step1110or after the value of the identification marker is recorded in Step1124, the next step in the loop preferably includes the determination Step1112whether any input representing message data (MD) is received by the device. If the determination in Step1112is positive, the device originates Step1126a digital signature for the message data. The digital signature for the message data is then output Step1128from the device.

If no input representing message data is received in Step1112or after the digital signature for the message data is output in Step1128, a determination is then made Step1114of whether a signal (S) has been or is being received by the device. If a signal is not received, then the loop restarts Step1106. When a signal is received, the determination in Step1114is positive and the indicator of the current verification status of the device is output Step1130. As set forth above, the indicator comprises the value of the identification marker maintained in memory within the device. Following the output of the indicator, the determination is made Step1132whether the indicator output is the first indicator output since receipt of input representing verification data for the Secret.

If the determination in Step1132is positive, then the verification status is newly recorded by assigning Step1136a value to the identification marker that further represents the fact that an indicator has been output since input representing verification data for the Secret was received in Step1108. If the determination in Step1132is negative or after the value of the identification marker is newly recorded in Step1136, the determination is made Step1134whether the indicator output is the first indicator output since receipt of input representing verification data for the biometric characteristic.

If the determination in Step1134is positive, then the verification status is newly recorded by assigning Step1138a value to the identification marker that further represents the fact that an indicator has been output since input representing verification data for the biometric characteristic was received in Step1110. If the determination in Step1134is negative or after the value of the identification marker is newly recorded in Step1138, then the loop restarts Step1106.

6. Sixth Preferred Embodiment (Digital Signature as the Indicator)

A sixth preferred embodiment1200of the present invention is illustrated inFIG. 12a,wherein an EC1210including a message from a sender1220is received by a recipient represented by an electronic apparatus1230, and wherein a device1240receives input representing verification data (VD)1250at a device interface1252. The device interface1252includes, as appropriate, one or more of the following: a user interface such as an alphanumeric keypad, a touch screen display, or a biometric scanner for receiving input directly from the sender1220; an electrical contact; a standard electronic interface with a computer bus; an antenna; or a communications port, such as a serial port, USB port, parallel port, infrared port or other wireless communications port.

The device1240includes a verification component therein that maintains data (PD)1270of the sender1220prestored in memory1254. The verification data1250and prestored data1270represent Secret or biometric values. The verification component identifies at1256a current verification status of the device1240based on a comparison of the verification data1250with the prestored data1270and records the last identified (i.e., “current”) verification status of the device1240by assigning a value to an identification marker (IM)1272that is stored in memory1274.

The device1240also receives at the device interface1252data (MD)1222representing the message of the EC1210. The message data may comprise the message itself, a message digest thereof, or the result of some other processing of the message (M). The device1240includes a digital signature component that, upon receipt of the message data1222, obtains the value for the identification marker1272and modifies the message data at1277as a function of this value (as used herein, “function” may include the possible function f(x)=x for a particular value of x).

The digital signature component then originates a digital signature1299for the modified message data (MD′) by calculating a hash value therefor at1290and then encrypting the hash value at1292using a private key1295of a public-private key pair. For increased reliability and trust, the private key1295is retained securely within memory1294so that it is never exported from the device1240and is not discoverable from outside of the device1240. The digital signature is originated in accordance with the ECDSA as specified in FIPS PUB 186-2. Accordingly, the digital signature1299is generated using a random number generator, and the hash function at1290is performed using SHA-1, which generates a 20-byte output regardless of the size of the input received. The digital signature1299then is output from the device1240for transmitting to the recipient as the indicator1260of the verification status of the device1240. The digital signature1299output from the device1240actually comprises the indicator of the verification status (IVS)1260as a result of the modification process. The indicator1260then is transmitted to the recipient in association with the EC1210, whereby the recipient is able to identify the indicator1260as pertaining to the EC1210.

The device1240includes a set of predefined verification statuses each representing a relational correspondence between the verification data1250and the prestored data1270. Verification statuses of the set further represent whether an indicator1260has been output from the device1240since the last successful verification or since the last receipt of input representing verification data. The set also contains an additional predefined verification status representing the lack of input representing verification data1250since a resetting after a timeout or a powering on of the device1240. The indicator1260output from the device1240is based on the last comparison of the verification data1250with the prestored data1270, but only if input representing verification data1250has been received since the resetting of the device1240. Otherwise, the indicator1260indicates the lack of input representing verification data1250since the resetting of the device1240.

The electronic apparatus1230includes an interface (not shown) capable of receiving the indicator1260. The electronic apparatus1230also includes logic circuitry or software incorporating business logic therein for determining the verification status of the device based on the indicator1260and for evaluating the EC1210received from the sender1220based on the determined verification status. In this regard, the electronic apparatus1230decrypts the digital signature with the public key, which corresponds to the private key1295and which may be received in association with the digital signature or known or obtained beforehand by the recipient. The recipient also modifies—and then calculates a hash value for—the message for each one of the predefined verification statuses of the device until the calculated hash value equals the hash value of the decrypted digital signature. In calculating a hash value for comparison, the electronic apparatus1230also performs any necessary processing to the message in order to produce the message data that was modified within the device1240. When the hash value calculated by the recipient equals the hash value of the decrypted digital signature, the recipient thereby determines the current verification status of the device1240. This determination also confirms the authenticity of the message of the EC1210. Furthermore, in order to minimize consumption of resources, the set of verification statuses of the device is predefined to contain only a limited number of verification statuses when this particular device1240of the preferred embodiment1200is used.

When the verification data1250and the prestored data1270comprise a Secret, the predefined set of verification statuses includes four verification statuses, comprising: a first verification status representing the lack of verification data1250since a resetting of the device; a second verification status representing a match between the verification data1250and the prestored data1270, and further representing no other indicator1260being output from the device1240since the match; a third verification status representing a failed match between the verification data1250and the prestored data1270; and a fourth verification status representing a match between the verification data1250and the prestored data1270, and further representing the output of an indicator1260since the match. The identification marker1272stored in memory1274preferably comprises one of four binary numbers that represents the current verification status identified by the device1240. Of course, the correspondence between the values of the identification marker1272and the predefined verification statuses of the device should be previously known by the recipient.

The four binary numbers respectively correspond to the four verification statuses and include: “00” identifying the first verification status; “01” identifying the second verification status; “10” identifying the third verification status; and “11” identifying the fourth verification status. Furthermore, the modification of the message data1222at1277preferably includes the embedding of the value of the identification marker1272within the message data, including insertion of the value at a predefined location within, or at the beginning or end of, the message data. As also will be appreciated, the “modification” of the message data for one of the verification statuses may include not modifying the message data, such as when the identification marker1272equals “00.” Even in this case, however, the digital signature1299identifies the verification status of the device as representing the lack of verification data1250being received since a resetting of the device. Furthermore, it will be appreciated that the digital signature1299for the modified message neither reveals the verification data1250nor the prestored data1270; thus, no “shared secret” is required between the sender and the recipient in the preferred embodiment1200. However, the recipient can infer correct knowledge of the Secret from the verification status.

Alternatively, when the verification data1250and the prestored data1270comprise biometric values, the set of predefined verification statuses comprises the possible percentages of match—or degrees of difference—between the verification data1250and prestored data1270, together with a verification status representing the lack of input representing verification data1250since a resetting of the device1240. For example, the predefined verification statuses comprising the percentage match of the verification data1250with the prestored data1270may comprise the set of percentages ranging from 0% to 100% in increments of, in this embodiment, 20%. Preferably each one of the verification statuses representing a percentage match also further represents whether an indicator1260has been output from the device1240since the last receipt of input representing verification data1250. The identification marker1272stored in memory1274preferably comprises the percentage match plus a flag regarding the output of the indicator1260as identified by the device1240. Of course, the correspondence between the values of the identification marker1272and the predefined verification statuses of the device1240should be previously known by the recipient. Also, in this case, the modification of the message data1222at1277preferably includes the embedding of the value of the identification marker1272within the message data, including insertion of the value at a predefined location within, or at the beginning or end of, the message data. As also will be appreciated, the “modification” of the message data for one of the verification statuses may include not modifying the message data, such as when no verification data1250has been received since a resetting of the device1240. Even in this case, however, the digital signature1299identifies the verification status of the device1240as representing the lack of verification data1250being received since a resetting of the device1240. Furthermore, it will be appreciated that the digital signature1299for the modified message neither reveals the verification data1250nor the prestored data1270; thus, no biometric value representing the sender's irreplaceable biometric characteristic is communicated to the recipient. However, the recipient can infer from the verification status the presence of the sender1220from the reading of the biometric characteristic.

A variation based on the sixth preferred embodiment1200ofFIG. 12ais shown inFIG. 12b,and includes an I/O support element1262from which input representing the verification data1250and input representing the message data1222is received by the device1240. The I/O support element1262includes a user interface1258from which input from the sender1220is received and an I/O interface1259that communicates the input representing the verification data1250and input representing the message data1222to the device1240. Although the message data1222is shown coming from the I/O support element1262, it is possible for some or all of the message data1222to originate with the device1240or another apparatus (not shown). Yet an additional variation thereof is shown inFIG. 12c,wherein the I/O support element1262receives the indicator1260being output from the device1240. The I/O support element1262, in turn, transmits the indicator1260to the electronic apparatus1230. As shown, the indicator1260transmitted from the I/O support element1262is the same as the indicator1260output from the device1240. However, the indicator1260transmitted from the I/O support element1262may be packaged or embedded within another communication—including additional information that is digitally signed by the I/O support element1262. Furthermore, inFIGS. 12a,12b,and12c,the EC1210is shown as being transmitted separate from the indicator1260. However, in the preferred embodiment ofFIG. 12aand any variations thereof, the indicator1260equally may be associated with the EC1210by being transmitted as part of the EC1210. Furthermore, the EC1210may be output from the device1240, an associated I/O support element1262(not shown inFIG. 12a), or other apparatus.

A preferred mode1300of operation of the device ofFIGS. 12a,12b,and12cis illustrated inFIG. 13and begins with a resetting Step1304of the device following a timeout or powering on of the device at1302. During the reset, the identification marker is assigned a value corresponding to a verification status representing the receipt of no input of verification data and further representing the fact that that no indicator has yet been output. The device then enters a repeating loop that begins at1306and ends at1312and continues within this loop until the device is reset, is powered off, or deactivates after a predetermined amount of time.

Still referring toFIG. 13, the first step in the loop preferably includes the determination Step1308whether any input representing verification data is received by the device. If the determination in Step1308is positive, the current verification status (VS) of the device is identified Step1314by comparing the verification data (VD) with the data (PD) prestored in the memory of the device. The verification status identified then is recorded by assigning Step1316the identification marker stored within the memory of the device equal to the predefined value corresponding to the identified verification status.

If no input representing verification data is received in Step1308or after the value of the identification marker is recorded in Step1316, the next step in the loop preferably includes the determination Step1310whether any input representing message data (MD) is received by the device. If the determination in Step1310is negative, the loop restarts Step1306. If the determination in Step1310is positive, the device then modifies Step1318the message data based on the identification marker. Next, the device originates Step1320a digital signature for the modified message data. The digital signature for the modified message data is then output Step1322from the device. Following the output of the digital signature for the modified message, the determination is made Step1324whether the digital signature output is the first digital signature output since receipt of input for verification data in Step1308. The loop restarts Step1306if the determination in Step1324is negative. If the determination in Step1324is positive, then the verification status is newly recorded Step1326by assigning a value to the identification marker that represents the verification status indicated by the digital signature output in Step1322, and that further represents the fact that the digital signature has been output. The loop then restarts Step1306.

7. Seventh Preferred Embodiment (Message and Indicator Digitally Signed)

A seventh preferred embodiment1400of the present invention is illustrated inFIG. 14a,wherein an EC1410including a message from a sender1420is received by a recipient represented by an electronic apparatus1430, and wherein a device1440receives input representing verification data (VD)1450at a device interface1452. The device interface1452includes, as appropriate, one or more of the following: a user interface such as an alphanumeric keypad, a touch screen display, or a biometric scanner for receiving input directly from the sender1420; an electrical contact; a standard electronic interface with a computer bus; an antenna; or a communications port, such as a serial port, USB port, parallel port, infrared port or other wireless communications port.

The device1440includes a verification component therein that maintains data (PD)1470of the sender1420prestored in memory1454. The verification data1450and prestored data1470represent Secret or biometric values. The verification component identifies at1456a current verification status of the device1440based on a comparison of the verification data1450with the prestored data1470and records the last identified (i.e., “current”) verification status of the device1440by assigning a value to an identification marker (IM)1472that is stored in memory1474.

The device1440also receives at the device interface1452message data (PD)1422representing the message (M) of the EC1410. The message data1422may comprise the message itself, a message digest thereof, or the result of some other processing of the message. The device1440includes a digital signature component that, upon receipt of the message data1422, obtains the value for the identification marker1472and modifies the message data at1477as a function of this value (as used herein, “function” may include the possible function f(x)=x for a particular value of x). The digital signature component then originates a digital signature1499for the modified message data (MD′) by calculating a hash value therefor at1490and then encrypting the hash value at1492using a private key1495of a public-private key pair. For increased reliability and trust, the private key1495is retained securely within memory1494so that it is never exported from the device1440and is not discoverable from outside of the device1440. The digital signature is originated in accordance with the ECDSA as specified in FIPS PUB 186-2. Accordingly, the digital signature1499is generated using a random number generator, and the hash function at1490is performed using SHA-1, which generates a 20-byte output regardless of the size of the input received. The digital signature1499then is output from the device1440together with the value of the identification marker1472as the indicator1460of the verification status (IVS) of the device1440for transmitting to the recipient. The digital signature1499and the indicator1460then are transmitted to the recipient in association with the EC1410, whereby the recipient is able to identify the indicator1460as pertaining to the EC1410.

The device1440includes a set of predefined verification statuses each representing a relational correspondence between the verification data1450and the prestored data1470. Verification statuses of the set further represent whether an indicator1460has been output from the device1440since the last successful verification or since the last receipt of input representing verification data. The set also contains an additional predefined verification status representing the lack of input representing verification data1450since a resetting after a timeout or a powering on of the device1440. The indicator1460output from the device1440is based on the last comparison of the verification data1450with the prestored data1470, but only if input representing verification data1450has been received since the resetting of the device1440. Otherwise, the indicator1460indicates the lack of input representing verification data1450since the resetting of the device1440.

The electronic apparatus1430includes an interface (not shown) capable of receiving the indicator1460. The electronic apparatus1430also includes logic circuitry or software incorporating business logic therein for determining the verification status of the device based on the indicator1460and for evaluating the EC1410received from the sender1420based on the determined verification status. In this regard, the electronic apparatus1430decrypts the digital signature with the public key, which corresponds to the private key1495and which may be received in association with the digital signature1499or known or obtained beforehand by the recipient. The recipient also modifies—and then calculates a hash value for—the message based on the verification status identified by the indicator1460. In calculating a hash value for comparison, the electronic apparatus1430also performs any necessary processing to the message in order to produce the message data that was modified within the device1440. When the hash value calculated by the recipient equals the hash value of the decrypted digital signature, the recipient confirms the authenticity of the current verification status of the device1440as indicated by the indicator1460as well as confirms the authenticity of the message of the EC1410.

When the verification data1450and the prestored data1470comprise a Secret, the predefined set of verification statuses includes four verification statuses, comprising: a first verification status representing the lack of verification data1450since a resetting of the device; a second verification status representing a match between the verification data1450and the prestored data1470, and further representing no other indicator1460being output from the device1440since the match; a third verification status representing a failed match between the verification data1450and the prestored data1470; and a fourth verification status representing a match between the verification data1450and the prestored data1470, and further representing the output of an indicator1460since the match. The identification marker1472stored in memory1474preferably comprises one of four binary numbers that represents the current verification status identified by the device1440. Of course, the correspondence between the values of the identification marker1472and the predefined verification statuses of the device should be previously known by the recipient.

The four binary numbers respectively correspond to the four verification statuses and include: “00,” identifying the first verification status; “01” identifying the second verification status; “10” identifying the third verification status; and “11” identifying the fourth verification status. Furthermore, the modification of the message data1422at1477preferably includes the embedding of the value of the identification marker1472within the message data, including insertion of the value at a predefined location within, or at the beginning or end of, the message data. As also will be appreciated, the “modification” of the message data for one of the verification statuses may include not modifying the message data, such as when the identification marker1472equals “00.” Even in this case, however, the digital signature1499identifies the verification status of the device as representing the lack of verification data1450being received since a resetting of the device. Furthermore, it will be appreciated that neither the digital signature1499for the modified message nor the indicator1460reveals the verification data1450or the prestored data1470; thus, no “shared secret” is required between the sender1420and the recipient in the preferred embodiment1400. However, the recipient can infer correct knowledge of the Secret from the verification status.

Alternatively, when the verification data1450and the prestored data1470comprise biometric values, the set of predefined verification statuses comprises the possible percentages of match—or degrees of difference—between the verification data1450and prestored data1470, together with a verification status representing the lack of input representing verification data1450since a resetting of the device1440. For example, the predefined verification statuses comprising the percentage match of the verification data1450with the prestored data1470may comprise the set of percentages ranging from 0% to 100% in increments of 1%. Preferably each one of the verification statuses representing a percentage match also further represents whether an indicator1460has been output from the device1440since the last receipt of input representing verification data1450. The identification marker1472stored in memory1474preferably comprises the percentage match plus a flag regarding the output of the indicator1460as identified by the device1440. Of course, the correspondence between the values of the identification marker1472and the predefined verification statuses of the device1440should be previously known by the recipient.

Also, in this case, the modification of the message data1422at1477preferably includes the embedding of the value of the identification marker1472within the message data, including insertion of the value at a predefined location within, or at the beginning or end of, the message data. As also will be appreciated, the “modification” of the message data for one of the verification statuses may include not modifying the message data, such as when no verification data1450has been received since a resetting of the device1440. Even in this case, however, the digital signature1499identifies the verification status of the device1440as representing the lack of verification data1450being received since a resetting of the device1440. Furthermore, it will be appreciated that neither the digital signature1499for the modified message nor the indicator1460reveals the verification data1450or the prestored data1470; thus, no biometric value representing the sender's irreplaceable biometric characteristic is communicated to the recipient. However, the recipient can infer from the verification status the presence of the sender1420from the reading of the biometric characteristic.

A variation based on the seventh preferred embodiment1400ofFIG. 14ais shown inFIG. 14b,and includes an I/O support element1462from which input representing the verification data1450and input representing the message data1422is received by the device1440. The I/O support element1462includes a user interface1458from which input from the sender1420is received and an I/O interface1459that communicates the input representing the verification data1450and input representing the message data1422to the device1440. Although the message data1422is shown coming from the I/O support element1462, it is possible for some or all of the message data1422to originate with the device1440or another apparatus (not shown). Yet an additional variation thereof is shown inFIG. 14c,wherein the I/O support element1462receives the indicator1460and digital signature1499output from the device1440. The I/O support element1462, in turn, transmits the indicator1460and the digital signature1499to the electronic apparatus1430.

As shown, the indicator1460and digital signature1499transmitted from the I/O support element1462are the same as the indicator1460and digital signature1486output from the device1440. However, the indicator transmitted from the I/O support element1462may be different from the indicator output from the device1440, so long as the recipient is able to determine both the verification status as indicated by the indicator1460output from the device1440, as well as the bit pattern of the identification marker1472based on which the message was modified. For instance, the indicator transmitted from the I/O support element1462may indicate not only the verification status of the device1440, but also a verification status of the I/O support element1462when the I/O support element1462itself identifies a verification status. Furthermore, the indicator1460and digital signature1499transmitted from the I/O support element1462may be packaged or embedded within another communication—including additional information that is digitally signed by the I/O support element1462.

Furthermore, inFIGS. 14a,14b,and14c,the EC1410is shown as being transmitted separate from the indicator1460and digital signature1499. However, in the preferred embodiment ofFIG. 14aand any variations thereof, the indicator1460and digital signature1499equally may be associated with the EC1410by being transmitted as part of the EC1410. Furthermore, the EC1410may be output from the device1440, an associated I/O support element1462(not shown inFIG. 14a), or other apparatus.

A preferred mode1500of operation of the device ofFIGS. 14a,14b,and14cis illustrated inFIG. 15and begins with a resetting Step1504of the device following a timeout or powering on of the device at1502. During the reset, the identification marker is assigned a value corresponding to a verification status representing the receipt of no input of verification data and further representing the fact that that no indicator has yet been output. The device then enters a repeating loop that begins at1506and ends at1512and continues within this loop until the device is reset, is powered off, or deactivates after a predetermined amount of time.

Still referring toFIG. 15, the first step in the loop preferably includes the determination Step1508whether any input representing verification data is received by the device. If the determination in Step1508is positive, the current verification status (VS) of the device is identified Step1514by comparing the verification data (VD) with the data (PD) prestored in the memory of the device. The verification status identified then is recorded by assigning Step1516the identification marker stored within the memory of the device equal to the predefined value corresponding to the identified verification status.

If no input representing verification data is received in Step1508or after the value of the identification marker is recorded in Step1516, the next step in the loop preferably includes the determination Step1510whether any input representing message data (MD) is received by the device. If the determination in Step1510is negative, the loop restarts Step1506.

If the determination in Step1510is positive, the device then modifies Step1518the message data based on the identification marker. Next, the device originates Step1520a digital signature for the modified message data. The digital signature for the modified message data and the value of the identification marker are then output Step1522from the device. Following the output of the digital signature for the modified message and value of the identification marker, the determination is made Step1524whether the value of the identification marker output is the first value thereof output since receipt of input representing verification data in Step1508. The loop restarts Step1506if the determination in Step1524is negative. If the determination in Step1524is positive, then the verification status is newly recorded Step1526by assigning a value to the identification marker that represents the verification status identified by the value of the identification marker output in Step1522, and that further represents the fact that the value of the identification marker has been output. The loop then restarts Step1506.

8. Eighth Preferred Embodiment (Multiple Verification Data with Indicator and Message Digitally Signed)

An eighth preferred embodiment1600of the present invention is illustrated inFIG. 16a,wherein an EC1610including a message from a sender1620is received by a recipient represented by an electronic apparatus1630, and wherein a device1640receives input representing first verification data (VD1)1651and input representing second verification data (VD2)1653at a device interface1652. The device interface1652includes, as appropriate, one or more of the following: a user interface such as an alphanumeric keypad, a touch screen display, or a biometric scanner for receiving input directly from the sender1620; an electrical contact; a standard electronic interface with a computer bus; an antenna; or a communications port, such as a serial port, USB port, parallel port, infrared port or other wireless communications port.

The device1640includes a verification component therein that maintains data prestored in memory of the device1640. The first prestored data (PD1)1642is located in memory1641, and the second prestored data (PD2)1644is located in memory1643. The verification component identifies at1656a current verification status of the device1640based on a comparison of the first verification data1651with the first prestored data1642and the second verification data1653with the second prestored data1644, and records the latest (i.e., “current”) verification status of the device1640by assigning a value to an identification marker (IM)1672stored in memory1674.

The device1640also receives at the device interface1652message data (MD)1622representing the message (M) of the EC1610. The message data1622may comprise the message itself, a message digest thereof, or the result of some other processing of the message. The device1640includes a digital signature component that, upon receipt of the message data1622, obtains the value for the identification marker1672and modifies the message data at1677as a function of this value (as used herein, “function” may include the possible function f(x)=x for a particular value of x). The modification of the message preferably includes the embedding of the value of the identification marker1672within the message data, including insertion of the value at a predefined location within, or at the beginning or end of, the message data. As also will be appreciated, the “modification” of the message data for one of the verification statuses may include not modifying the message data.

The digital signature component then originates a digital signature1699for the modified message data (MD′) by calculating a hash value therefor at1690and then encrypting the hash value at1692using a private key1695of a public-private key pair. For increased reliability and trust, the private key1695is retained securely within memory1694so that it is never exported from the device1640and is not discoverable from outside of the device1640. The digital signature is originated in accordance with the ECDSA as specified in FIPS PUB 186-2. Accordingly, the digital signature1699is generated using a random number generator, and the hash function at1690is performed using SHA-1, which generates a 20-byte output regardless of the size of the input received. The digital signature1699then is output from the device1640together with the value of the identification marker1672as the indicator1660of the verification status (IVS) of the device1640for transmitting to the recipient. The digital signature1699and the indicator1660then are transmitted to the recipient in association with the EC1610, whereby the recipient is able to identify the indicator1660as pertaining to the EC1610.

The device1640includes a set of predefined verification statuses each representing a relational correspondence between the verification data1651,1653and the prestored data1642,1644. Verification statuses of the set further represent whether an indicator1660has been output from the device1640since the last successful verification based on either or both of the first and second verification data1651,1653, or since the last receipt of input representing either or both of the first and second verification data1651,1653. The set also contains a predefined verification status representing the lack of input of both first and second verification data1651,1653since a resetting after a timeout or a powering on of the device1640. The indicator1660output from the device1640is based on the last respective comparison of verification data with the prestored data, but only if input representing the respective verification data has been received since the resetting of the device1640. Otherwise, the indicator1660indicates the lack of input for both the first and second verification data1651,1653since the resetting of the device1640.

The electronic apparatus1630includes an interface (not shown) capable of receiving the indicator1660. The electronic apparatus1630also includes logic circuitry or software incorporating business logic therein for determining the verification status of the device based on the indicator1660and for evaluating the EC1610received from the sender1620based on the determined verification status. In this regard, the electronic apparatus1630decrypts the digital signature with the public key, which corresponds to the private key1695and which may be received in association with the digital signature1699or known or obtained beforehand by the recipient. The recipient also modifies—and then calculates a hash value for—the message based on the verification status identified by the indicator1660. In calculating a hash value for comparison, the electronic apparatus1630also performs any necessary processing to the message in order to produce the message data that was modified within the device1640. When the hash value calculated by the recipient equals the hash value of the decrypted digital signature, the recipient confirms the authenticity of the current verification status of the device1640as indicated by the indicator1660as well as confirms the authenticity of the message of the EC1610.

When either of the first or second verification data1651,1653—and the prestored data therefor—comprise a Secret, the predefined set of results for the comparison for such includes four possible outcomes, comprising: a first outcome representing the lack of verification data since a resetting of the device1640; a second outcome representing a match between the verification data and the prestored data, and further representing no other indicator1660being output from the device1640since the match; a third outcome representing a failed match between the verification data and the prestored data; and a fourth outcome representing a match between the verification data and the prestored data, and further representing the output of an indicator1660since the match.

When either of the first or second verification data1651,1653—and the prestored data therefor—represent a biometric characteristic, the predefined set of results for the comparison for such produces a result preferably out of a predefined number of possible outcomes. Each outcome represents a possible percentage of match—or degree of difference—between the verification data and prestored data that is allowed, together with a verification status representing the lack of input for verification data since a resetting of the device1640. For example, the predefined outcomes comprising the percentage match of the verification data with the prestored data may comprise the set of percentages ranging from 0% to 100% in increments of 1%. Preferably each one of the outcomes representing a percentage match also further represents whether an indicator1660has been output from the device1640since the last receipt of input representing verification data.

The identification marker1672is stored in memory1674and comprises a value representing one of the set of predefined verification statuses of the device1640. The set of predefined verification statuses preferably comprises all of the possible combinations of outcomes from the respective comparisons for the first and second verification data1651,1653. Of course, the correspondence of the possible values for the identification marker1672with the predefined verification statuses of the device1640should be previously known by the recipient. Moreover, none of the verification statuses actually reveal any of the verification data1651,1653or the prestored data1642,1644; thus, no “shared secret” is required between the sender1620and the recipient, and no biometric value representing the sender's irreplaceable biometric characteristic is communicated to the recipient. However, the recipient can infer from the verification status both the correct knowledge of the Secret and the presence of the sender from the reading of the biometric characteristic.

A variation based on the eighth preferred embodiment1600ofFIG. 16ais shown inFIG. 16b,and includes an I/O support element1662from which input representing the first and second verification data1651,1653and input representing the message data1622is received by the device1640. The I/O support element1662includes a user interface1658from which input from the sender1620is received and an I/O interface1659that communicates the input representing the first and second verification data1651,1653and input representing the message data1622to the device1640.

Although the message data1622is shown coming from the I/O support element1662, it is possible for some or all of the message data1622to originate with the device1640or another apparatus (not shown). Yet an additional variation thereof is shown inFIG. 16c,wherein the I/O support element1662receives the indicator1660and digital signature1699output from the device1640. The I/O support element1662, in turn, transmits the indicator1660and the digital signature1699to the electronic apparatus1630.

As shown, the indicator1660and digital signature1699transmitted from the I/O support element1662are the same as the indicator1660and digital signature1686output from the device1640. However, the indicator transmitted from the I/O support element1662may be different from the indicator output from the device1640, so long as the recipient is able to determine both the verification status as indicated by the indicator1660output by the device1640, as well as the bit pattern of the identification marker1672based on which the message was modified. For instance, the indicator transmitted from the I/O support element1662may indicate not only the verification status of the device1640, but also a verification status of the I/O support element1662when the I/O support element1662itself identifies a verification status. Furthermore, the indicator1660and digital signature1699transmitted from the I/O support element1662may be packaged or embedded within another communication—including additional information that is digitally signed by the I/O support element1662.

Furthermore, inFIGS. 16a,16b,and16c,the EC1610is shown as being transmitted separate from the indicator1660and digital signature1699. However, in the preferred embodiment ofFIG. 16aand any variations thereof, the indicator1660and digital signature1699equally may be associated with the EC1610by being transmitted as part of the EC1610. Furthermore, the EC1610may be output from the device1640, an associated I/O support element1662(not shown inFIG. 16a), or other apparatus.

A preferred mode1700of operation of the device ofFIGS. 16a,16b,and16cis illustrated inFIG. 17and begins with a resetting Step1704of the device following a timeout or powering on of the device at1702. During the reset, the identification marker is assigned a value corresponding to a verification status representing the receipt of no input of any verification data and further representing the fact that that no indicator has yet been output. The device then enters a repeating loop that begins at1706and ends at1714and continues within this loop until the device is reset, is powered off, or deactivates after a predetermined amount of time.

Still referring toFIG. 17, the first step in the loop preferably includes the determination Step1708whether any input representing the first verification data (VD1) is received by the device. If the determination in Step1708is positive, the current verification status (VS) of the device is identified Step1716by comparing the first verification data (VD1) with the first data (PD1) prestored in the memory of the device. The verification status identified then is recorded by assigning Step1718the identification marker stored within the memory of the device equal to the predefined value corresponding to the identified verification status. If no input representing the first verification data is received in Step1708or after the value of the identification marker is recorded in Step1718, the next step in the loop preferably includes the determination Step1710whether any input representing the second verification data (VD2) is received by the device. If the determination in Step1710is positive, the current verification status (VS) of the device is identified Step1720by comparing the second verification data (VD2) with the second data (PD2) prestored in the memory of the device. The verification status identified then is recorded by assigning Step1722the identification marker stored within the memory of the device equal to the predefined value corresponding to the identified verification status.

If no input representing the second verification data is received in Step1710or after the value of the identification marker is recorded in Step1722, the next step in the loop preferably includes the determination Step1712whether any input representing message data (MD) is received by the device. If the determination in Step1712is negative, the loop restarts Step1706.

If the determination in Step1712is positive, the device then modifies Step1724the message data based on the identification marker. Next, the device originates Step1726a digital signature for the modified message data. The digital signature for the modified message data and the value of the identification marker are then output Step1728from the device. Following the output of the digital signature for the modified message and value of the identification marker, the determination is made Step1730whether the value of the identification marker output is the first value thereof output since receipt of input representing the first verification data in Step1708.

If the determination in Step1730is positive, then the verification status is newly recorded Step1734by assigning a value to the identification marker that represents the verification status identified by the value of the identification marker output in Step1728, and that further represents the fact that the value of the identification marker has been output. If the determination in Step1730is negative or after the value of the identification marker is newly recorded in Step1734, the next step in the loop preferably includes the determination Step1732whether the value of the identification marker output is the first value thereof output since receipt of input representing the second verification data in Step1710.

If the determination in Step1732is positive, then the verification status is newly recorded Step1736by assigning a value to the identification marker that represents the verification status identified by the value of the identification marker output in Step1728, and that further represents the fact that the value of the identification marker has been output. If the determination in Step1732is negative or after the value of the identification marker is newly recorded in Step1736, the loop then restarts Step1706.

9. Ninth Preferred Embodiment (Multiple Verification Data with Digital Signature as Indicator)

A ninth preferred embodiment1800of the present invention is illustrated inFIG. 18a,wherein an EC1810including a message from a sender1820is received by a recipient represented by an electronic apparatus1830, and wherein a device1840receives input representing first verification data (VD1)1851and input representing second verification data (VD2)1853at a device interface1852. The device interface1852includes, as appropriate, one or more of the following: a user interface such as an alphanumeric keypad, a touch screen display, or a biometric scanner for receiving input directly from the sender1820; an electrical contact; a standard electronic interface with a computer bus; an antenna; or a communications port, such as a serial port, USB port, parallel port, infrared port or other wireless communications port.

The device1840includes a verification component therein that maintains data prestored in memory of the device1840. The first prestored data (PD1)1842is located in memory1841, and the second prestored data (PD2)1844is located in memory1843. The verification component identifies at1856a current verification status of the device1840based on a comparison of the first verification data1851with the first prestored data1842and the second verification data1853with the second prestored data1844, and records the latest (i.e., “current”) verification status of the device1840by assigning a value to an identification marker (IM)1872stored in memory1874. In this case wherein comparisons of more than one input of verification data is made, the identification marker1872comprises a value assigned to a first comparison marker representing the result of the first comparison and a value assigned to a second comparison marker representing the result of the second comparison.

The device1840also receives at the device interface1852message data (MD)1822representing the message (M) of the EC1810. The message data1822may comprise the message itself, a message digest thereof, or the product of some other processing of the message. The device1840includes a digital signature component that, upon receipt of the message data1822, obtains the value for the identification marker1872and modifies the message data at1877as a function of this value (as used herein, “function” may include the possible function f(x)=x for a particular value of x). The modification of the message preferably includes the embedding of the value of the identification marker1872within the message data, including insertion of the value at a predefined location within, or at the beginning or end of, the message data. As also will be appreciated, the “modification” of the message data for one of the verification statuses may include not modifying the message data.

The digital signature component then originates a digital signature1899for the modified message data (MD′) by calculating a hash value therefor at1890and then encrypting the hash value at1892using a private key1895of a public-private key pair. For increased reliability and trust, the private key1895is retained securely within memory1894so that it is never exported from the device1840and is not discoverable from outside of the device1840. The digital signature is originated in accordance with the ECDSA as specified in FIPS PUB 186-2. Accordingly, the digital signature1899is generated using a random number generator, and the hash function at1890is performed using SHA-1, which generates a 20-byte output regardless of the size of the input received. The digital signature1899then is output from the device1840as the indicator1860of the verification status (IVS) of the device1840for transmitting to the recipient. The digital signature1899output from the device1840actually comprises the indicator of the verification status (IVS)1860as a consequence of the modification process. The current outcome of the first comparison (results of VD1 and PD1 comparison) is also output as a result (R)1896. The indicator1860and result1896then are transmitted to the recipient in association with the EC1810, whereby the recipient is able to identify the indicator1860and result1896as pertaining to the EC1810.

The device1840includes a set of predefined verification statuses each representing a relational correspondence between the verification data1851,1853and the prestored data1842,1844. Verification statuses of the set further represent whether an indicator1860has been output from the device1840since the last successful verification based on either or both of the first and second verification data1851,1853, or since the last receipt of input representing either or both of the first and second verification data1851,1853. The set also contains a predefined verification status representing the lack of input of both first and second verification data1851,1853since a resetting after a timeout or a powering on of the device1840. The indicator1860output from the device1840is based on the last respective comparisons of verification data with the prestored data, but only if input representing verification data has been received since the resetting of the device1840. Otherwise, the indicator1860indicates the lack of input for both the first and second verification data1851,1853since the resetting of the device1840.

The electronic apparatus1830includes an interface (not shown) capable of receiving the indicator1860. The electronic apparatus1830also includes logic circuitry or software incorporating business logic therein for determining the verification status of the device based on the indicator1860and for evaluating the EC1810received from the sender1820based on the determined verification status. In this regard, the electronic apparatus1830decrypts the digital signature with the public key, which corresponds to the private key1895and which may be received in association with the digital signature1899or known or obtained beforehand by the recipient. The recipient also modifies—and then calculates a hash value for—the message based on the result1896and for each possible outcome of the second comparison until the calculated hash value equals the hash value of the decrypted digital signature. In calculating a hash value for comparison, the electronic apparatus1830also performs any necessary processing to the message in order to produce the message data that was modified within the device1840. When the hash value calculated by the recipient equals the hash value of the decrypted digital signature, the recipient thereby determines the current verification status of the device1840. This determination also confirms the authenticity of the message of the EC1810. Furthermore, in order to minimize consumption of resources, the second set of outcomes for the second comparison (VD2 with PD2) is predefined to contain only a limited number of outcomes. For instance, the first verification data and prestored data therefor preferably represent a biometric characteristic, and the second verification data and prestored data therefor preferably represent a Secret.

When either of the first or second verification data1851,1853—and the prestored data therefor—comprise a Secret, the predefined set of outcomes for the comparison for such includes four possible outcomes, comprising: a first outcome representing the lack of verification data since a resetting of the device1840; a second outcome representing a match between the verification data and the prestored data, and further representing no other indicator1860being output from the device1840since the match; a third outcome representing a failed match between the verification data and the prestored data; and a fourth outcome representing a match between the verification data and the prestored data, and further representing the output of an indicator1860since the match.

When either of the first or second verification data1851,1853—and the prestored data therefor—represent a biometric characteristic, the predefined set of outcomes for the comparison for such produces a result preferably out of a predefined number of possible outcomes. Each outcome represents a possible percentage of match—or degree of difference—between the verification data and prestored data that is allowed, together with a verification status representing the lack of input for verification data since a resetting of the device1840. For example, the predefined outcomes comprising the percentage match of the verification data with the prestored data may comprise the set of percentages ranging from 0% to 100% in increments of 1%. Preferably each one of the outcomes represents a percentage match also further represents whether an indicator1860has been output from the device1840since the last receipt of input representing verification data.

The identification marker1872is stored in memory1874and comprises a value representing one of the set of predefined verification statuses of the device1840. The set of predefined verification statuses preferably comprises all of the possible combinations of outcomes from the respective comparisons for the first and second verification data1851,1853. Of course, the correspondence of the possible values for the identification marker1872with the predefined verification statuses of the device1840should be previously known by the recipient. Moreover, none of the verification statuses actually reveal any of the verification data1851,1853or the prestored data1842,1844; thus, no “shared secret” is required between the sender1820and the recipient, and no biometric value representing the sender's irreplaceable biometric characteristic is communicated to the recipient. However, the recipient can infer from the verification status both the correct knowledge of the Secret and the presence of the sender.

A variation based on the ninth preferred embodiment1800ofFIG. 18ais shown inFIG. 18b,and includes an I/O support element1862from which input representing the first and second verification data1851,1853and input representing the message data1822is received by the device1840. The I/O support element1862includes a user interface1858from which input from the sender1820is received and an I/O interface1859that communicates the input representing the first and second verification data1851,1853and input representing the message data1822to the device1840. Although the message data1822is shown coming from the I/O support element1862, it is possible for some or all of the message data1822to originate with the device1840or another apparatus (not shown). Yet an additional variation thereof is shown inFIG. 18c,wherein the I/O support element1862receives the indicator1860and the result1896output from the device1840. The I/O support element1862, in turn, transmits the indicator1860and the result1896to the electronic apparatus1830.

As shown, the indicator1860and result1896transmitted from the I/O support element1862are the same as the indicator1860and result1896output from the device1840. However, the result transmitted from the I/O support element1862may be different from the result output from the device1840, so long as the recipient is able to determine the bit pattern of the result1872based in part on which the message was modified. For instance, the result transmitted from the I/O support element1862may indicate not only the result of the comparison of the first verification data input into the device1840, but also a verification status of the I/O support element1862when the I/O support element1862itself identifies a verification status. Furthermore, the indicator1860and result1896transmitted from the I/O support element1862may be packaged or embedded within another communication—including additional information that is digitally signed by the I/O support element1862.

Furthermore, inFIGS. 18a,18b,and18c,the EC1810is shown as being transmitted separate from the indicator1860and result1896. However, in the preferred embodiment ofFIG. 18aand any variations thereof, the indicator1860and result1896equally may be associated with the EC1810by being transmitted as part of the EC1810. Furthermore, the EC1810may be output from the device1840, an associated I/O support element1862(not shown inFIG. 18a), or other apparatus.

A preferred mode1900of operation of the device ofFIGS. 18a,18b,and18cis illustrated inFIG. 19and begins with a resetting Step1904of the device following a timeout or powering on of the device at1902. During the reset, the identification marker is assigned a value corresponding to a verification status representing the receipt of no input of any verification data and further representing the fact that that no indicator has yet been output. The device then enters a repeating loop that begins at1906and ends at1914and continues within this loop until the device is reset, is powered off, or deactivates after a predetermined amount of time.

Still referring toFIG. 19, the first step in the loop preferably includes the determination Step1908whether any input representing the first verification data (VD1) is received by the device. If the determination in Step1908is positive, the current verification status (VS) of the device is identified Step1916by comparing the first verification data (VD1) with the first data (PD1) prestored in the memory of the device. The verification status identified then is recorded by assigning Step1918the identification marker stored within the memory of the device equal to the predefined value corresponding to the identified verification status. If no input representing the first verification data is received in Step1908or after the value of the identification marker is recorded in Step1918, the next step in the loop preferably includes the determination Step1910whether any input representing the first verification data (VD1) is received by the device. If the determination in Step1910is positive, the current verification status (VS) of the device is identified Step1920by comparing the second verification data (VD2) with the second data (PD2) prestored in the memory of the device. The verification status identified then is recorded by assigning Step1922the identification marker stored within the memory of the device equal to the predefined value corresponding to the identified verification status.

If no input representing the second verification data is received in Step1910or after the value of the identification marker is recorded in Step1922, the next step in the loop preferably includes the determination Step1912whether any input representing message data (MD) is received by the device. If the determination in Step1912is negative, the loop restarts Step1906.

If the determination in Step1912is positive, the device then modifies Step1924the message data based on the identification marker. Next, the device originates Step1926a digital signature for the modified message data. The digital signature for the modified message data and the value of the result for the first comparison are then output Step1928from the device. Following the output of the digital signature for the modified message and value of the result of the first comparison, the determination is made Step1930whether the digital signature is the first output since receipt of input representing the first verification data in Step1908. If the determination in Step1930is positive, then the verification status is newly recorded Step1934by assigning a value to the identification marker that represents the verification status identified by the digital signature marker output in Step1928, and that further represents the fact that the digital signature has been output.

If the determination in Step1930is negative or after the value of the identification marker is newly recorded in Step1934, the next step in the loop preferably includes the determination Step1932whether the digital signature is the first output since receipt of input representing the second verification data in Step1910. If the determination in Step1932is positive, then the verification status is newly recorded Step1936by assigning a value to the identification marker that represents the verification status identified by the digital signature output in Step1928, and that further represents the fact that the digital signature has been output. If the determination in Step1932is negative or after the value of the identification marker is newly recorded in Step1936, the loop then restarts Step1906.

C. Data Formats, Embodiments and Implementations of the Present Invention

In accordance with all of the aspects of the present invention, the device comprises hardware, software and/or firmware and, specifically, comprises a computer chip, an integrated circuit, a computer-readable medium having suitable software therein, or a combination thereof. The device further may comprise a physical object such as a hardware token or an embedded token, the token containing such a computer chip, integrated circuitry, software, or combination thereof. If the device is a hardware token, it preferably takes the form of a ring or other jewelry; a dongle; an electronic key; a card, such as an IC card, smart card, debit card, credit card, ID badge, security badge, parking card, or transit card; or the like. If the device is an embedded token, it preferably takes the form of a cell phone; a telephone; a television; a personal digital assistant (PDA); a watch; a computer; computer hardware; or the like. The device preferably includes a device interface comprising a port—including a wireless communications port, a serial port, a USB port, a parallel port, or an infrared port—or some other physical interface for communicating with at least an external electronic apparatus, whether contact or contactless. The device also may include a trusted platform module (TPM) comprising hardware and software components providing increased trust in a platform, as set forth and described in the TCPA Documents cited above. Some of the above devices require use of an I/O support element to enable the device to receive message data or verification data. Some of the devices require an I/O support element to receive specific types of verification data but not others. Some of the devices require use of an I/O support element to transmit information regarding verification statuses, digital signatures, and messages to recipients of the ECs. Some of the devices are self-contained, which means that they can generate and transmit messages, digital signatures, and indicators of verification status without the use of external apparatuses; some devices, although self-contained, are capable of interacting with such external apparatuses, such as an I/O support element, if desired. An I/O support element may take the form of any number of different apparatuses, depending upon the particular application in which it is used and depending upon the type of device with which it interacts.

For higher security applications, the device—or the device in combination with an I/O support element—preferably includes the following components: a keypad (alphanumeric), interactive display, or other type of user data entry mechanism (collectively referred to herein as “User Interface”) that allows the sender of an EC to compose or modify a message; a User Interface for inputting Secret verification data (it should be noted that the User Interface for generating or modifying a message may, but does not have to, be the same as the User Interface for the entry of the Secret verification data); a display for showing the message and/or Secret to the sender of the EC using the device; a scanner or reader for receiving at least one type of biometric verification data; memory for securely storing the Secret(s), prestored biometric data, and the private key (PrK); a processor or circuitry for performing the various comparisons and for identifying a verification status of the device; a processor or circuitry for generating or originating digital signatures; and a means for outputting information from the device and transmitting it to the electronic apparatus. Preferably, the device also includes memory for storing and exporting the public key (PuK) associated with the particular private key (PrK), and for storing additional user information such as account information, user ID's, and the like. For lower security applications, not all of the above elements are necessary.

To this point, the discussion of the present invention has focused on the flow of data into and out of the device and the manipulation of such data performed by components within the device or in communication with the device. This section provides further detail regarding, for example, preferred database formats and exemplary data values and structures for verification data, prestored data, verification statuses, and identification markers and indicators of verification status. This section also illustrates preferred methodologies for identifying verification statuses when verification data represents a Secret, biometric characteristic, or a combination of both. Additionally, this section illustrates the functional aspects of a preferred computer chip that may be used as the device or as part of a device of the present invention. Finally, this section provides several specific implementations of a device—in this case an IC card—adapted for use in accordance with the present invention.1. Prestored Data, Verification Data, and Indicators of Verification Statusa. Record Formats for Prestored Data

As shown inFIGS. 20a,20b,and20c,the prestored data of an authorized user of a device (generally referred to as PD) may be maintained in suitable records2000a,2000b,and2000c,respectively, within a database of the device. As shown inFIG. 20a,for simple applications in which the device is adapted to receive and process only a Secret, such as a PIN2003, record2000awould simply contain the “value”2005for the Secret Prestored Data (SPD)2042(or referred to generically as PD2070). As shown inFIG. 20b,for slightly more complex applications in which the device is adapted to receive and process only one specified type2002of biometric data2007, record2000bwould simply contain the “value”2009for the applicable Biometric Prestored Data (BPD)2044(also referred to generically as PD2070).

As shown inFIG. 20c,for other applications in which the device is adapted to receive and process more than one specified type of verification data, the record2000cincludes a list of the possible verification data types2002representing both a Secret and a biometric characteristic. Each type2002of verification data (whether Secret or biometric) has associated therewith a corresponding pre-set identifier2004and a corresponding unique value2006comprising the prestored data2070therefor. The specific identifiers2004associated with particular data types2002, as shown inFIG. 20c,are arbitrary and may be formatted or established to conform with any industry standard or convention now or hereinafter developed (such as, for example, the standards set forth inBiometric Information Management and Security for the Financial Services Industry,Document Number X9.84-2000 WD, American National Standards Institute, 2000, which is incorporated herein by reference and which is available for download at http://webstore.ansi.org). Further, the list of types2002of data shown inFIG. 20c,is only intended to be exemplary and, in practice, record2000cmay include more, less, or different specific types2002of data.

In addition, although the types2002of data are shown in records2000a,2000b,and2000cfor ease of reference and explanation, it is not necessary that the information that appears in the column showing the types2002actually be maintained in these records if the relationship between each data type2002and its corresponding identifier2004is otherwise known. Except for the prestored data (values2005,2008) for the PINs, which is conventionally includes a 4-10 digit alphanumeric string, the values2009,2010associated with each type2002of biometric data will generally be a numeric value corresponding to a digital representation of an authorized user's biometric characteristic. For example, the current F.B.I. standard for electronic fingerprint scans is “40 point minutiae.” Such a value may be obtained by an appropriate and conventional biometric scanner capable of scanning and converting such scan into a digital representation of the particular biometric data type2002. Generally, for any particular biometric data type2002, it is preferably that the same standard, scale, or convention be used at both the personalization stage of the device, when such data is input into the device for the purpose of creating the prestored data, as well as each time verification data is later input into the device for the purpose of identifying a verification status. If no data has been prestored for comparison with a particular type2002of data, then the corresponding value2012for that data type2002is set to zero, null, or comparable equivalent value.b. Verification Data Formats Input into the Device

As shown inFIG. 21a,for simple applications in which the device is adapted to receive and process only a Secret (again, such as a PIN), it is preferable that the verification data2150comprise Secret Verification Data (SVD)2151having a value2102input by the sender of an EC when using the device. As shown inFIG. 21b,for slightly more complex applications in which the device is adapted to receive and process only one specified type of biometric verification data, it is preferable that the verification data2150comprise Biometric Verification Data (BVD)2153having a value2104input in response, to a scan of a biometric characteristic provided by the sender when using the device. Finally, as shown inFIG. 21c,for other applications in which the device is adapted to receive and process more than one specified type of verification data, whether Secret or biometric, it is preferable that the verification data2150comprise both an identifier2106and a corresponding value2108. The identifier2106indicates the type of verification data being input into the device, and, hence, indicates the prestored data the device will need to reference for comparison purposes. Although not shown, it should be understood that instead of using identifiers, it is possible to use software or device commands or instructions in combination with the input of verification data2150to notify the device of the particular type of the verification data2150being input.c. Comparison Process and Identification of Verification Status

Referring now toFIGS. 22,23a,23b,and24, several exemplary processes by which a device compares the verification data with prestored data and thereby identifies the verification status are set forth in greater detail. Again, as shown inFIG. 22, and referring initially to simple applications in which the device is, adapted to receive and process only verification data for a Secret, the device first determines if input representing verification data (e.g. as shown in Step308inFIG. 3) has in fact been received and, if so, determines (Step2202) whether such verification data is for a Secret. If verification data for the Secret is not received, then the device maintains Step2204the current verification status (the start-up default value of which is “No PIN entered”).

If verification data for a Secret is received, then the device retrieves Step2206the corresponding prestored data (SPD), e.g., value2005from record2000ainFIG. 20a.Next, the device compares Step2208the input value with the prestored data value. If the result (Rs) of the comparison is that the values are equal, then the device identifies Step2210the verification status as “PIN match.” If the result (Rs) of the comparison is that the values are not equal, then the device identifies Step2212the verification status as “PIN no match.” Furthermore, althoughFIG. 22shows the verification statuses in a descriptive format (e.g., “No PIN entered;” “PIN match;” and “PIN no match”), it should be understood that the device, preferably, sets an identification marker (IM) to an arbitrary value that directly maps to a respective verification status which, in this simple example, is also equal to the result of the comparison (Rs). A few possible examples of equivalent identification marker values are illustrated inFIG. 25a.Nevertheless, it should be obvious to one skilled in the art that innumerable different types, conventions, or formats for suitable equivalent verification statuses corresponding to those listed inFIG. 25amay be chosen within the scope of the present invention. As shown inFIG. 25a,a first identification marker comprising a Secret verification result (Rs1))2502is in cardinal number format. A second identification marker comprising a Secret verification result (Rs2)2504is in binary format. Additionally, a third identification marker comprising a Secret verification result (Rs3)2506that is shown is merely a different character string representation of the verification statuses listed in the first column ofFIG. 25a.Referring back toFIG. 22, the resulting identification marker values shown in Steps2210and2212use the second convention described above.

Referring now toFIGS. 23aand23b,for slightly more complex applications in which the device is adapted to receive and process only one specified type of biometric verification data, the device first determines Step2302that biometric verification data has, in fact, been received. If no biometric verification data has been received, then the device maintains Step2304the current verification status (the start-up default value of which is “No BIO input”). If the device has received biometric verification data, then the device retrieves Step2306the corresponding prestored data (BVD) (e.g. value2009from record2000binFIG. 20b). In biometric data comparisons, unlike in Secret data comparisons, it is preferred that the result (Rb) of the comparison comprise the degree or percentage of match (or difference) between the verification data and the prestored data. Thus, in preferred embodiments, the device identifies Step2308aa verification status by dividing the biometric verification data by the prestored data to obtain a percentage match between the two values and assigning the result (Rb) to the identification marker.

As shown inFIG. 23b,the device may alternatively obtain a percentage difference between the two values by calculating Step2308bthe absolute value of the difference between the two values and dividing that number by the prestored data, and then assigning the result (Rb) to the identification marker. Several examples of equivalent biometric identification marker values are illustrated inFIG. 26; however, it should be obvious to one skilled in the art that many different types, conventions, or formats for identification marker values showing degree or percentage of match or difference between the biometric verification data and the prestored data (e.g., such as those set forth inFIG. 26) may be chosen within the scope of the present invention. For example, a first identification marker comprising a biometric verification result (Rb1)2602is a percentage value (to 2 digits) corresponding to the degree of match or difference between the two values (with the calculated number substituted for the “##”). A second identification marker comprising a biometric verification result (Rb2)2604is a decimal value (to 2 digits) corresponding to the degree of match or difference between the two values. A third identification marker comprising biometric verification result (Rb3)2606is a character string associated with the corresponding verification status in the first column of the figure.

As has been described previously, in the preferred embodiment, the device outputs an indicator of the verification status based on biometric verification data in the form of a degree (or percentage) of match or degree (or percentage) of difference between the biometric verification data and the prestored data. By providing the verification status in this manner, the electronic apparatus (or recipient) is allowed to determine, based on its own logic or business rules, whether the degree of match obtained and provided by the device meets a required security threshold for a particular business purpose or application. This enables the device to be used easily with different recipients, each with its own threshold requirements for biometric verification data. Alternatively, it should be understood that the device itself could be pre-programmed or pre-hardwired to determine within the device whether the biometric verification data qualifies as a “match” or “no match” with the prestored data relative to an arbitrarily determined threshold—in which case, its identification marker would be similar merely to that for a comparison of verification data for a Secret.

Referring now toFIG. 24, for other applications in which the device is adapted to receive and process Secret and biometric verification data, the device first initiates Step2402a loop for the purpose of processing each input for those applications in which more than one type of verification data is received. In the first step within the loop, the device determines Step2404whether verification data has been received. If verification data has not been received, then the device maintains Step2406the current verification status (which at start-up is “No PIN entered; No BIO entered”). If verification data has been received, then the device retrieves Step2410the prestored data (2006fromFIG. 2000c) corresponding with the identifier (2106fromFIG. 21c) for such verification data. As an aside and as stated previously, another embodiment allows a device or computer command sent with the verification data to indicate the type of verification data being input without the use of an identifier2106(as shown inFIG. 21c). Next, the device determines Step2412, based on the identifier (or command input), whether the verification data represents a Secret or a biometric characteristic.

If the verification data represents a Secret, then the device compares Step2414the verification data with the corresponding prestored data for such Secret. If the values are equal, then the device identifies Step2416the result of the comparison as a “match” and, in this example, sets Rs equal to a value of “01” (using the binary convention fromFIG. 25a). The loop then restarts Step2408. If the values are not equal, then the device identifies Step2416the results of the comparison as a “no match” and, in this example, sets Rs equal to a value of “10” (again using the binary convention fromFIG. 25a). The loop then restarts at Step2408. On the other hand, if the device determines that the verification data represents a biometric characteristic, then the device identifies Step2420the verification status by comparing the verification data with the corresponding prestored data and calculating a percentage match therebetween. In this regard, the device sets Rb for the particular type of biometric verification data (designated by ###) equal to the value of the percentage match. The loop then restarts at Step2408. In this example, the value of the identification marker (IM) corresponding with the verification status includes the value for Rs as well as the values for each Rb for each biometric verification type.

Several examples using specific numbers will help explain this process. In the first example, suppose a PIN and one type of biometric verification data, such as a right handprint, is entered into the device by a sender of an EC who is using the device. In this example (using the conventions discussed above with regard toFIGS. 20cand21cand with regard to column2504ofFIG. 25aand column2702ofFIG. 26) a suitable verification status is represented by an identification marker including the following value:001,10,012,90 (with or without the commas)
This identification marker indicates a verification status in which an incorrect PIN was received and a right handprint having a 90% degree of match was received.

In a second example, suppose three types of biometric verification data (a right thumb, a left thumb, and a right iris scan) are entered. In this second example (again using the same conventions), a suitable verification status is represented by an identification marker including the following value:002,95,007,93,018,87 (with or without the commas)
This identification marker indicates a verification status in which a right thumbprint bad a 95% match, a left thumbprint had a 93% match, and a right iris scan produced an 87% match.

In an alternate embodiment, after performing the above steps, the device identifies the verification status as an identification marker containing every possible identifier2004(or some subset thereof fromFIG. 20c) followed by its corresponding Rs or Rb value. Thus, even though an input is not provided for every single type of verification data, the identification marker nevertheless includes all identifiers2004and their corresponding Rs and Rb values. For those types for which no input is received, the corresponding value for Rs or Rb is its default value preferably comprising zero or null, or a suitable equivalent. In this third example, a suitable verification status is represented as an identification marker of:001,01,002,00,003,00,004,0.25,005,00,006,0.96, . . . 024,0.95
Assuming that the “ . . . ” merely includes each identifier between 007 and 023 followed by a “00” (i.e., no verification data inputs corresponding with identifiers 007 through 023), the identification marker in this example indicates a verification status in which a correct PIN was input, a right middle fingerprint had a 25% match, a right pinky fingerprint had a 96% match, and a DNA scan had a 95% match. Just for comparison purposes, unlike the previous examples, this example uses the conventions for Rb discussed above with regard to column2604ofFIG. 26.

In another alternative embodiment, it is possible to eliminate all of the identifiers2004from the identification marker if the recipient knows what convention is used by the device, including the sequence of presenting each verification data type within the identification marker value or data stream. For example, using both conventions as described above for all twenty three identifiers (column2504ofFIG. 25afor the Rs value and column2602ofFIG. 26for the Rb values in the first identification marker below, and column2504ofFIG. 25afor the Rs value and column2604ofFIG. 26for the Rs values in the second identification marker below) and assuming that the order of verification data types is the same as the twenty-three identifiers2004inFIG. 20c,the identification marker for the above-described verification status could be presented, alternatively, as follows:

0100000.25000.9600000000000000000000000000000000000.95or010000250096000000000000000000000000000000000095
Each identification marker above identifies a verification status in which a correct PIN was input, a right middle fingerprint had a 25% match, a right pinky fingerprint had a 96% match, and a DNA scan had a 95% match.2. Associating Specific Sender Approval for EC

It is also possible and advantageous for the device to provide additional information to the recipient of an EC as to whether the verification status of the device is in a “persistent” state or whether the verification status applies specifically to the EC with which the indicator of verification status is associated. Such information can be used by the recipient to determine whether the sender of the EC input the correct Secret for a previous message or whether the correct Secret was input as specific approval or authorization of the transaction or request contained within the EC that is digitally signed. The same advantages apply in the case of a biometric characteristic.

For example, as stated above, for devices configured only to receive verification data for a Secret, such as a PIN, there are three verification statuses, or “states”, that can be identified by the identification marker using the format ofFIG. 25a: no PIN entered (Rs=00); correct PIN (Rs=01); and incorrect PIN (Rs=10). In accordance with this additional feature of the present invention, an additional “state” is added to these three as shown more fully inFIG. 25b.This additional state represents that a correct PIN was entered, but that since then, an indicator of the verification status was output or a digital signature was generated in association with an EC. This fourth state may be shown using any of the formats previously discussed, including a cardinal number format shown in column2508ofFIG. 25b; a binary format shown in column2510ofFIG. 25b; and a character string format shown in column2512ofFIG. 25b.Using the binary format, the fourth state is identified whenever an indicator is output or a digital signature is generated with the identification marker equaling “01” by setting, thereafter, the identification marker equal to “11”.

Alternatively, the device maintains a counter or “digital signature flag” (referred to hereinafter generically as “DSFlag”). In this regard, the DSFlag is initially set to zero and counts to one or more each time an indicator of verification status is output from or a digital signature is generated by the device. Thereafter, the DSFlag remains at one (or continues counting by one) for each indicator output or digital signature generated until verification data again is received by the device, after which the DSFlag is reset to zero. In this case, the value of the DSFlag is incorporated into the value of the identification marker as an additional bit of information. For example, possible values of an identification marker thus include the following, wherein “/” separates the binary value of Rs and the corresponding DSFlag value for purposes of illustration: 00/0 (no PIN input; no IVS or DS output); 00/1 (no PIN input; IVS or DS output); 01/0 (PIN match; no IVS or DS output since PIN match); 01/1 (PIN match; IVS or DS output since PIN match); 10/0 (PI no match; no IVS or DS output); and 10/1 (PIN no match; IVS or DS output).

For a device configured to receive one type of biometric verification data only, the device preferably includes a DSFlag as part of the identification marker in similar manner to the methodology just described. For example, for a device that originates digital signatures and is only capable of receiving and processing one particular type of biometric verification data, the identification marker includes the degree of match as well as the value of the DSFlag. Thus, if the sender of an EC had submitted a thumbprint, which was determined to have a 90% match, and if no digital signature had been generated, a suitable value of the identification marker is “90/0” (with the “/” merely to indicate the separation of the two values), with the value of “90” for Rb indicating the degree of match and the value of “0” for the DSFlag indicating that no digital signature had been generated since last receipt of verification data. Conversely, in the above example, if one or more digital signatures have been generated by the device since the thumbprint scan was submitted to the device, the identification marker would be “90/1” (or in the case of a counter, “90/x” where “x” is any number greater than 0).

For devices capable of receiving multiple types of verification data input (Secret and/or biometric), it is preferable for each comparison result (R) for each type of verification data to have its own DSFlag. In this situation, every time a digital signature is originated, all of the DSFlags are set to one (or otherwise incremented as described above); however, each time additional verification data is received by the device, the DSFlag for that particular type of verification data is set to zero. For transmission of information to the electronic apparatus in this scenario, it is preferred to include the particular identifier, as discussed previously. Using the example from the previous section, a suitable identification marker appears as:001,01,1,002,00,1,003,00,1,004,0.25,0,005,00,1,006,0.96,1, . . . 024,0.95,1
This identification marker indicates a verification status in which a correct Secret was input, a right middle fingerprint had a 25% match, a right pinky fingerprint had a 96% match, a DNA scan had a 95% match, and the right middle fingerprint was entered since the last digital signature was generated by the device.

Turning now toFIG. 27, a table illustrates a hypothetical series of actions (primarily inputs of different types of verification data) into a device of the present invention and the resulting change (if any) to the value of the identification marker. In this example, the device maintains a PIN, a digitized value for the right thumbprint (identifier=002) of an authorized user of the device, and a digitized version of the right retina (identifier=016) of an authorized user of the device. In addition, in this example, the identification marker (IM) of the device comprises the Rs value, the Rb(002) value, DSFlag(002) value, Rb(016) value, and DSFlag(016) value. The identification marker uses the two digit binary convention for the value of Rs (i.e., from column2510fromFIG. 25b), a two-digit percentage match convention for the values of Rb(002) and Rb(016) (from column2602fromFIG. 26), and binary values for the DSFlag associated with each biometric verification data type. Thus, the DSFlag values are either “0”—indicating no generation of a digital signature or output of an indicator of the verification status since the particular type of biometric verification data was received, or “1”—indicating generation of a digital signature or output of an indicator since the particular type of biometric verification data was received.

A series of thirteen actions is illustrated in sequence in the first column of the table ofFIG. 27. The impact of each of these actions upon the device and, more specifically, upon the identification marker of the device, which identifies the current verification status of the device, is shown horizontally across the remaining columns of the table. In the first action, the device is activated, turned on, or otherwise reset. This action causes each of the values that make up the identification marker to reset to their default values of zero, as shown. In the second action, an incorrect PIN is entered, which causes the value of Rs to change to “10.” A subsequent correct PIN entry into the device, switches the Rs value to “01.” The generation of a digital signature, output of the value of the identification marker, or other output of the verification status of the device causes the value of Rs to switch to “11” and both of the DSFlags to toggle to “1.” It should be noted that the value of Rs that was included within the output of the fourth action step was the “01” (from the previous row of the table, which was the “current” value of Rs at the time of the output). As illustrated by the fifth action, a second generation of a digital signature, output of the value of the identification marker, or other output of the verification status of the device has no effect upon the value of identification marker; however, it should be noted that the value of Rs and of the DSFlags will be different from the values that were output during the fourth action.

A correct PIN input as the sixth action sets the value of Rs to “01,” but noticeably has no impact on the DSFlags for the right thumbprint and right retina. In the seventh action, a right thumbprint is provided to the device and results in an 85% match with the prestored right thumbprint value. This causes the value of Rb(002) to be set to “85” and the value of DSFlag(002) to be set to “0.” In the eighth action, a right retina scan result is provided to the device and results in a 90% match with the prestored value. This causes the value of Rb(016) to be set to “90” and also the value of DSFlag(016) to be set to “0.”

Still referring toFIG. 27, the ninth action is a third generation of a digital signature, output of the identification marker, or other output of the verification status of the device including the identification marker that was in effect after the eighth action, which causes Rs to switch to “11” and both of the DSFlags to toggle back to “1.” In the tenth action, a second right thumbprint is provided to the device, which results in an 88% match, which changes the value of Rb(002) to “88” and the value of DSFlag(002) to “0.” An incorrect PIN entry at this point, in the eleventh action, merely changes the value of Rs to “10.” In the twelfth action, the fourth generation of a digital signature, output of the identification marker, or other output of the verification status of the device causes DSFlag(002) to toggle back to “1” but has not effect upon the Rs value or upon the DSFlag(016) value, which is already set to “1.” In the thirteenth action, a second right retina provided to the device, which results in an 89% match, changes the value of Rb(016) to “89” and switches the value of DSFlag(016) back to “0.” In the fourteenth action (not specifically shown), a reset signal to the device resets all of the values back to those shown after the first action.

Additional features and benefits of the present invention, including those relating to identification markers and indicators of verification status, will become apparent from the following discussions regarding specific devices and implementations of the present invention.3. Computer Chip Design

Turning now toFIG. 28, a preferred computer chip50that may be used in conjunction with an IC card, PDA, cell phone, personal computer, or other device in accordance with the present invention is illustrated. As shown, the computer chip50receives power52, a clock input54, and a reset or master clear input56from an external source90. The computer chip50is also connected to ground58and exchanges input and output data60through external source90. The external source90may be part of the IC card, PDA, cell phone, personal computer or other device in which the computer chip50is installed or it may be part of an I/O support element (not shown) with which the IC card, PDA, cell phone, personal computer, or other device is in communication, as the case may be.

Internally, the computer chip50includes an I/O router62, a central controller64, a memory location66for securely storing a private key of a public-private key pair, a memory location68for storing the corresponding public key of the public/private key pair, a dedicated public/private key generator circuit70, a private key destruction circuit72, a memory location65for storing a default prestored message, a digital signature circuit71(which includes a hash function circuit73, a random number generator74, and an encryption circuit75), a memory location76for prestoring data (Secret and/or biometric data), a selection multiplexer78for retrieving selected prestored data from memory location76, a memory location80for storing various account and other user information, a selection multiplexer82for retrieving selected information from memory location80, a memory location83for storing the current verification status (preferably in the form of an identification marker (IM)) of the computer chip50, which includes the value of Rs (for the Secret) and the values for each Rb (for each biometric verification data type stored within the device50) and the values for the DSFlags corresponding with the Rs and Rb values), and a selection multiplexer84for reading and writing to the memory location83.

Preferably, the computer chip50is designed with the following capabilities: the ability to store data securely and permanently (especially the private key); the ability to create a public-private key pair on the chip on a one-time only basis using a random number produced within the chip from the random number generator74; and the ability to originate digital signatures, when requested, using a random number produced within the chip from the random number generator74in accordance with FIPS PUB 186-2. The computer chip50further preferably is resistant to tampering and is immune to Differential Power Attacks and other physical analysis. The prestored data for the Secret preferably also is protected from exhaustive search attacks. One method of “protecting” the private key is by designing the computer chip50with the destruct circuit72, which destroys the private key when triggered by any tampering or attempted theft of the private key by electronic, physical, and other known means. Under such circumstances, the destruct circuit72renders the computer chip50useless by preventing the computer chip50from being able to generate further digital signatures and by destroying the information retained in memory location66.

Still referring toFIG. 28, the computer chip50also includes non-modifiable operating software either loaded into the chip during manufacture or permanently etched into read-only memory (ROM) on the chip50. Such software enables the computer chip50to respond to and act upon a specific set of commands. Such commands enable, for example, the computer chip50to be personalized. Personalization includes the input and prestoring of data for a Secret, a biometric characteristic, user name, and account number(s). Preferably, the prestored data for the Secret is capable of being changed, upon successful input of the current Secret verification data. The biometric prestored data, however, preferably is permanent once loaded into memory.

The software further includes a command that causes the key generation circuit70to create a unique public-private key pair directly within the computer chip50on a one-time only basis. As stated previously, the private key is stored securely in memory location66. The public key is stored in memory location68. The software includes a command that enables the public key to be exported from the computer chip50. The command to export the public key may be executable multiple times or one time only, depending upon whether strict control over access to the public key is desired. The software also includes a command that notifies the computer chip50that verification data is being input. Optionally, separate commands (or separate information included with the command) are used to indicate whether the verification data being input is for a Secret or a biometric characteristic and, if for a biometric characteristic, the biometric type. Preferably, the computer chip50also automatically identifies a verification status whenever it receives verification data.

The software further includes a command that notifies the computer chip50that message data is being input. In many situations, it is necessary or desirable for the message data input or provided to the computer chip50to incorporate specific account information or other user data maintained in memory location80on the computer chip50. There are generally two techniques for extracting such information from memory location80and including it within the message data sent to the computer chip50.

In the first technique, all of the account and other user information is extracted from the computer chip50and the user is prompted through a display to select the appropriate account or user information to be included as part of the message to be digitally signed using the computer chip50. A message data command then is sent to the computer chip50for the origination of a digital signature, with the selected account or user information included in the message data. For example, when the computer chip50is used in an IC card in conjunction with a reader or other I/O support element, the I/O support element sends a command to the computer chip50for the extraction of all account and user information. The user then selects the appropriate account or user information from a display provided by the I/O support element to be included as part of the message to be digitally signed using the computer chip50. Thereafter a message data command is sent to the computer chip50for the origination of a digital signature, with the selected account or user information included in the message data.

In the second technique, the message data command provided to the computer chip50includes one or more “null fields” or other appropriate “tags” which identify a particular account field or user information field, but in which no value is supplied. In response to the tag, the computer chip50searches content addressable memory to identify a corresponding field maintained in memory. Upon location of the corresponding field, the computer chip50supplies the value of such field in the message data in substitution for the null value of the tag. With this methodology, each data cell containing account or user information in memory location80has its own tag or content address. Preferably, such tags or content addresses are standardized so that account or user information can be correctly stored in memory location80and easily retrieved using a tag when later needed. Such tags may include XML tags.

For example, a message data command could be sent to the computer chip50in which the message data contains a null field or tag requesting that <user name> be inserted into a particular location within the text of the message data. Whenever such message data is provided to the computer chip50, the computer chip50automatically completes the message data by inserting, in this case, the “user name” stored in the third cell of memory location80of the chip50. Preferably, a tag could be used to extract and insert any of the various field values (e.g., credit card account number; banking account number; user name; employer account number; web site account number, etc.) maintained in memory location80of the computer chip50.

Once the message data is “completed” with all requested account and user information using one of the above techniques, such message data is then ready for: modification by the current verification status of the computer chip (using the value of IM); calculation of the hash value for the modified message data; encryption of the hash value to generate a digital signature; and output of the digital signature.

Alternatively, the computer chip50generates a digital signature in the same manner using a prestored message in memory location65—rather than imported message data—in response to a suitable command to generate a digital signature.

As will be appreciated, a computer chip including components and functionality described above, and which is used in providing a verification status in accordance with the present invention, is itself novel and nonobvious and, accordingly, such a computer chip indeed comprises an aspect of the present invention.4. Specific Implementations of the Present Invention

FIGS. 29-33(with frequent reference back toFIG. 28) illustrate how a single IC card95, configured to function in accordance with the present invention and containing a suitable computer chip50(such as described above with reference toFIG. 28), may be used in many different applications and settings by a suspect user46of the IC card95. The structure of the IC card95is conventional in that it has the computer chip50embedded therein and surface contacts for enabling communication between an IC card reader and the computer chip50in the IC card95. The surface contacts are ISO/IEC7816compliant. It is also possible to have an ISO/IEC14443compliant proximity card or a combination card capable of both7816and14443operations.

For purposes of these examples, it is assumed that the computer chip50(as shown inFIG. 28) already contains a unique public/private key pair created in the manner previously described. It is further assumed that a PIN (the Secret in these examples) and digitized versions of the authorized user's right thumbprint, right retina, and voice print have been input and prestored in memory location76(cells 001, 002, 016, and 020 respectively) of the chip50(again, as shown inFIG. 28). It is also assumed that the authorized user's name, credit card account number, checking account number, relevant employee ID number for building and computer access, and website broker account number have been suitably prestored in memory location80for access as needed using an appropriate tag contained within message data provided to the IC card95from an external source, as discussed above. Additionally, it is assumed that the public key stored on the computer chip50has been provided to the authorized user's employer, credit card account company, bank, and broker, each of which has, in turn, associated in its own database the public key with the authorized user's account. For purposes of the present examples, we will also assume that the computer chip50outputs the value for the identification marker (IM), which is a data string containing the value of Rs using the convention as set forth in column2504ofFIG. 25a(i.e., no PIN (Rs=00), correct PIN and not used for IVS or DS (Rs=01), and incorrect PIN (Rs=10). The value for the identification marker further includes the type identifier (0xx) and the value of Rb (in the format of a two-digit percentage match (xx) as set forth in column2602ofFIG. 26) for every biometric verification data type. Furthermore, the identification marker includes a respective DSFlag associated with the Rs value and with each Rb value.

Now, referring specifically toFIG. 29, a first example illustrates the IC card95being used by the suspect user46. In this first example, the suspect user46presents the IC card95to gain access to a parking area2902. The parking area2902is secured by a parking gate2904, which has an arm2906and which is controlled by a parking gate controller2908. In turn, the parking gate controller2908is in communication with an IC card reader2910. Although shown as separate from the parking gate2904, the controller2908and the IC card reader2910could, in fact, be physically installed within the housing of the parking gate2904.

To get the arm2906to lift, the suspect user46inserts the IC card95into the reader2910(or positions the card near the reader in case of14443operations). As this is a relatively low security parking area2902, the IC card reader2910does not have an associated keypad or biometric scanner; thus, there is no means by which the suspect user46can input any verification data. Correspondingly, access to the parking area is not dependent upon any particular verification status of the IC card95. The parking gate controller2908opens the parking gate2906merely upon proper presentation of the IC card95, which is pre-registered with the parking gate controller2908. Preferably, pre-registration involves the authorized user of the card providing his name (“user name”) as retained in the memory80(as shown inFIG. 28) of the computer chip50to the parking gate controller2908or, conversely, having the operator of the parking gate2904(e.g., the authorized user's employer or agent) “approve” the IC card95for use with the parking gate system by inputting an employee account number into memory location80(as shown inFIG. 28) of the computer chip50. For improved security, the authorized user of the card95also provides his public key (retained on the chip50) to the parking gate controller2908, which associates the user's name or employee account number (hereinafter generally referred to as “user information”) therewith.

When the IC card95is inserted into the card reader2910(or brought into proximity to the card reader2910), the card reader2910is initialized. Initialization of the card reader2910is conventional and is accomplished either by the card reader2910physically detecting an IC card95, or by the IC card95outputting a “reset” message to the card reader2910as part of its start-up protocol when it first receives power from the card reader2910. Once the IC card95receives power, the identification marker and all DSFlags for the PIN and each applicable biometric type are reset. Alternatively, all such values may be reset when power is removed from the card95.

Following initialization, the card reader2910sends a message input command to the IC card95. At a minimum, the message input command includes a tag requesting user information, such as “user name” or “employee account number” from the appropriate data field in memory location80(as shown inFIG. 28). In this example, there is no additional message data other than the tag.

Once the message input command is received by the IC card95, the computer chip50(as shown inFIG. 28) on the IC card95retrieves the requested user information from memory location80(as shown inFIG. 28), with such user information becoming part of the message data; retrieves the current value of the identification marker; modifies the message data with the value of the identification marker by pre-pending the value to the message data; calculates a hash value of the modified message data; encrypts the hash value to generate a digital signature; and exports the digital signature, requested user information, and value of the identification marker to the card reader2910, which forwards such data on to the controller2908for processing.

Thereafter, the controller2908first compares the requested user information (name or employee account number) received from the IC card95with a list of authorized names or authorized employee account numbers maintained in its database. For low security having no regard for authentication, the controller2908opens the parking gate2906if the user information received from the IC card95matches one of the authorized names or authorized employee account numbers in its database. For higher security to guard against a counterfeit IC card, the controller2908decrypts the digital signature received from the IC card95using the public key associated with the matching user information. If the decrypted hash value from the digital signature matches a hash value calculated based on the user information (i.e., message data) provided by the IC card95, as modified by the value of the identification marker received from the IC card95, then the controller2908determines that the IC card95from which the digital signature is received contains the unique private key associated with the user who pre-registered with the operator of the parking gate2904, and lifts the parking gate arm2906—the decision in this case to raise the gate being based on Factor A Entity Authentication.

Turning now toFIGS. 30 and 31, the same IC card95may be used by the suspect user46first to gain access into secure building3002and then into secure room3102, which is located within the secure building3002. As shown inFIG. 30, one IC card reader3004is mounted next to the secure entrance3010into the building3002. This IC card reader3004includes an alphanumeric keypad3006and a display screen3008. The IC card reader3004is in electronic communication with a building security controller3014, which controls the locking mechanism3012of the entrance3010. Inside the building, as shown inFIG. 31, another IC card reader3104is mounted on the wall next to secure door3110. This IC card reader3104includes a retina scanner3106and a display3108. Likewise, this IC card reader3104is in electronic communication with the building security controller3114, which controls the locking mechanism3112of the door3110. If the parking area2902(fromFIG. 29) is part of the same facility as secure building3002, it is possible that parking gate controller2908and building security controllers3014,3114are the same apparatus, part of the same computer system, or share the same database of information regarding the authorized user and public key for IC card95.

First, with regard toFIG. 30, for access into the secure building3002, the IC card95is inserted into the IC card reader3004(or brought into proximity to the card reader3004). The reader3004is initialized in much the same way as the card reader2910inFIG. 29. The identification marker and all DSFlags are reset when power is first supplied to the IC card95.

Once initialized, the card reader3004, using the display3008, prompts the suspect user46to input a PIN. Once the PIN is entered using the keypad3006, the card reader3004transmits the same, not to the building security controller3014, but directly to the IC card95.

Once the IC card95receives the PIN verification data, the controller64on the computer chip50(as shown inFIG. 28) retrieves the prestored PIN data from memory location76(cell 001) and compares the two values (Factor B Entity Authentication). A match/no-match determination is made by the controller64, which identifies the verification status as either Rs=01 (match) or Rs=10 (no match).

After a suitable but brief delay, which is programmed into the controls of the card reader3304, the card reader3004sends a message input command to the IC card95. As was described previously in relation toFIG. 29, the message input command includes a “tag” requesting user information (e.g. “user name” or “employee account number”) from the appropriate data field in memory location80(as shown inFIG. 28). Again, it is assumed that the message data comprises the tag only and no additional information.

Once the message input command is received by the IC card95, the computer chip50on the IC card95retrieves the requested user information from memory location80(as shown inFIG. 28); retrieves the current value of the identification marker; modifies the user information (i.e., message data) with the value of the identification marker by pre-pending the value to the user information; calculates a hash value of the modified user information to generate a digital signature; encrypts the hash value; and exports the digital signature, requested user information, and value of the identification marker to the card reader3004. The computer chip50(as shown inFIG. 28) then increments the value of all of the DSFlags to “1”. Equivalently, the computer chip50only increments the value of the DSFlags to “1” for the specific verification data types for which any verification data input has been received since powering on of the card95.

The digital signature, value of the identification marker, and user information received by the card reader3004are communicated to the building security controller3014. The building security controller3014first confirms that the user information matches either an authorized name or an authorized employee account number for access to the building3002. If so, the building security controller3014then decrypts the digital signature using the public key associated with the matching authorized user information. If the decrypted hash value from the digital signature matches a hash value calculated based on the user information received from the IC card95, as modified by the value of the identification marker received from the IC card95, then the building security controller3014determines that the IC card95from which the digital signature is received contains the unique private key. Finally, the building security controller3014checks the verification status indicated by the value of the identification marker to determine whether the suspect user46of the IC card95is in fact the authorized user of the IC card95. If the indicated verification status represents a match (i.e., value of Rs=01), the building security controller3014infers that the suspect user46is the authorized user, and then sends a signal to the locking mechanism3012to unlock the entrance and/or open the door3010.

For access into the secure room3102ofFIG. 31, the IC card95is inserted into the IC card reader3104(or brought into proximity to the card reader3104). The reader3104is initialized in much the same way as the card reader3004, with the identification marker and all DSFlags being reset when power is first supplied to the IC card95. Once initialized, the card reader3104, using the display3108, prompts the suspect user46to place his right eye before the scanner3106. The retina scanner3106scans the right eye of the suspect user46and obtains a digitized version thereof. The card reader3104then transmits the biometric verification data (which includes an identifier and a value of the digitized scan of the right retina), not to the building security controller3114, but to the IC card95for comparison.

Once the biometric verification data is received by the IC card95, the controller64(as shown inFIG. 28) determines the type of biometric verification data received (based on the identifier), retrieves the corresponding prestored biometric data for the authorized user's right retina from memory location76(cell 016), and compares the two values (Factor C Entity Authentication). A degree of match determination/calculation is made by the controller64, which sets Rb(016) to a two-digit number corresponding with the percentage match (again, as shown inFIG. 28).

After a suitable but brief delay, the card reader3104sends a message input command to the IC card95. As was described previously, the message input command includes a tag requesting user information from the appropriate data field in memory location80. Again, it is assumed that the message data comprises the tag only and no additional information.

Once the message input command is received by the IC card95, the computer chip50on the IC card95retrieves the requested user information from memory location80; retrieves the current value of the identification marker (including therein the value of Rb(016) and the value of the DSFlag(016), which was reset to zero when the card was inserted into the card reader3104); modifies the user information with the value of the identification marker by pre-pending the value to the user information, calculates a hash value of the modified user information; encrypts the hash value to generate a digital signature; and exports the digital signature, requested user information, and value of the identification marker to the card reader3104. The computer chip50then increments the value of all of the DSFlags to “1.”

The digital signature, user information, and value of the identification marker received from the IC card95are then communicated by the card reader3104to the building security controller3114. The building security controller3114first confirms that the user information received from the IC card95matches an authorized user name or employee account number for access to the room3102. If so, the building security controller3114then decrypts the digital signature using the public key associated with the matching user information. If the decrypted hash value from the digital signature matches a hash value calculated based on the user information received from the IC card95, as modified by the value of the identification marker received from the IC card95, then the building security controller3114determines that the IC card95from which the digital signature is received contains the unique private key. Finally, the building security controller3114checks the verification status indicated by the value of the identification marker to determine whether the suspect user46is in fact the authorized user of the IC card95. In this regard, if the degree of match between the value for the scanned retina and the prestored value for the retina of the authorized user meets a threshold requirement (e.g. 90% match or better) set by the building security controller3114, then the building security controller3114infers that the suspect user46is the authorized user and sends a signal to the locking mechanism3112to unlock and/or open the door3110.

The building security controller3114may include business logic that denies access to the room3102if there is a “perfect” or 100% match between the scanned retina and the prestored retina, since such a comparison likely indicates a fraudulently input verification data. If the degree of match received from the card95does not exceed the required threshold set by the building security controller3114for this room3102, an additional retina scan may be requested and the above procedure repeated. If the IC card95was not removed from the card reader3104, and if the IC card95generates a digital signature before a new retina scan is taken or successfully transmitted into the IC card95, the verification status output by the card95will include the DSFlag for the right retina set to a value of “1,” which signals the building security controller3114that a new retina scan was not input or correctly received by the IC card95. When a new retina scan is taken and transmitted to the IC card95, the DSFlag for the right retina (DSFlag(016)) is reset to zero. Since retina scans of the same eye will generally vary slightly with each scan (as do most scans of other types of biometric information), the building security controller3114will be alert to the potential of a fraudulent biometric verification data received by the IC card95when a new degree of match determination is exactly identical to a previous determination for the same biometric characteristic from the same IC card95.

Even if the initial degree of match received from the card95exceeds the required threshold set by the building security controller3114for this room3102, the building security controller3114may nevertheless request a follow-up retina scan from the suspect user46simply for the purpose of determining if the biometric input was fraudulent (i.e., is the follow-up degree of match identical to the initial degree of match?). The building security controller3114may also include business logic that denies access to the room3102if there is a “perfect” or 100% match between the scanned retina and the prestored retina, since such a comparison also likely indicates a fraudulently input verification data. Referring toFIG. 32a,the suspect user46now sits at his desk to access his personal computer3202. The computer3202is conventional in that it includes a keyboard3204, a monitor3206, and a mouse3208. The computer3202also includes a card reader3210, which exchanges data with the computer3202through a suitable port (e.g., serial, parallel, USB, etc.) of the computer3202. The card reader3210is similar to those discussed above and is capable of exchanging information with an IC card95when inserted therein (or brought within proximity thereof). In the present example, the computer3202also includes a microphone3212for receipt of audio input, such as the voice of the suspect user46. Although it is possible to prevent the computer3202from powering on without a proper IC card95inserted into the card reader3210, the present example assumes that the computer3202will power on and “boot up” to a security screen (using suitable software installed on the computer3202), but that no substantive access, such as to programs or databases maintained on, or to the operating system of, the computer3202is enabled until the suspect user46is authenticated. Alternatively, the building security controller3114may also request additional PIN and/or bio input if there suspicion of fraudulent input.

After powering on, the computer3202prompts, on a security screen displayed on the monitor3206, the suspect user46to insert the IC card95into card reader3210, to enter a PIN into a suitable data entry window also displayed on the screen, and to state (audibly) his name—first name, middle initial, and last name—for the purpose of obtaining a voiceprint.

When the IC card95is inserted into the reader3210, the reader3210is initialized (as described previously) and the power supplied to the card95causes the identification marker and all of the DSFlags on the computer chip50to be reset. Once the PIN has been entered using the keyboard3204and once the suspect user46states his name into the microphone3212, the computer3202transmits both the PIN and a digitized version of the voiceprint, via the card reader3210, to the IC card95. The card reader3210transmits the value of the PIN and digitized voiceprint along with an identifier (e.g., 001 for the PIN and 020 for the voiceprint) for each to identify to the card95the type and order of the verification data input.

Upon receipt of the PIN and biometric verification data by the IC card95, the controller64on the computer chip50(referring back toFIG. 28) first determines the type of verification data received based on the identifiers and then retrieves the appropriate prestored data from memory location76. In this example, the controller64first retrieves the prestored data for the PIN from memory location data cell 001 in memory location76, and then compares the value with the value of the PIN verification data received from the card reader3210(Factor B Entity Authentication). A match/no-match determination is made by the controller64, which sets the value of the Rs as either “01” (match) or “10” (no match). Next, the controller64retrieves the prestored data for the authorized user's voiceprint from data cell 020 in memory location76, and then compares this value with the digitized voiceprint received from the card reader3210(Factor C Entity Authentication). A degree of match determination/calculation is made by the controller64, which sets the value of Rb(020) to a two-digit number corresponding to the percentage match.

After a suitable but brief delay, the computer3202then sends a message input command to the IC card95via the card reader3210. In this case, the message input command includes a tag requesting user information from the appropriate data field in memory location80(again, as shown inFIG. 28). Again, it is assumed that the message data comprises the tag only and no additional information.

Once the message input command is received by the IC card95, the computer chip50on the IC card95retrieves the requested authorized user information (as the message data) from memory location80; retrieves the current value of the identification marker (which includes the value of Rs and the value of DSFlag(001), which was reset to zero when the card was inserted into the card reader3210, and which also includes the value of Rb(020) and the value of the DSFlag(020), which was also reset to zero), modifies the message data with the identification marker by pre-pending the value to the message data, calculates a hash value of the modified message data, encrypts the hash value to generate a digital signature, and exports the digital signature, requested user information, and value of the identification marker to the card reader3210. The computer chip50then increments the value of all of the DSFlags on the computer chip50to “1” (at a minimum, the DSFlags for the PIN and for the voiceprint, namely DSFlag(001) and DSFlag(020), are incremented to “1”).

The digital signature, user information, and value of the identification marker received by the card reader3210are then communicated to the computer3202for processing. If the computer3202is a stand-alone computer, processing is performed within the computer3202itself. More likely, however, computer3202will be networked and in communication with a server (not shown), which will actually determine whether the suspect user46will gain access to the computer3202.

Assuming a server is involved, the server first confirms that the user information received from the IC card95matches an authorized user name or employee account number for access to and use of the specific computer3202. The server then decrypts the digital signature using the public key associated with the matching user information. If the decrypted hash value from the digital signature matches a hash value calculated based on the user information received from the IC card95, as modified by the value of the identification marker received from the IC card95, then the server determines that the IC card95from which the digital signature is received contains the unique private key. Finally, the server checks the verification status indicated by the value of the identification marker to determine whether the suspect user46is in fact the authorized user of the IC card95. This is a two-step process since two different types of verification data have been received by the IC card95and used to identify the verification status of the card95. In the first step, if the value of Rs is “01” (match), then the server infers that the suspect user46is the authorized user. In the second step, the server uses business logic or a rule base to determine if the voiceprint provided by the suspect user46is sufficiently similar to the voiceprint of the authorized user stored on the IC card95so as to infer again that the suspect user46is the authorized user.

The business logic and rule base of the server may be programmed to accept varying combinations of Rs and Rb values (PIN and voiceprint) to infer that the suspect user46is the authorized user. For example, a correct PIN by itself, a correct PIN plus at least a 70% match of voiceprint, an incorrect PIN if the voiceprint exceeds 95%, and an incorrect PIN but two voiceprints exceeding 90% are all different types of verification statuses that may be sufficient for the server to infer that the suspect user46is the authorized user and grant access to the computer3202. Obviously, the business logic or rule base can vary widely, depending upon the necessary security desired.

Turning now toFIG. 32b,the IC card95may also be used by the suspect user46in accessing a secure website over an insecure network, such as the Internet3222. In this further example, we will assume that the suspect user46is accessing the secure website3224of his broker3220, with whom he already has an established account. The brokerage company3220that operates the website3224already has the authorized user's public key from the IC card95stored in its account database3225and associated with the authorized user's account. We will also assume that the suspect user46is accessing the website3224using computer3202fromFIG. 32aand that the card95has not been removed from the card reader3210since it was used to gain access to the computer3202; thus, the DSFlags remain set to “1”.

When accessing the website3224, the suspect user46enters a user ID in a login screen for the website. The user ID enables the brokerage company3220readily to locate the appropriate account of the user, as is conventional. However, rather than encrypting the user ID together with a password and then sending the encrypted information over the Internet, the computer3202sends the user ID to the IC card95via the card reader3210. The process by which the website3224instructs the computer3202to send the user ID to the IC card95rather than directly over the Internet to the website3224is beyond the scope of this invention; however, it may be readily accomplished in several different manners. In one example, the website3224has a dedicated login page for use only by users having a suitable IC card95(or other device of the present invention), in which case, entry of the user ID into such login page automatically instructs the computer3202to send the user ID to the IC card95for processing. Alternatively, the login page for the website3224could enable the user to select a conventional login using an ID and password or to login using his IC card95. In either of the above examples, the user ID could actually be prestored in a “cookie” in memory on the computer3202, as is conventional, which would enable the user merely to click one button on the login page of the website3224, which causes the computer3202to send the user ID to the IC card95.

Once a message input command comprising the user ID is received by the IC card95, the computer chip50on the IC card95retrieves the current value of the identification marker, modifies the user ID received from the card reader3210with the value of the identification marker by pre-pending the value to the user ID, calculates a hash value of the modified user ID, encrypts the hash value to generate a digital signature, and returns the digital signature and the value of the identification marker to the computer3202via the card reader3210. In this case, the values of the DSFlags are not incremented since they are already set to a value of “1.”

The user ID, the digital signature, and value of the identification marker then are communicated in an EC by the computer3202over the Internet3222to the website3224for processing. Computer programming associated with the website3224first confirms that the suspect user46maintains an account with the brokerage company by matching the user ID with an account. If an account with a matching user ID is found, then the computer programming next decrypts the digital signature using the public key associated with the identified account. If the decrypted hash value from the digital signature matches a hash value calculated based on the user ID received from the IC card95, as modified by the value of the identification marker received from the IC card95, then it is determined that the IC card95from which the digital signature is received contains the unique private key corresponding with the account of the user. Finally, the computer programming associated with the website3224checks the verification status indicated by the value of the identification marker to determine whether the suspect user46is in fact the authorized user of the IC card95.

Preferably, the computer programming extracts only the value of the Rs from the value of the identification marker for initial evaluation. If the value of Rs is “00” (no PIN input), then the website3224sends a request data back to the computer3202requesting input of the user's PIN. If the value of Rs is “10” (incorrect PIN), then the website3224sends a request for the suspect user46to reenter the PIN. In either case, a suitable screen is displayed on the monitor3206of the computer3202to enable the suspect user46to enter the PIN. It should again be emphasized that such PIN will be transmitted by a keyboard of the computer3202to the card95but not transmitted over the Internet3222. If the value of Rs is “01” (correct PIN), then the website3224infers that the suspect user46is in fact the authorized user and grants access to the website3224. Thus, for mere access to the website3224, it is not necessary that the PIN be entered just prior to the generation of the digital signature for the user ID—previous entry of a correct PIN is satisfactory for access to the website3224.

On the other hand, if after perusing the website3224, the “now-authorized” user requests a transaction, such as purchase of stock, then the website3224transmits a detailed confirmation of the requested transaction and specifically requests entry of a PIN to confirm specific approval for the purchase order. Once the PIN has been input by the suspect user46, the computer3202provides the same to the IC card95.

Upon receipt of the PIN, the controller64first retrieves the prestored data for the PIN from memory location data cell 001 in memory location76and compares it with the PIN received from the computer3202. A match/no-match determination then is made by the controller64, and the value of Rs is set to either “01” representing a match or to “10” representing a failed match, and the DSFlag(001) also is set to “0”.

After a suitable but brief delay, the computer3202then sends a message input command (which contains the purchase order) to the IC card95. The computer chip50on the IC card95retrieves the current value of the identification marker (including therein the value of Rs and DSFlag(001)); modifies the message data received from the computer3202with the value of the identification marker by pre-pending the value to the message data; calculates a hash value of the modified message data; encrypts the hash value to generate a digital signature; and exports the digital signature and value of the identification marker to the computer3202, which then forwards the same on to the website3224. The computer chip50then increments the value of all of the DSFlags to “1.” In this example, the website3224will only approve the requested transaction when the value of the identification marker includes therein a value of Rs of “01” and a value of DSFlag(001) as “0”.

If desired, the communication between the computer3202and the website3224may be performed using a Secure Socket Layering (SSL) protocol, as is conventional. Such a protocol is set forth, for example, in U.S. Pat. No. 5,848,161, which is incorporated herein by reference. In such protocol, it is customary for the computer3202to generate a random number for use in creating a session key for the SSL communication. In accordance with a further feature of the present invention, the IC card95is used for the provision of the random number for creation of the session key. In particular, a digital signature is originated by the IC card95and used as the random number itself for the purpose of creating the session key. An indirect result of the DSA and ECDSA specified in FIPS PUB 186-2 is that the resulting digital signature itself is a random number. A session key for communication using pretty good privacy (PGP) encryption also may be created based on the digital signature of the IC card95.

Turning now toFIG. 33, use of the IC card95at a point of sale location is illustrated. A point of sale card reader3308includes an alphanumeric keypad3310, a display3314, and, in this case, a thumbprint reader3312. The point of sale card reader3308is in communication via data connector3306with a merchant cash register/terminal3302, which has its own display3304. The point of sale card reader3308is also in communication over an insecure network, such as the Internet3322, with a banking authority3320. The banking authority3320is either a financial institution that maintains a banking or credit card account on behalf of the authorized user of the IC card95or is an authorized approval agent or clearance authority for such a financial institution. In either case, the banking authority3320maintains a database3325, which associates the public key of the card95with the corresponding account of the authorized user of the IC card95, and has the authority to approve or disapprove online transactions requested against such account.

When an item is purchased by the suspect user46, the merchant “rings up” the item on the merchant cash register/terminal3302and the total balance due is displayed to the suspect user46on the display3304. To pay, the suspect user46inserts the IC card95into the point of sale card reader3308(or brings the IC card95into proximity to the card reader3308). Upon insertion (or approach), the point of sale card reader3308is initialized in a manner similar to the card readers previously described. The identification marker and all the DSFlags on the computer chip50of the IC card95are reset when power is first supplied to the card95by the point of sale card reader3308.

Next, the merchant cash register/terminal3302transmits the balance due to the point of sale card reader3308via data connector3306. The point of sale card reader3308displays the balance due on display3314. In one embodiment, the display3314also prompts the suspect user46to select whether he wants to pay using either a debit account or a credit card account. In an alternative embodiment, the point of sale card reader3308sends a “retrieve account information” command to the IC card95, which returns a list of all available checking, credit card, or other accounts maintained in memory location80on the computer chip50from which payment may be made. In this alternative embodiment, the display3314prompts the suspect user46to select one of the retrieved accounts for payment. The display3314next prompts the suspect user46to enter a PIN using the alphanumeric keypad3310and to place his right thumb on the thumbprint scanner3312. Once the PIN and thumbprint have been input, the point of sale card reader3308transmits both the PIN and a digitized version of the thumbprint to the IC card95. The card reader3308transmits the value of the PIN and digitized thumbprint along with an identifier (e.g., 001 for the PIN and 002 for the thumbprint) for each so that the card95“knows” the type and order of the verification data input.

Upon receipt of the PIN and digitized version of the thumbprint by the IC card95, the computer chip50on the card95identifies the verification status of the IC card95in the manner previously described. After a suitable but brief delay, the point of sale card reader3308then sends a message input command to the IC card95. In this case, the message input command includes message data comprising a receipt for the item purchased, the total balance due, and the payment account specified by the suspect user46. In the first embodiment, the account would be retrieved from memory location80(on the computer chip50) and inserted into the message data using a suitable “tag,” indicating whether the primary debit account or primary credit card account number should be used. In the alternative embodiment, the account number for the account specifically selected by the suspect user46from the list of available accounts displayed on display3314is included in the message data received from the card reader3308.

Once the message input command is received by the IC card95, the computer chip50on the IC card95retrieves the current value of the identification marker (including therein the value of Rs and DSFlag(001), and including therein the values of Rb(002) and DSFlag(002)), modifies the message data received from the point of sale card reader3308with the value of the identification marker by pre-pending the value to the message data, calculates a hash value of the modified message data, encrypts the hash value to generate a digital signature, and exports the digital signature and value of the identification marker to the point of sale card reader3308. The computer chip50then increments the value of all of the DSFlags to “1.” The digital signature, value of the identification marker, and message data (including account number and amount of the purchase) are then communicated by the point of sale card reader3308to banking authority3320for processing.

The banking authority3320first confirms that the specified account number is a valid account number. The banking authority3320then decrypts the digital signature using the public key associated with the identified account number in the database3325. If the decrypted hash value from the digital signature matches a hash value of the message data, as modified by the value of the identification marker received from the IC card95, then it is determined that the IC card95from which the digital signature is received contains the unique private key and that the message data containing the receipt and total balance due has not been modified since it was digitally signed.

Next, the banking authority3320checks the verification status indicated by the value of the identification marker provided by the IC card95to determine whether the suspect user46is in fact the authorized user of the IC card95. This is a two-step process as two different types of verification data are received by the IC card95and used to identify the verification status of the IC card95. In the first step, if the value of Rs is “01”(match), then the banking authority3320infers that the suspect user46is the authorized user. In the second step, the banking authority3320uses business logic or a rule base to determine if the thumbprint provided by the suspect user46is sufficiently similar to the thumbprint of the authorized user stored on the card95so as to infer again that the suspect user46is the authorized user.

The business logic and rule base of the banking authority3320is such that it may rely upon varying combinations of values for Rs (PIN) and Rb(002) (thumbprint) in accepting the suspect user46as the authorized user. For example, a correct PIN by itself, a correct PIN plus at least a 60% match of thumbprint, an incorrect PIN if the thumbprint exceeds 96%, and an incorrect PIN but two thumbprints exceeding 90% (but not identical) are all different types of verification statuses that may be sufficient for the banking authority3320to accept Factors B and C Entity Authentication of the suspect user46by the card95.

Finally, if the specified account has a sufficient balance or credit to cover the requested purchase amount and there are no other factors (e.g. card reported stolen, duplicate request, etc.) that would warrant refusal of the transaction, the banking authority3320grants approval of the transaction and transmit confirmation of the same back to the point of sale card reader3308. Obviously, the business logic, rule base, and other factors that are taken into consideration by the banking authority3320can vary widely, depending upon the necessary level of security desired by the banking authority3320.5. Additional Security and Privacy Measuresa. Protecting Against Fraudulent Displays

A risk of using a device, such as the IC card95, in conjunction with the example given inFIG. 33is the fact that the user of the IC card95must rely upon the display3314of the card reader3308, which is under the control of the point of sale merchant, to present an actual representation of the message displayed for generating a digital signature with the IC card95. It is possible for an unscrupulous merchant, for example, to display a purchase price of one amount but have the message data that is transmitted by the card reader3308to the IC card95to have a higher purchase price. To minimize the risk of such fraud, it is preferable for the computer chip50, described inFIG. 28, to be installed in a more sophisticated device, such as a PDA or cell phone, which has its own display (presumably under the control of the owner of the device). Since a PDA or cell phone could be programmed to display the full text of message data accurately prior to the generation of a digital signature thereof with the device, it would be more difficult for a merchant to “present” one purchase price to the customer but actually have a different purchase price included within the message to be digitally signed.b. Protecting Account Information

Unlike an IC card95, a PDA or cell phone also provides the user with much greater flexibility and privacy. For example, continuing with the illustration fromFIG. 33, rather than having the point of sale reader3308prompt the user to select from only a limited number of primary payment accounts, a PDA or cell phone enables the user to store and select from all payment accounts stored on the device. In addition, rather than having the point of sale reader3308actually retrieve all available payment accounts from the IC card95, which potentially raises some privacy concerns, a PDA or cell phone allows the user to select an account from a list presented by the device and not by the point of sale merchant. Thus, the point of sale merchant never becomes privy to the list of account numbers maintained by the device.c. Protecting Against Replay Attacks

In all of the examples illustrated inFIGS. 29-33, the party receiving the digital signature generated by the IC card95is potentially subject to a replay attack. A replay attack occurs when an original digital signature from a device is copied and then reused in an unauthorized manner. Since both the original and copy of a digital signature will decrypt with the appropriate public key, the party receiving the digital signature needs to have some way of distinguishing between the original and a later copy.

To prevent the acceptance of recorded digital signatures, it is merely necessary for the party guarding against the replay attack to include a random number or unique message (e.g., time of day, date, and counter combination) as part of each message input command sent to a device for originating a digital signature and require that the random number or unique message be included in what is digitally signed. The party receiving back the digital signature thereby is able to confirm, upon Message Authentication, that the digital signature received from the device was actually generated by the device in direct response to the corresponding message input command. Such techniques are set forth, for example, inFederal Information Processing Standards Publication196,Entity Authentication Using Public Key Cryptography,US DOC/NBS, Feb. 18, 1997 (hereinafter “FIPS PUB 196”), which is incorporated herein by reference and which is available for download at http://csrc.nist.gov/publications/fips.

For applications in which the party receiving the digital signature (e.g., a card reader or associated controller) is involved in only one authentication session at any given time and when a response is expected substantially contemporaneously (e.g. while the device is in or near a reader), it is only necessary to maintain the random number or unique message in computer memory long enough to ensure that the digital signature received back within the expected time interval contains the appropriate random number or unique message. This random number or unique message is good for only one digital signature and it is assumed that the first digital signature received by the party is the original and that subsequent identical digital signatures, if any, are fraudulent copies and handled as such.

For applications in which the party receiving the digital signature is involved in more than one authentication session at any given time, such as, for example, a website that is entertaining simultaneous requests from multiple users for entry to the site and/or for transactions through the site, it is necessary for the party to maintain a log of all random numbers or unique messages that have been sent out to all devices for the generation of digital signatures. It is also necessary for the party to link or otherwise associate each such random number or unique message with the particular session in which it is used. Thus, when a digital signature is received back within a particular session, the party can confirm that the correct random number was received and digitally signed for such session

The generation of random numbers may be performed, for example, using any of the random number generators specified in appendix 3 of FIPS PUB 186-2.

Accordingly, it readily will be understood by those persons skilled in the art that, in view of the above detailed description of the preferred embodiments, devices, and methods of the present invention, the present invention is susceptible of broad utility and application. Many methods, embodiments, and adaptations of the present invention other than those herein described, as well as many variations, modifications, and equivalent arrangements, will be apparent from or reasonably suggested by the present invention and the following detailed description thereof, without departing from the substance or scope of the present invention. Furthermore, those of ordinary skill in the art will understand and appreciate that although steps of various processes may be shown and described in some instances as being carried out in a preferred sequence or temporal order, the steps of such processes are not necessarily to be limited to being carried out in such particular sequence or order. Rather, in many instances the steps of processes described herein may be carried out in various different sequences and orders, while still falling within the scope of the present invention. Accordingly, while the present invention is described herein in detail in relation to preferred methods and devices, it is to be understood that this detailed description only is illustrative and exemplary of the present invention and is made merely for purposes of providing a full and enabling disclosure of the invention. The detailed description set forth herein is not intended nor is to be construed to limit the present invention or otherwise to exclude any such other embodiments, adaptations, variations, modifications and equivalent arrangements of the present invention, the present invention being limited solely by the claims appended hereto and the equivalents thereof.