Securely recovering a computing device
First Claim
1. A method for updating an application established at a file system of a client device, the method comprising, at the client device:
- providing a request to a computing device to update the application, wherein the request includes a version identifier associated with the application;
loading a code image that is received from the computing device into a storage device of the client device, wherein the code image is (i) digitally signed by a signature, (ii) associated with an application package, and (iii) based on the version identifier;
verifying that the code image is trusted by certifying a fingerprint stored in a secure memory of the client device, wherein the fingerprint is associated with a unique device identifier of the client device; and
in response to determining that the code image is trusted;
verifying that an integrity of one or more files of the application package is not compromised, andestablishing the one or more files at the file system by executing the code image; and
in response to determining that the code image is not trusted;
disabling access to the unique device identifier such as to prevent access to user data associated with the client device, andremoving the code image from the storage device.
0 Assignments
0 Petitions
Accused Products
Abstract
A method and an apparatus for establishing an operating environment by certifying a code image received from a host over a communication link are described. The code image may be digitally signed through a central authority server. Certification of the code image may be determined by a fingerprint embedded within a secure storage area such as a ROM (read only memory) of the portable device based on a public key certification process. A certified code image may be assigned a hash signature to be stored in a storage of the portable device. An operating environment of the portable device may be established after executing the certified code.
-
Citations
20 Claims
-
1. A method for updating an application established at a file system of a client device, the method comprising, at the client device:
-
providing a request to a computing device to update the application, wherein the request includes a version identifier associated with the application; loading a code image that is received from the computing device into a storage device of the client device, wherein the code image is (i) digitally signed by a signature, (ii) associated with an application package, and (iii) based on the version identifier; verifying that the code image is trusted by certifying a fingerprint stored in a secure memory of the client device, wherein the fingerprint is associated with a unique device identifier of the client device; and in response to determining that the code image is trusted; verifying that an integrity of one or more files of the application package is not compromised, and establishing the one or more files at the file system by executing the code image; and in response to determining that the code image is not trusted; disabling access to the unique device identifier such as to prevent access to user data associated with the client device, and removing the code image from the storage device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system for updating an application, 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; provide a request to a computing device to update the application, wherein the request includes a version identifier associated with the application; load a code image that is received from the computing device into a storage device of the system, wherein the code image is (i) digitally signed by a signature, (ii) associated with an application package, and (iii) based on the version identifier; verify that the code image is trusted by certifying a fingerprint stored in a secure memory of the system, wherein the fingerprint is associated with a unique device identifier of the system; and in response to determining that the code image is trusted; verify that an integrity of one or more files of the application package is not compromised, and establish the one or more files at a file system of the system by executing the code image; and in response to determining that the code image is not trusted; disable access to the unique device identifier such as to prevent access to user data associated with the system, and remove the code image from the storage device. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. 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:
-
provide a request to a host computing device to update an application established at a file system of the computing device, wherein the request includes a version identifier associated with the application; load a code image that is received from the host computing device into a storage device of the computing device, wherein the code image is (i) digitally signed by a signature, (ii) associated with an application package, and (iii) based on the version identifier; verify that the code image is trusted by certifying a fingerprint stored in a secure memory of the computing device, wherein the fingerprint is associated with a unique device identifier of the computing device; and in response to determining that the code image is trusted; verify that an integrity of one or more files of the application package is not compromised, and establish the one or more files at the file system by executing the code image; and in response to determining that the code image is not trusted; disable access to the unique device identifier such as to prevent access to user data associated with the file system, and remove the code image from the storage device. - View Dependent Claims (17, 18, 19, 20)
-
Specification