SECURE DATA DOWNLOADING, RECOVERY AND UPGRADING
First Claim
1. A system for updating application code on a client device from a remote server, said system comprising:
- a client device further comprising permanent memory and writeable non-volatile memory;
an interface between said client device and a communication channel connected to the remote server;
software code stored in said permanent memory to perform a boot sequence on said client device, said boot sequence including verifying the validity of application software contained in said writeable memory, retrieving from the remote server through said communication channel update data for identifying invalid code segments, retrieving from the remote server through said communication channel replacement code for replacement of said invalid code segments, comparing validity status data within said update data for identifying invalid code segments such that only invalid code segments need be replaced whereby a compression of data transmission is effected; and
authentication data stored in said permanent memory for authenticating said update information.
6 Assignments
0 Petitions
Accused Products
Abstract
The invention provides an improved method and system for secure downloading, recovery, and upgrading of data. A client device receives information from a server device using a reliable software modules stored in permanent memory in the client device. The reliable software modules perform software and data integrity tests, and locate and retrieve data for recovery or upgrade of the client device. The client device confirms the trustworthiness of the received information device by comparing digital signatures or digests for the information it receives with known digital certificates in the reliable software module.
84 Citations
13 Claims
-
1. A system for updating application code on a client device from a remote server, said system comprising:
-
a client device further comprising permanent memory and writeable non-volatile memory;
an interface between said client device and a communication channel connected to the remote server;
software code stored in said permanent memory to perform a boot sequence on said client device, said boot sequence including verifying the validity of application software contained in said writeable memory, retrieving from the remote server through said communication channel update data for identifying invalid code segments, retrieving from the remote server through said communication channel replacement code for replacement of said invalid code segments, comparing validity status data within said update data for identifying invalid code segments such that only invalid code segments need be replaced whereby a compression of data transmission is effected; and
authentication data stored in said permanent memory for authenticating said update information. - View Dependent Claims (2, 3)
-
-
4. A method of updating application code on a client device from a remote server over a communication channel, said method comprising:
-
a) performing a boot sequence based under control of boot code stored in permanent memory in said client device;
b) determining whether to update a software application stored in writeable non-volatile memory, and terminating the boot sequence if no update is necessary;
c) retrieving from said remote server over said communication channel update data for identifying invalid code segments;
d) retrieving from said remote server over said communication channel, replacement code for replacement of said invalid code segments;
e) comparing validity status data within said update data for identifying invalid code segments against said replacement code such that only a function of said replacement code need be checked to determine validity of said replacement code whereby a compression of data transmission is effected;
f) comparing authentication data within said update data with authentication data stored in said permanent memory for authenticating said update data;
g) downloading and authenticating said replacement code from servers specified by location data within said update data upon successful authentication of said update data; and
h) writing said replacement code into said writeable memory. - View Dependent Claims (5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system for updating application code on a client device from a remote server, said system comprising:
-
means for providing permanent memory and writeable non-volatile memory;
means for interfacing between said client device and a communication channel connected to the remote server;
means for storing software code in said permanent memory including a means for performing a boot sequence on said client device, said boot sequence including a means for verifying the validity of application software contained in said writeable memory;
means for retrieving from the remote server through said communication channel, update data for identifying invalid code segments;
means for replacement of said invalid code segments with replacement code;
means for comparing validity status data within said update data for identifying invalid code segments against said replacement code such that only a portion of said replacement code need be checked to determine validity of said replacement code whereby a compression of data is effected; and
means for storing authentication data in said permanent memory for authenticating said update information.
-
Specification