SECURE SOFTWARE UPDATES
First Claim
1. A method for upgrading a specific version of a software module installed at an electronic device, the method comprising:
- at a computing device having a list that includes an updated version identifier that is associated with an updated version of the software module that is stored at a server device;
in response to determining that the electronic device is connected to the computing device;
determining whether the updated version of the software module is installed at the electronic device by comparing a specific version identifier that is associated with the specific version of the software module to the updated version identifier;
upon determining that the updated version of the software module is not installed at the electronic device;
transmitting a request to the server device for the updated version of the software module,receiving the updated version of the software module from the server device, wherein the updated version of the software module is encrypted by a unique encryption key that is associated with the electronic device,decrypting the updated version of the software module to form an unencrypted updated version of the software module, andcausing the unencrypted updated version of the software module to be installed at the electronic 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.
-
Citations
20 Claims
-
1. A method for upgrading a specific version of a software module installed at an electronic device, the method comprising:
at a computing device having a list that includes an updated version identifier that is associated with an updated version of the software module that is stored at a server device; in response to determining that the electronic device is connected to the computing device; determining whether the updated version of the software module is installed at the electronic device by comparing a specific version identifier that is associated with the specific version of the software module to the updated version identifier; upon determining that the updated version of the software module is not installed at the electronic device; transmitting a request to the server device for the updated version of the software module, receiving the updated version of the software module from the server device, wherein the updated version of the software module is encrypted by a unique encryption key that is associated with the electronic device, decrypting the updated version of the software module to form an unencrypted updated version of the software module, and causing the unencrypted updated version of the software module to be installed at the electronic device. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
8. A system for updating a specific version of a software module installed at an electronic device, the system comprising:
-
at least one processor; and at least one memory storing instructions that, when executed by the at least one processor, cause the system to; in response to determining that the electronic device is connected to the system, wherein the system includes a list having an updated version identifier that is associated with an updated version of the software module that is stored at a server device; determine whether the updated version of the software module is installed at the electronic device by comparing a specific version identifier that is associated with the specific version of the software module to the updated version identifier; and upon determining that the updated version of the software module is not installed at the electronic device; transmit a request to the server device for the updated version of the software module, receive the updated version of the software module from the server device, wherein the updated version of the software module is encrypted by a unique encryption key that is associated with the electronic device, decrypt the updated version of the software module to form an unencrypted updated version of the software module, and cause the unencrypted updated version of the software module to be installed at the electronic device. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer storage medium containing instructions that, when executed by one or more processors of a computing device, cause the computing device to:
in response to determining that an electronic device is connected to the computing device, wherein the computing device includes a list having an updated version identifier that is associated with an updated version of a software module that is stored at a server device; determine whether the updated version of the software module is installed at the electronic device by comparing a specific version identifier that is associated with a specific version of the software module to the updated version identifier; and upon determining that the updated version of the software module is not installed at the electronic device; transmit a request to the server device for the updated version of the software module, receive the updated version of the software module from the server device, wherein the updated version of the software module is encrypted by a unique encryption key that is associated with the electronic device, decrypt the updated version of the software module to form an unencrypted updated version of the software module, and cause the unencrypted updated version of the software module to be installed at the electronic device. - View Dependent Claims (16, 17, 18, 19, 20)
Specification