Method and System for Securely Updating Field Upgradeable Units
Abstract
Devices and methods for securely upgrading devices, such as field upgradeable units, are disclosed. In response to receiving an update object, a device may determine whether a predefined location of memory includes a predetermined value. Based on the value in the predefined location, the device may store the received update object in a verification portion of the memory. After verifying the authenticity of the update object, the device may copy the update object from the verification portion of the memory to an inactive portion. The inactive portion of the memory can be swapped with an active portion of the memory, such that the inactive portion becomes active.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A network device comprising:
a processor; and a memory having program information stored therein that, when executed by the processor, cause the network device to perform the following operations in response to receiving an update object: determine whether the memory includes a predetermined value; store, based on said determination, the received update object in the memory; verify the authenticity of the update object stored in the memory, wherein the operation of verifying the authenticity of the update includes comparing a first data to a second data, the first data determined by applying, to an update signature received in association with the update object, a public key of the network device, the second data determined by processing the update object; perform an operation to cause the processor to use update information in the verified update object in lieu of other information stored in the memory.
2 . A network device comprising:
a processor; and a memory having program information stored therein that, when executed by the processor, cause the network device to perform the following operations in response to receiving an update object: determine whether the memory includes a predetermined value; store, based on said determination, the received update object in the memory; perform an operation to cause the processor to use update information in the update object in lieu of other information stored in the memory; and sign the received update object using a private key corresponding to a received key.
3 . The network device of claim 2 , wherein:
the memory further has program information to cause the network device to perform the following additional operation: copy information included in the verified update object from a first portion of the memory to a second portion of the memory; and wherein the operation of causing the processor to use information in the update object in lieu of other information stored in the memory includes causing the processor to use the information copied to the second portion of the memory in lieu of information stored in a third portion of the memory.
4 . The network device of claim 2 , wherein, based on a determination that the memory includes the predetermined value, the program information cause the network device to prevent processing of interrupts and exceptions by the processor.
5 . The network device of claim 2 , wherein, based on a determination that the memory includes the predetermined value, the program information cause the network device to enable the memory to record information.
6 . The network device of claim 2 , wherein performing the operation to cause the processor to use the update information in the update object in lieu of other information stored in the memory includes causing the network device to reboot using the information received in the update object.
7 . A network device comprising:
a processor; and a memory having program information stored therein that, when processed by the processor, cause the network device to perform the following operations in response to receiving an update object: determine whether the memory includes a predetermined value; store, based on said determination, the received update object in the memory; and perform an operation to cause the processor to use update information in the update object in lieu of other information stored in the memory, wherein the network device is a node in a smart grid network.
8 . The network device of claim 7 , wherein:
the memory further has program information to cause the network device to perform the following additional operation: copy information included in the update object from a first portion of the memory to a second portion of the memory; and wherein the operation of causing the processor to use information in the update object in lieu of other information stored in the memory includes causing the processor to use the information copied to the second portion of the memory in lieu of information stored in a third portion of the memory.
9 . The network device of claim 7 , wherein, based on a determination that the memory includes the predetermined value, the program information cause the network device to prevent processing of interrupts and exceptions by the processor.
10 . The network device of claim 7 , wherein, based on a determination that the memory includes the predetermined value, the program information cause the network device to enable the memory to record information.
11 . The network device of claim 7 , wherein performing the operation to cause the processor to use the update information in the update object in lieu of other information stored in the memory includes causing the network device to reboot using the information received in the update object.
12 . A network device comprising:
a processor; a memory having program information stored therein that, when processed by the processor, cause the network device to perform the following operations in response to receiving an update object: determine whether the memory includes a predetermined value; store, based on said determination, the received update object in the memory; and perform an operation to cause the processor to use update information in the update object in lieu of other information stored in the memory; and a state machine characterized by a plurality of states, said states including a first state in which the network device is configured to prevent the processor from modifying information recorded in the memory.
13 . The network device of claim 12 , wherein:
the memory further has program information to cause the network device to perform the following additional operation: copy information included in the update object from a first portion of the memory to a second portion of the memory; and wherein the operation of causing the processor to use information in the update object in lieu of other information stored in the memory includes causing the processor to use the information copied to the second portion of the memory in lieu of information stored in a third portion of the memory.
14 . The network device of claim 12 , wherein, based on a determination that the memory includes the predetermined value, the program information cause the network device to prevent processing of interrupts and exceptions by the processor.
15 . The network device of claim 12 , wherein, based on a determination that the memory includes the predetermined value, the program information cause the network device to enable the memory to record information.
16 . The network device of claim 12 , wherein performing the operation to cause the processor to use the update information in the update object in lieu of other information stored in the memory includes causing the network device to reboot using the information received in the update object.
17 . The network device of claim 12 , wherein said states of the state machine include a second state in which the network device is configured to enable the processor to modify the information recorded in the memory.
18 . The network device of claim 12 , wherein the state machine is configured such that the predetermined value in the memory triggers the state machine to enter the second state to enable the processor to modify the information recorded in the memory.Join the waitlist — get patent alerts
Track US2017250818A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.