AUTHENTICATION ENFORCEMENT USING DECRYPTION AND AUTHENTICATION IN A SINGLE TRANSACTION IN A SECURE MICROPROCESSOR

Abstract: The present invention uses a secure processor (22) operating with a host processor (210) to perform a unitary decrypt/authenticate operation. The host processor (210) receives encrypted messages (12) that include authentication information. The host processor must submit each message (12) to the secure processor (22). The secure processor (22) then decrypts and authenticates the message. If the authentication operation (24) is not successful, the secure processor (22) does not return the fully-decrypted message back to the host (210). In a preferred embodiment, the host (210) will receive no part of the message upon failure.

Description: AUTHENTICATION ENFORCEMENT USING DECRYPTION AND AUTHENTICATION IN A SINGLE TRANSACTION IN A SECURE MICROPROCESSOR CROSS-REFERENCES TO RELATED APPLICATIONS This application claims priority from U.S. Provisional Patent Application Serial No. 60/117,788 filed on January 29, 1999 and from U.S. Provisional Patent Application Serial No. 60/128,772 filed on April 9, 1999, the disclosures of which are incorporated in their entirety herein by reference for all purposes. BACKGROUND OF THE INVENTION This invention relates in general to secure data processing in digital systems and more specifically to a device that performs decryption and authentication using a secure processor. Public key systems have become a very popular means for providing security in digital systems. Public Key Systems (PKS) have two different keys, one for encryption, or signing, and one for decryption, or verifying. This separation of keys has great security value in that the sign decrypt function can be securely isolated from verify/encrypt functions, as is appropriate for the typical use of these keys. Public key systems are also known as asymmetric systems, or cryptosystems, as opposed to non-public key systems that are known as symmetric, or secret key, systems. To send a message in a public key system, a sender obtains the receiver's public key. The sender uses the public key to encrypt a message. The encrypted message is then sent to the receiver. Since only the receiver has the corresponding private key of the public/private key pair, only the intended receiver can decrypt and view the encrypted message. However, a problem arises in that the sender may not be sure that they have obtained the receiver's correct public key in the first place. For example, a fraudulent public key may have been provided under the guise of the receiver's public key. In order to prevent this, "certificates" are used to generate confidence in the legitimacy of a public key. A certificate is typically the information that is included along with a signed message, where the certificate includes the public key required to verify the signature on the message. The certificate is signed with the certifying authority's private key and can be verified by a recipient of the certificate by using the certifying authority's public key. Of course, the same problem of obtaining the known certifying authority's correct public key in the first place still exists. A sequence of certified public keys can be obtained from sources of progressively higher trust, where each preceding certificate's public key comes from a successively more trustworthy source. At some point, the user of a certificate's public key must be able to trust, or be assured that, the original public key for the chain of certificates does, indeed, come from the proper source and is valid. The act of user authentication (verification of user identity) usually includes the verification of the user's certificate. Usually the certificate includes the identity of the sender, the identity of the certificate issuer, the sender's public key, the time period for which the certificate is valid, etc. Sometimes it is necessary to update key pairs by sending new key pairs from one device to another. This procedure can benefit from being validated by certificates, but where the updating occurs frequently the inclusion of certificate processing can put a high processing burden on the participating systems. Also, certificates need to be generated, signed and transferred in order to minimize the effect that a "broken" or "stolen" private key could have on a system. The maintenance of security based on a public key scheme, certificates, authentication, etc., is referred to as a system's Public Key Infrastructure (PKI). An example of telecommunications systems where the implementation of a traditional PKI is problematic or prohibitive is in a large scale digital network, such as the Internet. Where the data being transferred is high bandwidth using many transactions of small size, the number of discrete exchanges of data, along with their corresponding encryption, decryption, authentication, etc., is extremely large. However, the need for security such as is provided by a PKI is also great, especially in applications such as telephony, or other secure data transfers such as banking, etc. Devices that process secure, or encrypted, information often use secure processors, or microprocessors, that are designed to prevent intrusion into, and unwanted tampering or misuse of, the processor. A problem with secure processors is that they must be tightly controlled by a manufacturer, or "owner," of the processor, or device within which the processor resides. Thus, it is difficult to provide an "open architecture" for third party developers, customers, etc., of the devices. One way to alleviate this problem is to include both a secure processor and an "unsecure processor" (or, simply, "processor"). The unsecure processor has lowered security that allows third party developers to have relatively free access to the processor and the processor's resources such as memory, support chips, etc., so that the third party can develop and install software to upgrade or change the device's functionality. Typically, the unsecure processor attends to systems and control functions and makes calls to, or requests of, the secure processor to decrypt messages, authenticate information and perform other security functions. In this role, the unsecure processor is also referred to as a "host" processor. However, a problem with the host processor/secure processor approach is that it can reduce the overall security of the device. This is because the host processor has control over which messages, or other information, are submitted to the secure processor for decryption. Since the host processor can easily be reprogrammed, or otherwise controlled or "hacked" to perform security breaches, care must be taken that such breaches do not occur. For example, in applications where a secure processor is called upon to perform authentication and decryption operations, the host processor is in a role of sending, or not sending, the information to the secure processor. Where the host processor makes requests of the secure processor for authentication, the host processor can be reprogrammed to "skip" the authentication operation, or to falsely state that the authentication operation was successful when, in fact, the authentication was not successful or never occurred. Also, some systems use messages that are authenticated but not encrypted. This approach allows the host processor to have access to the contents of the unencrypted, "clear text," of the message whether or not the authentication is verified. Thus, it is desirable to provide a device that overcomes one or more of the shortcomings of the prior art. SUMMARY OF THE INVENTION The present invention uses a secure processor operating with a host processor to perform a unitary decrypt/authenticate operation. The host processor receives encrypted messages that include authentication information. The host processor must submit each message to the secure processor. The secure processor then decrypts and authenticates the message. If authentication is not successful, the secure processor does not return the fully- decrypted message back to the host. In a preferred embodiment, the host will receive no part of the message upon failure. In one embodiment the invention provides a method for performing authentication of messages in a device, wherein the device receives encrypted messages, wherein the device includes a host processor coupled to a secure processor. The method includes receiving an encrypted message; using the secure processor to decrypt the message; using the secure processor to authenticate the message; and subsequent to the steps of using the secure processor, performing the step of determining whether the message is authentic and, if the message is authentic, then transferring the decrypted message to the host processor. In another embodiment the invention provides a method of providing secure processing in a telecommunications sytem that transfers messages to devices, wherein one or more of the devices include a host processor and a secure processor and wherein a message has an associated authentication. The method includes encrypting the message and associated authentication. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a flowchart showing basic steps of the present invention; Fig. 2 A shows a portion of a telephony network; and Fig. 2B shows details of a cable telephony adapter. DESCRIPTION OF THE SPECIFIC EMBODIMENTS The present invention is preferably included in a device referred to as a Cable Telephone adapter (CTA). The CTA is used in a cable telephony system that is described in detail in the priority documents referenced at the beginning of this specification. Although specific reference is made to a cable telephony system, the invention is adaptable for use in virtually any telecommunications system that uses secured transactions. Cable Telephony Adapter FIG. 2 A shows a portion of an IP telephony network 100 constructed in accordance with the present invention. The network 100 includes a first user 102 coupled to a source CTA 104. The source CTA 104 is further coupled to a source gateway controller 106 and an IP telephony network backbone 110. The network 100 also includes a second user 112 coupled to a destination CTA 114. The destination CTA 114 is further coupled to a destination gateway controller 116 and the IP telephony network backbone 110. In addition, the network 100 also includes a customer service representative (CSR) center 120, a provisioning server 122 and a billing host 124. Each user of the network 100 goes through an initialization process to activate network service. For example, when the user 102 and associated CTA 104 are coupled to the network, a series of messages are exchanged between the CTA 104, provisioning server 122, gateway controller 106 and the CSR 120. The messages provide for activation of telephony service for the user 102, establishment of account information and creation of encryption keys to be used by the CTA to encrypt and decrypt messages exchanged over the network. The billing host 124 is used to setup account information for each user and to bill for network usage. The provisioning server 122 is used to initialize and register CTA devices within a specific IP telephony network. Fig. 2B shows an exemplary embodiment of the CTA 104 constructed in accordance with the present invention. The CTA 104 includes a cable input interface (I/F) 202, a cable output I/F 204, a user output I/F 206, a user input I/F 208, a host processor 210, a memory 212 and an additional secure processor 220 along with secure memory 222, used to protect public/private key pairs 224. Certificates 214 are stored in regular memory because they are signed and don't require additional protection. The cable input I/F 202 is coupled to a cable telephony input 216. The cable output I/F 204 is coupled to a cable telephony output 218. The cable telephony input and output I/F couple the CTA 200 to a cable telephony network, such as by connecting to a cable modem (not shown) that is coupled to the cable telephony network. In another embodiment, the cable modem is included in the CTA so that the cable telephony network may be connected directly to the CTA. The processor 210 couples to the cable input I/F 202 and the cable output I/F 204 to provide processing of information received and transmitted, respectively, on the telephony network. The line 216 carries secure encrypted and/or signed information which cannot be processed directly by the host processor, since it does not have access to cryptographic keys. This includes provisioning information , call set-up and voice data. In cases where it is desired to perform secure authentication the host processor has to pass on this information to the secure processor, which has access to the necessary keys to perform cryptographic operations. The connections between the cable I/F modules and the user I/F modules carry unencrypted information. The unencrypted information is commonly referred to as clear text, which extends back to the user. Similarly, some clear text user input may need to be encrypted and/or signed securely. This cannot be done directly by the host processor. It passes on the information to the secure processor that performs the cryptographic operations. This way, encrypted and/or signed data appears on line 218. The certificates in 214 cryptographically bind each public key to an identity. The short, self-signed public key may be bound to either the device or user identity, while the longer public keys installed at the time of manufacture must be bound to the identity of the device (since the user identity is unknown at that time). The certificates are not protected in secure memory because they are already cryptographically protected with a digital signature. Combined Decryption/ Authentication Fig. 1 is a flowchart that describes the basic steps of the present invention. In Fig. 1, message 12 is received by a device such as the CTA of Figs. 2A and 2B. Message 12 includes message information 14 and signature 16. Step 18 represents receipt of the message at the device. Transfer to, and receipt of, the message can be by any means. For example, the radio-frequency transmission, hardwire, fiber optic, acoustic, etc., channels can be used. Any suitable telecommunications network can be employed such as the Internet, cable television, satellite, telephone, etc. Any suitable protocols can be used. Receipt is performed by Cable Input Interface 202 of Fig. 2B. Upon receipt, the message is under the control of host processor 210. Other embodiments can use other means to receive the message. For example, the message can be provided directly to secure processor 220 without the need for host processor 210 to mediate. Once received, step 20 is executed where the host processor transfers the message to the secure processor and requests decryption. Steps 24, 26 and 28 are performed by the secure processor and the secure processor's resources, as indicated by box 22. At step 24, the secure processor performs authentication. In this case, signature 16 is verified by processing it with a public key. Other forms of authentication are possible. E.g, Symmetric key authentication, public key encryption, etc., are possible variations. At step 26 a check is made as to whether the authentication passed. If not, an error condition exists and the host processor will not receive the same information as when authentication passes. In the preferred embodiment, the host processor receives notification that the authentication failed. The host processor will receive no decrypted information in the message. Other embodiments may inform other devices in the system that an authentication has failed. Also, some of the encrypted information can still be decrypted and transferred to the host. This may be useful for service or troubleshooting as where a key has expired and the secure processor gives notice of the expiration date of a key, certificate, etc. Assuming authentication passed, step 28 is executed by the secure processor to perform decryption on the message. Note that this embodiment uses an overall encryption on the message. Since decryption and verification keys are held only by the secure processor, and it supports only a single decryption and authentication operation, it is impossible to separate the two at the host processor level where the information is still encrypted. After decryption, the message information is sent to the host processor at step 30. Finally, the host processor can direct that some or all of the message information (or other information generated in response to the message information) be further processed. Variations are possible from the arrangement shown in Fig. 1. For example, decryption can be performed before a check for authentication. In one form the signature could be encrypted and then must be decrypted before the authentication step can be performed. However, in another embodiment the message can be decrypted at the same time the signature is verified. If authentication then fails, the decrypted message can be discarded. This is not a security threat because the decrypted message is stored in secure memory 222. There may be speed advantages in such parallel processing. Note that steps can be added to, or taken away from, the arrangement shown in Fig. 1. For example, step 20 of the host processor requesting the decryption can be omitted where the messages automatically are sent to the secure processor for decryption. Additional steps such as storing of the message, stripping of header information or data fields, etc., can be performed before, after, or during secure processing. Thus, although the invention has been presented with respect to specific embodiments thereof, these embodiments are merely illustrative, and not restrictive, of the invention, the scope of which is to be determined solely by the appended claims.

Claims: WHAT IS CLAIMED IS: 1. A method for performing authentication of messages in a device, wherein the device receives encrypted messages, wherein the device includes a host processor coupled to a secure processor, the method comprising receiving an encrypted message; using the secure processor to decrypt the message; using the secure processor to authenticate the message; and subsequent to the steps of using the secure processor, performing the step of determining whether the message is authentic and, if the message is authentic, then transferring the decrypted message to the host processor. 2. A method of providing secure processing in a telecommunications sytem that transfers messages to devices, wherein one or more of the devices include a host processor and a secure processor, wherein a message has an associated authentication, the method comprising encrypting the message and associated authentication.

Inventors: MORONEY PAUL, MORONEY, PAUL
Applicants: GEN INSTRUMENT CORP, MORONEY PAUL, GENERAL INSTRUMENT CORPORATION, MORONEY, PAUL
Application year: 2000
Main classification: G06F12
IPC codes: G06F12, G06F21, G09C1, H04L9, H04L12, H04L29, H04M1, H04M3