Apparatus and method for securing communication systems

Abstract: A hacking prevention system for use with a network including a transmitter and a multiplicity of receivers, each receiver being independently enabled by a secret number and when enabled being responsive to data received from the transmitter for decrypting encrypted information, each of the multiplicity of receivers including: a first key generator, employing at least part of the data and a function which differs for at least a plurality of ones of the multiplicity of receivers, for generating a first key which is different for each receiver having a different function, a second key generator employing at least part of the data and the function to produce a second key, and a secret number generator utilizing the first key with the second key to produce the secret number which is the same for all of the multiplicity of receivers, whereby first and second keys intercepted at a first receiver cannot be effective to enable a second receiver having a different function.

Description: FIELD OF THE INVENTION The present invention relates generally to secure communication systems and more particularly to systems wherein encrypted information is transmitted from a single location to multiple terminals located at non-secure locations. BACKGROUND OF THE INVENTION A major problem in secure communication systems is the possibility of unauthorized penetration. Unauthorized penetration of this kind is referred to as hacking. Several methods have been employed to overcome the problem of hacking. Encryption of transmitted data and authentication of communicators are some of the methods employed to make hacking more difficult. One hacking method which is considered difficult to overcome is called "The McCormac Hack". This method, which is believed to be theoretically applicable to CATV systems, is described in the book "World Satellite TV and Scrambling Methods", 2nd Edition, Baylin Publications 1991, pp. 242 - 244 by Frank Baylin, Richard Maddox and John McCormac and in "Satellite Watch News", August 1991. According to this method, a data stream from a legitimately authorized decoder, is extracted in real time and transmitted over the air using a small radio-frequency (RF) transmitter. The data stream is then used to activate a number of pirate decoders. WO-A-91 11884 describes a decoder for descrambling encoded satellite transmission. The decoder receives twice-encrypted keys and performs a first key decryption in a first removable module in accordance with a secret serial number stored in the first removable module. The partially decrypted key of the first removable module is supplied to a second decryptor where the key is fully decrypted using a further secret serial number stored in the second decryptor. The arrangement according to WO-A-91 11884 ensures that the replaceable module operates only on a particular decoder to which the replaceable module has been assigned. EP-A-343 805 teaches the reproduction of secure keys by using distributed key generation data. SUMMARY OF THE INVENTION The present invention seeks to provide a system and a method which substantially prevent the possibility of extracting a data stream from a legitimately authorized terminal and transmitting the data stream to a plurality of pirate terminals. For the purposes of the present invention, the term "terminals" in all of its forms is used in a broader than usual sense to cover all types of computer terminals, CATV decoders, remote computers and remote computerized stations. For the purposes of the present invention, the terms "seed" and "key" in all of their forms are alternately used in a broader than usual sense to cover all types of numbers or other symbols, either secret or non-secret, which are used at least as part of encryption/decryption keys to encrypt/decrypt (or scramble/descramble) data. The term "secret number" will be further used, for the purpose of the present invention, to denote the secret key which is used for encryption/decryption (or scrambling/descrambling) of data. There is thus provided in accordance with a preferred embodiment of the present invention a hacking prevention system or method for use with a network including a transmitter and a multiplicity of receivers as set out in the independent claims 1 and 14. Preferred embodiments of the invention are set out in dependent claims 2 - 13 and 15. BRIEF DESCRIPTION OF THE DRAWINGS The present invention will be understood and appreciated more fully from the following detailed description, taken in conjunction with the drawings in which: Fig. 1 is a generalized block diagram illustration of a theoretical hacking system based on the prior art "McCormac Hack" method; Fig. 2 is a generalized block diagram illustration of part of a subscriber unit constructed and operative in accordance with a preferred embodiment of the present invention; Fig. 3 is a flowchart description of the functionality of the apparatus of Fig. 2; Fig. 4 is a flowchart description of the functionality of the apparatus of Fig. 2 in accordance with an alternative embodiment of the invention which does not employ conditional access cards; Fig. 5 is a generalized block diagram illustration of part of a subscriber unit in accordance with a preferred embodiment of the invention in which receivers characterized by different parameters are enabled with the same secret number; and Fig. 6 is a flowchart description of the functionality of the apparatus of Fig. 5. DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS Reference is now made to Fig. 1, which is a generalized block diagram illustration of a theoretical hacking system constructed and operative in accordance with the prior art "McCormac Hack" method. An authorized decoder 10, which is normally operated by a valid smart card 12, is coupled instead to a McCormac's Hack Interface (MHI) unit 14 via a standard smart card communication link 15. Smart card 12 is also coupled to the MHI unit 14 via a standard smart card communication link 16. MHI unit 14 "sniffs" the communication data passed between the smart card 12 and the authorized decoder 10 and provides it to a small radio transmitter 18. Radio transmitter 18 transmits the data via a radio-frequency (RF) link 19 to a radio receiver 20 which is coupled to a virtual smart card unit 22. Virtual smart card unit 22 is coupled to an unauthorized decoder 24 via a standard smart card communication link 25. In this way the unauthorized decoder 24 is operated by the same data stream that operates the authorized decoder 10. In an alternative embodiment, MHI unit 14 "sniffs" the data which is communicated between units inside the authorized decoder 10. In this embodiment, MHI unit 14 is linked, via communication link 27, to a communication BUS 26 extending between a micro-processor 28 and a descrambling device 29. Communication BUS 26 carries the "seed" value which is the secret number required for descrambling. In this way the seed value may be extracted and transmitted to the unauthorized decoder for descrambling of the data. Reference is now made to Fig. 2, which is a generalized block diagram illustration of part of a subscriber unit constructed and operative in accordance with a preferred embodiment of the present invention. In accordance with a preferred embodiment of the present invention, a data stream including a series of authorization packets PKT1,...,PKTn is transmitted from an information source via a satellite link, to a packet receiver and descrambler unit 30 which forms part of a subscriber's CATV receiver and decoder (not shown). A series of offset values DELTA1,...,DELTAn is also transmitted via the satellite link and received by the packet receiver and descrambler unit 30. Preferably, each packet is paired with an offset value. In the packet receiver and descrambler unit 30 a Packet Receiver Unit (PRU) 32 receives the series of packets and the offset values. A random number generator 34 provides a number in the range 1,...,n to PRU 32 by employing a random number algorithm. According to the selected number, for example 3, the corresponding packet, i.e. PKT3, is transmitted to a smart card 36 and a corresponding offset value, i.e. DELTA3, which serves as an internal key, is transmitted to a descrambler unit 38. Smart card 36 employs an algorithm which produces an appropriate seed for each packet. When smart card 36 receives PKT3 it produces a corresponding key, here termed SEED3, and provides it to the descrambler unit 38. It is to be appreciated that PRU 32, random number generator 34 and the descrambler unit 38 are all embodied in a secure chip such as a VLSI chip. Thus, the communication of the random number and the offset value cannot be altered or "sniffed". In the descrambler unit 38 the keys DELTA3 and SEED3 received from PRU 32 and smart card 36 respectively are employed by a function f such that: (1) f=f(seed value, offset value), and (2) SEED0 = f(SEEDi,DELTAi) for any i=1,...,n, where SEED0 is the secret number required for descrambling of the data and "i" is any integer value in the series 1,...,n. If the value i=3 is selected then: (3) SEED0 = f(SEED3,DELTA3). In accordance with a preferred embodiment of the present invention, the descrambler 38 functions as a secret number generator in generating the SEED0 value and also functions as a key receiver, which receives an internal key and a key from the smart card. The SEED0 value is employed by the descrambler 38 for descrambling of the data. Inasmuch as the descrambler 38 is in a VLSI format it is considered difficult, if not practically impossible, to tap the SEED0 value. It is to be appreciated that the hacking prevention system of Fig. 2 may be also operable with systems which do not employ smart cards. In that case the seed values corresponding to the packets PKT1,...,PKTn may be calculated and produced in any suitable part of the packet receiver and descrambler 30, such as, for example, any one of PRU 32, random number generator 34 and descrambler 38, by employing an algorithm which is similar to the one employed in the smart card. Upon receipt of the selected random number from random number generator 34, the corresponding calculated seed value and the appropriate offset value are provided to descrambler unit 38. Reference is now made to Fig. 3 which is a flowchart description of the functionality of the apparatus of Fig. 2. A series of data packets PKT1,...,PKTn and a series of offset values DELTA1,...,DELTAn are received via a satellite link. A random number generation algorithm is employed to calculate and select one of the index numbers 1,...,n. The output of the random number generation algorithm is, for example the index 3. The packet whose index number was calculated, i.e. PKT3, is transmitted to the smart card. In the smart card an algorithm which calculates seeds is employed to calculate the corresponding SEED3 number. SEED3 is then transmitted to descrambler unit 38. The offset value which corresponds to the calculated index number, i.e. DELTA3, is transmitted to the descrambling unit 38 where it is combined or otherwise utilized, by use of a secret number generator, with SEED3, to calculate a SEED0 value which is the secret number employed to descramble the satellite transmissions. Reference is now made to Fig. 4 which is a flowchart description of the functionality of the apparatus of Fig. 2 according to an alternative embodiment of the invention. The flowchart of Fig. 4 is similar to the one described in Fig. 3 except that the calculation of the seeds is not performed in a smart card but rather in PRU 32 of Fig. 2. It is to be appreciated that the calculation of the seeds is not limited to PRU 32 but may rather be performed in any part of the secure VLSI chip which forms the packet receiver and descrambler unit 30 shown in Fig. 2. Reference is now made to Fig. 5 which is a generalized block diagram illustration of part of a subscriber unit in accordance with a preferred embodiment of the invention in which receivers of information supplied by different suppliers or receivers which are otherwise distinguished from each other, as by demographics, geographic location or any other parameter, are enabled with the same secret number. The system of Fig. 5 is similar to the system of Fig. 2 except that additional data is received from an information source via the satellite link and processed in a packet receiver and descrambler unit 130. PRU 132 receives, via a satellite link, the following data: a series of packets PKT1,...,PKTn; a series of first offset values DELTA1,...,DELTAn to be employed in part of the abovementioned anti-hacking method; and a series of second offset values GAMMA1,..., GAMMAk. The series of second offset values GAMMA1,...,GAMMAk is employed to distinguish between separate groups of subscribers/receivers which may be distinguished from each other on the basis of one or more criteria, such as their program suppliers, their geographic location or their demographics. Thus, each group of receivers is characterized by one of the second offset values. Characterization of the group of receivers can be achieved either by an internal code or an internal algorithm which is entered during manufacture of each decoder, preferably in packet receiver and descrambler 130, or by an algorithm in the smart card which upon its first communication with the decoder causes the decoder to be valid for a selected parameter or group of parameters, as exemplified above. Thus, upon such characterization, each decoder is enabled to select only one of the second offset values GAMMA1,...,GAMMAk. Alternatively or additionally the characterization of the decoder may be achieved using only the first offset values. In such a case, different decoders may be set to receive only certain ones of the offset values and not others. In this way, the use of the second offset values may be obviated. If, for example, the decoder is characterized to select GAMMA2, which defines a unique program supplier, PRU 132 will transmit GAMMA2 to descrambler unit 138. Upon selection of a random number, for example 3, by random number generator 134, PRU 132 transmits the respective data packet PKT3 to smart card 136. PRU 132 also transmits an offset value from the series of offset values DELTA1,...,DELTAn according to the selected random number, i.e. DELTA3, to descrambler unit 138. When issued, the set of smart cards for the subscribers for each group are different from the set of smart cards issued for the subscribers of another group. Differentiation is achieved by employing different algorithms in each set of smart cards. Therefore, for example, even if in two decoders, which are operated by two different information suppliers, the same random number is selected, i.e. 3, and the same data packet is transmitted to both smart cards, i.e. PKT3, each smart card calculates a different seed value, i.e. SEED3 and SEED3*. Since each of the abovementioned two decoders is operated by a separate program supplier, different second offset values area transmitted to descrambler unit 138, for example GAMMA2 and GAMMA3 respectively. In the descrambler units 138 of the two decoders the same secret number generator is operated such that: (4) f=f(seed value, first offset value, second offset value); (5) SEED0 = f(SEED3, DELTA3, GAMMA2); and also (6) SEED0 = f(SEED3*, DELTA3, GAMMA3). It is to be appreciated that in accordance with the abovementioned method the same SEED0 may be employed for descrambling of information originated from one source and targeted to separate groups of subscribers while preventing subscribers of one group from receiving intelligible information destined for another group. Reference is now made to Fig. 6 which is a flowchart description of the functionality of the apparatus of Fig. 5. A series of data packets PKT1,...,PKTn, a series of first offset values DELTA1,...,DELTAn and a series of second offset values GAMMA1,...,GAMMAk are received via a satellite link. A random number generation algorithm is employed to calculate and select one of the index numbers 1,...,n. The output of the random number generation algorithm is, for example the index 3. The packet whose index number was calculated, i.e. PKT3, is transmitted to the smart card. In the smart card an algorithm which calculates seeds is employed to calculate the corresponding SEED3* number. SEED3* is then transmitted to descrambler unit 138. The first offset value which corresponds to the calculated index number, i.e. DELTA3, is transmitted to the descrambling unit 138. A second offset value which identifies a supplier or jurisdiction, for example GAMMA2, is also transmitted to descrambler unit 138. In the descrambler unit 138 SEED3*, DELTA3 and GAMMA2 are combined, by use of a secret number generation algorithm, to calculate a SEEDO value which is the secret number employed to descramble the satellite transmissions. Where technical features mentioned in any claim are followed by reference signs, those reference signs have been included for the sole purpose of increasing the intelligibility of the claims and accordingly, such reference signs do not have any limiting effect on the scope of each element identified by way of example by such reference signs.

Claims: A hacking prevention system for use with a network including a transmitter and a multiplicity of receivers, each receiver being independently enabled by a secret number (SEED0) and when enabled being responsive to data (PKT 1 -PKT n , DELTA 1 -DELTA n , GAMMA 1 -GAMMA k ) received from the transmitter for decrypting encrypted information, each of the multiplicity of receivers comprising: a first key generator (36; 136), employing at least part of the data (PKT 1 -PKT n , DELTA 1 -DELTA n , GAMMA 1 -GAMMA k ) and a function (34; 134) which differs for at least a plurality of ones of the multiplicity of receivers, for generating a first key (SEED 1 -SEED n ) which is different for each receiver having a different function; and a second key generator (32; 132) employing at least part of the data (PKT 1 -PKT n , DELTA 1 -DELTA n , GAMMA 1 -GAMMA k ) and the function (34; 134) to produce a second key (DELTA 1 -DELTA n ); characterized in that the multiplicity of receivers further comprises: a secret number generator (38; 138) utilizing the first key (SEED 1 -SEED n ) with the second key (DELTA 1 -DELTA n ) to produce the secret number (SEED0) which is the same for all of the multiplicity of receivers, whereby first and second keys (SEED 1 -SEED n , DELTA 1 -DELTA n ) intercepted at a first receiver cannot be effective to enable a second receiver having a different function. A hacking prevention system according to claim 1 wherein the function (34; 134) which differs for at least a plurality of ones of the multiplicity of receivers, is a random number generator (34; 134). A hacking prevention system according to claims 1 or 2 wherein the second key generator (32; 132) is embodied in a single VLSI chip. A hacking prevention system according to one or more of claims 1-3 wherein the first key generator (36; 136), a provider for the function (34; 134) and the secret number generator (38; 138) are embodied in a single VLSI chip. A hacking prevention system according to one or more of claims 1-3 wherein the first key generator (36; 136), a provider for the function (34; 134), the secret number generator (38; 138) and the second key generator (32; 132) are embodied in a single VLSI chip. A hacking prevention system according to one or more of claims 1-5 wherein each of the multiplicity of receivers comprises at least one of the VLSI chips. A hacking prevention system according to one or more of claims 1-6 wherein the network is a CATV network and the multiplicity of receivers are CATV receivers and decoders. A hacking prevention system according to one or more of claims 1-7 and also operative to selectively transmit information to the multiplicity of receivers from an information source, each of the multiplicity of receivers being associated with one of a multiplicity of subscribers which subscribers may be individually characterized by at least one of the following parameters: information suppliers, geographic locations, and demographics, and grouped into different groups according to at least one of the parameters, each of the multiplicity of receivers also comprising: a third key generator (132) employing at least part of the data (PKT 1 -PKT n , DELTA 1 -DELTA n , GAMMA 1 -GAMMA k ) to provide a third key (GAMMA 1 -GAMMA k ) which is characterized by at least one of the parameters, wherein the secret number generator (38; 138) is operative to utilize the third key (GAMMA 1 -GAMMA k ) with the first key (SEED 1 -SEED n ) and the second key (DELTA 1 -DELTA n ) to produce the secret number (SEED0) which is the same for all of the multiplicity of receivers, and the third key (GAMMA 1 -GAMMA k ), when intercepted at a receiver which forms part of a first group of receivers being grouped according to at least one of the parameters, cannot be effective to enable a receiver which forms part of a second group of receivers being grouped according to at least one of the parameters. A hacking prevention system acccording to one or more of claims 1-8 wherein the first key generator (36; 136) comprises: a packet receiver unit for receiving a data stream including at least a series of authorization packets (PKT 1 -PKT n ), a packet provider for providing a selected packet, the selected packet being a packet whose serial number in the series of authorization packets (PKT 1 -PKT n ) is equal to a random number integer in the range between one and the total number of packets in the series of authorization packets (PKT 1 -PKT n ), the random number integer being produced by the random number generator (34; 134), and a first key receiver for receiving the first key (SEED 1 -SEED n ) which uniquely corresponds to the selected packet. A hacking prevention system according to claim 9 wherein the packet provider is operative to provide the selected packet to a removable smart card (36; 136), and the first key receiver is operative to receive the first key (SEED 1 -SEED n ) from the removable smart card (36; 136). A hacking prevention system according to one or more of claims 1-8 wherein the second key generator (32; 132) comprises: an offset value receiver unit for receiving a data stream including at least a series of offset values (DELTA 1 -DELTA n , GAMMA 1 -GAMMA k ) wherein each offset value in the series of offset values (DELTA 1 -DELTA n , GAMMA 1 -GAMMA k ) is paired with a corresponding authorization packet in a series of authorization packets (PKT 1 -PKT n ) ; and an offset value provider for providing the second key (DELTA 1 -DELTA n ), the second key (DELTA 1 -DELTA n ) including at least an offset value which serial number in the series of offset values (DELTA 1 -DELTA n , GAMMA 1 -GAMMA k ) is equal to a random number integer in the range between one and the total number of offset values in the series of offset values (DELTA 1 -DELTA n , GAMMA 1 -GAMMA k ), the random number integer being produced by the random number generator (34; 134). A hacking prevention system according to claims 9 or 10 wherein the second key generator (32; 132) comprises: an offset value receiver unit for receiving at least a set of offset values (DELTA 1 -DELTA n , GAMMA 1 -GAMMA k ), wherein each offset value in the series of offset values (DELTA 1 -DELTA n , GAMMA 1 -GAMMA k ) is paired with a corresponding authorization packet in the series of authorization packets (PKT 1 -PKT n ) ; and an offset value provider for providing the second key (DELTA 1 -DELTA n ), the second key (DELTA 1 -DELTA n ) including at least an offset value which serial number in the series of offset values (DELTA 1 -DELTA n , GAMMA 1 -GAMMA k ) is equal to the serial number of the selected packet. A hacking prevention system according to one or more of claims 9, 10 and 12 wherein at least one of the first key generator (36; 136) and the secret number generator (38; 138) is embodied in at least one of a descrambler and a decrypter. A hacking prevention method for use with a network including a transmitter and a multiplicity of receivers, each receiver being independently enabled by a secret number (SEED0) and when enabled being responsive to data (PKT 1 -PKT n , DELTA 1 -DELTA n , GAMMA 1 -GAMMA k ) received from the transmitter for decrypting encrypted information, the method comprising the steps of: generating a first key (SEED 1 -SEED n ), by employing at least part of the data (PKT 1 -PKT n , DELTA 1 -DELTA n , GAMMA 1 -GAMMA k ) and a function (34; 134) which differs for at least a plurality of ones of the multiplicity of receivers, the first key (SEED 1 -SEED n ) being different for each receiver having a different function; and generating a second key (DELTA 1 -DELTA n ) by employing at least part of the data (PKT 1 -PKT n , DELTA 1 -DELTA n , GAMMA 1 -GAMMA k ) and the function (34; 134), characterized in that the method further comprises the steps of: generating the secret number (SEED0) by utilizing the first key (SEED 1 -SEED n ) with the second key (DELTA 1 -DELTA n ) to produce the secret number (SEED0) which is the same for all of the multiplicity of receivers, whereby first and second keys (SEED 1 -SEED n, DELTA 1 -DELTA n ) intercepted at a first receiver cannot be effective to enable a second receiver having a different function. A method according to claim 14 and also comprising: associating each of the multiplicity of receivers with one of a multiplicity of subscribers; individually characterizing the multiplicity of subscribers by at least one of the following parameters: information suppliers, geographic locations, and demographics; grouping the multiplicity of subscribers into different groups according to at least one of the parameters, the different groups being each selectively entitled to receive at least a portion of the information from an information source; producing, at at least one of the multiplicity of receivers, a third key (GAMMA 1 -GAMMA k ) by employing at least part of the data (PKT 1 -PKT n , DELTA 1 -DELTA n , GAMMA 1 -GAMMA k ) to provide the third key (GAMMA 1 -GAMMA k ) which is characterized by at least one of the parameters, wherein the step of generating the secret number (SEED0) comprises the step of generating the secret number (SEED0) which is the same for all of the multiplicity of receivers by utilizing the third key (GAMMA 1 -GAMMA k ) with the first key and the second key (SEED 1 -SEED n , DELTA 1 -DELTA n ), whereby the third key (GAMMA 1 -GAMMA k ), when intercepted at a receiver which forms part of a first group of receivers being grouped according to at least one of the parameters, cannot be effective to enable a receiver which forms part of a second group of receivers being grouped according to at least one of the parameters.

Inventors: NACHMAN JACOB BEZALEL, TSURIA YOSSEF, NACHMAN, JACOB BEZALEL, TSURIA, YOSSEF
Applicants: NEWS DATACOM LTD, NEWS DATACOM LTD.
Application year: 1994
Main classification: H04N7
IPC codes: H04L9, H04N7, H04K1