Targeted secure software deployment
First Claim
1. A system comprising:
- one or more processors; and
memory storing modules that, when executed by the one or more processors, cause the system to perform operations comprising;
determining that a remote device is to receive a software update;
identifying a public storage root key (SRK) associated with the remote device;
determining a first set of platform configuration registers (PCRs) associated with a trusted operation of firmware operating on the remote device;
determining a second set of PCRs associated with an expected operation of at least a portion of the software update on the remote device;
determining a random symmetric key (RSK);
encrypting, as an encrypted software package, the software update using the RSK;
encrypting, as encrypted configuration settings, the first set of PCRs and the second set of PCRs using the RSK;
encrypting, as an encrypted RSK, the RSK with the public SRK of the remote device; and
transferring the encrypted software package, the encrypted configuration settings, and the encrypted RSK to the remote device, wherein at least a portion of the encrypted software package is imported by the remote device based at least in part on a private SRK of the remote device and after a determination that the first set of PCRs of the encrypted configurations settings correspond to firmware PCRs of the remote device and the second set of PCRs of the encrypted configurations settings correspond to boot manager PCRs of the remote device.
1 Assignment
0 Petitions
Accused Products
Abstract
The techniques and systems described herein are directed to providing targeted, secure software deployment in a computing system. An identity of the computing device can be determined and verified using a trusted platform module (TPM) of the computing device, and a software update can be expressly configured to operate solely on the computing device. Further, a configuration of the computing device can be ascertained using platform configuration registers (PCRs) of the TPM to determine that the computing device has not been modified from a trusted configuration. For example, if malware or unauthorized software is operating on the computing device, the software update may be prevented from being installed. Further, the software update can be targeted for a particular computing device, such that when the software update is received at the computing device, the software update may not be duplicated and provided to an additional, unauthorized device.
-
Citations
19 Claims
-
1. A system comprising:
-
one or more processors; and memory storing modules that, when executed by the one or more processors, cause the system to perform operations comprising; determining that a remote device is to receive a software update; identifying a public storage root key (SRK) associated with the remote device; determining a first set of platform configuration registers (PCRs) associated with a trusted operation of firmware operating on the remote device; determining a second set of PCRs associated with an expected operation of at least a portion of the software update on the remote device; determining a random symmetric key (RSK); encrypting, as an encrypted software package, the software update using the RSK; encrypting, as encrypted configuration settings, the first set of PCRs and the second set of PCRs using the RSK; encrypting, as an encrypted RSK, the RSK with the public SRK of the remote device; and transferring the encrypted software package, the encrypted configuration settings, and the encrypted RSK to the remote device, wherein at least a portion of the encrypted software package is imported by the remote device based at least in part on a private SRK of the remote device and after a determination that the first set of PCRs of the encrypted configurations settings correspond to firmware PCRs of the remote device and the second set of PCRs of the encrypted configurations settings correspond to boot manager PCRs of the remote device. - View Dependent Claims (2, 3, 4)
-
-
5. A computer-implemented method comprising:
-
receiving, at a device and from a service provider an encrypted volume, wherein the encrypted volume includes one or more encrypted configuration settings and one or more encrypted keys; decrypting at least a first portion of the encrypted volume based at least in part on a private storage root key (SRK) associated with the device; determining that the at least the first portion of the encrypted volume is uniquely associated with the device; determining that the device is in a trusted state by; decrypting, as one or more decrypted keys, the one or more encrypted keys based at least in part on the private SRK associated with the device; decrypting, as decrypted configuration settings, at least a portion of the one or more encrypted configuration settings based at least in part on the one or more decrypted keys; comparing a first platform configuration register (PCR) configuration included in the decrypted configuration settings with a second PCR configuration determined by a trusted platform module (TPM) of the device; and determining that the first PCR configuration corresponds to the second PCR configuration; and importing, as an imported volume and based at least in part on the device being in the trusted state, at least a second portion of the encrypted volume to the device, the importing based at least in part on the private SRK of the device. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A system comprising:
-
one or more processors; and memory storing modules that, when executed by the one or more processors, cause the system to perform operations comprising; receiving an encrypted volume from a service provider, wherein the encrypted volume includes one or more encrypted configuration settings and one or more encrypted keys; decrypting at least a first portion of the encrypted volume based at least in part on a private storage root key (SRK) associated with a device; determining that the at least the first portion of the encrypted volume is uniquely associated with the device; determining that the device is in a trusted state by; decrypting, as one or more decrypted keys, the one or more encrypted keys based at least in part on the private SRK associated with the device; decrypting, as decrypted configuration settings, at least a portion of the one or more encrypted configuration settings based at least in part on the one or more decrypted keys; comparing a first platform configuration register (PCR) configuration included in the decrypted configuration settings with a second PCR configuration determined by a trusted platform module (TPM) of the device; and determining that the first PCR configuration corresponds to the second PCR configuration; and importing, as an imported volume based at least in part on the device being in the trusted state, at least a second portion of the encrypted volume to the device, the importing based at least in part on the private SRK of the device. - View Dependent Claims (16, 17, 18, 19)
-
Specification