United States Patent5787172
ArnoldJuly 28, 1998

Title

Apparatus and method for establishing a cryptographic link between elements of a system

Abstract

A secure cryptographic network is established among operational units in a system. A public key cryptosystem is initially used to establish secure communication links. Then, each secure communication link will be provided with a unique private encryption key from a private key cryptosystem. Every operational unit in the system will comprise a secure chip integrated circuit. These secure chips will comprise a programmable processor and a read-only memory. A plurality of personalization stations are used to provide each secure chip with a public/private encryption or signature key pair. The secure chips will execute a program from the read-only memory on the secure chips to verify that the public/private key pair has been received from an authorized source. Each secure chip will also be provided with a chain of authentication certificates originating from a trusted authority. The public signature key of the trusted authority will be programmed into the read-only memory of the secure chip, for reliable access to this information. When establishing a secure communication link between two operational units, each of the operational units will authenticate the other operational unit by verifying the content and source of each of the authentication certificates in the respective chains.


Inventors:Arnold; Terry Sutton (San Diego, CA)
Assignee:The Merdan Group, Inc. (San Diego, CA)
Appl. No.:201399
Filed:February 24, 1994

Current U.S. Class:713/175 713/191 380/227 380/277 380/279 380/30 713/157 
Current International Class:H04L 9/32 (20060101)
Field of Search:380/30,23,20,25,24,21

U.S. Patent Documents
4200770April 1980Hellman et al.
4218582August 1980Hellman et al.
4309569January 1982Merkle
4376299March 1983Rivest
4405829September 1983Rivest et al.
4424414January 1984Hellman et al.
4529870July 1985Chaum
4531021July 1985Bluestein et al.
4531929July 1985Wechselberger et al.
4533948August 1985McNamara et al.
4567600January 1986Massey et al.
4587627May 1986Omura et al.
4613901September 1986Gilhousen et al.
4633036December 1986Hellman et al.
4634808January 1987Moerder
4638356January 1987Frezza
4658093April 1987Hellman
4670857June 1987Rackman
4694491September 1987Horne et al.
4712238December 1987Gilhousen et al.
4748668May 1988Shamir et al.
4771461September 1988Matyas
4792973December 1988Gilhousen et al.
4803725February 1989Horne et al.
4807286February 1989Wiedemer
4811393March 1989Hazard
4843026June 1989Ong et al.
4864615September 1989Bennett etal.
4881264November 1989Mekle
4885777December 1989Takargi et al.
4888801December 1989Foster et al.
4891781January 1990Omura
4916737April 1990Chomet et al.
4926479May 1990Goldwasser et al.
4932056June 1990Shamir
4933970June 1990Shamir
4982430January 1991Frezza et al.
4995082February 1991Schnorr
5001753March 1991Davio et al.
5003591March 1991Kauffman et al.
5003593March 1991Mihm, Jr.
5003597March 1991Merkle
5029207July 1991Gammie
5033084July 1991Beecher
5048087September 1991Trbovich et al.
5054067October 1991Moroney et al.
5077790December 1991D'Amico et al.
5081677January 1992Green et al.
5091938February 1992Thompson et al.
5093860March 1992Steinbrenner et al.
5093921March 1992Bevins, Jr.
5103476April 1992Waite et al.
5111504May 1992Esserman et al.
5115466May 1992Presttun
5115467May 1992Esserman et al.
5134700July 1992Eyer et al.
5136643August 1992Fischer
5140634August 1992Guillou et al.
5144664September 1992Esserman et al.
5144667September 1992Pogue, Jr. et al.
5146497September 1992Bright
5146498September 1992Smith
5150401September 1992Ashby, III et al.
5150408September 1992Bright
5150411September 1992Maurer
5153919October 1992Reeds, III et al.
5163154November 1992Bournas et al.
5164986November 1992Bright
5164988November 1992Matyas et al.
5166978November 1992Quisquater
5173938December 1992Steinbrenner et al.
5185795February 1993Bright
5208856May 1993Leduc et al.
5208858May 1993Vollert et al.
5208859May 1993Bartucci et al.
5210710May 1993Omura
5214701May 1993Quisquater et al.
5214702May 1993Fischer
5216715June 1993Markwitz
5218637June 1993Angebaud et al.
5220603June 1993Parker
5222140June 1993Beller et al.
5224163June 1993Gasser et al.
5237611August 1993Rasmussen et al.
5272755December 1993Miyaji et al.
5341426August 1994Barney et al.
5446796August 1995Ishiguro et al.
5450489September 1995Ostrover et al.
5473692December 1995Davis
Foreign Patent Documents
0155762 A3Sep., 1985EP
0535863 A3Apr., 1993EP
Other References
C Mitchell, et al., (1989) "CCITT/ISO Standards For Secure Message Handling", I.E.E.E. Journal on Selected Areas in Commun. 7(4):517-523. .
J. Press, (1989) "An Introduction To Public Key Systems And Digital Signatures", ICL Technical Journal 6(4):681-693. .
B. Kaliski, Privacy Enhancement for Internet Electronic Mail: Part IV: Key Certification and Related Services, RSA Laboratories,Feb. 1993. .
S. Kent, Privacy Enhancement for Internet Electronic Mail: Part II: Certificate-Based Key Management, RSA Laboratories, Feb. 1993. .
Proceedings, 1989 IEEE Computer Society Symposium on Security and Privacy, IEEE Computer Society, May 1-3, 1989, Oakland, California. .
Teletrust: Smart Card Access to Services, Karl Rihaczek and Bruno Struif, Smart Card 2000, Proceedings of the IFIP WG 11.6 International Conference, Laxenburg, Austria, 1989. .
Privacy and Authentication: An Introduction to Cryptography, Whitfield Diffie and Martin E. Hellman, Proceedings of the IEEE, vol. 67, No. 3, Mar. 1979, pp. 397-427. .
A Method for Obtaining Digital Signatures and Public Key Cryptosystems, Ronald L. Rivest, Adi Shamir and Leonard M. Adleman, Communications of the ACM, vol. 21, No. 2, Feb. 1978, pp. 217-239. .
Federal Information Processing Standards Publication, FIPS PUB XX, Digital Signature Standard (DSS), Feb. 1, 1993. .
Federal Information Processing Standards Publication, FIPS PUB 180, Secure Hash Standards, May 11, 1993. .
Gustavus J. Simmons, Contemporary Cryptology, The Science of Information Integrity, 1992, IEEE Press. .
Bruce Schneier, Applied Cryptography, 1994, John Wiley & Sons, Inc..~
Primary Examiner: Barron, Jr.; Gilberto
Attorney, Agent or Firm:Knobbe, Martens, Olson, & Bear, LLP

Claims


What is claimed is:
1. A method of establishing a cryptographic link between a registration station (rs) and an operational unit (ou) of a cryptographic system, said system comprising said rs, said ou, a master key station (mks) and a personalization station (ps), said method comprising the steps of:
(a) initializing said mks and said ps by a method comprising the steps of:
providing said mks with an encryption/decryption key pair consisting of an mks public signature key and an mks private signature key;
providing said ps with an encryption/decryption key pair consisting of a ps public signature key and a ps private signature key;
providing said ps public signature key to said mks;
providing said mks public signature key to said ps;
creating a ps certificate in said mks by a method comprising the steps of:
creating a message containing said ps public signature key and an authorization for said ps to personalize said ou; and
signing said message with said mks private signature key to create said ps certificate; and
communicating said ps certificate from said mks to said ps;
(b) personalizing said rs by a method comprising the steps of:
communicating a first copy of said ps certificate to said rs;
generating, in said ps, an encryption/decryption key pair for said rs consisting of an rs public signature key and an rs private signature key;
securely communicating said rs private signature key from said ps to said rs;
deleting said rs private signature key from said ps;
creating an rs certificate in said ps by a method comprising the steps of:
creating a message containing said rs public signature key; and
signing said message with said ps private signature key to create said rs certificate; and
communicating said rs certificate from said ps to said rs;
(c) personalizing said ou by a method comprising the steps of:
communicating a second copy of said ps certificate to said ou;
providing said mks public signature key to said ou;
verifying in said ou that said second copy of said ps certificate was signed by said mks by applying said mks public signature key;
verifying in said ou that said second copy of said ps certificate authorizes said ps to personalize said ou;
generating an encryption/decryption key pair in said ps for said ou, said encryption/decryption key pair comprising an ou public encryption key and an ou private decryption key;
securely communicating said ou private decryption key from said ps to said ou;
deleting said ou private decryption key from said ps;
creating in said ps an ou certificate for said ou by a method comprising the steps of:
creating a message containing said ou public encryption key; and
signing said message with said ps private signature key to create said ou certificate for said ou; and
communicating said ou certificate from said ps to said ou; and
(d) registering said ou with said rs by a method comprising the steps of:
communicating said ou certificate to said rs;
communicating said second copy of said ps certificate to said rs;
providing said mks public signature key to said rs;
verifying in said rs that said second copy of said ps certificate was signed by said mks by applying said mks public signature key;
verifying in said rs that said ou certificate was signed by said ps by applying said ps public signature key, said ps public signature key having been obtained from said second copy of said ps certificate;
communicating said rs certificate to said ou;
communicating said first copy of said ps certificate to said ou;
verifying in said ou that said first copy of said ps certificate was signed by said mks by applying said mks public signature key;
verifying in said ou that said rs certificate was signed by said ps by applying said ps public signature key, said ps public signature key having been obtained from said first copy of said ps certificate;
generating in said rs a cryptographic data element for said ou;
encrypting said private encryption key in said ou public encryption key, said rs having obtained said ou public encryption key from said ou certificate;
communicating said cryptographic data element, encrypted in said ou public encryption key, from said rs to said ou; and
decrypting in said ou said private encryption key by applying said ou private decryption key.

2. The method of claim 1, wherein said cryptographic system comprises a communication system.

3. The method of claim 2, wherein said communication system comprises a subscriber television system.

4. The method of claim 1, wherein said rs and said ou each comprise a secure chip, said secure chip comprising a programmable processor and a read-only memory, said read-only memory containing said mks public signature key.

5. The method of claim 4, wherein said steps of verifying in said ou that said second copy of said ps certificate was signed by said mks and of verifying in said ou that said second copy of said ps certificate authorizes said ps to personalize said ou are accomplished by said programmable processor of said secure chip executing a program in said read-only memory of said secure chip.

6. The method of claim 4, wherein said message created during said method of creating said ps certificate additionally contains an effective date and an expiration date for said ps certificate, wherein said read-only memory of said secure chip additionally contains a manufacturing date code, and wherein said method for personalizing said ou additionally comprises the step of:
verifying in said ou that said manufacturing date code in said read-only memory of said secure chip is between said effective date and said expiration date for said ps certificate.

7. A method of using a first unit and a fourth unit to establish a cryptographic link between a second unit and a third unit of a cryptographic system, said second unit and said third unit being connected by a communication link, said method comprising the steps of:
generating a public key pair comprising a first public key and a corresponding first private key, said first public key being stored in said first, second, and third units;
generating in said fourth unit a second public key pair comprising a second public key and a second private key;
generating a certificate in said fourth unit comprising a statement of authorization designating said first unit as authorized to generate a third public key pair;
digitally signing said certificate in said fourth unit using said first private key;
securely communicating said digitally signed certificate to said first unit utilizing said second public key pair;
generating in said first unit said third public key pair consisting of a third public key and a third private key;
securely communicating said third private key and said digitally signed certificate from said first unit to said second unit;
applying said first public signature key to said certificate to verify that said certificate was signed by said fourth unit;
reading said message in said certificate to determine whether said first unit has been authorized to provide said public key pair; and,
deleting said third private key from said first unit;
communicating said third public key to said third unit; and
communicating private messages from said third unit to said second unit using said third public key pair.

8. The method of claim 7, wherein said cryptographic system comprises a communication system.

9. The method of claim 8, wherein said communication system comprises a subscriber television system.

10. The method of claim 7, wherein said second unit comprises a secure chip, said secure chip comprising a programmable processor and a read only memory, said read only memory containing said first public signature key.

11. The method of claim 10, wherein said certificate additionally contains an effective date and an expiration date for said certificate, wherein said read-only memory of said secure chip additionally contains a manufacturing date code, and wherein said reading step additionally comprises the step of:
verifying that said manufacturing date code in said read-only memory of said secure chip is between said effective date and said expiration date for said certificate.

12. The method of claim 11, wherein said reading step is implemented in a program in said read-only memory of said secure chip and wherein said program in said read-only memory is executed by said programmable processor in said secure chip.

13. The method of claim 7, wherein said third public key pair is a digital signature key pair.

14. The method of claim 7, wherein one of said private messages comprises a cryptographic data element.

15. A first unit of a public key cryptosystem, said public key cryptosystem comprising said first unit, a second unit, a third unit and a trusted authority, said trusted authority authorizing said third unit to provide said first unit with a public key and a corresponding private key, said third unit generating said public key and said private key for said first unit, said first unit comprising a communication circuit for establishing a cryptographic link with said second unit by providing said second unit with said public key from said third unit, said communication circuit comprising a secure circuit, said secure circuit containing a program for determining whether said third unit has been authorized by said trusted authority to provide said public key and said private key, said communication circuit receiving said private key from said third unit only after said secure circuit has executed said program to determine that said third unit has been authorized by said trusted authority to provide said public key and said private key.

16. The first unit of claim 15, wherein said secure circuit comprises a secure integrated circuit, wherein said secure integrated circuit comprises a programmable processor and a read-only memory, wherein said read-only memory contains said program, and wherein said program is executed by said programmable processor.

17. The first unit of claim 15, wherein said first unit functions primarily as a communication unit.

18. A method of authentication in a public key cryptosystem, said public key cryptosystem comprising a trusted authority, a first unit and a second unit, said trusted authority having a first public signature key and a corresponding first private signature key, said method being executed by said first unit to authenticate said second unit, said second unit having a second public signature key and a corresponding second private signature key, said method comprising the steps of:
storing said first public signature key in a permanent storage location inside said first unit by manufacturing a read only memory using a mask containing said first public signature key of said trusted authority and installing said read only memory in said first unit;
obtaining a chain of one or more authentication certificates linking said second unit to said trusted authority, each of said authentication certificates being generated by an authority to authenticate a subject of the certificate, each authority having a public signature key and a corresponding private signature key, each subject having a public signature key and a corresponding private signature key, each of said authentication certificates containing the public signature key of the respective subject of the certificate and being signed by the respective authority of the certificate using the private signature key of the authority, a first authentication certificate of said chain being generated by said trusted authority, each subsequent authentication certificate of said chain, if any, being generated by the subject of the previous authentication certificate, a last authentication certificate of said chain authenticating said second unit;
checking said first authentication certificate of said chain of authentication certificates by a method comprising the steps of:
verifying that said first authentication certificate has been signed by said trusted authority by applying said first public signature key obtained from said permanent storage location inside said first unit; and
verifying that said first authentication certificate contains the public signature key of the subject of the first authentication certificate; and
checking each subsequent authentication certificate, if any, of said chain of authentication certificates by a method comprising the steps of:
obtaining the public signature key of the authority of the subsequent authentication certificate from the previous authentication certificate;
verifying that the subsequent authentication certificate has been signed by the authority of said subsequent authentication certificate by applying said public signature key of said authority of said subsequent authentication certificate; and
verifying that the subsequent authentication certificate contains the public signature key of the subject of the subsequent authentication certificate.

19. The method of claim 18, wherein said public key cryptosystem comprises a communication system.

20. The method of claim 19, wherein said communication system comprises a subscriber television system.

21. The method of claim 18, wherein each of said authentication certificates additionally contains a data value indicating a function that the subject of the certificate will be authorized to perform and an effective date and an expiration date for the certificate.
providing said second public key of said second unit to said first unit from a certificate in said second chain of authentication certificates; and
providing said first public key of said first unit to said second unit from a certificate in said first chain of authentication certificates.

22. A method of establishing a cryptographic link between a first unit and a second unit of a cryptographic system, said cryptographic system comprising said first unit, said second unit and a trusted authority, said trusted authority having a public signature key and a corresponding private signature key, said method comprising the steps of:
providing said first unit with a first public key pair consisting of a first public key and a first private key, where said first public key is suitable for encrypting messages and said first private key is suitable for decrypting messages;
providing said second unit with a second public key pair consisting of a second public key and a second private key;
providing said second unit with a first chain of authentication certificates linking said first unit to said trusted authority, said first chain of authentication certificates authenticating said first public key of said first unit;
providing said first unit with a second chain of authentication certificates linking said second unit to said trusted authority, said second chain of authentication certificates authenticating said second public key of said second unit;
authenticating said first unit, in said second unit, by applying an appropriate public signature key to each of the certificates in said first chain of certificates, in part by retrieving said public signature key of said trusted authority from a permanently programmed location in a read-only memory in said second unit that has been fabricated with a mask containing said public signature key;
authenticating said second unit, in said first unit, by applying an appropriate public signature key to each of the certificates in said second chain of certificates, in part by retrieving said public signature key of said trusted authority from a permanently programmed location in a read-only memory in said first unit that has been fabricated with a mask containing said public signature key;
providing said second public key of said second unit to said first unit from a certificate in said second chain of authentication certificates; and
providing said first public key of said first unit to said second unit from a certificate in said first chain of authentication certificates.

23. The method of claim 22, wherein said cryptographic system comprises a communication system.

24. The method of claim 23, wherein said communication system comprises a subscriber television system.

25. The method of claim 22, wherein said second private key of said second unit is suitable for creating digital signatures and said second public key of said second unit is suitable for verifying digital signatures.

26. The method of claim 22, wherein said second unit comprises a secure integrated circuit containing a programmable processor.

27. The method of claim 26, wherein the authentication of said first unit is accomplished by said processor in said secure integrated circuit of said second unit by executing a program contained in said read-only memory of said secure integrated circuit of said second unit.

28. The method of claim 22, wherein said system additionally comprises a third unit, wherein said third unit provides said first unit with said first public key pair, and wherein said third unit provides said second unit with said second public key pair.

29. The method of claim 22, wherein each of said certificates in said first chain of authentication certificates and each of said certificates in said second chain of authentication certificates comprises:
a data value indicating a function that a subject of the certificate will be authorized to perform;
an effective date for the certificate;
an expiration date for the certificate; and
an initial key package.

30. A method of establishing a cryptographic link between a first unit and a second unit in a cryptographic system, said second unit being remotely located from said first unit, said second unit being connected to said first unit by a communication link, said second unit having a public key pair consisting of a public key and a private key, said method comprising the steps of:
providing said public key of said second unit to said first unit;
generating, in said first unit, a first cryptographic data element for use with said second unit;
encrypting, in said first unit, said first cryptographic data element using said public key of said second unit;
communicating said first cryptographic data element, encrypted in said public key, from said first unit to said second unit;
communicating an authorization message from said first unit to said second unit;
verifying in said second unit that said first unit has been authorized by a trusted authority to generate cryptographic data elements;
decrypting, in said second unit, said first cryptographic data element by applying said private key; and
communicating private messages between said first unit and said second unit using said first cryptographic data element.

31. The method of claim 30, wherein said cryptographic system comprises a communication system.

32. The method of claim 31, wherein said communication system comprises a subscriber television system.

33. The method of claim 30, wherein the use of said first cryptographic data element for the communication of private messages between said first unit and said second unit establishes a secure cryptographic link.

34. The method of claim 30, wherein said trusted authority has a first public signature key and a corresponding first private signature key, wherein said first unit has a second public signature key and a corresponding second private signature key, and wherein said method of establishing a cryptographic link between said first unit and said second unit additionally comprises the steps of:
providing said first unit with a first chain of authentication certificates originating with said trusted authority, said first chain of authentication certificates authenticating said public key of said second unit;
providing said second unit with a second chain of authentication certificates originating with said trusted authority, said second chain of authentication certificates authenticating said second public signature key of said first unit;
authenticating said second unit, using said first unit, by applying an appropriate public signature key to each of the certificates in said first chain of certificates, beginning with said first public signature key of said trusted authority; and
authenticating said first unit, using said second unit, by applying an appropriate public signature key to each of the certificates in said second chain of certificates, beginning with said first public signature key of said trusted authority.

35. A cryptographic system comprising a first unit, a second unit, a third unit, and a fourth unit, said first and second units communicating securely by utilizing at least one cryptographic data element, said cryptographic data element being generated by said third unit, said third unit communicating said cryptographic data element to said first and second units, and also communicating to said second unit an authorization certificate received from said fourth unit, such that said second unit verifies that said third unit has been authorized by said fourth unit to generate said cryptographic data element.

Description

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention is in the field of cryptographic methods for establishing a cryptographic link for communication of information between elements of a system. In particular, the present invention relates to a system and method for exchanging cryptographic keys between elements in a system to create a cryptographic network where each element of the system authenticates the other elements of the system with which it will communicate.

2. Description of the Related Art

A cryptographic system typically involves the application of an encryption algorithm to a plain text message to create cipher text, which cannot be understood without performing a corresponding decryption function. A relatively simple cryptosystem utilizes the same algorithm for both encryption and decryption functions. Using such a system requires that the algorithm be disseminated to elements of the system, without disclosing the algorithm to outsiders.

A slightly more sophisticated cryptographic system will typically involve an algorithm that operates on a key to encrypt or decrypt messages, so that an outsider cannot decrypt a message without determining both the algorithm and the key. In such a system, selecting a new key is typically much easier than selecting a new algorithm. Thus, if the security of the system has been compromised, a secure path can be reestablished by securely transferring a new key, without having to develop a new algorithm. Hence, the security of the system does not rely on the privacy of the algorithm. A cryptosystem of this type will be referred to as a private key cryptosystem. One such system, the "DES" system, is disclosed in the "Data Encryption Standard," Federal Information Processing Standards Publication No. 46, Jan. 15, 1977, which is incorporated herein by reference. Use of these private key systems, however, still requires that a key be privately communicated between elements of the system, which typically requires costly and time-consuming measures to ensure that outsiders do not intercept a message containing a new key.

A public key cryptosystem provides a secure link without having to privately transfer keys among elements of the system. Such a system involves a pair of inverse transformations for encrypting and decrypting a message. Applying one of the transformations to ciphertext that has been encrypted by the other transformation will yield the original plain text message. Again, each of the transformations can involve the application of a common algorithm to a unique key to provide a unique transformation. Thus, a first algorithm and a first key combine to form a first transformation, while a second algorithm and a second key form a second transformation, where the two transformations are inverse functions.

In a public key cryptosystem, each element in the system will have a pair of keys that, along with the appropriate algorithms, provide the inverse functions of encryption and decryption. One of the keys, the public key, is distributed to other elements in the system, without taking any measures to prevent outsiders from acquiring the key. The other key, the private key, is retained by the element to which the keys belong, and this key should not be disclosed for any reason. Thus, neither of the keys have to be privately communicated to other elements of the system. The algorithms and keys used in such a cryptosystem must be selected to render infeasible the determination of a private key, based on knowledge of the corresponding public key. The prior art discloses several thoroughly tested public key cryptosystems that meet these requirements. For example, U.S. Pat. No. 4,405,829, issued to Rivest, et al., which is hereby incorporated by reference, discloses a well-known public cryptosystem commonly referred to as the RSA cryptosystem.

To further explain the use of a public key cryptosystem, suppose that elements A and B desire to establish a secure link. Element A will generate a public/private key pair, transmit the public key to element B, and retain the private key to itself. Element B will generate its own public/private key pair, transmit its public key to element A, and retain its own private key. If element A now wants to send a private message to element B, element A will encrypt a plaintext message using the public key of element B. The resulting ciphertext can only be decrypted by using element B's private key. Because only element B has this private key, only element B can decrypt the ciphertext to obtain the original message. In the same manner, element B can send a private message to element A by encrypting the message with element A's public key. Thus, elements A and B have established a secure link by swapping public keys.

The above description of the use of a public key cryptosystem allows for private transfer of messages between elements of a system. Another use of a public key cryptosystem allows elements of a system to verify the source of a message. In the above example, if element A encrypts a message with its own private key and sends the message to element B, then element B can verify that the message came from element A by applying A's public key to decrypt the message. Any message that can be decrypted using A's public key must have been encrypted by A because only A has the corresponding private key. This use of a public key cryptosystem is called a digital signature system. Several public key cryptosystems have been developed specifically for this purpose. For example, the Digital Signature Standard (DSS), which is published by the National Institute of Standards and Technology (FIPS PUB XX, Feb. 1, 1993), describes one such system. The DSS is also incorporated by reference.

The two uses of public key cryptosystems described above can be referred to as "privacy" and "authentication," respectively. Both of these uses are subject to an important limitation. The privacy and authentication objectives can only be achieved if an element obtains the correct public key for the element with which it wishes to communicate. In the example described above, an outsider X may pretend to be a true element of the system, element C for example, and send a public key to element A. Element A, believing the outsider to be element C, may send its public key to the outsider X. Then, if element A intends to send a private message to element C, element A will encrypt the plaintext message using the public key of the outsider X, believing it to be the public key of element C. Element A will then transmit the ciphertext to the outsider X, again believing the outsider X to be element C. Thus, the outsider can simply apply its own private key to decipher the cipher text. In addition, outsider X can sign a message with its own private key and send the message to element A. Element A will apply the public key of outsider X, believing it to be the public key of element C. Because the keys will correspond, element A will believe that the message was signed by element C.

One solution to the above-described problem with public key cryptosystems involves the use of certificates generated by a mutually trusted authority. In the example described above, assume that each of the elements of the system will trust an authority T to recognize the different elements of the system. Each of the elements of the system can become authenticated by the authority T. To obtain authentication, element A will provide its public key to the authority T. After verifying that the public key belongs to element A, the authority T will sign, using its own private key, a message containing the public key of element A. The authority T will then provide this signed message, in the form of a certificate, to element A. Element A can now provide the certificate to other elements of the system to prove that its public key was recognized by the authority T.

When attempting to establish a secure link with another element, for example, element B, element A will transmit the certificate to element B. Element B will use the public key of the authority T to decrypt the certificate and verify the public key of element A. Now, as long as element B can trust the decision by authority T to authenticate the public key of element A, element B can trust the results of using the public key of element A for privacy and authentication functions. However, if element B does not have the true public key of the authority T, then the security of the system may also be compromised. This is an important weakness in many existing cryptosystems.

In theory, a private key cryptosystem can serve the functions of privacy and authentication very well. However, in practice, many implementations of these systems have been compromised. Pirates are often very sophisticated and will often go to great lengths to break into a cryptosystem. Many implementations of cryptographic systems have utilized expensive security measures to safeguard against pirates. For example, systems are often set up to require that two specific people be present simultaneously to perform certain sensitive functions. In many situations, however, such security measures would be prohibitively expensive. Consequently, many systems for which the market does not justify such expenditures are vulnerable to pirate attacks.

In addition, a public key cryptosystem will only be secure, even in theory, if computing a private key, based on knowledge of a corresponding public key, is computationally infeasible. Although the prior art discloses several systems that have been thoroughly tested, and appear to satisfy this requirement, these systems also require substantial processing capabilities to originally generate a public/private key pair. Providing the required processing capabilities can again be prohibitively expensive, especially when a large number of public key pairs is required for a large number of units in a system. There is a need in the cryptography industry for a secure, but relatively inexpensive cryptographic system.

SUMMARY OF THE INVENTION

The present invention comprises a method and apparatus for establishing a cryptographic network among a plurality of operational units in a system. In addition to the operational units, the system also comprises cryptographic units for establishing the cryptographic network. These cryptographic units comprise a master key station (MKS), an MKS registration station (MKS-RS), an MKS personalization station (MKS-PS) and a personalization station (PS). At least one of the operational units in the system will function as a registration station (RS). Typically there will be a number of PSs and a number of RSs distributed throughout a system. There may also be a separate operational unit associated with an RS, for which the RS performs registrations. Every unit in the system, except possibly the MKS, comprises a secure chip integrated circuit, which, in turn, comprises a programmable processor and a read-only memory (ROM). The method of the present invention generally involves an initialization of the MKS, a personalization of each of the secure chips that will be used in the system, and a registration of the operational units in the system.

The MKS functions as a trusted authority and directly or indirectly authenticates every secure chip in the system. The MKS, along with the MKS-PS and the MKS-RS, will typically be located in a very secure environment. First, the MKS generates a public/private signature key pair for its own use, designated the MKS public signature key and the MKS private signature key. The MKS public signature key is programmed into the ROM of each secure chip when the secure chips are manufactured, so that each secure chip will have reliable access to the MKS public signature key.

The MKS personalizes the secure chips for the PS, the MKS-PS and the MKS-RS. During personalization, a personalizing unit, such as the MKS here, provides the secure chip with a public/private signature key pair, designated the SC public signature key and the SC private signature key. The personalizing unit also provides the secure chip with an authentication certificate. An authentication certificate generally contains the SC public signature key and a message indicating the functions that the secure chip has been authorized to perform by the personalizing unit. Finally, the certificate is also signed by the personalizing unit. After personalizing the secure chip, the personalizing unit deletes any copy of the SC private signature key that the personalizing unit has retained. During personalization, the secure chip that is being personalized will execute a program that is contained within the ROM on the secure chip. The execution of this program will verify that the secure chip is being personalized by an authorized personalizing unit. If the personalizing unit is not authorized, then the secure chip will abandon the personalization process. After a secure chip has been successfully personalized, then the secure chip will execute a software locking routine that will prevent any future tampering with the information that has been received by the secure chip during the personalization process. The MKS authorizes the MKS-PS and the PS to personalize other secure chips; and the MKS authorizes the MKS-RS to register operational units. When the secure chips for the PS, the MKS-PS and the MKS-RS have been personalized, then these units can be assembled. Electronic links can be established between these units and the MKS. Then all four of these units can begin to operate.

The MKS-PS and the PS will personalize the remaining secure chips to be used in the system. Most of the secure chips will typically be personalized by the PS (or the multiple PSs). This can reduce the cost of the personalization process because the secure chips will not all have to be transported to a single location for personalization. Generally, the MKS-PS will only be used to personalize the secure chips of the operational units that are most sensitive to pirate attacks, including the RS. A similar rationale applies to the determination as to whether the MKS-RS or the RS (or the multiple RSs) will register an operational unit. The personalization process performed by the MKS-PS will be similar to the personalization described above relative to the MKS. The personalization process performed by the PS will also be similar to that performed by the MKS, except that the secure chips will also be provided with a public/private encryption key pair, designated the public rekey key and the private rekey key. The public rekey key is included in the authentication certificate, along with the SC public signature key.

After all of the secure chips have been personalized, then all of the operational units can be assembled and electronic links can be established between these operational units. However, the operational units will typically not be able to fully operate until some or all of the operational units have registered with either the RS or the MKS-RS.

During registration of these operational units, the unit being registered (the subject of registration) will provide its public rekey key and a chain of authentication certificates to the registering unit. The chain of certificates will comprise one certificate from the MKS, authenticating the PS, and one certificate from the PS, authenticating the subject. The registering unit will authenticate the subject by verifying the content and source of these certificates. Next, the registering unit will generate a private encryption key, designated a CSKEY, or a package of several keys, that will be unique to the subject of the registration. The registering unit will encrypt this CSKEY using the subject's public rekey key. The registering unit will then send the encrypted CSKEY and a chain of authentication certificates to the subject. The chain of certificates will comprise one certificate from the MKS, authenticating the MKS-PS, and one certificate from the MKS-PS, authenticating the registering unit, if the registering unit is the RS. Alternatively, if the registering unit is the MKS-RS, then the chain of certificates will comprise one certificate from the MKS, authenticating the MKS-RS. The subject of the registration will authenticate the registering unit by verifying the content and source of these certificates. The subject will also decrypt the CSKEY by applying the private rekey key of the subject.

The MKS-RS will be performing these registrations on behalf of the MKS. Also, as described above, the RS may be performing the registrations on behalf of another operational unit. If the registration is being performed on behalf of another unit, then the registering unit will securely transmit the unique CSKEY to that unit. Then the registering unit will delete any copy of the CSKEY that the registering unit has retained. If the registration was not performed on behalf of another unit, then the RS will retain the CSKEY.

The registration of an operational unit establishes a secure link between the operational unit and the unit for which the registration was performed. Only these two units have access to the unique CSKEY, and so each of the units can encrypt and decrypt private messages using this key. This remote registration capability eliminates the "cradle to grave" tracking required by many prior art cryptographic systems. In the event that the CSKEYs of one or more secure devices are compromised, the secure devices can be commanded to register again rather than the expensive "smartcard" deployment required by many prior art cryptographic systems. The registration process can be performed once for every pair of units for which a secure electronic link is desired. The CSKEY can take the place of the unique keys installed during manufacture in many prior art cryptographic systems, especially those used in the cable and direct broadcast TV industry.

The method and apparatus of the present invention provides significant advantages over prior art cryptographic systems. The present invention provides one or more personalization stations that generate public/private key pairs for operational units in the system, so that the operational units do not need to have the processing capability to generate their own key pairs. This provision can yield great cost savings for systems with numerous operational units. Also, for systems with relatively small operational units, this provision can greatly reduce the size of these units.

The present invention also provides numerous relatively inexpensive security measures that are not disclosed by the prior art. For example, the MKS public signature key is placed in ROM of the secure chips so that every unit in the system will have reliable access to this information. This prevents pirates from imitating the MKS, without obtaining the MKS private signature key. A portion of the personalization routine is also placed in ROM of the secure chips so that pirates cannot personalize secure chips using an unauthorized personalizing unit, by bypassing the authentication and authorization checking functions of the personalization process. Another feature of the present invention is that each unit involved in both the personalization process and the registration process authenticates the opposing unit in the process. This significantly complicates the difficulty of a pirate breaking into a system, without significantly increasing the cost of implementing and maintaining the system. The present invention also provides for remote registration of operational units to further reduce the cost of implementing and maintaining a cryptographic system. A person of skill in the art of cryptographic systems will recognize numerous other novel security measures from the detailed description of the preferred embodiment of the present invention.

A further aspect of the present invention is a method of establishing a secure electronic link between a first unit and a second unit of a cryptographic system. The method begins with the steps of generating a first public key pair consisting of a first public key and a first private key; securely communicating the first private key to the first unit; and sending a first chain of authentication certificates to the second unit, where this first chain of authentication certificates authenticates the first public key. The method continues with the steps of generating a second public key pair consisting of a second public key and a second private key; securely communicating the second private key to the second unit; and sending a second chain of authentication certificates to the first unit, where this second chain of authentication certificates authenticates the second public key. Next, the method continues with the steps of authenticating the second unit in the first unit using the second chain of authentication certificates and authenticating the first unit in the second unit using the first chain of authentication certificates. Finally, the method concludes with the steps of communicating a private encryption/decryption key, encrypted in the second public key, from the first unit to the second unit and decrypting the private encryption/decryption key in the second unit.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a general functional block diagram of a cable and satellite television system incorporating the cryptographic method of the present invention.

FIG. 2 illustrates a flowchart for establishing a secure communication network in the cable and satellite television system of FIG. 1.

FIG. 3 illustrates a flowchart for the personalization by an MKS of a secure chip of an MKS-PS, an MKS-RS or a PS of the system of FIG. 1.

FIG. 4A illustrates a flowchart for the creation of an authentication certificate and an initialization message by an MKS for a secure chip of an MKS-PS, an MKS-RS or a PS.

FIG. 4B illustrates a flowchart for the authentication and verification by a secure chip of the authentication certificate and the initialization message created by the processes of FIG. 4A.

FIG. 5 illustrates a flowchart for the personalization by a PS or an MKS-PS of a secure chip of a HE, a DEC, an ECS, an ECS-RS or a UL of the system of FIG. 1.

FIG. 6A illustrates a flowchart for the creation of an authentication certificate and an initialization message for a secure chip of a HE, a DEC, an ECS, an ECS-RS or a UL.

FIG. 6B illustrates a flowchart for the authentication and verification by a secure chip of the authentication certificate and the initialization message created by the processes of FIG. 6A.

FIG. 7A illustrates a flowchart for the registration by an MKS-RS of an ECS, an ECS-RS and a UL of the system of FIG. 1.

FIG. 7B illustrates a flowchart for the registration by an ECS-RS of a channel of an HE of the system of FIG. 1.

FIG. 7C illustrates a flowchart for the registration by an ECS-RS of a DEC of the system of FIG. 1.

FIG. 8 illustrates a flowchart for the authentication and verification of the authentication certificates exchanged during the registration processes of FIGS. 7A, 7B and 7C.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

FIG. 1 illustrates a cable and satellite television communication system incorporating the cryptographic system of the present invention. Although the preferred embodiment of the present invention will be described in relation to a subscriber television system, one of skill in the art will understand the present disclosure to apply to a wide variety of communication systems. For example, the present invention can be applied to a subscriber radio system or an ordinary computer network. In addition, one of skill in the art will understand the present disclosure to apply to other systems for which communication is not the primary purpose. For example, the present invention can also be applied to an alarm system to establish a secure communication link between different elements of the system. Use of the word "communication" or "communicate" in the present specification is generally intended to refer to the general concept of transferring information from a source to a destination. These terms should not be construed to limit the scope of the invention to a "communication system," where the primary objective of the system is to communicate information. The present invention can apply to systems in which the communication of information is only a minor, or even insignificant, aspect of the overall system. In fact, the present invention can be adapted for use in any system for which a secure cryptographic link is desired.

For purposes of this specification, a "communication link" will comprise some physical medium over which information can be communicated between two elements of a system and some mutually understood method or technique for communicating. The physical communication medium may comprise, for example, a hard-wired electrical connection, an ordinary telephone line, a computer network line, a fiber optic cable, or a radio broadcast communication link. The communication method or technique may comprise, for example, a specific language, a shared syntax for coded messages, or an encryption/decryption algorithm. A "communication network" will refer to a set of communication links, where each communication link may use a different physical communication medium and a different communication method or technique. A communication link or network will be "secure" if an encryption/decryption system is used for which determination of encrypted information is computationally or economically infeasible without knowledge of specific decryption information and where the decryption information has not been acquired by outsiders, or if a signature/verification system is used for which unauthorized insertion or modification of signed information is computationally or economically infeasible without knowledge of specific signature information and where the signature information has not been acquired by outsiders. Preferably, an encryption/decryption system is used for which determination of encrypted information is computationally infeasible without knowledge of specific decryption information, and a signature/verification system is used for which unauthorized insertion or modification of signed information is computationally infeasible without knowledge of specific signature information. A communication link or network will be considered "compromised" if an outsider acquires the decryption information of an encryption/decryption system or the signature information of a signature/verification system. An "outsider" or "pirate" will refer to a person or communication unit that is not an intended recipient or source of certain information.

A person of skill in the art will understand that the preferred embodiment of the present invention may comprise a pure cable television system, a pure satellite television system, or a combination cable and satellite television system. The preferred embodiment of the present invention will be described in terms of a cable and satellite subscriber television system. The preferred embodiment relates to a method and apparatus for establishing a secure communication link between the different elements of the subscriber television system for which communication is desired.

Returning to the subscriber television system of FIG. 1, the preferred embodiment comprises a number of communication elements or units, including a master key station (MKS) 100, an MKS registration station (MKS-RS) 102, an MKS personalization station (MKS-PS) 104, a secure chip personalization station (PS) 106, an entitlement control system (ECS) 108, an ECS registration station (ECS-RS) 110, an uplink (UL) 112, a head end (HE) 114, a cable decoder box (DEC) 116 and a satellite decoder box (DEC) 118. The MKS 100, the MKS-RS 102 and the MKS-PS 104 could alternatively be combined to form a single unit. Also, the ECS 108 and the ECS-RS 110 could be combined. Each of the communication elements in the system will preferably comprise a programmable computer. Each of these computers will be programmed to perform the appropriate functions of the present invention, as described below. Each of the communication elements in the system will contain one or more integrated circuit components referred to as secure chips (SC) 140. Also, the head end 114 will comprise one or more head end channels 142, each of which will contain one or more secure chips 140.

The MKS 100 is connected to the PS 106 by a communication line 119. For a subscriber television system, messages will preferably be transferred between the MKS 100 and the PS 106 by a human courier physically transporting the messages. Thus, the line 119 may comprise a courier walking between units, and need not comprise an electronic medium. The MKS 100 and the MKS-RS 102 are connected to the UL 112 by a communication line 120. The MKS 100 and the MKS-RS 102 are connected to the ECS 108
by a communication line 122. Again, the communication lines 120, 122 will preferably consist of a human courier physically carrying messages between the respective units. In some embodiments, a physically protected electronic medium may be sufficiently secure for the lines 120, 122. The ECS 108 is connected to the UL 112 by a communication line 132. The ECS 108 is connected to the head end 114 by a communication line 124. The ECS-RS 110 is connected to the head end 114 by a communication line 126. The UL 112 is connected to the head end 114 by a communication line 128. The head end 114 is connected to the cable decoder box 116 by a communication line 134. The ECS-RS 110 is connected to the cable decoder box 116 by a communication line 130. The ECS-RS 110 is connected to the satellite decoder box 118 by a communication line 131. The head end 114 is connected to the satellite decoder box 118 by a communication line 136. The UL 112 is connected to the satellite decoder box 118 by a communication line 138. In addition, local communication lines are provided between the MKS 100, the MKS-RS 102 and the MKS-PS 104, and between the ECS 108 and the ECS-RS 110, although these lines are not illustrated in FIG. 1. The MKS 100, MKS-RS 102
and MKS-PS 104 may be different functional units within the same equipment housing, or otherwise physically connected. On the other hand, if these units 100, 102, 104 are physically separated, then the local communication lines will be physically protected, such as by human courier. The communications line between the ECS 108 and the ECS-RS 110 will either be physically protected or cryptographically secured.

The subscriber television system of FIG. 1 performs two primary functions. First, the system distributes the various video signals constituting the various television channels, one or more of which may be scrambled, to the different cable decoder boxes 116 and satellite decoder boxes 118 in the system. Second, the system distributes cryptosystem keys and other information to allow specific decoder boxes 116, 118 to unscramble the appropriate video signals and receive the appropriate television programs. A typical implementation of the present invention in a subscriber television system may comprise a single master key station 100, with an associated registration station 102 and personalization station 104; between 10-20 secure chip personalization stations 106; from one to ten entitlement control systems 108, with associated registration stations 110; from one to ten uplinks 112; on the order of 10,000 or more head ends 114; and up to approximately 10,000,000 decoder boxes 116,
118. However, for convenience, the description will generally assume a system comprising one of each type of unit.

The communication lines 132, 126 and 124 may constitute ordinary computer network interfaces. There is no need to ensure that pirates do not have access to these communication lines. The present invention will provide a secure communication environment despite such pirate access. The communication line 128 provides a satellite communication interface between the uplink 112 and the head end 114. The communication line 134 is a standard cable interface between a head end 114 and a cable decoder box 116. The communication line 136 provides a satellite communication interface between the head end 114 and a satellite decoder box 118, such as in an existing "television receive only/pass through" system (TVRO/PT). The communication line
138 provides a satellite communication interface between the uplink 112 and the satellite decoder box 118, such as in an existing "television receive only" system (TVRO). The communication lines 130 and 131 are standard telephone lines.

The uplinks 112 receive video signals from a variety of sources, such as a first run movie source. The uplinks 112 distribute these video signals to the different head ends 114 in the system via the communication line 128 and to the different satellite decoder boxes 118 via the communication line 138. Each of the head ends 114 distributes these video signals to a number of the cable decoder boxes 116 via the communication line 134 and to a number of the satellite decoder boxes 118 via the communication line 136. The uplinks 112 may scramble one or more of the video signals before transmitting the signals to either the head end 114 or the satellite decoder boxes 118. If so, then the head ends 114 will typically unscramble one or more of the scrambled video signals. Before retransmitting the video signals to the decoder boxes 116 and 118, the head end 114 may also scramble one or more of the video signals. The decoder boxes 116 and 118 will then unscramble one or more of the video signals that have been scrambled by either the head end 114 or the uplink 112.

The entitlement control system 108 can control which head ends 114 and which decoder boxes 116 and 118 can unscramble each of their respective video signals by selectively providing them with appropriate decryption information. The ECS 108 also controls the scrambling of the video signals by the UL 112 and the HE 114 by providing these units with appropriate encryption information. The process of controlling access to video signals by different elements in the system will be referred to as "entitlement." The encryption/decryption information disseminated by the ECS 108 must be carefully guarded because, if a pirate obtains this information, the pirate can have unauthorized access to the video signals of the subscriber television system. In other words, the pirate could watch television programs without paying any subscriber fees. Such piracy can deprive subscriber television providers of great sums of earned income. The present invention provides a method for establishing secure communication links for the dissemination of this critical encryption/decryption information.

The master key station 100, the MKS registration station 102, the MKS personalization station 104, the secure chip personalization station 106 and the ECS registration station 110 do not have any direct control over the distribution of the video signals or the entitlement of different head ends 114 or decoder boxes 116, 118 to receive the different video signals. Instead, the main function of these units is to establish a secure communication network for the remaining units of the system, as described in greater detail below. These remaining units, the ECS 108, the UL 112, the HE 114 and the decoder boxes 116, 118, will be referred to as "operational units."

FIG. 2 illustrates the preferred method of the present invention for establishing a secure communication environment for the operational units of the subscriber television system of FIG. 1. The method begins at a block 200. At a process block
202, the MKS generates an MKS public/private signature key pair. As described above in the description of the related art, the prior art discloses several thoroughly tested methods for generating a public/private signature key pair. A person of skill in the art will understand how to generate public/private signature key pairs by referring to appropriate prior art references, such as the DSS, which was referred to above. The DSS will be the preferred algorithm for generating public/private signature key pairs, although other algorithms can also be used.

As described above in the description of the related art, a public key cryptosystem will typically only be secure if each private key is known only by the entity to which the private key belongs. In addition, each of the public keys must be distributed in a manner that allows each element of the system to authenticate the source of a public key. The present invention implements an authentication scheme based on authentication certificates generated by a "trusted authority." The MKS 100
will function as this trusted authority. As described above, a public key cryptosystem based on authentication by a trusted authority will only be secure if each of the elements of the system obtains a true copy of the public key of the trusted authority. In the present invention, the public key of the MKS 100 is distributed to the elements of the system in a very reliable manner, as described immediately below.

In the preferred embodiment, each of the units in the subscriber television system, except possibly the MKS 100, will contain a secure circuit that performs cryptographic functions of the present invention. The secure circuit will be resistant to tampering and eavesdropping by a pirate. Preferably, the secure circuit will take the form of an integrated circuit component, referred to as a secure chip (SC) 140, as shown in FIG. 1. Each of these secure chips 140 in the different units of the system may be identical to one another, or they may contain different software routines to perform the different functions required by the different units in the system, or they may have different hardware configurations. Nevertheless, each of the secure chips 140 in the system will contain at least one common feature; namely, the public key of the MKS 100 will be programmed into read-only memory (ROM) on the secure chip 140 to provide permanent storage of this key. This step is performed at a process block 204 of FIG. 2. Thus, the mask that is used to manufacture the secure chips 140 will contain the public key of the MKS 100. Because the ROM cannot be changed after an integrated circuit component is manufactured, any secure chip 140
manufactured using a mask containing the public key of the MKS 100 will have reliable access to the public key of the MKS 100 for the life of the secure chip 140.

At this point, the system comprises an MKS 100 and a number of secure chips 140. Next, at a process block 206, the MKS 100 personalizes a secure chip 140 for the personalization station 106, the MKS personalization station 104, or the MKS registration station 102. The process block 206 will be executed once for the MKS-RS 102, once for the MKS-PS 104, and once for each personalization station 106 in the system. The personalization process achieves three main objectives. First, it provides the secure chip 140 with a public/private signature key pair, without allowing any other element to have access to the private signature key of the secure chip 140. In fact, after the personalization process is completed, even the unit performing the personalization does not have access to the private signature key of the secure chip 140. Second, the personalization process provides the secure chip 140 with a chain of authentication certificates so that the secure chip 140 can prove to other elements that it has been directly or indirectly personalized by the MKS 100. These other elements can verify the authentication of the secure chip 140 even if they only possess the public signature key of the MKS 100. The third main objective achieved by the personalization process is to ensure that the process is performed only by an authenticated and authorized source. The process for the personalization of the secure chips 140 of the PS 106, the MKS-PS 104 and the MKS-RS 102 by the MKS
100 will be described in greater detail below, with reference to FIG. 3.

After a secure chip 140 has been personalized, it can be incorporated into one of the communication units of the system. After a secure chip 140 has been incorporated into the PS 106, the MKS-RS 102 and the MKS-PS 104, then each of these units, along with the MKS 100, can begin performing its intended functions, including communicating with one another over the communication line 119 and the local MKS communication lines.

At a process block 208, the personalization station 106 personalizes the secure chips 140 for the channels 142 of the head end 114 and the decoder 116, 118. The process block 208 will be executed once for each channel of each head end 114 in the system and once for each decoder 116, 118 in the system. The process for the personalization of the secure chips 140 by the personalization station 106 is similar to the personalization of the secure chips 140 by the MKS 100, except that the personalization station 106 also provides the secure chip 140 with a public/private encryption key pair, designated the rekey key pair. After the personalization process is completed, the personalization station 106 no longer has access to either the private signature key or the private rekey key of the secure chip 140.

At a process block 210, the MKS personalization station 104 personalizes the secure chips 140 for the ECS 108, the ECS-RS 110 and the UL 112. The process block 210 will be executed once for each ECS 108, once for each ECS-RS 110 and once for each UL 112 in the system. This personalization process is very similar to the personalization of the secure chips 140 by the personalization station 106. Both of these personalization processes are described in greater detail below with reference to FIG. 5.

After every secure chip 140 has been personalized, each secure chip 140 will be incorporated into an appropriate communication unit. At this point, the MKS 100, the MKS-RS 102, the MKS-PS 104 and every PS 106 in the system will have its own public/private signature key pair. In addition, every ECS 108, every ECS-RS 110, every UL 112, every channel 142 of every HE 114, and every decoder box 116, 118 will have its own public/private signature key pair and public/private rekey key pair. In addition, every communication element, except the MKS 100, has a chain or hierarchy of authentication certificates linking it back to the MKS 100.

For example, a cable decoder box 116 will have a hierarchy of authentication certificates consisting of two levels. The first or highest level certificate will be a PS authentication certificate created by the MKS 100 for the PS 106 that personalized the cable decoder box 116. The creator of an authentication certificate will be referred to as the "authority" of the certificate, while the secure chip 140 being authenticated will be referred to as the "subject" of the certificate. Also, the unit containing the secure chip 140 may also be referred to as the subject. This certificate will indicate that the MKS 100 has recognized the public key of the PS 106, and that the MKS 100 has authorized the PS 106 to personalize other secure chips
140. The last or lowest level certificate will be a SC authentication certificate for the cable decoder box 116. This certificate will indicate that the PS 106 recognized the public signature key of the cable decoder box 116, and that the cable decoder box 116 is authorized to operate as a cable decoder box 116. Thus, the PS 106 is the authority with respect to this second certificate, while the cable decoder box 116 is the subject. The combination of these two authentication certificates provides indirect authentication of the cable decoder box 116 by the MKS 100.

After a secure chip 140 has been incorporated into the ECS 108 and the ECS-RS 110, then these two units can begin to communicate with one another over the local ECS communication line. However, all remaining communication links will remain inoperable until appropriate units are registered. First, at a process block 212, the MKS-RS 102 registers the ECS-RS 110, the ECS 108 and the UL 112. The process block 212 will be executed at least once for each of these units in the system. This registration is performed on behalf of the MKS 100.

The registration process comprises three main functions. First, the unit performing the registration authenticates the unit to be registered by checking its chain of authentication certificates linking it to the MKS 100. Second, the unit to be registered authenticates the unit performing the registration by checking its chain of authentication certificates linking it to the MKS 100. Third, the unit performing the registration generates a random private encryption key and privately sends it to the unit to be registered and to the unit for which the registration is being performed. The unit performing the registration then destroys all copies of the private key that it has retained, so that the other two units can establish a secure communication link using the private key. The format of this private encryption key, and the algorithm used to generate the key will depend on the particular implementation of the entire system. For example, for a system utilizing the descrambler system disclosed in U.S. Pat. No. 4,634,808, issued to Moerder, the private encryption key will comprise the unit seeds described in that patent. The registration of the ECS-RS 110, the ECS 108 and the UL 112 by the MKS-RS 102 will be described in greater detail below with reference to FIG. 7A.

The registration process also serves to identify the newly registered unit to the MKS 100 so that the MKS 100 can begin transmitting appropriate messages and information. This identification upon registration allows a system to be implemented without predefining the number and location of each type of unit in the system. This adds great flexibility to the implementation of a system of the present invention. In addition, this aspect allows the configuration of the system to be expanded or modified while the system is operating. The same rationale applies to registration of HE channels 142 and decoder boxes 116, 118. At this point in the present invention, the ECS 108, for example, is unaware of any HE channels 142 or decoder boxes 116,
118, and has no knowledge as to the ultimate number or configuration of these units. As each HE channel 142 and each decoder box 116, 118 is registered, then the ECS 108 begins transmitting appropriate messages and information to the newly registered units.

At a process block 214, the ECS-RS 110 registers the UL 112 and a channel 142 of the head end 114. The process block 214 will be executed one time for each UL 112 in the system and for each channel 142 in each head end 114 of the system. In this registration process, the ECS-RS 110 will generate and send a private encryption key to the unit to be registered. This registration process will be described in greater detail below with reference to FIG. 7B.

At a process block 216, the ECS-RS 110 registers a decoder box 116, 118. The process block 216 will be executed once for each cable decoder box 116 and satellite decoder box 118 in the system. The ECS-RS 110 will again generate and send a private encryption key to the unit to be registered. This registration process will be described in greater detail below with reference to FIG. 7C.

At a block 218, the method of the present invention is complete, and a secure communication network has been established between the different operational units of the subscriber television system. More specifically, the ECS 108 now has a unique private encryption key and a unique public signature verification key for each of the uplinks 112, each of the channels 142 of each of the head ends 114, and each of the decoder boxes 116, 118, as well as a single private signature key for use with all of these units. The ECS 108 can now send encryption/decryption information to the appropriate operational units by encrypting the information in each of the operational units' respective private encryption keys. In addition, the ECS 108 can sign the information using its private signature key, as required, so that each of the operational units can verify the source of the information by applying the corresponding public signature verification key. Finally, where appropriate, the ECS 108 can verify the source of a signed message by applying the public signature verification key that corresponds to a private signature key of the unit that appears to have sent the message. A would-be pirate will now have a very difficult time breaking the encryption network to obtain the information necessary to unscramble the video signals.

Even if a pirate manages to break the secure environment, for example, by obtaining one of the private encryption keys, a secure communication network can generally be re-established by re-registering some or all of the operational units of the system. The re-registration of the operational units can be performed in the same manner as described and illustrated with reference to FIGS. 7A, 7B and 7C. Thus, the re-registration of the operational units can be performed remotely.

This re-registration process is a major advantage of the present invention over the subscriber television systems of the prior art. Typically, when a subscriber television system has been compromised, a large number of decoder boxes must be replaced, costing the service provider large sums of money. Alternatively, the decoder boxes may contain a replaceable security cartridge that can be replaced in a number of the decoder boxes to re-establish a secure communication network. The process of remotely re-registering the operational units upon a compromise of the secure network greatly simplifies the process and reduces the cost of re-establishing a secure network. In the subscriber television system incorporating the present invention, there is no need to modify the hardware of the system, or even to move any of the hardware units of the system, to re-establish the secure network. The number of units that must be re-registered to re-establish a secure network will depend on the particular compromise that is involved and must be determined on a case-by-case basis. For example, if a private encryption key of a particular cable decoder box 116 is obtained by a pirate, then only that particular cable decoder box 116 must be re-registered. The ECS 108 can transmit a message to the cable decoder box 116 to indicate that the cable decoder box 116 must be re-registered. At that point, the re-registration process of the cable decoder box 116 will proceed as described below with reference to FIG. 7C. A re-registration process may also be performed to compensate for some forms of cryptographic weakness in other areas of the secure communications system in which the present invention is incorporated. For example, in a subscriber television system, if a video stream cipher technique is utilized that is vulnerable to pirate attacks, then re-registration, followed by dissemination of new cipher keys, can be used to ensure a secure communication network.

Also, if a private signature key or a private encryption key of a secure chip 140 is compromised, then that particular secure chip 140 can be replaced by a new secure chip 140. The new secure chip 140 should be personalized according to a personalization process, as described below with reference to either FIG. 3 or FIG. 5. Then the new secure chip 140 can be incorporated into the same element from which the old secure chip 140 was removed. The element receiving the new secure chip 140
must then be registered according to one of the processes described below with reference to FIGS. 7A, 7B and 7C. Depending on the element that has been compromised, other elements in the system may also need to be re-registered. For example, if the ECS
108 has been compromised, then each of the other operational units associated with that ECS 108 should also typically be re-registered because all of the private encryption and signature keys associated with that particular ECS 108 will typically not be trusted.

In the preferred embodiment of the present invention, the re-registration process described above will also be periodically executed for each of the operational units in the system to further safeguard the security of the communication network.

FIG. 3 illustrates the process for an MKS 100 to personalize a secure chip 140 of a PS 106, an MKS-PS 104 or an MKS-RS 102, as represented by the process block 206 in FIG. 2. At a block 300 of FIG. 3, the personalization of a secure chip 140
begins. At a process block 302, the MKS 100 generates a public/private signature key pair for the secure chip 140 that will be personalized. This step is the same as the process described above with reference to the process block 202 of FIG. 2.

At a process block 304, the MKS 100 creates an authentication certificate for the secure chip 140. The purpose of the authentication certificate is to indicate that the MKS 100 recognizes the public signature key of the secure chip 140 and to indicate that the unit containing the secure chip 140 is authorized to perform the functions specified in the certificate. For example, a secure chip 140 for a PS 106 will be authorized to personalize other secure chips 140. The process for creating an authentication certificate for the secure chip 140 will be described in greater detail below with reference to FIG. 4A. Appendix A1 contains a table indicating the general formats of the authentication certificate for a PS 106, an MKS-PS 104 or an MKS-RS 102 of the preferred embodiment. Appendices A2-A7 contain tables indicating the general formats of other certificates and messages of the preferred embodiment. The format of each of the certificates and messages represented by Appendices A1-A7
can vary widely in different implementations of the present invention. For the preferred embodiment, each of these certificates and messages will comprise a number of field types and sub-field types. The authentication certificate of Appendix A1
further comprises a certificate header, an authorization block, a public signature key and a signature block. The certificate header further comprises a certificate ID, an issuer ID, an issuer certificate ID, an effective date and an expiration date. Appendix A8 contains a list of definitions of the field types of Appendices A1-A7.

At a process block 306, the MKS 100 creates an initialization message for the secure chip 140, which will contain the private signature key for the secure chip 140. The process of creating this message will be described in greater detail below with reference to FIG. 4A. Appendix A2 contains a table indicating the general format of the initialization message for a PS 106, an MKS-PS 104 or an MKS-RS 102 of the preferred embodiment.

At a process block 308, the MKS 100 sends the authentication certificate created in the process block 304 and the initialization message created in the process block 306 to the secure chip 140. This transfer must be done in a secure environment because the initialization message contains the private signature key for the secure chip 140. If an outsider intercepts this message, then the outsider may be able to impersonate the secure chip 140 by signing messages with the private signature key of the secure chip 140. Preferably, the MKS 100 will be in a very secure environment. For example, depending on the threat of piracy, the MKS 100 may be contained in a high security vault, with armed guards. Preferably, the secure chip 140 will be taken into direct contact with the MKS 100, within the secure environment, for the personalization process. One of skill in the art will know of numerous methods for ensuring the secure communication of these messages.

At a process block 310, the secure chip 140 checks the authentication certificate obtained from the MKS 100 by applying the MKS public signature key obtained from the ROM of the secure chip 140. The process for checking the authentication certificate will be described in greater detail below with reference to FIG. 4B.

At a decision block 311, the secure chip 140 determines whether the check of the authentication certificate performed at the process block 310 was successful, or whether it returned with an error condition. If the check of the authentication certificate was not successful, then the secure chip 140 will advance to a process block 315. At this point, the secure chip 140 will abandon the personalization process and return to the block 300 to restart the personalization process. If the check of the authentication certificate was successful, then the secure chip 140 will advance to a process block 312.

At the process block 312, the secure chip 140 checks the initialization message received from the MKS 100. Again, the secure chip 140 will apply the public signature key of the MKS 100, obtained from the ROM of the secure chip 140. The process for checking the initialization message will also be described in greater detail below with reference to FIG. 4B.

At a decision block 313, the secure chip 140 determines whether the check of the initialization message performed at the process block 312 was successful, or whether it returned with an error condition. If the check of the initialization message was not successful, then the secure chip 140 will advance to the process block 315 and abandon the personalization process. If the check of the initialization message was successful, then the secure chip 140 will advance to a process block 314.

At the process block 314, the secure chip 140 stores the authentication certificate and the initialization message obtained from the MKS 100. The secure chip 140 will carefully guard the contents of the initialization message, because it is essential that no outsider obtain the private signature key contained in that message.

At a process block 316, the secure chip 140 notifies the MKS 100 that the authentication certificate and the initialization message have been accepted by the secure chip 140, and that the personalization of the secure chip 140 has been completed. At a process block 318, the secure chip 140 will perform a lock routine so that the secure chip 140 will not accept any further attempts at personalization. This lock routine will ensure that the secure chip 140 never runs the personalization routine again, and ensures that the memory locations containing the authentication certificate and the initialization message can never again be modified. This lock routine will prevent would-be pirates from tampering with the stored messages, and, especially, the private signature key of the secure chip 140.

At a process block 320, the MKS 100 deletes any copy of the private signature key of the secure chip 140 that it may have retained after transmitting the initialization message to the secure chip 140. At this point, the secure chip 140 will be the only element with knowledge of its private signature key. At a block 322, the personalization of the secure chip 140 is complete.

FIG. 4A illustrates the process for creating an authentication certificate and the process for creating an initialization message for a secure chip 140 of a PS 106, an MKS-PS 104 or an MKS-RS 102. These processes are represented by the process blocks 304 and 306, respectively, in FIG. 3. At a block 400, the MKS 100 will begin to create the authentication certificate for the secure chip 140. At a process block 402, the MKS 100 will create the structure of the authentication certificate. At a process block 404, the MKS 100 will add the secure chip 140 public signature key that was generated in the process block 302 of FIG. 3. At a process block 412, the MKS 100 will add a data value to the message to indicate the authority that will be granted to the secure chip 140. A secure chip 140 for a PS 106 or an MKS-PS 104 will be granted the authority to personalize other secure chips 140. A secure chip 140 for the MKS-RS 102 will be granted the authority to register an ECS-RS 110, an ECS
108 and a UL 112.

At a process block 414, the MKS 100 will add a first date to the message to indicate the date on which the authentication certificate will become effective and a second date to indicate the date on which the authentication certificate will expire. As described in greater detail below, these dates specify a window in which the units receiving the secure chips 140 will be authorized to perform their functions. This is yet another safeguard to defeat pirates. For example, even if a pirate manages to obtain a PS 106, and can also obtain some secure chips 140, the pirate will only be able to personalize those secure chips 140 that have a manufacturing date code that falls between the effective date and the expiration date of the authentication certificate of the PS 106.

At a process block 416, the MKS 100 will sign the message using its private signature key and the DSS. After the MKS has signed the message, the message becomes the authentication certificate for the secure chip 140. At a block 418, the creation of the authentication certificate is complete.

At a block 406, the MKS 100 will begin the creation of the initialization message for the secure chip 140. At a process block 408, the MKS 100 will create the structure for the initialization message. At a process block 410, the MKS 100 will add the secure chip private signature key that was generated at the process block 302 of FIG. 3.

At the process block 412, the MKS 100 will add a PS load command into the message. At the process block 414, the MKS 100 will add an effective date and an expiration date for the initialization message. At the process block 416, the MKS 100
will sign the initialization message using its own private signature key and the DSS. At the process block 418, the creation of the initialization message is complete.

FIG. 4B illustrates the process for the secure chip 140 to check the authentication certificate obtained from the MKS 100, as represented by the process block 310 in FIG. 3, and the process for the secure chip 140 to check the initialization message obtained from the MKS 100, as represented in the process block 312 of FIG. 3.

At a block 460, the process for checking the authentication certificate begins. At a process block 462, the secure chip 140 performs the signature verification algorithm of the DSS on the signature block of the authentication certificate using the public signature key of the MKS 100 to determine whether the authentication certificate was signed by the MKS 100. At a decision block 464, the secure chip 140 determines whether the signature verification was successful. If the verification was successful, then the secure chip 140 will advance to a process block 466. If the verification was unsuccessful, then the secure chip 140 will advance to a block 476. At the block 476, the secure chip 140 will return from the process of FIG. 4B with an error condition, because the element attempting to personalize the secure chip 140 is not the MKS 100. From the block 476, the secure chip 140 will return to the process of FIG. 3.

If the signature verification is successful, and the secure chip 140 advances to the process block 466, the secure chip 140 will then check the content of the authorization data value contained in the authentication certificate. This data value will indicate whether the MKS 100 has authorized the secure chip 140 to perform its designated function of either personalizing other secure chips 140 or registering other elements of the communication system. At a process block 468, if the secure chip
140 determines that it is not authorized to perform its designated function, then the secure chip 140 will advance to the block 476. At this point, the secure chip 140 will return from the process of FIG. 4B with an error condition, because of the failure of the MKS 100 to authorize the secure chip 140 to perform its function. Again, the secure chip 140 will return to the process of FIG. 3.

If the secure chip 140 determines that the MKS 100 has authorized the secure chip 140 to perform its function, then the secure chip 140 will advance to a process block 470. At the process block 470, the secure chip 140 will compare the effective date and the expiration date obtained from the authentication certificate against the manufacturing date code contained in the ROM of the secure chip 140. At a decision block 472, the secure chip 140 determines whether the authentication certificate is fresh. A certificate or message is fresh if its manufacturing date code falls between the effective date and the expiration date of the certificate or the message.

If the secure chip 140 determines that the authentication certificate is not fresh, then the secure chip 140 will advance to the block 476. At this point, the secure chip 140 will return from the process of FIG. 4B with an error condition, because the authentication certificate is invalid. The effective period of the certificate should at least cover the date code of the secure chip 140. Again, the secure chip 140 will return to the process of FIG. 3. If the secure chip 140 determines that the authentication certificate is fresh, then the secure chip 140 will advance to a block 474. At this point, the process of checking the authentication certificate has been completed, and the authentication certificate has passed the test. The secure chip 140 will return to the process of FIG. 3 with no error condition.

At a block 478, the process for checking the initialization message begins. This process is generally similar to the process for checking the authentication process, except as indicated below. At a process block 480, the secure chip 140
verifies that the initialization message was signed by the MKS 100 by applying the MKS public signature key, contained in the ROM of the secure chip 140, and the DSS. At a decision block 482, the secure chip 140 determines whether the verification was successful. If the verification was not successful, then the secure chip 140 will advance to the block 476 and return to the process of FIG. 3 with an error condition. If the secure chip 140 determines that the verification was successful, then the secure chip 140 will advance to a process block 484.

At the process block 484, the secure chip 140 will check the content of the authorization data value in the initialization message. At a decision block 486, the secure chip 140 will determine whether the authorization data value contains a load command. If there is no load command, then the secure chip 140 will advance to the block 476 and return to the process of FIG. 3 with an error condition. If there is a load command, then the secure chip 140 will advance to a process block 488.

At the process block 488, the secure chip 140 will compare the effective date and the expiration date stored in the initialization message against the manufacturing date code of the secure chip 140. At a decision block 490, the secure chip 140
will determine whether the initialization message is fresh. If the message is not fresh, then the secure chip 140 will advance to the block 476 and return to the process of FIG. 3 with an error condition. If the secure chip 140 determines that the message is fresh, then the secure chip 140 will advance to the block 492. At this point, the secure chip 140 will return to FIG. 3, and the process of checking the initialization message will have been have successfully completed.

FIG. 5 illustrates the process of personalizing a secure chip for a channel 140 of an HE 114 or for a decoder 116, 118 by a PS 106, as represented by the process block 208 of FIG. 2, and the process of personalizing a secure chip 140 for an ECS
108, an ECS-RS 110 or a UL 112 by the MKS-PS 104, as represented by the process block 210 of FIG. 2. These processes are generally similar to the process of personalizing a secure chip 140 by the MKS 100, as described above with reference to FIG. 3, except as indicated below. Both of these processes begin at a block 500. As a matter of convenience, both the PS 106 and the MKS-PS 104 will be referred to as a "personalizing unit"0 for the description of the present personalization process. At a process block 502, the personalizing unit will generate a public/private signature key pair for the secure chip 140. The personalizing unit will also generate a public/private encryption key pair, designated the rekey key pair. The rekey key pair may be generated under any reliable public key encryption method. For example, the preferred embodiment will utilize the RSA encryption method.

At a process block 504, the personalizing unit will create an authentication certificate for the secure chip 140. This secure chip authentication certificate will be similar in structure and content to the secure chip authentication certificate created by the MKS 100 in the process block 304 of FIG. 3. However, the present secure chip authentication certificate will also contain the public rekey key of the secure chip 140. The process for creating the authentication certificate will be described in greater detail below with reference to FIG. 6A. Appendix A3 contains a table indicating the general format of the authentication certificate for an HE 114, a decoder 116, 118, an ECS-RS 110 or a UL 112 of the preferred embodiment.

At a process block 506, the personalizing unit creates a secure chip initialization message. Again, the present secure chip initialization message is similar in structure and content to the secure chip initialization message created by the MKS
100 in the process block 306 of FIG. 3. However, again, the present secure chip initialization message will also contain the private rekey key for the secure chip 140. The process for creating the initialization message will be described in greater detail below with reference to FIG. 6A. Appendix A4 contains a table indicating the general format of the initialization message for an HE 114, a decoder 116, 118, an ECS-RS 110 or a UL 112 of the preferred embodiment.

At a process block 508, the personalizing unit sends the authentication certificate of the personalizing unit, as well as the authentication certificate and the initialization message of the secure chip 140, to the secure chip 140. The authentication certificate of the personalizing unit was provided from the MKS 100 to the personalizing unit during the personalization of the personalizing unit in the process block 206 of FIG. 2. The authentication certificate and the initialization message of the secure chip 140 were created in the process blocks 504 and 506, respectively. The transfer of the initialization message from the personalizing unit to the secure chip 140 must be done in a completely secure environment. Again, if an outsider obtains this message, then the outsider can impersonate the secure chip 140 to eavesdrop on communications that are intended to be private and to sign messages pretending to be the secure chip 140.

At a process block 510, the secure chip 140 checks the authentication certificate of the personalizing unit, obtained in the process block 508. This process generally comprises two steps. First, the secure chip 140 will apply the MKS public signature key to the authentication certificate to ensure that the certificate was generated by the MKS 100. Second, the secure chip 140 will verify that the personalizing unit was authorized by the MKS 100 to personalize additional secure chips 140. The process of checking the authentication certificate of the personalizing unit will be described in greater detail below with reference to FIG. 6B.

At a decision block 511, the secure chip 140 determines whether the process of checking the authentication certificate of the personalizing unit performed at the process block 510 was successful, or whether it returned with an error condition. If the process returned with an error condition, then the secure chip 140 will advance to a process block 517 and abandon the personalization process. At the process block 517, the secure chip 140 will return to the block 500 to restart the personalization process. If the process of checking the authentication certificate of the personalizing unit was successful, then the secure chip 140 will advance to a process block 512.

At the process block 512, the secure chip 140 checks the authentication certificate of the secure chip 140, also obtained in the process block 508. Here, the secure chip 140 will apply the public signature key of the personalizing unit to verify that the secure chip authentication certificate was signed by the personalizing unit. The secure chip 140 obtains the public signature key of the personalizing unit from the authentication certificate of the personalizing unit. The process of checking the secure chip authentication certificate will be described in greater detail below with reference to FIG. 6B.

At a decision block 513, the secure chip 140 determines whether the process of checking the secure chip authentication certificate performed in the process block 512 was successful, or whether it returned with an error condition. If the process returned with an error condition, then the secure chip 140 will advance to the process block 517 and abandon the personalization process. If the process of checking the secure chip authentication certificate was successful, then the secure chip 140 will advance to a process block 514.

At the process block 514, the secure chip 140 checks the initialization message of the secure chip 140, also obtained in the process block 508. Again, the secure chip 140 will verify that the initialization message was signed by the personalizing unit. The process of checking the initialization message will be described in greater detail below with reference to FIG. 6B. The secure chip 140 will ensure that the private signature and re-key keys in the initialization message are kept private.

At a decision block 515, the secure chip 140 will determine whether the process of checking the initialization message performed at the process block 514 was successful, or whether it returned with an error condition. If the process returned with an error condition, then the secure chip 140 will advance to the process block 517 and abandon the personalization. If the process of checking the initialization message was successful, then the secure chip 140 will advance to a process block 516.

At the process block 516, the secure chip 140 stores the authentication certificate of the personalizing unit, as well as the authentication certificate and initialization message of the secure chip 140. At a process block 518, the secure chip
140 notifies the personalizing unit that the authentication certificates and the initialization message have been received and verified, and that the personalization of the secure chip 140 has been completed.

At a process block 520, the secure chip 140 runs a lock routine that is similar to the lock routine that is described above with reference to the process block 318 of FIG. 3. This lock routine prevents outsiders from attempting to re-personalize a secure chip 140 or modify the contents of the memory that contains the authentication certificates and t