Secure software updates
First Claim
Patent Images
1. A method for updating software modules installed on electronic devices, the method comprising, at a computing device:
- storing a latest version identifier for a latest version of a software module stored on a server device;
establishing a connection with an electronic device;
obtaining, from the electronic device, a current version identifier for the software module installed on the electronic device;
comparing the latest version identifier to the current version identifier to determine whether an update is available for the software module; and
in response to determining that the update is available;
transmitting, to the server device, a request for the latest version of the software module stored on the server device,receiving, from the server device, the latest version of the software module, wherein the latest version of the software module is encrypted using a unique encryption key associated with the electronic device,providing the latest version of the software module to the electronic device for installation at the electronic device, andupdating a configuration of the electronic device to cause the electronic device to install the latest version of the software module in response to closing the connection with the computing device.
0 Assignments
0 Petitions
Accused Products
Abstract
Improved techniques to update software in electronic devices that are already in use are disclosed. In one embodiment, software can be updated in a secure and controlled manner using cryptography. The authenticity of the updated software as well as its appropriateness for the particular electronic device can be confirmed prior to update. The software can also be updated on a per module basis. In one embodiment, a server hosts software updates for various electronic devices, and supplies the appropriate software update to the electronic devices via a data network.
51 Citations
20 Claims
-
1. A method for updating software modules installed on electronic devices, the method comprising, at a computing device:
-
storing a latest version identifier for a latest version of a software module stored on a server device; establishing a connection with an electronic device; obtaining, from the electronic device, a current version identifier for the software module installed on the electronic device; comparing the latest version identifier to the current version identifier to determine whether an update is available for the software module; and in response to determining that the update is available; transmitting, to the server device, a request for the latest version of the software module stored on the server device, receiving, from the server device, the latest version of the software module, wherein the latest version of the software module is encrypted using a unique encryption key associated with the electronic device, providing the latest version of the software module to the electronic device for installation at the electronic device, and updating a configuration of the electronic device to cause the electronic device to install the latest version of the software module in response to closing the connection with the computing device. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. At least one non-transitory computer readable storage medium configured to store instructions that, when executed by at least one processor included in a computing device, cause the computing device to update software modules installed on electronic devices, by carrying out steps that include:
-
storing a latest version identifier for a latest version of a software module stored on a server device; establishing a connection with an electronic device; obtaining, from the electronic device, a current version identifier for the software module installed on the electronic device; comparing the latest version identifier to the current version identifier to determine whether an update is available for the software module; and in response to determining that the update is available; transmitting, to the server device, a request for the latest version of the software module stored on the server device, receiving, from the server device, the latest version of the software module, wherein the latest version of the software module is encrypted using a unique encryption key associated with the electronic device, providing the latest version of the software module to the electronic device for installation at the electronic device, and updating a configuration of the electronic device to cause the electronic device to install the latest version of the software module in response to closing the connection with the computing device. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computing device configured to update software modules installed on electronic devices, the computing device comprising:
-
at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the computing device to; store a latest version identifier for a latest version of a software module stored on a server device; establish a connection with an electronic device; obtain, from the electronic device, a current version identifier for the software module installed on the electronic device; compare the latest version identifier to the current version identifier to determine whether an update is available for the software module; and in response to determining that the update is available; transmit, to the server device, a request for the latest version of the software module stored on the server device, receive, from the server device, the latest version of the software module, wherein the latest version of the software module is encrypted using a unique encryption key associated with the electronic device, provide the latest version of the software module to the electronic device for installation at the electronic device, and update a configuration of the electronic device to cause the electronic device to install the latest version of the software module in response to closing the connection with the computing device. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification