System and method for securely upgrading firmware
AssigneeRanco Incorporated of Delaware
InventorsPhillip Ryan Wagner, John Gilman Chapman JR.
Life of this patent
Estimating the term…
Loading patent…
AssigneeRanco Incorporated of Delaware
InventorsPhillip Ryan Wagner, John Gilman Chapman JR.
Estimating the term…
Upgraded firmware for a microcontroller is created and encrypted to construct a file (116) that can be distributed and installed by technicians in the field. The encryption includes character encryption (210) of the data as well as a second level of block encryption (216). Within the encrypted file (116), information about the firmware and the target microcontroller (104) is included. The distributed firmware file (116) is stored on a portable device, such as a PDA, that can communicate with the target microcontroller (104) to effect a firmware transfer from the PDA (112) to the microcontroller (104). The microcontroller (104) includes a programming routine that receives the encrypted data stream from the PDA and decrypts the data before storing the new firmware image. The programming routine also identifies when updating the firmware has left the firmware in an unusable condition and prevents operation of the microcontroller until the firmware is restored. Accordingly, the security of the firmware is maintained throughout the distribution and upgrade process and the integrity of the upgrade process is maintained as well.
A method for constructing an encrypted file comprising the steps of:
A method for constructing a firmware file for a target microcontroller, comprising the steps of:
A method for updating firmware in a microcontroller, the method comprising the steps of:
A method for upgrading firmware in a microcontroller-controlled device, the method comprising the steps of:
A computer readable media bearing instructions for constructing an encrypted file, said instructions being arranged to cause one or more processors upon execution thereof to perform the steps of:
A computer readable media bearing instructions for updating firmware in a microcontroller, said instructions being arranged to cause one or more processors upon execution thereof to perform the steps of:
A computer readable media bearing instructions for upgrading firmware in a microcontroller-controlled device, said instructions being arranged to cause one or more processors upon execution thereof to perform the steps of:
A computer readable encrypted firmware distribution file (116) embodied in a carrier wave, comprising:
A method for securely updating microcontroller firmware, the method comprising the steps of:
Dependencies are inferred from the claim text.
Drawings are temporarily unavailable. Open the PDF at USPTO
From the US filing history. Foreign family members aren’t listed.
Backward citations are indexed for grants only.
Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates…:…
Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords: usage controlling of secret information,…
Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication…
Computing and data processing
Term end not estimated
The present invention relates to microcontrollers and, more particularly, to programming such microcontrollers.
Microcontrollers and microprocessors are used to control a variety of equipment and systems. In particular, large appliances such as heaters, air conditioners, thermostats, and refrigerators include programmable microcontrollers that manage and direct their operation. Such microcontrollers typically include, among other features, programmable memory that is programmed during assembly of the appliance to store information about the appliance as well as executable code that permits the microcontroller to perform its intended function.
By storing this appliance-controlling executable code in programmable memory, an appliance's performance and operation can be updated by merely reprogramming the microcontroller's programmable memory region. Such reprogramming can be performed in the field and eliminates the need for technicians to stock and install sensitive electronic devices for a large number of different appliances.
The present invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements and in which:
FIG. 1 illustrates an exemplary environment for application of embodiments of the present invention.
FIG. 2 illustrates a flowchart for constructing an encrypted firmware file according to embodiments of the present invention and also illustrates the transitional file structures corresponding to the different flowchart steps.
To aid with the understanding of the present invention, exemplary embodiments are presented within the context of a specific environments. It will be apparent, however, to one skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known structures, devices, and processes are shown in block diagram form, herein, in order to avoid unnecessarily obscuring the present invention.
FIG. 1 illustrates one typical environment 100 that can benefit from various embodiments of the present invention. Within the illustrated environment 100, a computer 114 is used to design, test, debug and compile the main operating firmware for an appliance 102. The appliance 102 can be, for example, a heater, a heat pump, air conditioner, or other large appliance under control of a microcontroller. The operating firmware for the appliance 102 is executed by the microcontroller to control the operation of the appliance 102. For example, if appliance 102 is a heater, the microcontroller may have software routines to obtain information about a room's ambient temperature, information about a desired set point temperature, and information about the current operating state of the heater. Using such information, the operating firmware has other software routines that turn the heater on and off, initiate diagnostic cycles, or possibly communicate with other devices and appliances.
According to an embodiment of the present invention, the operating firmware is arranged into an encrypted flash data file 116 that can be used by the microcontroller once decrypted. Preferably, the computer 114 includes software routines that can arrange the operating firmware into a file that is formatted such that the file can be used by the microcontroller without further rearrangement, address linking, or other manipulation.