Secure software updates
First Claim
1. A method for upgrading software on an electronic device that operates at least partially in accordance with software, said method comprising the acts of:
- (a) sending device information to a host device;
(b) receiving an encrypted software module at the electronic device, the encrypted software module being previously encrypted at the host device particularly for use by the electronic device;
(c) decrypting the encrypted software module at the electronic device; and
(d) thereafter installing the software module on the electronic device.
2 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.
110 Citations
31 Claims
-
1. A method for upgrading software on an electronic device that operates at least partially in accordance with software, said method comprising the acts of:
-
(a) sending device information to a host device;
(b) receiving an encrypted software module at the electronic device, the encrypted software module being previously encrypted at the host device particularly for use by the electronic device;
(c) decrypting the encrypted software module at the electronic device; and
(d) thereafter installing the software module on the electronic device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for upgrading software on a portable electronic device, said method comprising the acts of:
-
sending device information to a host device, the device information including device descriptive information, a public cryptographic key and a current version indicator;
receiving an encrypted software module at the portable electronic device, the encrypted software module resulting from a software module available to the host device being selected based on the device descriptive information and the current version indicator and then encrypted using the public cryptographic key provided by the portable electronic device;
decrypting the encrypted software module at the portable electronic device using a private cryptographic key known by the portable electronic device;
authenticating the decrypted software module; and
installing the software module on the portable electronic device after said decrypting and said authenticating have successfully completed. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A computer readable medium including at least computer program code for upgrading software on a computing device, said computer readable medium comprising:
-
computer program code for sending device information to a host device, the device information including device descriptive information, a first cryptographic key and a current version indicator;
computer program code for receiving an encrypted software module at the computing device, the encrypted software module resulting from a software module available to the host device being selected based on the device descriptive information and the current version indicator and then encrypted using the first cryptographic key provided by the computing device;
computer program code for decrypting the encrypted software module at the computing device using a second cryptographic key known by the computing device;
computer program code for authenticating the decrypted software module; and
computer program code for installing the software module on the computing device after said decrypting and said authenticating have successfully completed. - View Dependent Claims (18, 19)
-
-
20. A method for upgrading a software module on a portable electronic device, said method comprising the acts of:
-
receiving device information at a network-based server device, the device information pertaining to the portable electronic device and including device descriptive information, a public cryptographic key and a current version indicator for the software module on the portable electronic device;
determining whether an updated version of the software module is available from the server device, said determining being based on the device descriptive information pertaining to the portable electronic device;
encrypting the updated version of the software module when said determining determines such to be available from the server device, said encrypting using the public cryptographic key provided by the portable electronic device; and
transmitting the encrypted software module to the portable electronic device. - View Dependent Claims (21, 22, 23, 24, 25, 26)
-
-
27. A computer readable medium including at least computer program code for upgrading a software module on a computing device, said computer readable medium comprising:
-
computer program code for receiving device information at a network-based server device, the device information pertaining to the computing device and including device descriptive information, a cryptographic key and a current version indicator for the software module on the computing device;
computer program code for determining whether an updated version of the software module is available from the server device, said determining being based on the device descriptive information pertaining to the computing device;
computer program code for encrypting the updated version of the software module when said determining determines such to be available from the server device, said encrypting using the cryptographic key provided by the computing device; and
computer program code for transmitting the encrypted software module to the computing device.
-
-
28. A computer readable medium including at least computer program code for upgrading software on an electronic device, said computer readable medium comprising:
-
computer program code for identifying, at a host device, an updated software module for the electronic device;
computer program code for encrypting the updated software module for use on the electronic device;
computer program code for transmitting the encrypted software module to the electronic device;
computer program code for decrypting the encrypted software module at the electronic device; and
computer program code for installing the software module on the electronic device. - View Dependent Claims (29)
-
-
30. A network-based software update system, comprising:
-
a plurality of mobile client devices, each of the mobile client devices operating in accordance with at least one software module resident on the corresponding mobile client device;
a server device having access to a plurality of software modules, each of the software modules being for use on specific one or more of the mobile client devices; and
at least one client device operatively connectable to the server device and the mobile client devices, the client device operating a media management application for digital media assets, wherein the digital media assets are protected by a digital rights management library having at least one of the software modules, and wherein the client device interacts with the server device over a first data link to retrieve an updated software module for the mobile client device to be updated, the updated software module pertaining to the digital rights management library, and wherein the client device thereafter interacts with the mobile client device over a second data link to provide the updated software module to the mobile client device to be updated. - View Dependent Claims (31)
-
Specification