SYSTEM OF AND METHOD FOR SECURE FIRMWARE UPDATE AND LOADING OF CABLE MODEM

Abstract: A system for and method of loading encrypted cable modem firmware from a non-volatile storage device maintained in a host upon power up. The host is coupled to the cable modem through an interface. The encrypted firmware is decrypted using one or more encryption keys maintained in the cable modem. The decrypted firmware is then stored in a volatile storage device maintained in the cable modem, and executed. Encrypted firmware updates may be received from an external source, such as cable operator head end, stored in a non-volatile storage device maintained in the host, decrypted in the cable modem, and executed.

Description: E C C A OF CABLE MODEM 3ACKGR0U D OF THE INVENTION Field of the Invention This invention relates generally to the field of cable modems, and, more specifically, to the field of CCCΞIS- compliant cable modems, particularly US3 cable mode s. Background The DOCSIS (Data Over Cable Service Interface Specification) 1.0 standard for cable modems requires that the mode include a non-volatile flash memory for the storage of modem firmware. The standard further requires that the modem be capable of retrieving firmware updates via TFT? from a location specified by the cable system head end, storing them in the flash memory, and then rebooting itself to begin executing the updated firmware. The problem is that flash memory is expensive, and is a major factor in the high cost of cable modems today. Moreover, the flash memory is required by the DOCSIS standard, and also performs the valuable function of providing non-volatile storage of the mode firmware. Therefore, it does not appear technically or practicallv feasible to remove the flash memory from the modem. Consequently, there is a need for a system for a d method of providing non-volatile storage of modem firmware which is DOCSIS -compliant and yet allows for reduced cost cf the modem. SUMMARY OF THE INVENTION In accordance with the purpose of the invention as broadly described herein, there is provided, in a first embodiment of the invention, a cable mode system comprising a cable modem and a host, with the cable modem coupled to the host through an interface. The cable modem comprises a non-volatile storage device for the storage of one or more encryption keys, a volatile storage device for the storage of modem firmware, and a processor for decrypting, using the one or more encryption keys, encrypted modem firmware as received from the host or an external source. The processor is further configured for storing the decrypted firmware in the volatile storage device, and executing the modem firmware as stored in the volatile storage device. The host includes a non-volatile storage device for the storage of the encrypted modem firmware. In one implementation, the host is a ?C, and the ncn- olatile storage device in the host is a hard disk. In this implementation, the processor in the ?C is configured to download the encrypted modem firmware to the cable modem over the interface . In one implementation, the interface between the ?C and the cable modem is a USB interface, thus allowing plug and play operation of the modem. In one implementation example, the non-volatile storage device in. the cable modem is configured to store boot firmware in addition to the decryption keys. In another example, the boot firmware is stored in a ROM which may be distinct from the device used to store the keys. Through execution of the boot firmware, the processor in the cable modem is able to perform the functions of receiving encrypted modem firmware from an external source or the host, decrypting the firmware, storing the decrypted firmware in the volatile storage device in the cable mode , and rebooting the modem to begin execution of the firmware as stored in the volatile memory device. In one implementation example, the non-volatile storage device in the cable modem is incapable of storing the cable modem firmware. In one con iguration, the host includes a storage device for storing driver software for enabling th. host to communicate with the cable modem over the interface between the two. In this configura ion, the method of firmware encryption employed is DES encryption. In one embodiment of a method in accordance with the invention, upon power up, the encrypted modem firmware is downloaded to the cable modem from the host. The firmware is then decrypted using one or more encryption keys maintained at the cable modem. The decrypted firmware is then stored in a volatile storage device maintained in the cable modem. The modem is then rebooted to execute the firmware as stored in the volatile storage device. In a second embodiment of a method in accordance with the invention, when a firmware update is available from an external source such as a cable operator head end, the encrypted firmware update is received by the cable modem, and transferred to the host for storage in a non-volatile storage device. Optionally, one or more encryption keys are provided to the cable modem at the same time as the firmware update, but these one or more keys, if received, are not transferred to the host. Instead, only the encrypted firmware update is transferred to the host. In the cable mode , the firmware update is decrypted using the one or more keys, and stored in a volatile storage device maintained in the cable modem. r. addition, one or more encryption keys, if received from the external source, are stored in a non-volatile storage device maintained in the cable modem. The cable modem is then rebooted to begin execution of the firmware update as stored in the volatile storage device . By providing a non-volatile storage device in the host for the storage of the encrypted firmware or firmware update for the cable modem, the flash memory in the DCCSIS- compliant cable mode can be replaced with a smaller and less expensive volatile memory device for the storage of modem firmware. Although non- olatile storage is required for the storage of the one or more encryption keys and a boot program, the storage required will be smaller and less costly than the flash memory required to store the modem firmware. The result is a lower cost cable mode than in the past. Moreover, it is believed that the DOCSIS- imposed mandate of a flash memory within the cable mode for the storage of the modem firmware is limited to modems which are external to the host, and interface thereto through the Ethernet. Therefore, it is believed that th s mandate s inapplicable to cable modems, such as those of the subject invention, which are typically internal to the host. At the same time, the purpose of the DOCSIS -mandate—to contain the modem firmware within the modem itself to prevent tampering thereof by hackers and the like—is fulfilled since, in the subject invention, only ,encrypted firmware is passed between the cable modem and the host. In addition, to further maintain security, the encryption keys are maintained within the cable modem and not provided to the host were they can be accessed by hackers. Consequently, it is believed that the cable modems of the subject invention will be likely candidates for DOCSIS- certification notwithstanding the lack of a flash memory therein for the storage of the modem firmware. 3RIΞF DESCRIPTION OF THE DRAWINGS Figures 1A-1C illustrate example environments for adoption of the subject invention. Figure 2A illustrates a first embodiment of a system in accordance with the subject invention. Figure 23 illustrates a second embodiment of a system in accordance with the subject invention. Figure 3A illustrates a first embodiment of a method in accordance with the subject invention. Figure 33 illustrates a second embodiment of a method in accordance with the subject invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS I . Example Environments An example environment for adoption of the subject invention is illustrated in Figure 1A. As illustrated, one or more cable modems 5a, 5b, 5c, 5d, 5e, and 5f are coupled to a cable office head end 1 by means of a cable 4. Head end 1, in turn, is coupled to a computer network, such as the Internet 2, over a suitable interface 3. One or more of the cable modems, such as cable modem 5e, may be resident within a home, identified with numeral 6 . With reference to Figure IB, within a typical home, the cable 4 is capable of delivering composite video for display on a TV, identified with numeral 11, or data (originating, for example, from computer network 2), for delivery by the cable modem 5e to a host such as PC 15 over interface 13. In this environment, the incoming cable 4 is split, by means of splitter 10, between the TV 11 and the cable modem 5e . Typically, the cable modem 5e is separate and distinct from host. 15, and the interface 13 between the two is the Ethernet. With reference to Figure 1C, a DCC≤I≤-compliant modem in such an environment typically comprises a processor 22, and flash memory 20 and RAM 21 accessible by the processor 22 over bus 23. The flash memory 20 provides ncn-volatile storage of the modem firmware. Upon power up, the modem is booted up, and a boot program resident m the flash memory loads the firmware into the RAM 21 for execution thereof by the' processor 22. Incoming data packets addressed to the modem 5e in such an environment are received by the modem and evaluated. If the packet is a command from the cable office head end requesting the cable modem to reconfigure itself, the command is executed, and no interaction is had with the PC 15 coupled to the cable modem. Cn the other hand, if the data packet is destined for the PC, the cable modem 5e simply passes it to the PC over the interface 13. II. Preferred Embodiments A first embodiment of the invention comprises a cable mode system. With reference to Figure 2A, the cable modem system comprises a host 30 and a cable modem 32. Cable modem 32 is interfaced to host 30 through interface 33. Although Figure 2A shows cable modem 32 as external to host 30, oarticulariy in embodiments in which the interface 35 is a US3 interface, the cable modem 32 may be internal to the host. In one implementation example, the cable mode 32 plugs into the backplane of the host. Cable modem 32 comprises a non-volatile storage device 33 for the storage of one or more encryption keys 37, a volatile storage device 34 for the storage of modem firmware, and a processor 35 for decrypting, using the one or more encryption keys, encrypted modem firmware as received from the host over interface 38 or an external source (such as the head end server) over interface 31. The processor 35 is capable of accessing the non-volatile memory device 33 and the volatile memory device 34 through bus 35. The processor 35 is further configured for storing the decrypted firmware in the volatile storage device 34, and executing the mode firmware as stored in the volatile storage device 34. The host includes a non-volatile storage device 41 for the storage of the encrypted modem firmware 43. In one implementation, the host is a PC, and the non-volatile storage device 41 in the PC is a hard disk. In this implementation, a processor 39 within the PC is configured to provide the encrypted modem firmware to the cable mode 32 over the interface 38. The prccesscr 35 is capable of accessing the ncn-volatile storage device 41 ever bus 43. In one implementation, the interface 33 between the PC and the cable modem 32 is a USB interface, thus alloving plug and play operation of the modem. In one example, the non-volatile storage device 33 in the cable modem is an NVRAM configured to store boot firmware in addition to the decryption keys 37. Alternatively, the boot software could be stored in a ROM (not shown) accessible to processor 32 over interface 38. The boot software is provided to support USB plug and play operation. In one example, the volatile storage device 34 is RAM configured to store the modem firmware while the same is being executed. In one implementation, through execution of the boot firmware, the processor 35 in the cable modem 32 performs the functions of receiving encrypted modem firmware from an external source or the host, decrypting the firmware, storing the decrypted firmware in the volatile storage device 34 in the cable modem, and then rebooting the modem to begin execution of the firmware as stored in the volatile memory device 34. In one implementation example, the non-volatile storage device 33 in the cable mode 32 is incapable of storing the cable modem firmware. In one configuration, the host 30 includes a volatile storage device 42 for storing driver software 47 for enabling the host 30 to communicate with the cable modem 32 over interface 38. In one implementation, the method of firmware encryption employed is DΞS encryption. There are several possible methods for providing the encryption keys 37 to the cable modem 32. In one alternative, a newly purchased cable modem comes equipped with a non-volatile storage device in which is stored one or more default keys and modem firmware encrypted with the one or more default keys. When the modem is powered up, the boot program in the cable modem is executed, causing the encrypted modem firmware to be provided to the host 30 over interface 40. The host 30 stores the encrypted firmware in non-volatile storage device 43. In addition, processor 35 within the cable modem 32 decrypts the modem firmware, stores it in RAM 34, and then reboots itself, causing the decrypted modem firmware to be executed. In another alternative, the one or more encryption keys are provided as part of the DOCSIS cable modem registration process. During this process, the mode is required to read a configuration file from the cable system head end. Included in this configuration file are o e or more encryption keys for the modem, and firmware for the modem encrypted with the one or more encryption keys. These items are received by the cable modem, and then processed as in the previous alternative. In a third alternative, one or more encryption keys are initially provided as per either of the above two alternatives, and then, one or more new keys are provided to the cable modem by the cable office head end when the modem firmware is updated. In this alternative, the one or more new keys are provided to the cable modem along with the updated firmware encrypted with the one or more new keys. The modem transfers the encrypted firmware update to the host, where it is stored in non-volatile memory device 43. Meanwhile, the cable modem stores the one or more new keys in NVRAM 33, decrypts the firmware update using the one or more new keys, and then stores the decrypted firmware update in RAM 34. The modem then reboots itself to begin execution of the firmware update. A second embodiment of a cable modem system in accordance with the subject invention is illustrated in Figure 23. Compared to Figure 2A, iι.e elements m Figure 23 are referenced with like identifying numerals As illustrated, in this embodiment, interface 23 :: Figure 2A, which, in one implementation, is a ΞΞ interface, is replaced m Figure 23 witn an Ξtnernet ?CI interface wnich, m one implementation, comprises Ξtnernet interface 44, Ethernet/PCI conversion circuitry 45, and PCI interface 46. Otherwise, the structure and operation of the embodiment of Figure 23 is similar, if not identical, to that cf Figure 2A. This emoodiment is suitable for those applications in which the interface to tne nost is a PCI interface . A first emoodiment of a method of poweπng-up a cable modem m accordance with the subject invention is illustrated m Figure 3A. Prior to power-up, witn reference to Figure 2A, the encrypted mode firmware is assumed to oe stored m tne non-volatile storage device 41 of host 30 Upon power-up, m step 50, the encrypted firmware is downloaded to tne caole modem 32 from tne host In step 51, the firmware is then decrypted, m tne caole modem, using tne one or more encryption keys 37 maintained m tne caole modem. In the embodiment of Figure 2A, tne one or more keys are maintained in the non-volatile storage device 33 of the cable modem. In one configuration, in step 52, the decrypted firmware is then stored in a volatile storage device maintained in the cable mode . In one implementation of the embodiment of Figure 2A, the volatile storage device 34 is RAM. In step 53, the mode is then rebooted to execute the firmware as stored in the volatile storage device. In one implementation of the embodiment of Figure 2A, the boot program for the modem is maintained in ROM (not shown) . A second embodiment of a method of updating cable modem firmware in accordance with the subject invention is illustrated in Figure 3B. It is assumed that the firmware update is available from an external source such as a cable operator head end. In step 60, the encrypted firmware update is received by the cable modem. In the embodiment of Figure 2A, the update is received over interface 31. Optionally, updated one or more encryption keys are received at the same time. If new keys are received, it is assumed that the firmware update is encrypted with the new one or more keys. In step 61, the encrypted update is transferred to the host for storage in a non-volatile storage device. In the embodiment of Figure 2A, the encrypted update is stored m non-volatile storage device 41. If one or more encryption keys are provided to the cable modem at the same time as the firmware update, these one or more keys are net transferred to the host. Instead, only the encrypted update is transferred. In step 62, in the cable mode , the firmware update is then decrypted using the one or more encryption keys maintained in the modem. In the embodiment of Figure 2A, the one or more encryption keys, identified with numeral 3-7, are maintained in non-volatile storage device 33. In one implementation, in step 63, the decrypted update is stored in a volatile storage device maintained in the cable modem. In the embodiment of Figure 2A, the decrypted update is stored in volatile storage device 34 which, in one implementation, is RAM. In step 65, the cable modem is then rebooted, to begin execution of the firmware update as stored in the volatile storage device. In one implementation of the embodiment of Figure 2A, the boot program for the cable modem is stored in ROM (not shown) . In one implementation example, a representation of the cable modem power-up process in pseudo-code is as follows: System Powers On US3 PnP discover- r if o firmware .sage loaded ' V US3 Download encrypted firmware image Decrypt firmware Reboot modem } So normal DOCSIS cable modem startup and reg i In this implementation example, a representat: the cable modem firmware update process in pseudo-: as follows: if (new firmware available at cable head end) Get new DΞS encrypted firmware and keys using TFT? Notify PC of new image Send image to host minus new keys Decrypt firmware using transmitted keys Store keys in NVRAM Restart modem 1 / 3y providing a non-volatile storage device in the host for the storage of the encrypted firmware or firmware update for the cable modem, the flash memory m the DOCSIS- compliant cable modem can be replaced with smaller and less expensive volatile storage for the storage of the firmware within the modem. Although non-volatile storage is required for the storage of the encryption keys and a boot program, this storage is still much smaller and less costly than the flash memory required to maintain the mode firmware within the modem. The result is a lower cost cable modem than in the past. Moreover, it is believed that the DOCSIS -imposed mandate of a flash memory within the cable modem for the storage of the modem firmware is limited to mode s which are external to the host, such as cable modems which interface to the PC through the Ethernet. Therefore, it is believed this mandate inapplicable to cable mode s, such as those of the subject invention, which typically are internal to the host and are interfaced thereto through a USB interface. At the same time, the purpose of the DOCΞIS-mandate—to contain the modem firmware within the modem itself to prevent tampering thereof by hackers and the like—is fulfilled since, in the subject invention, only encrypted firmware is passed between the cable modem and the host . In addition, to further maintain security, the encryption keys are maintained within the cable modem and net provided to the host were they are susceptible to being accessed by hackers. Consequently, it is believed that the cable mode s of the subject invention will be likely candidates for DOCSIS- certification notwithstanding the lack of a flash memory therein for the storage of the modem firmware. While embodiments, implementations, and implementation examples of the subject invention have been shown and described, it should be apparent that there are many more embodiments, implementations, and implementation examples that are within the scope of the subject invention. Accordingly, the subject invention is not to be restricted, except in light of the appended claims and their eαuivalents .

Claims: CLAIMS What is claimed is: 1. A cable modem system comprising: a cable modem comprising: a non-vciatile storage device for the storage of one or more encryption keys,- a volatile storage device for the storage of decrypted mode firmware; and a processor for accessing the non-volatile and volatile storage devices over a bus ,- a hose including a non-volatile storage device for the Storage of encrypted modem firmware; and an interface for interfacing the cable modem and the host ; wherein the processor, upon power-up, is configured to receive the encrypted modem firmware as stored in the non- volatile storage device in the host, decrypt the encrypted firmware using the one or more encryption keys maintained in the cable modem, store the decrypted firmware in the volatile storage device maintained in the cable mode, and then begin execution of the decrypted firmware. 2. The system of claim 1 wherein the interface is a USB interface . 3. The system of claim 2 wherein the non-volatile storage device in the cable modem is NVRAM. 4. The system of claim 3 wherein the host is a PC. 5. The system of claim 4 wherein the ncn-volatile storage device in the host is a hard disk. 6. The system of claim 5 wherein the modem is internal to the host . 7. The system of claim 1 wherein the interface is an Ethernet/PCI interface. 8. The system of claim 1 wherein the non-vclatile storage device in the cable modem is incapable of storing the decrypted modem firmware. 9. The system of claim 1 wherein the cable modem further comprises ROM for the storage of a boot program. 10. A cable modem system comprising: a cable modem comprising: a volatile storage device for the storage of decrypted modem firmware; and a processor for accessing the volatile storage device over a bus ; a host including a non-volatile storage device for the storage of encrypted modem firmware; and a first interface for interfacing the cable mode and the host; a second interface for interfacing the cable modem to an external source ; wherein the processor, upon the availability of an encrypted modem firmware update from the external source, is configured to receive the encrypted update from the external source over the second interface, provide the encrypted update to the host over the first interface for storing in the non-volatile storage device in the host, decrypt the encrypted update using one or more encryption keys, store the decrypted update in the volatile storage device maintained in the cable modem, and then begin execution of the decrypted update. 11. The system of claim 10 wherein the processor is further configured to receive the one or more encryption keys from the external source over the second interface. 12. The system of claim 10 wherein the processor is further configured to receive the one or more encryption keys from a non-volatile storage device within the cable modem which is accessible by the processor. 13. A method of powering up a cable modem comprising the steps of : upon power up, downloading to the cable mode encrypted modem firmware from non-volatile storage maintained in a host ; decrypting, in the cable mode , the encrypted . _rττ :.\ a. : using one or more encryption keys maintained in the cable mode ; and executing, in the cable modem, the decrypted firmware. 14. The method of claim 13 wherein the downloading step comprises downloading the encrypted firmware from a hard disk in a PC. 15. The method of claim 13 further comprising storing the decrypted firmware in a volatile storage device maintained in" the cable modem. 16. The method of claim 13 wherein the downloading step further comprises downloading the encrypted software from the host over a US3 interface. 17. The method of claim 13 wherein the downloading step further comprises downloading the encrypted software from a host over a Ethernet/?CI interface. 18. The method of claim 13 wherein the one or more encryption keys are DΞS keys. 19. A method of updating the firmware of a cable modem comprising the steps of: receiving by the cable modem an encrypted firmware update from an external source ; transferring to a host the encrypted update for storing in a non-volatile storage device maintained in the host; decrypting, in the cable modem, the e orypteα firmware update using one or more encryption keys; and executing, in the cable modem, the decrypted firmware update . 20. The method of claim 19 wherein the external source comprises a cable operator head end. 21. The method of claim 19 further comprising receiving from the external source the one or more encryption keys. 22. The method of claim 21 further comprising storing, in a non-vciatiie storage device maintained in the cable mode , the one or more encryption keys. 22. The method of claim 19 further comprising retrieving the one or more encryption keys from a non-volatile storage device maintained in the cable modem. 24. The method of claim 19 further comprising storing the decrypted firmware update in a volatile storage device maintained in the cable modem.

Inventors: ESKIN MICHAEL A, MAIR STEVEN, ESKIN, MICHAEL, A., MAIR, STEVEN
Applicants: CONEXANT SYSTEMS INC, CONEXANT SYSTEMS, INC.
Application year: 2000
Main classification: H04N7
IPC codes: G06F9, G06F21, H04N7