This invention relates in general to the verification and exchange of data and more particularly to the exchange of public key certificates used for authenticating identity before exchange.
In the field of information security, digital signatures are commonly used for validating the authenticity or the source of information. The digital signatures typically operate using public key cryptography. In public key cryptography, there exists a pair of keys to perform the tasks of encryption and decryption. The key that is used for encryption is typically called the “private key” and is generally kept secret. The other key is used for decryption, is called the “public key,” is typically open to the public and is not kept secret. The terms “public key,” “public key certificate,” and “certificate” are often used interchangeably. It is important to note that each public key has a corresponding private key and only these two “matched keys” can be used together for encryption and subsequent decryption. The public/private key pair can be generated by a tool suited for this purpose or may be issued by an entity who wishes to utilize some form of public key cryptography.
The process of authenticating information often requires the use of a digital signature. This process involves signing a document using a “private key” from a private/public key pair. The signature process is carried out by first taking a “hash” of the document data. As is well known in the art, a hash is defined as a one-way mathematical function for which the document was the input. The output of the function is a smaller piece of data that is distinct to the original document. The hash output value is encrypted using the private key. The encrypted hash value is considered to be the “signature” and is typically appended to the original document.
Further to this process, a receiving party is then sent the document or code with the signature. The receiving party may attempt to validate the signature by decrypting the encrypted hash value using a public key certificate. Typically, the receiving party will already be in possession of the “public key” corresponding to the private key used to generate the signature. It can compute its own hash value of the document and compare this value to the hash value sent along with the signature. If these hash values match, then the signature is valid and the document is considered authentic since it must have been signed by the party who issued the original public key certificate.
Thus, a public key certificate operates as an identity certificate which uses a digital signature to bind together a public key with an identity or private key. This identity may include such information as personal and/or organizational names, addresses or other authentication data. The public key certificate can be used to verify the key associated with an individual or device. In many applications, public key cryptography systems use public key certificates to both authenticate data and to control access to computer microprocessors and/or other electronic devices. Since securely exchanging secret keys amongst devices becomes impractical except for substantially small networked environments, public key cryptography provides a way to alleviate this problem.
Since electronic devices use public cryptography to control access to the device, if the device desires other users the ability to send encrypted data, then it need only publish its public key. Any other device possessing that public key can then send the device secure information. The primary reason for receiving secure information is so that a computer virus, “Trojan horse” or other unauthorized data cannot be input to the device. Thus, in order to prevent unauthorized data from entering the device, further methods using public key cryptography have been devised rather than using a single public key. These additional methods often utilize a second public key that must also be verified before authentication can take place.
One problem that can occur in devices that use public key certificates to authenticate data occurs when an entity using a device whose access is controlled through public key encryption desires the ability to replace a certificate. The certificate is replaced with that of an independent third party offering signature and/or certificate authority. This is a concern since a manufacturer's key is typically used to maintain complete control of the device and most encryption systems include an ability to revert back to a manufacturer's original key. Moreover, if the user utilizes a third-party public key certificate, some system must be devised to allow such a substitution. If a continuously rewriteable memory is used to store the public key, some method must be created to prevent unauthorized users, who may have access to the original private key, to rewrite the public key certificate using their own key. This process would allow the unauthorized user unfettered access to the data and/or software stored in any rewriteable memory located in the device.
Accordingly, the need exists to provide a secure method for creating a new public key certificate owner who can assume complete control over the device. The new owner should have no means to replace, revoke and/or revert back to the manufacturer's original public key certificate. Additionally, the method should enable the user to delay the issuance of an independent certificate until some later time, enabling the manufacturer to produce one key set without having to provide personalized public keys for each device.
The features of the present invention, which are believed to be novel, are set forth with particularity in the appended claims. The invention, together with further objects and advantages thereof, may best be understood by reference to the following description, taken in conjunction with the accompanying drawings, in the several figures of which like reference numerals identify like elements, and in which:
With the boot program running 307, and based on a user indication, the boot program will either choose to perform an upgrade procedure or it will proceed to a normal application. If an upgrade procedure is selected, the boot application software will determine what is needed to be upgraded. As noted in
Referring now to
When the primary signature and the existing secondary signature are validated 407, then a determination is made whether both signatures are valid 411 using a hash value as described herein. If either signature is invalid, then the replacement secondary certificate is again considered for upgrade 405 and the update process begins again. If both signatures are valid, then the new or “replacement” secondary public key certificate can fully replace the existing secondary certificate by overwriting the existing certificate in the rewritable memory 413 such as a flash memory, hard drive or the like. Those skilled in the art will also recognize that the same process remains in place for any subsequent replacements. Thus, if the new or replacement secondary public key certificate is going to be replaced, then the replacement certificate must be signed by the then existing secondary certificate. The method of the invention is also applicable to a method for securely exchanging public key certificates in an electronic device using only one level of public key.
Thus, the method of the invention allows self-revocation of a public key certificate that uses either a single signature or combination of double signatures to permit transfer of a signing authority to an independent third party. Once the original secondary public key is overwritten, the original secondary public key may no longer be used and the process is irreversible. Hence, the replacement public key certificate cannot be defaulted to the original public key certificate. Additionally, the method allows a rewriteable memory to be used to store the secondary public key certificate where the original root key can remain as the first authentication key for accessing the software and/or other data in the device.
While embodiments of the invention have been illustrated and described, it will be clear that the invention is not so limited. Numerous modifications, changes, variations, substitutions and equivalents will occur to those skilled in the art without departing from the spirit and scope of the present invention as defined by the appended claims. As used herein, the terms “comprises,” “comprising,” or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus.