CA1295412C - Bootstrap channel security arrangement for communication network - Google Patents
Bootstrap channel security arrangement for communication networkInfo
- Publication number
- CA1295412C CA1295412C CA000507504A CA507504A CA1295412C CA 1295412 C CA1295412 C CA 1295412C CA 000507504 A CA000507504 A CA 000507504A CA 507504 A CA507504 A CA 507504A CA 1295412 C CA1295412 C CA 1295412C
- Authority
- CA
- Canada
- Prior art keywords
- checksum
- subscriber terminal
- booter
- network
- communication
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
- G06F11/0763—Error or fault detection not based on redundancy by bit configuration check, e.g. of formats or tags
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/177—Initialisation or configuration control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4416—Network booting; Remote initial program loading [RIPL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/22—Arrangements for preventing the taking of data from a data transmission channel without authorisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8166—Monomedia components thereof involving executable data, e.g. software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
Abstract
ABSTRACT
Apparatus and a method are disclosed to enable on-line modification and upgrading of terminal software in a communication network while maintaining the integrity of communication between a service provider and a subscriber using the network. Software is downloaded on a booter channel on the communication network. A subscriber terminal, coupled to the network initiates a communication with the network to receive downloaded booter data. The downloaded data is stored, and a checksum is computed from at least a portion of the downloaded data. The checksum is tested for validity, and control of the subscriber terminal is released to the downloaded software only if the checksum is valid.
Apparatus and a method are disclosed to enable on-line modification and upgrading of terminal software in a communication network while maintaining the integrity of communication between a service provider and a subscriber using the network. Software is downloaded on a booter channel on the communication network. A subscriber terminal, coupled to the network initiates a communication with the network to receive downloaded booter data. The downloaded data is stored, and a checksum is computed from at least a portion of the downloaded data. The checksum is tested for validity, and control of the subscriber terminal is released to the downloaded software only if the checksum is valid.
Description
` ~,",~5~1Z
This invention relates to digital communication s utilizing a communication network, for example a two-way cable television (CATV) network.
Communication networks providing for bi-directional communication are well-known. An example of such a network, embodied in a CATV communication system, is provided in commonly assigned u.S. Patent 4,533,948 entitled "CATV Communication System".
The U.S. Patent referred to discloses a communication network built around frequency agile modems accessing multiple medium speed (128 kbp/s) channel pairs which are frequency division multiplexed into the available ; RF spectrum. Each channel pair comprises an upstream communication channel and a downstream communication channel. Each channel can carry a plurality of different ~; signals through well known channel sharing techniques, - such as that known as "CSMA/CD" and described in the co-pending application. This approach, as contrasted with the high speed (10 Mbp/s) baseband approach which is inherently distance limited, is not only compatible with ~' .
:1 .,. .~"., ~f~
standard CATV systems but has the geographic reach to cover even the largest CATV trunk runs (up to 30 miles).
Various applications are envisioned for such communication networks. Such applications include consumer or commercial services such as home banking, electronic mail and newspapers, shop at home, and the like. A provider of such services can couple its computers to the communication network so that the services can be accessed by a subscriber using an appropriate terminal ("subscriber terminal") coupled to the network. In providing such services, it is essential that security be provided. For example, a home banking customer must be able to accomplish transactions without divulging his personal identification number or other password to an intruder who may be monitoring the communication network.
A subscriber terminal may take several different forms, ranging from one with no intelligence to a "smart terminal" with the ability to complete various tasks locally. Smart terminals are desirable because they can relieve the communication network and its associated controllers from tasks which do not relate strictly to the provision of communication services. The operating system, communications protocol software, display package, and user interface software for the smart terminal can be provided on a disk or other storage medium used with the terminal, can be fixed in read only memory (ROM) installed in the terminal, or downloaded into random access memory (RAM) each time the terminal is powered up. The latter :,.
This invention relates to digital communication s utilizing a communication network, for example a two-way cable television (CATV) network.
Communication networks providing for bi-directional communication are well-known. An example of such a network, embodied in a CATV communication system, is provided in commonly assigned u.S. Patent 4,533,948 entitled "CATV Communication System".
The U.S. Patent referred to discloses a communication network built around frequency agile modems accessing multiple medium speed (128 kbp/s) channel pairs which are frequency division multiplexed into the available ; RF spectrum. Each channel pair comprises an upstream communication channel and a downstream communication channel. Each channel can carry a plurality of different ~; signals through well known channel sharing techniques, - such as that known as "CSMA/CD" and described in the co-pending application. This approach, as contrasted with the high speed (10 Mbp/s) baseband approach which is inherently distance limited, is not only compatible with ~' .
:1 .,. .~"., ~f~
standard CATV systems but has the geographic reach to cover even the largest CATV trunk runs (up to 30 miles).
Various applications are envisioned for such communication networks. Such applications include consumer or commercial services such as home banking, electronic mail and newspapers, shop at home, and the like. A provider of such services can couple its computers to the communication network so that the services can be accessed by a subscriber using an appropriate terminal ("subscriber terminal") coupled to the network. In providing such services, it is essential that security be provided. For example, a home banking customer must be able to accomplish transactions without divulging his personal identification number or other password to an intruder who may be monitoring the communication network.
A subscriber terminal may take several different forms, ranging from one with no intelligence to a "smart terminal" with the ability to complete various tasks locally. Smart terminals are desirable because they can relieve the communication network and its associated controllers from tasks which do not relate strictly to the provision of communication services. The operating system, communications protocol software, display package, and user interface software for the smart terminal can be provided on a disk or other storage medium used with the terminal, can be fixed in read only memory (ROM) installed in the terminal, or downloaded into random access memory (RAM) each time the terminal is powered up. The latter :,.
4 i 2 approach is advantageous in that system software can be modified, and each new release distributed via one of the channels of the communication network to each subscriber terminal. This approach enables a system operator to upgrade the software in literally hundreds of thousands of terminals merely by providing new software to be downloaded via the communication network. Thus, terminal products can evolve in place, rather than being made obsolete by changing market demands. An additional benefit of this approach is the ability to page individual software modules off of network channels on demand, reconfiguring subscriber terminals to optimally support a wide variety of diverse applications depending on what a given subscriber desires to do at a particular moment.
A potential problem may arise, however, with the downloading of software into subscriber terminals. In particular, a system intruder could download fraudulent software into a subscriber terminal, which data would be used to take control of the terminal without knowledge by the system operator or the subscriber. The intruder could then access a subscriber's bank account, shop at home account, or conduct other transactions and thereby steal funds, goods, and services.
It would be advantageous to provide a communication network which enables software to be downloaded into subscriber terminals without opening the network to intrusion by an unscrupulous third party. The present invention relates to apparatus and a method for providing such a communication network.
, ~
P~. 5~ ~2 In accordance with the present invention, apparatus is provided for enabling on-line modification and upgrading of terminal software in a communication network, while maintaining the integrity of communication between a service provider and a subscriber using the network. The apparatus includes booter means for downloading software via the communication network. A subscriber terminal, coupled to the communication network, includes means for initiating a communication with the network to receive data downloaded from the booter means, means for storing data downloaded from the booter means, and means for computing a checksum from at least a portion of data downloaded from the booter means. Means are also provided for testing the checksum for validity, and releasing control of the subscriber terminal to software downloaded from the booter means only if the checksum is valid.
The subscriber terminal can further include a secret encryption key. Network control center means is provided for maintaining a record of the secret encryption key, whereby encrypted communication between the subscriber terminal and the network control center means can take place with the encryption based upon the secret encryption key. The checksum computed by the subscriber terminal can be encrypted using the secret encryption key and communicated over the communication network to the network , . .
g ~`5~12 control center means. Means associated with the network control center decrypts the encrypted checksum to enable verification thereof.
Alternately, the network control center means can store a valid checksum corresponding to data downloaded from the booter means. This checksum can be encrypted with the secret encryption key, and communicated to the subscriber terminal via the communication network. The subscriber terminal would then decrypt the encrypted checksum and determine whether it matches the checksum computed by the subscriber terminal.
A method is provided in accordance with the present invention for preventing unauthorized parties from infiltrating and controlling a communication network in which a booter image is downloaded to subscriber terminals. A portion of data is embedded in a booter image for use in computing a checksum. The booter image is downloaded into a subscriber terminal, and a checksum computed. The proper checksum which should result from the booter image is also computed.
The checksum computed by the subscriber terminal is compared to the proper checksum and control of the subscriber terminal is released to the downloaded booter image only if the checksums match. The checksum computation data can be changed on a periodic basis to frustrate efforts ~ 25 by an intruder to outsmart the system.
:
~s~
In the drawings, Figure 1 is a block diagram of a communication network embodying the present invention;
Figure 2 is a more detailed block diagram of a communication network in accordance with the present invention illustrating the threat posed by a system intruder; and Figure 3 is a flow chart illustrating the checksum verification routine used in the apparatus and method of the present invention.
lZ~5~12 Figure 1 is a block diagram of a communication network 8 twhich, for purposes of illustration, is a cable television network) embodying the present invention. A video headend 12 is coupled to the network to transmit television signals.
The network shown is a single hub tree-and-branch cable system which achieves two-way connectivity through an intelligent headend packet repeater called a data channel access monitor (DCAM) 10. The DCAM maps up to fifty 300 KHz wide, 128 kbps upstream data channels into an equivalent number of downstream data channels, thereby transforming two unidirectional physical data paths into a single bi-directional logical data path. These channels are then used as a global bus by all devices on the network, which can tune their modems to any given channel pair. Packets transmitted upstream by any terminal coupled to the network are received by DCAM 10, demodulated to clean up accumulated noise, checked for valid authorization headers via a table look up, and retransmitted on the associated downstream channel ~assuming a properly encrypted authorization code is present). The retransmitted packet is received by all devices currently tuned to that channel, but is only accepted and decoded by the particular device to which it is addressed. Thus, full point-to-point communication can be achieved between any two locations on the cable system.
Multiple data sessions can share a single data channel ~2~5412 using a standard contention scheme such as CSMA/CD (carrier sense multiple access with collision detection), which efficiently distributes the available channel throughput without sacrificing instantaneous transmission speed or response times.
A network control center (NCC) 22 is responsible for taking the raw communication capability of the network and organizing and managing it. For example, NCC 22 handles the billing of subscribers who use the network.
Further, NCC 22 establishes sessions between host computers operated by service providers and subscriber terminals by assigning data channels to be used for each session. An authorization check is also provided by NCC 22 to ensure that the users requesting service are, in fact, valid subscribers with paid-up accounts. Another function of NCC 22 is to distribute traffic among the available channels, and to keep traffic statistics. NCC 22 can be located anywhere on network 8, and does not have to be trunked into the headend.
A host computer 20, typically operated by a service provider, gains access to network 8 via Xgates 16, 18 which provide a standard X.25 interface to the host computer's ~ front end while transparently transforming all data traffic;~ into the internal protocols used on the network. Xgates can also be used to couple the network into long haul packet networks. An Xgate 30 is shown in Figure l for this purpose. Such capability provides access to national : ..
....-:~ ' .. .:
.
~2~S4~2 data services such as those offered under the trademarks The Source and CompuServe. The network can be further expanded through links, such as link 32, for interconnection with other network hubs.
An additional network component provided in accordance with the present invention is booter 14 which is a one-way transmitter. This unit cyclically transmits up to fifty 300 ~Hz wide 128 kbps data streams composed of either downloaded software or actual information "frames"
for display on subscriber terminals. The one-way booter channel, like the two-way channels, is accessed by the terminal under software control via proper tuning of an integral modem in the terminal. One or more booter channels are reserved for distribution of the basic terminal operating software. The remaining channels on the network are available to authorized service providers who can upload information or software products over the cable system for continuous, load independent distribution.
The provision of booter 14 provides a unique capability in the design of terminal products; namely, all terminals coupled to the network can be entirely software, rather ; than firmware based. The terminal operating system, communications protocol software, display package, and user interface software are all downloaded from booter 14 into RAM in the terminal each time the terminal is powered up. This differs significantly from prior art systems wherein such software was permanently burned into ROM. In the present system, each new release of system software is distributed from _g_ booter 14 via an appropriate booter channel, making it possible for a system operator to upgrade the software in subscriber terminals remotely.
An example of a subscriber terminal is the personal computer 26 coupled to network 8 through a subscriber access unit (SAU) 24. The SAU is an intelligent, frequency agile, 128 kbps modem. It allows the connection of a customer owned terminal or personal computer via a standard RS-232 or backplane connection, depending on the configuration.
Additional subscriber terminals, or other components such as host computers can be coupled to network 8 through any of the various nodes 28 illustrated.
The provision of a booter for downloading software into subscriber terminals has the drawback that a system intruder could download fraudulent software over the network, which data would be used to take control of a subscriber terminal without knowledge by the system operator or the subscriber. With such control, the intruder could access various subscriber accounts to conduct transactions not authorized by the subscriber. The present invention prevents an intruder ("attacker") from taking control of subscriber terminals.
Figure 2 shows how an attacker might try to take control of a sùbscriber's accounts. A communication network 38 includes an upstream channel 42 and downstream , channel 44. A packet repeater 40 is provided to repeat data from upstream channel 42 on downstream channel 44.
, ::
~ '',"
,: ~
.. . .. . . . .
.
z Legitimate booter 46 is coupled via a one-way path 58 to downstream channel 44 and transmits a legitimate booter image to be received by subscriber terminals. A subscriber terminal 52 is shown coupled to network 38 via path 70 (coupled to upstream channel 42) and path 72 (coupled to downstream channel 44). A network control center (NCC) 48 is coupled to upstream channel 42 via path 62, and downstream channel 44 via path 64. Similarly, service node 50 is coupled to upstream channel 42 via path 66, and downstream channel 44 via path 68.
In normal operation, network 38 operates as described above in connection with network 8 of Figure l. However, an attacker might attempt to infiltrate the system by coupling an attacker booter 56 to the downstream path 72 of subscriber terminal 52 via path 60. Without some means of security, fraudulent software could be downloaded from attacker booter 56 into subscriber terminal 52, enabling the attacker to take control of the terminal.
Software downloaded by an attacker could be used to determine passwords and other relevant data for accounts belonging to the subscriber. Then, using an accomplice terminal 54 (coupled to upstream channel 42 via path 74 and downstream channel 44 via path 76) the attacker could access the subscriber's accounts to steal funds, goods, and services.
In order to prevent such intrusion by an attacker, the present invention provides an apparatus and method 3~ f d 9 ~
for securing booter channel communication. The security arrangement is best described by referring to the flow chart of Figure 3.
When a subscriber terminal is powered up as shown 5 at box 80, a ROM based program tunes the terminal's modem to the booter channel for the network, as illustrated at box 82.
At this point, booter data will be downloaded into the subscriber terminal's RAM as indicated at box 84. At 10 box 86, a checksum is computed from the downloaded data, or at least a portion of the downloaded data. The checksum can be computed using a cyclic redundancy code algorithm (CRC) well-known in the art. For example, a CRC-16 or CRC-24 algorithm can be used to compute the checksum.
15 The computation of checksums in accordance with such algorithms is explained in detail in Tanenbaum, Andrew S., ComPuter Networks, Prentice-Hall, Inc., 1981, pages 128-132. Other checksum computing algorithms could alternately be used.
After the checksum has been computed, an encrypted communication is established with the network control center, as shown at box 88. Encryption can be based upon a secret encryption key ("secret node key") unique to the subscriber terminal which computed the checksum. The use 25 of secret node keys and encrypted communication based thereon is disclosed in the co-pending application referred to above.
... , . . - .
? ~ ~ ~ 2 At box 90, the checksum is tested fox validity.
The validity test can be made at the subscriber terminal, at the network control center, or at a separate test facility coupled to the communication network. If the subscriber terminal is to perform the checksum test, the correct checksum for the downloaded booter image will be transmitted to the subscriber terminal in encrypted form from the NCC. The subscriber terminal will then decrypt the received checksum and compare it to the checksum computed by the subscriber terminal. Alternately, the subscriber terminal could encrypt the checksum it computed and compare it to the encrypted checksum received from the NCC.
If the NCC or a separate checksum test facility is to determine the validity of the checksum computed by the subscriber terminal, the subscriber terminal will encrypt the checksum it computed and transmit it to the NCC or other test facility. Again, the checksum computed by the subscriber terminal can be tested for validity in its encrypted form or can be decrypted prior to validity testing.
If, at box 92, the checksum is found to be valid, control passes to box 94 and control of the subscriber terminal is released to the downloaded booter data. The ROM based program then ends at box 96. If, on the other hand, the checksum is determined to be invalid at box 92, control passes to box 98 and the false checksum is reported to the NCC. At box 100, the subscriber terminal awaits _, ~ -13-5~12 action from the NCC, and goes into an idle condition at box 102.
When the NCC is informed that an invalid checksum has been computed by a subscriber terminal, a message is provided to the network operator so that appropriate investigation can commence. The existance of an invalid checksum can indicate that an attacker booter 56 (Figure 2) was coupled to the subscriber terminal 52 in an attempt to access a subscriber's accounts.
In order to further frustrate an attacker's efforts to intrude, the portion of the booter image from which the checksum is computed can be changed on a periodic basis (e.g. daily). The use of a complicated checksum algorithm (such as CRC) makes it extremely difficult, if not impossible, to reverse engineer the booter image to enable an attacker to modify a fraudulent booter image such that the fraudulent image will cause the subscriber terminal to compute a valid checksum. The combination of the complicated checksum algorithm and periodic modification of the data needed to compute the checksum renders any attempt by an attacker to thwart the security arrangement virtually impossible. The periodic change made to the legitimate booter image can be very minor. For example, changing a single byte in the booter image will result in the computation of an entirely different checksum by the subscriber terminal.
* Briefly, in such an arrangement the network control ~' .
.
'2 center maintains a record of the secret encryption key of the subscriber terminal and uses the key for encrypting communications to the subscriber terminal and decrypting communications from the subscriber terminal. Similarly, the subscriber terminal uses the secret encryption key to encrypt communications to the NCC and decrypt communications from the NCC.
A potential problem may arise, however, with the downloading of software into subscriber terminals. In particular, a system intruder could download fraudulent software into a subscriber terminal, which data would be used to take control of the terminal without knowledge by the system operator or the subscriber. The intruder could then access a subscriber's bank account, shop at home account, or conduct other transactions and thereby steal funds, goods, and services.
It would be advantageous to provide a communication network which enables software to be downloaded into subscriber terminals without opening the network to intrusion by an unscrupulous third party. The present invention relates to apparatus and a method for providing such a communication network.
, ~
P~. 5~ ~2 In accordance with the present invention, apparatus is provided for enabling on-line modification and upgrading of terminal software in a communication network, while maintaining the integrity of communication between a service provider and a subscriber using the network. The apparatus includes booter means for downloading software via the communication network. A subscriber terminal, coupled to the communication network, includes means for initiating a communication with the network to receive data downloaded from the booter means, means for storing data downloaded from the booter means, and means for computing a checksum from at least a portion of data downloaded from the booter means. Means are also provided for testing the checksum for validity, and releasing control of the subscriber terminal to software downloaded from the booter means only if the checksum is valid.
The subscriber terminal can further include a secret encryption key. Network control center means is provided for maintaining a record of the secret encryption key, whereby encrypted communication between the subscriber terminal and the network control center means can take place with the encryption based upon the secret encryption key. The checksum computed by the subscriber terminal can be encrypted using the secret encryption key and communicated over the communication network to the network , . .
g ~`5~12 control center means. Means associated with the network control center decrypts the encrypted checksum to enable verification thereof.
Alternately, the network control center means can store a valid checksum corresponding to data downloaded from the booter means. This checksum can be encrypted with the secret encryption key, and communicated to the subscriber terminal via the communication network. The subscriber terminal would then decrypt the encrypted checksum and determine whether it matches the checksum computed by the subscriber terminal.
A method is provided in accordance with the present invention for preventing unauthorized parties from infiltrating and controlling a communication network in which a booter image is downloaded to subscriber terminals. A portion of data is embedded in a booter image for use in computing a checksum. The booter image is downloaded into a subscriber terminal, and a checksum computed. The proper checksum which should result from the booter image is also computed.
The checksum computed by the subscriber terminal is compared to the proper checksum and control of the subscriber terminal is released to the downloaded booter image only if the checksums match. The checksum computation data can be changed on a periodic basis to frustrate efforts ~ 25 by an intruder to outsmart the system.
:
~s~
In the drawings, Figure 1 is a block diagram of a communication network embodying the present invention;
Figure 2 is a more detailed block diagram of a communication network in accordance with the present invention illustrating the threat posed by a system intruder; and Figure 3 is a flow chart illustrating the checksum verification routine used in the apparatus and method of the present invention.
lZ~5~12 Figure 1 is a block diagram of a communication network 8 twhich, for purposes of illustration, is a cable television network) embodying the present invention. A video headend 12 is coupled to the network to transmit television signals.
The network shown is a single hub tree-and-branch cable system which achieves two-way connectivity through an intelligent headend packet repeater called a data channel access monitor (DCAM) 10. The DCAM maps up to fifty 300 KHz wide, 128 kbps upstream data channels into an equivalent number of downstream data channels, thereby transforming two unidirectional physical data paths into a single bi-directional logical data path. These channels are then used as a global bus by all devices on the network, which can tune their modems to any given channel pair. Packets transmitted upstream by any terminal coupled to the network are received by DCAM 10, demodulated to clean up accumulated noise, checked for valid authorization headers via a table look up, and retransmitted on the associated downstream channel ~assuming a properly encrypted authorization code is present). The retransmitted packet is received by all devices currently tuned to that channel, but is only accepted and decoded by the particular device to which it is addressed. Thus, full point-to-point communication can be achieved between any two locations on the cable system.
Multiple data sessions can share a single data channel ~2~5412 using a standard contention scheme such as CSMA/CD (carrier sense multiple access with collision detection), which efficiently distributes the available channel throughput without sacrificing instantaneous transmission speed or response times.
A network control center (NCC) 22 is responsible for taking the raw communication capability of the network and organizing and managing it. For example, NCC 22 handles the billing of subscribers who use the network.
Further, NCC 22 establishes sessions between host computers operated by service providers and subscriber terminals by assigning data channels to be used for each session. An authorization check is also provided by NCC 22 to ensure that the users requesting service are, in fact, valid subscribers with paid-up accounts. Another function of NCC 22 is to distribute traffic among the available channels, and to keep traffic statistics. NCC 22 can be located anywhere on network 8, and does not have to be trunked into the headend.
A host computer 20, typically operated by a service provider, gains access to network 8 via Xgates 16, 18 which provide a standard X.25 interface to the host computer's ~ front end while transparently transforming all data traffic;~ into the internal protocols used on the network. Xgates can also be used to couple the network into long haul packet networks. An Xgate 30 is shown in Figure l for this purpose. Such capability provides access to national : ..
....-:~ ' .. .:
.
~2~S4~2 data services such as those offered under the trademarks The Source and CompuServe. The network can be further expanded through links, such as link 32, for interconnection with other network hubs.
An additional network component provided in accordance with the present invention is booter 14 which is a one-way transmitter. This unit cyclically transmits up to fifty 300 ~Hz wide 128 kbps data streams composed of either downloaded software or actual information "frames"
for display on subscriber terminals. The one-way booter channel, like the two-way channels, is accessed by the terminal under software control via proper tuning of an integral modem in the terminal. One or more booter channels are reserved for distribution of the basic terminal operating software. The remaining channels on the network are available to authorized service providers who can upload information or software products over the cable system for continuous, load independent distribution.
The provision of booter 14 provides a unique capability in the design of terminal products; namely, all terminals coupled to the network can be entirely software, rather ; than firmware based. The terminal operating system, communications protocol software, display package, and user interface software are all downloaded from booter 14 into RAM in the terminal each time the terminal is powered up. This differs significantly from prior art systems wherein such software was permanently burned into ROM. In the present system, each new release of system software is distributed from _g_ booter 14 via an appropriate booter channel, making it possible for a system operator to upgrade the software in subscriber terminals remotely.
An example of a subscriber terminal is the personal computer 26 coupled to network 8 through a subscriber access unit (SAU) 24. The SAU is an intelligent, frequency agile, 128 kbps modem. It allows the connection of a customer owned terminal or personal computer via a standard RS-232 or backplane connection, depending on the configuration.
Additional subscriber terminals, or other components such as host computers can be coupled to network 8 through any of the various nodes 28 illustrated.
The provision of a booter for downloading software into subscriber terminals has the drawback that a system intruder could download fraudulent software over the network, which data would be used to take control of a subscriber terminal without knowledge by the system operator or the subscriber. With such control, the intruder could access various subscriber accounts to conduct transactions not authorized by the subscriber. The present invention prevents an intruder ("attacker") from taking control of subscriber terminals.
Figure 2 shows how an attacker might try to take control of a sùbscriber's accounts. A communication network 38 includes an upstream channel 42 and downstream , channel 44. A packet repeater 40 is provided to repeat data from upstream channel 42 on downstream channel 44.
, ::
~ '',"
,: ~
.. . .. . . . .
.
z Legitimate booter 46 is coupled via a one-way path 58 to downstream channel 44 and transmits a legitimate booter image to be received by subscriber terminals. A subscriber terminal 52 is shown coupled to network 38 via path 70 (coupled to upstream channel 42) and path 72 (coupled to downstream channel 44). A network control center (NCC) 48 is coupled to upstream channel 42 via path 62, and downstream channel 44 via path 64. Similarly, service node 50 is coupled to upstream channel 42 via path 66, and downstream channel 44 via path 68.
In normal operation, network 38 operates as described above in connection with network 8 of Figure l. However, an attacker might attempt to infiltrate the system by coupling an attacker booter 56 to the downstream path 72 of subscriber terminal 52 via path 60. Without some means of security, fraudulent software could be downloaded from attacker booter 56 into subscriber terminal 52, enabling the attacker to take control of the terminal.
Software downloaded by an attacker could be used to determine passwords and other relevant data for accounts belonging to the subscriber. Then, using an accomplice terminal 54 (coupled to upstream channel 42 via path 74 and downstream channel 44 via path 76) the attacker could access the subscriber's accounts to steal funds, goods, and services.
In order to prevent such intrusion by an attacker, the present invention provides an apparatus and method 3~ f d 9 ~
for securing booter channel communication. The security arrangement is best described by referring to the flow chart of Figure 3.
When a subscriber terminal is powered up as shown 5 at box 80, a ROM based program tunes the terminal's modem to the booter channel for the network, as illustrated at box 82.
At this point, booter data will be downloaded into the subscriber terminal's RAM as indicated at box 84. At 10 box 86, a checksum is computed from the downloaded data, or at least a portion of the downloaded data. The checksum can be computed using a cyclic redundancy code algorithm (CRC) well-known in the art. For example, a CRC-16 or CRC-24 algorithm can be used to compute the checksum.
15 The computation of checksums in accordance with such algorithms is explained in detail in Tanenbaum, Andrew S., ComPuter Networks, Prentice-Hall, Inc., 1981, pages 128-132. Other checksum computing algorithms could alternately be used.
After the checksum has been computed, an encrypted communication is established with the network control center, as shown at box 88. Encryption can be based upon a secret encryption key ("secret node key") unique to the subscriber terminal which computed the checksum. The use 25 of secret node keys and encrypted communication based thereon is disclosed in the co-pending application referred to above.
... , . . - .
? ~ ~ ~ 2 At box 90, the checksum is tested fox validity.
The validity test can be made at the subscriber terminal, at the network control center, or at a separate test facility coupled to the communication network. If the subscriber terminal is to perform the checksum test, the correct checksum for the downloaded booter image will be transmitted to the subscriber terminal in encrypted form from the NCC. The subscriber terminal will then decrypt the received checksum and compare it to the checksum computed by the subscriber terminal. Alternately, the subscriber terminal could encrypt the checksum it computed and compare it to the encrypted checksum received from the NCC.
If the NCC or a separate checksum test facility is to determine the validity of the checksum computed by the subscriber terminal, the subscriber terminal will encrypt the checksum it computed and transmit it to the NCC or other test facility. Again, the checksum computed by the subscriber terminal can be tested for validity in its encrypted form or can be decrypted prior to validity testing.
If, at box 92, the checksum is found to be valid, control passes to box 94 and control of the subscriber terminal is released to the downloaded booter data. The ROM based program then ends at box 96. If, on the other hand, the checksum is determined to be invalid at box 92, control passes to box 98 and the false checksum is reported to the NCC. At box 100, the subscriber terminal awaits _, ~ -13-5~12 action from the NCC, and goes into an idle condition at box 102.
When the NCC is informed that an invalid checksum has been computed by a subscriber terminal, a message is provided to the network operator so that appropriate investigation can commence. The existance of an invalid checksum can indicate that an attacker booter 56 (Figure 2) was coupled to the subscriber terminal 52 in an attempt to access a subscriber's accounts.
In order to further frustrate an attacker's efforts to intrude, the portion of the booter image from which the checksum is computed can be changed on a periodic basis (e.g. daily). The use of a complicated checksum algorithm (such as CRC) makes it extremely difficult, if not impossible, to reverse engineer the booter image to enable an attacker to modify a fraudulent booter image such that the fraudulent image will cause the subscriber terminal to compute a valid checksum. The combination of the complicated checksum algorithm and periodic modification of the data needed to compute the checksum renders any attempt by an attacker to thwart the security arrangement virtually impossible. The periodic change made to the legitimate booter image can be very minor. For example, changing a single byte in the booter image will result in the computation of an entirely different checksum by the subscriber terminal.
* Briefly, in such an arrangement the network control ~' .
.
'2 center maintains a record of the secret encryption key of the subscriber terminal and uses the key for encrypting communications to the subscriber terminal and decrypting communications from the subscriber terminal. Similarly, the subscriber terminal uses the secret encryption key to encrypt communications to the NCC and decrypt communications from the NCC.
Claims (14)
1. Apparatus for enabling on-line modification and upgrading of terminal software in a communication network while maintaining the integrity of communication between a service provider and a subscriber using the network comprising:
booter means for downloading software via said communication network;
a subscriber terminal, coupled to said communication network, including:
means for initiating a communication with said network to receive data downloaded from said booter means, means for storing data downloaded from said booter means, and means for computing a checksum from at least a portion of data downloaded from said booter means;
means for testing said checksum for validity; and means for releasing control of said subscriber terminal to software downloaded from said booter means only if the checksum is valid.
booter means for downloading software via said communication network;
a subscriber terminal, coupled to said communication network, including:
means for initiating a communication with said network to receive data downloaded from said booter means, means for storing data downloaded from said booter means, and means for computing a checksum from at least a portion of data downloaded from said booter means;
means for testing said checksum for validity; and means for releasing control of said subscriber terminal to software downloaded from said booter means only if the checksum is valid.
2. The apparatus of claim 1 wherein said subscriber terminal further includes a secret encryption key, said apparatus further comprising network control center means for maintaining a record of said secret encryption key, whereby encrypted communication between the subscriber terminal and network control center means can take place with the encryption based upon the secret encryption key.
3. The apparatus of claim 2 further comprising:
means for encrypting the checksum computed by said subscriber terminal using said secret encryption key;
means for communicating the encrypted checksum over said communication network to the network control center means; and means associated with said network control center means for decrypting the encrypted checksum to enable said checksum verifying means to verify the checksum for validity.
means for encrypting the checksum computed by said subscriber terminal using said secret encryption key;
means for communicating the encrypted checksum over said communication network to the network control center means; and means associated with said network control center means for decrypting the encrypted checksum to enable said checksum verifying means to verify the checksum for validity.
4. The apparatus of claim 2 further comprising:
means associated with said network control center means for storing a valid checksum corresponding to data downloaded from said booter means;
means associated with said network control center means for encrypting the stored checksum with said secret encryption key;
means for communicating the encrypted checksum to the communication network; and means associated with said subscriber terminal for receiving and decrypting the encrypted checksum for input to said verifying means, wherein said verifying means compares the decrypted checksum to the checksum computed by said subscriber terminal to verify proper correspondence thereof.
means associated with said network control center means for storing a valid checksum corresponding to data downloaded from said booter means;
means associated with said network control center means for encrypting the stored checksum with said secret encryption key;
means for communicating the encrypted checksum to the communication network; and means associated with said subscriber terminal for receiving and decrypting the encrypted checksum for input to said verifying means, wherein said verifying means compares the decrypted checksum to the checksum computed by said subscriber terminal to verify proper correspondence thereof.
5. Apparatus for protecting a communication network having an upstream communication channel and a downstream communication channel from illegitimate access by an unauthorized party comprising:
booter means coupled to said downstream channel for downloading software via said communication network;
a subscriber terminal coupled to receive data from said downstream channel and transmit data on said upstream channel, said subscriber terminal including:
a secret encryption key, means for receiving and storing data downloaded from said booter means, means for computing a checksum from at least a portion of data downloaded from said booter means, and means for establishing an encrypted communication with said network wherein the encryption is based on said secret encryption key;
network control center means coupled to said communication network and including a record of the secret encryption key for enabling encrypted communication with said subscriber terminal;
means for verifying the checksum computed by said subscriber terminal via an encrypted communication established between the subscriber terminal and network control center means; and means for releasing control of said subscriber terminal to data downloaded from said booter means only if the checksum is found to be valid.
booter means coupled to said downstream channel for downloading software via said communication network;
a subscriber terminal coupled to receive data from said downstream channel and transmit data on said upstream channel, said subscriber terminal including:
a secret encryption key, means for receiving and storing data downloaded from said booter means, means for computing a checksum from at least a portion of data downloaded from said booter means, and means for establishing an encrypted communication with said network wherein the encryption is based on said secret encryption key;
network control center means coupled to said communication network and including a record of the secret encryption key for enabling encrypted communication with said subscriber terminal;
means for verifying the checksum computed by said subscriber terminal via an encrypted communication established between the subscriber terminal and network control center means; and means for releasing control of said subscriber terminal to data downloaded from said booter means only if the checksum is found to be valid.
6. The apparatus of claim 5 wherein the checksum computed by said subscriber terminal is encrypted and transmitted to said network control center means for decryption and verification.
7. The apparatus of claim 5 wherein said network control center means further comprises:
a record of the correct checksum for data downloaded from said booter means;
means for encrypting the correct checksum using said secret encryption key; and means for communicating the encrypted checksum to said subscriber terminal for comparison with the checksum computed by the subscriber terminal.
a record of the correct checksum for data downloaded from said booter means;
means for encrypting the correct checksum using said secret encryption key; and means for communicating the encrypted checksum to said subscriber terminal for comparison with the checksum computed by the subscriber terminal.
8. A communication network comprising:
at least one communication channel;
means for downloading data to a subscriber terminal coupled to said communication channel;
means for storing downloaded data in said subscriber terminal;
means for computing a checksum from at least a portion of downloaded data stored in said subscriber terminal;
means for testing the checksum for validity; and means for releasing control of said subscriber terminal to the downloaded data only if said checksum is valid.
at least one communication channel;
means for downloading data to a subscriber terminal coupled to said communication channel;
means for storing downloaded data in said subscriber terminal;
means for computing a checksum from at least a portion of downloaded data stored in said subscriber terminal;
means for testing the checksum for validity; and means for releasing control of said subscriber terminal to the downloaded data only if said checksum is valid.
9. The communication network of claim 8 comprising a plurality of communication channels and means for tuning said subscriber terminal to a predetermined channel when the subscriber terminal is powered up to enable the subscriber terminal to receive data downloaded on the predetermined channel.
10. The communication network of claim 8 further comprising network control center means coupled to said network for communicating with said subscriber terminal on an encrypted basis so that checksum data can be passed between the network control center means and the subscriber terminal for validity testing without infiltration by an unauthorized party.
11. A terminal, for use in communicating on a communication network, comprising:
means for tuning to a booter channel on said network;
means for receiving and storing a booter image downloaded on the booter channel;
means for computing a checksum from at least a portion of data contained in said booter image;
means for establishing an encrypted communication with another device coupled to said network to determine whether the computed checksum is valid; and means for executing software contained in said booter image to access a desired service available on said network only if the checksum proves to be valid.
means for tuning to a booter channel on said network;
means for receiving and storing a booter image downloaded on the booter channel;
means for computing a checksum from at least a portion of data contained in said booter image;
means for establishing an encrypted communication with another device coupled to said network to determine whether the computed checksum is valid; and means for executing software contained in said booter image to access a desired service available on said network only if the checksum proves to be valid.
12. The subscriber terminal of claim 11 further comprising read only memory means for storing instructions used to access said booter image and compute and validate said checksum.
13. A method for preventing unauthorized parties from illegitimate access to a communication network in which a booter image is downloaded to subscriber terminals coupled to the network, comprising the steps of:
embedding in a booter image a portion of data for use in computing a checksum;
computing a checksum from booter image data downloaded into a subscriber terminal;
computing the proper checksum which should result from the booter image if the booter image is properly received by the subscriber terminal;
comparing the checksum computed from the booter image downloaded into the subscriber terminal with the checksum computed from the known booter image using a encrypted communication on said network; and releasing control of said subscriber terminal to the downloaded booter image only if the checksum computed by the subscriber terminal matches the proper checksum for the booter image.
embedding in a booter image a portion of data for use in computing a checksum;
computing a checksum from booter image data downloaded into a subscriber terminal;
computing the proper checksum which should result from the booter image if the booter image is properly received by the subscriber terminal;
comparing the checksum computed from the booter image downloaded into the subscriber terminal with the checksum computed from the known booter image using a encrypted communication on said network; and releasing control of said subscriber terminal to the downloaded booter image only if the checksum computed by the subscriber terminal matches the proper checksum for the booter image.
14. The method of claim 13 comprising the further step of:
changing the checksum computation data embedded in said booter image on a periodic basis.
changing the checksum computation data embedded in said booter image on a periodic basis.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/726,676 | 1985-04-24 | ||
US06/726,676 US4982430A (en) | 1985-04-24 | 1985-04-24 | Bootstrap channel security arrangement for communication network |
Publications (1)
Publication Number | Publication Date |
---|---|
CA1295412C true CA1295412C (en) | 1992-02-04 |
Family
ID=24919562
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA000507504A Expired - Lifetime CA1295412C (en) | 1985-04-24 | 1986-04-24 | Bootstrap channel security arrangement for communication network |
Country Status (5)
Country | Link |
---|---|
US (1) | US4982430A (en) |
EP (1) | EP0200704B1 (en) |
JP (1) | JPH0787455B2 (en) |
CA (1) | CA1295412C (en) |
DE (1) | DE3679711D1 (en) |
Families Citing this family (122)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6292568B1 (en) | 1966-12-16 | 2001-09-18 | Scientific-Atlanta, Inc. | Representing entitlements to service in a conditional access system |
US4965825A (en) | 1981-11-03 | 1990-10-23 | The Personalized Mass Media Corporation | Signal processing apparatus and methods |
US7831204B1 (en) | 1981-11-03 | 2010-11-09 | Personalized Media Communications, Llc | Signal processing apparatus and methods |
USRE47642E1 (en) | 1981-11-03 | 2019-10-08 | Personalized Media Communications LLC | Signal processing apparatus and methods |
JPS63278438A (en) * | 1987-05-11 | 1988-11-16 | Hitachi Ltd | Cryptographic system by secret cryptograph procedure |
US5079628A (en) * | 1987-12-28 | 1992-01-07 | Kabushiki Kaisha Toshiba | Network system for transmitting data by radio signals |
US5487066A (en) * | 1988-03-21 | 1996-01-23 | First Pacific Networks, Inc. | Distributed intelligence network using time and frequency multiplexing |
US5572572A (en) | 1988-05-05 | 1996-11-05 | Transaction Technology, Inc. | Computer and telephone apparatus with user friendly interface and enhanced integrity features |
US5485370A (en) | 1988-05-05 | 1996-01-16 | Transaction Technology, Inc. | Home services delivery system with intelligent terminal emulator |
WO1990013956A1 (en) * | 1989-04-28 | 1990-11-15 | First Pacific Networks, Inc. | Distributed intelligence network using time and frequency multiplexing |
US7210159B2 (en) * | 1994-02-18 | 2007-04-24 | Starsight Telecast, Inc. | System and method for transmitting and utilizing electronic programs guide information |
JP2605960B2 (en) * | 1990-11-29 | 1997-04-30 | 松下電器産業株式会社 | Video transmission equipment |
EP0510244A1 (en) * | 1991-04-22 | 1992-10-28 | Acer Incorporated | Method and apparatus for protecting a computer system from computer viruses |
US5396546A (en) * | 1991-10-03 | 1995-03-07 | Viscorp | Apparatus and method for automatic and user configurable information appliance |
US5404393A (en) * | 1991-10-03 | 1995-04-04 | Viscorp | Method and apparatus for interactive television through use of menu windows |
US5428769A (en) * | 1992-03-31 | 1995-06-27 | The Dow Chemical Company | Process control interface system having triply redundant remote field units |
CA2145068A1 (en) * | 1992-09-21 | 1994-03-31 | Ric Bailier Richardson | System for software registration |
US20030117445A1 (en) * | 1992-12-09 | 2003-06-26 | Hendricks John S. | Reprogrammable set top terminal that stores programs locally and generates menus |
CN1103748A (en) * | 1993-03-10 | 1995-06-14 | 世嘉企业股份有限公司 | Method for executing software program and circuit device for implementing the method |
US5796940A (en) * | 1993-03-10 | 1998-08-18 | Sega Enterprises, Ltd. | Method for executing software program and circuit for implementing the method |
US6031867A (en) * | 1993-07-02 | 2000-02-29 | Multi-Tech Systems, Inc. | Modem with firmware upgrade feature |
US5444850A (en) * | 1993-08-04 | 1995-08-22 | Trend Micro Devices Incorporated | Method and apparatus for controlling network and workstation access prior to workstation boot |
JPH10511783A (en) * | 1993-08-04 | 1998-11-10 | トレンド・マイクロ・インコーポレイテッド | Method and apparatus for controlling network and workstation access prior to workstation boot |
ATE429099T1 (en) | 1994-02-24 | 2009-05-15 | Comcast Cable Holdings Llc | METHOD AND DEVICE FOR CREATING A CRYPTOGRAPHIC CONNECTION BETWEEN ELEMENTS OF A SYSTEM |
US5787172A (en) * | 1994-02-24 | 1998-07-28 | The Merdan Group, Inc. | Apparatus and method for establishing a cryptographic link between elements of a system |
US8793738B2 (en) * | 1994-05-04 | 2014-07-29 | Starsight Telecast Incorporated | Television system with downloadable features |
US5666293A (en) * | 1994-05-27 | 1997-09-09 | Bell Atlantic Network Services, Inc. | Downloading operating system software through a broadcast channel |
US5635979A (en) * | 1994-05-27 | 1997-06-03 | Bell Atlantic | Dynamically programmable digital entertainment terminal using downloaded software to control broadband data operations |
US5768539A (en) * | 1994-05-27 | 1998-06-16 | Bell Atlantic Network Services, Inc. | Downloading applications software through a broadcast channel |
US5734589A (en) * | 1995-01-31 | 1998-03-31 | Bell Atlantic Network Services, Inc. | Digital entertainment terminal with channel mapping |
US6252964B1 (en) * | 1995-04-03 | 2001-06-26 | Scientific-Atlanta, Inc. | Authorization of services in a conditional access system |
US6937729B2 (en) * | 1995-04-03 | 2005-08-30 | Scientific-Atlanta, Inc. | Representing entitlements to service in a conditional access system |
US6560340B1 (en) | 1995-04-03 | 2003-05-06 | Scientific-Atlanta, Inc. | Method and apparatus for geographically limiting service in a conditional access system |
US6424717B1 (en) | 1995-04-03 | 2002-07-23 | Scientific-Atlanta, Inc. | Encryption devices for use in a conditional access system |
US20040136532A1 (en) * | 1995-04-03 | 2004-07-15 | Pinder Howard G. | Partial dual-encrypted stream utilizing program map tables |
US7224798B2 (en) * | 1995-04-03 | 2007-05-29 | Scientific-Atlanta, Inc. | Methods and apparatus for providing a partial dual-encrypted stream in a conditional access overlay system |
US6246767B1 (en) | 1995-04-03 | 2001-06-12 | Scientific-Atlanta, Inc. | Source authentication of download information in a conditional access system |
US8548166B2 (en) | 1995-04-03 | 2013-10-01 | Anthony J. Wasilewski | Method for partially encrypting program data |
GB2301744B (en) * | 1995-06-02 | 2000-01-12 | Dsc Communications | Software download for a subscriber terminal of a wireless telecommunications system |
US5826166A (en) * | 1995-07-06 | 1998-10-20 | Bell Atlantic Network Services, Inc. | Digital entertainment terminal providing dynamic execution in video dial tone networks |
FR2736735B1 (en) * | 1995-07-11 | 1997-09-19 | Mireille Campana | SYSTEM FOR LOADING THE SOFTWARE INTO TELEPHONY ORGANS AND IN PARTICULAR IN PUBLIC PHONES |
DE19534528A1 (en) * | 1995-09-08 | 1997-03-13 | Francotyp Postalia Gmbh | Method for changing the data of an electronic franking machine loaded in memory cells |
US5796832A (en) | 1995-11-13 | 1998-08-18 | Transaction Technology, Inc. | Wireless transaction and information system |
US5845077A (en) * | 1995-11-27 | 1998-12-01 | Microsoft Corporation | Method and system for identifying and obtaining computer software from a remote computer |
US5771064A (en) * | 1995-11-29 | 1998-06-23 | Scientific-Atlanta, Inc. | Home communications terminal having an applications module |
US5734822A (en) * | 1995-12-29 | 1998-03-31 | Powertv, Inc. | Apparatus and method for preprocessing computer programs prior to transmission across a network |
US5905779A (en) * | 1996-03-06 | 1999-05-18 | Rockwell Science Center | Automatic dial-up software update system |
US20040078824A1 (en) * | 1996-04-10 | 2004-04-22 | Worldgate Communications | Access system and method for providing interactive access to an information source through a television distribution system |
US5999970A (en) * | 1996-04-10 | 1999-12-07 | World Gate Communications, Llc | Access system and method for providing interactive access to an information source through a television distribution system |
US6049671A (en) * | 1996-04-18 | 2000-04-11 | Microsoft Corporation | Method for identifying and obtaining computer software from a network computer |
US6802061B1 (en) * | 1996-12-12 | 2004-10-05 | Microsoft Corporation | Automatic software downloading from a computer network |
EP0965199B1 (en) * | 1997-03-04 | 2005-11-16 | ATX Europe GmbH | Method for inserting a service key in a terminal and devices for implementing said method |
KR100513907B1 (en) * | 1997-06-13 | 2005-09-13 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | Cyclic transmission of a plurality of mutually related objects |
US7515712B2 (en) * | 1997-08-01 | 2009-04-07 | Cisco Technology, Inc. | Mechanism and apparatus for encapsulation of entitlement authorization in conditional access system |
US6275938B1 (en) * | 1997-08-28 | 2001-08-14 | Microsoft Corporation | Security enhancement for untrusted executable code |
US6049539A (en) * | 1997-09-15 | 2000-04-11 | Worldgate Communications, Inc. | Access system and method for providing interactive access to an information source through a networked distribution system |
US6055633A (en) * | 1997-10-28 | 2000-04-25 | Honeywell Inc. | Method of reprogramming memories in field devices over a multidrop network |
US6381742B2 (en) * | 1998-06-19 | 2002-04-30 | Microsoft Corporation | Software package management |
US6442755B1 (en) * | 1998-07-07 | 2002-08-27 | United Video Properties, Inc. | Electronic program guide using markup language |
JP4228252B2 (en) * | 1999-02-05 | 2009-02-25 | ソニー株式会社 | Data setting method, data transmission system, and receiving terminal device |
SE514840C2 (en) * | 1999-07-08 | 2001-04-30 | Axis Ab | Method and apparatus for upgrading fixed programs in a built-in system |
US6668374B1 (en) | 1999-07-08 | 2003-12-23 | Axis Ab | Method and apparatus for upgrading firmware in an embedded system |
EP1427214A3 (en) * | 1999-09-02 | 2004-12-22 | General Instrument Corporation | Method and system of identifying software and firmware objects available for download over a network such as a cable television system |
US6591417B1 (en) | 1999-12-30 | 2003-07-08 | International Business Machines Corporation | Method of and system for testing compatibility with an external API upgrade |
US7024696B1 (en) | 2000-06-14 | 2006-04-04 | Reuben Bahar | Method and system for prevention of piracy of a given software application via a communications network |
EP1220094B1 (en) * | 2000-12-30 | 2006-09-06 | Siemens Schweiz AG | Method of programming a safety-critical redundant system |
US6928538B2 (en) * | 2001-04-27 | 2005-08-09 | International Business Machines Corporation | Method and system for delayed booting of a target device in a network environment |
GB0116568D0 (en) * | 2001-07-06 | 2001-08-29 | Ncipher Corp Ltd | Firmware validation |
NO20021247D0 (en) * | 2002-03-13 | 2002-03-13 | Ericsson Telefon Ab L M | Software upgrade method and system |
JP4332116B2 (en) * | 2002-11-01 | 2009-09-16 | 富士通株式会社 | Access request control method, communication device driver program, and communication device |
US7418430B2 (en) * | 2003-07-28 | 2008-08-26 | Microsoft Corporation | Dynamic standardization for scoring linear regressions in decision trees |
JP4216847B2 (en) * | 2003-08-18 | 2009-01-28 | 富士通株式会社 | Power supply control apparatus, power supply control method, and program |
US8539063B1 (en) | 2003-08-29 | 2013-09-17 | Mcafee, Inc. | Method and system for containment of networked application client software by explicit human input |
US7464408B1 (en) | 2003-08-29 | 2008-12-09 | Solidcore Systems, Inc. | Damage containment by translation |
US7385999B1 (en) * | 2003-10-20 | 2008-06-10 | Rockwell Collins, Inc. | Heuristics for combining inter-channel and intra-channel communications in a wireless communications environment |
US8396216B2 (en) | 2003-11-21 | 2013-03-12 | Howard G. Pinder | Partial dual-encryption using program map tables |
US7840968B1 (en) | 2003-12-17 | 2010-11-23 | Mcafee, Inc. | Method and system for containment of usage of language interfaces |
US7783735B1 (en) | 2004-03-22 | 2010-08-24 | Mcafee, Inc. | Containment of network communication |
US7873955B1 (en) * | 2004-09-07 | 2011-01-18 | Mcafee, Inc. | Solidifying the executable software set of a computer |
US7603552B1 (en) * | 2005-05-04 | 2009-10-13 | Mcafee, Inc. | Piracy prevention using unique module translation |
US7856661B1 (en) | 2005-07-14 | 2010-12-21 | Mcafee, Inc. | Classification of software on networked systems |
EP1768346A1 (en) * | 2005-09-23 | 2007-03-28 | Microsoft Corporation | Provision of game applications across a network according to the display characteristics of a user terminal |
US7757269B1 (en) | 2006-02-02 | 2010-07-13 | Mcafee, Inc. | Enforcing alignment of approved changes and deployed changes in the software change life-cycle |
US7895573B1 (en) | 2006-03-27 | 2011-02-22 | Mcafee, Inc. | Execution environment file inventory |
US7870387B1 (en) * | 2006-04-07 | 2011-01-11 | Mcafee, Inc. | Program-based authorization |
US8352930B1 (en) | 2006-04-24 | 2013-01-08 | Mcafee, Inc. | Software modification by group to minimize breakage |
US8555404B1 (en) | 2006-05-18 | 2013-10-08 | Mcafee, Inc. | Connectivity-based authorization |
US8332929B1 (en) | 2007-01-10 | 2012-12-11 | Mcafee, Inc. | Method and apparatus for process enforced configuration management |
US9424154B2 (en) | 2007-01-10 | 2016-08-23 | Mcafee, Inc. | Method of and system for computer system state checks |
US10019570B2 (en) | 2007-06-14 | 2018-07-10 | Microsoft Technology Licensing, Llc | Protection and communication abstractions for web browsers |
US7671567B2 (en) * | 2007-06-15 | 2010-03-02 | Tesla Motors, Inc. | Multi-mode charging system for an electric vehicle |
US8195931B1 (en) | 2007-10-31 | 2012-06-05 | Mcafee, Inc. | Application change control |
EP2223256A1 (en) * | 2007-11-17 | 2010-09-01 | Uniloc Usa, Inc. | System and method for adjustable licensing of digital products |
US8701189B2 (en) | 2008-01-31 | 2014-04-15 | Mcafee, Inc. | Method of and system for computer system denial-of-service protection |
US8615502B2 (en) | 2008-04-18 | 2013-12-24 | Mcafee, Inc. | Method of and system for reverse mapping vnode pointers |
DE102008039580A1 (en) * | 2008-08-25 | 2010-03-04 | Siemens Aktiengesellschaft | Method for transmitting data packets in a communication network and switching device |
US8544003B1 (en) | 2008-12-11 | 2013-09-24 | Mcafee, Inc. | System and method for managing virtual machine configurations |
US8423473B2 (en) * | 2009-06-19 | 2013-04-16 | Uniloc Luxembourg S. A. | Systems and methods for game activation |
US9633183B2 (en) | 2009-06-19 | 2017-04-25 | Uniloc Luxembourg S.A. | Modular software protection |
US20100324983A1 (en) * | 2009-06-22 | 2010-12-23 | Etchegoyen Craig S | System and Method for Media Distribution |
US8381284B2 (en) | 2009-08-21 | 2013-02-19 | Mcafee, Inc. | System and method for enforcing security policies in a virtual environment |
US8341627B2 (en) * | 2009-08-21 | 2012-12-25 | Mcafee, Inc. | Method and system for providing user space address protection from writable memory area in a virtual environment |
US9552497B2 (en) * | 2009-11-10 | 2017-01-24 | Mcafee, Inc. | System and method for preventing data loss using virtual machine wrapped applications |
US8925101B2 (en) | 2010-07-28 | 2014-12-30 | Mcafee, Inc. | System and method for local protection against malicious software |
US8938800B2 (en) | 2010-07-28 | 2015-01-20 | Mcafee, Inc. | System and method for network level protection against malicious software |
US8549003B1 (en) | 2010-09-12 | 2013-10-01 | Mcafee, Inc. | System and method for clustering host inventories |
US9075993B2 (en) | 2011-01-24 | 2015-07-07 | Mcafee, Inc. | System and method for selectively grouping and managing program files |
US9112830B2 (en) | 2011-02-23 | 2015-08-18 | Mcafee, Inc. | System and method for interlocking a host and a gateway |
US9594881B2 (en) | 2011-09-09 | 2017-03-14 | Mcafee, Inc. | System and method for passive threat detection using virtual memory inspection |
US8694738B2 (en) | 2011-10-11 | 2014-04-08 | Mcafee, Inc. | System and method for critical address space protection in a hypervisor environment |
US9069586B2 (en) | 2011-10-13 | 2015-06-30 | Mcafee, Inc. | System and method for kernel rootkit protection in a hypervisor environment |
US8973144B2 (en) | 2011-10-13 | 2015-03-03 | Mcafee, Inc. | System and method for kernel rootkit protection in a hypervisor environment |
US8800024B2 (en) | 2011-10-17 | 2014-08-05 | Mcafee, Inc. | System and method for host-initiated firewall discovery in a network environment |
US8713668B2 (en) | 2011-10-17 | 2014-04-29 | Mcafee, Inc. | System and method for redirected firewall discovery in a network environment |
US9129102B2 (en) | 2012-03-23 | 2015-09-08 | Paypal, Inc. | Hardening security images |
US8739272B1 (en) | 2012-04-02 | 2014-05-27 | Mcafee, Inc. | System and method for interlocking a host and a gateway |
US8973146B2 (en) | 2012-12-27 | 2015-03-03 | Mcafee, Inc. | Herd based scan avoidance system in a network environment |
EP3061030A4 (en) | 2013-10-24 | 2017-04-19 | McAfee, Inc. | Agent assisted malicious application blocking in a network environment |
WO2015172352A1 (en) | 2014-05-15 | 2015-11-19 | Seagate Technology Llc | Storage device tampering detection |
US9489542B2 (en) | 2014-11-12 | 2016-11-08 | Seagate Technology Llc | Split-key arrangement in a multi-device storage enclosure |
EP3219066B1 (en) * | 2014-11-12 | 2019-08-28 | Telefonaktiebolaget LM Ericsson (publ) | Radio device hardware security system for wireless spectrum usage |
CN112925532B (en) * | 2019-12-06 | 2023-07-14 | 北京华为数字技术有限公司 | Software installation method, information sending method and device |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3605091A (en) * | 1969-09-18 | 1971-09-14 | Bell Telephone Labor Inc | Feedback error control arrangement |
US3805234A (en) * | 1972-07-31 | 1974-04-16 | Westinghouse Electric Corp | Digital data transmission system |
US3934224A (en) * | 1974-10-29 | 1976-01-20 | Honeywell Information Systems, Inc. | Apparatus for continuous assessment of data transmission accuracy in a communication system |
IT1047329B (en) * | 1975-09-30 | 1980-09-10 | C Olivetto E C S P A Ing | REMOTE IGNITION AND INITIALIZATION DEVICE OF A TERMINAL |
US4054911A (en) * | 1976-06-03 | 1977-10-18 | Idr, Inc. | Information retrieval system for providing downstream loading of remote data and processing control thereof |
US4070648A (en) * | 1976-06-18 | 1978-01-24 | Ncr Corporation | Computer to computer communication system |
US4159468A (en) * | 1977-11-17 | 1979-06-26 | Burroughs Corporation | Communications line authentication device |
FR2466144B1 (en) * | 1979-09-18 | 1986-11-07 | Lignes Telegraph Telephon | METHOD FOR TESTING A LINE FOR TRANSMITTING DIGITAL DATA BETWEEN TWO MODEMS AND DEVICE IMPLEMENTING THIS METHOD |
US4335426A (en) * | 1980-03-10 | 1982-06-15 | International Business Machines Corporation | Remote processor initialization in a multi-station peer-to-peer intercommunication system |
US4446519A (en) * | 1981-05-26 | 1984-05-01 | Corban International, Ltd. | Method and apparatus for providing security for computer software |
US4533948A (en) * | 1982-04-30 | 1985-08-06 | General Instrument Corporation | CATV Communication system |
DE3374964D1 (en) * | 1982-09-29 | 1988-01-28 | Toshiba Kk | Decentralized information processing system and initial program loading method therefor |
US4597058A (en) * | 1983-05-09 | 1986-06-24 | Romox, Inc. | Cartridge programming system |
-
1985
- 1985-04-24 US US06/726,676 patent/US4982430A/en not_active Expired - Lifetime
-
1986
- 1986-04-21 EP EP86870052A patent/EP0200704B1/en not_active Expired - Lifetime
- 1986-04-21 DE DE8686870052T patent/DE3679711D1/en not_active Expired - Lifetime
- 1986-04-23 JP JP61092460A patent/JPH0787455B2/en not_active Expired - Lifetime
- 1986-04-24 CA CA000507504A patent/CA1295412C/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE3679711D1 (en) | 1991-07-18 |
EP0200704A2 (en) | 1986-11-05 |
JPS61248636A (en) | 1986-11-05 |
EP0200704B1 (en) | 1991-06-12 |
US4982430A (en) | 1991-01-01 |
JPH0787455B2 (en) | 1995-09-20 |
EP0200704A3 (en) | 1989-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA1295412C (en) | Bootstrap channel security arrangement for communication network | |
FI76469B (en) | KOMMUNIKATIONSSYSTEM FOER KABELTELEVISIONSNAET. | |
EP1452027B1 (en) | Access to encrypted broadcast content | |
US4638356A (en) | Apparatus and method for restricting access to a communication network | |
US8973025B2 (en) | Method and system for providing security within multiple set-top boxes assigned for a single customer | |
AU760045B2 (en) | Data communications | |
JP2879814B2 (en) | Communication method | |
CN100452754C (en) | Image transmission devcie, image transmission system and communicator | |
KR100610277B1 (en) | Authentification of data in a digital transmission system | |
US5311596A (en) | Continuous authentication using an in-band or out-of-band side channel | |
US20030018917A1 (en) | Method and apparatus for delivering digital media using packetized encryption data | |
EP0781427B1 (en) | Secure computer network | |
US20040030926A1 (en) | Multi-session secured digital transmission process | |
MX2008010705A (en) | Secure electronic transaction system. | |
WO2002021283A1 (en) | System and method for transmitting and storing sensitive data | |
US7003797B2 (en) | Secure personal identification number entry in a distributed network | |
US6363482B1 (en) | Secure broadband communication | |
CA1219332A (en) | Catv communications system | |
CA2301383A1 (en) | Monitoring the transmission quality in a digital communications network | |
NZ214189A (en) | Headend apparatus for catv communication system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MKEX | Expiry | ||
MKEX | Expiry |
Effective date: 20090204 |