Targeted Secure Software Deployment

US2018007040A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2018007040-A1
Application numberUS-201615198336-A
CountryUS
Kind codeA1
Filing dateJun 30, 2016
Priority dateJun 30, 2016
Publication dateJan 4, 2018
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 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. 2 . The system of claim 1 , the operations further comprising: receiving a first indication from the remote device that the encrypted software package is uniquely associated with the remote device; and receiving a second indication from the remote device that the remote device is in a trusted state. 3 . The system of claim 1 , the operations further comprising determining the first set of PCRs during an initialization of the remote device by the service provider. 4 . The system of claim 1 , wherein the public SRK of the remote device is associated with a trusted platform module (TPM) of the remote device. 5 . A computer-implemented method comprising: receiving, at a device, an encrypted volume; 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 remote 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; and importing, as an imported volume, 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. 6 . The computer-implemented method of claim 5 , wherein the encrypted volume includes at least an encrypted software package and one or more encrypted keys, and wherein the importing comprises at least: decrypting, as one or more decrypted keys, the one or more encrypted keys based at least in part on the private SRK of the device; decrypting, as a decrypted software package, at least a portion of the encrypted software package based at least in part on the one or more decrypted keys; and encrypting, as an imported software package, at least a portion of the decrypted software package based at least in part on a symmetric SRK associated with the device. 7 . The computer-implemented method of claim 6 , wherein the importing further comprises deleting the at least the portion of the encrypted software package corresponding to the at least the portion of the decrypted software package encrypted in the imported software package. 8 . The computer-implemented method of claim 5 , wherein the encrypted volume includes at least one or more encrypted configuration settings and one or more encrypted keys, and wherein the determining that the device is in the trusted state includes: decrypting, as one or more decrypted keys, the one or more encrypted keys based at least in part on the private SRK of 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 at least a first platform configuration register (PCR) configuration included in the decrypted configuration settings with at least a second PCR configuration determined by a trusted platform module (TPM) of the device; and determining that the at least the first PCR configuration corresponds to the at least the second PCR configuration. 9 . The computer-implemented method of claim 5 , further comprising determining that the device is in a trusted state based at least in part on platform configuration register (PCR) values associated with an operation of firmware of the device at a time of initializing the device. 10 . The computer-implemented method of claim 5 , further comprising: decrypting, as a decrypted portion, at least a portion of the encrypted volume based at least in part on the private SRK of the device; loading the decrypted portion into a boot manager of the device; and based at least in part on the loading, determining at least one platform configuration register (PCR) value associated with the boot manager. 11 . The computer-implemented method of claim 5 , further comprising establishing trust between the device and a service provider based at least in part on a public endorsement key associated with the device. 12 . The computer-implemented method of claim 5 , further comprising storing at least a portion of the imported volume in a memory of the device in an encrypted form. 13 . The computer-implemented method of claim 5 , wherein at least a portion of the computer-implemented method is performed in association with a trusted platform module (TPM) associated with the device. 14 . The computer-implemented method of claim 5 , further comprising: determining a set of platform configuration registers (PCRs) associated with a trusted operation of firmware operating on the device; encrypting the set of PCRs within the encrypted volume; and transmitting, by a service provider, the encrypted volume to the device. 15 . The computer-implemented method of claim 5 , further comprising: determining that the device is to receive a software update; determining a set of platform configuration registers (PCRs) associated with an expected operation of at least a portion of the software update on the device; encrypting the set of PCRs within the encrypted volume; and transmitting, by a service provider, the encrypted volume to the remote device. 16 . 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; 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; and importing, as an imported volume, 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. 17 . The system as recited in claim 16 , wherein the encrypted volume includes at least an encrypted software package and one or more encrypted keys, and wherein importing comprises at least: decrypting, as one or more decrypted keys, the one or more encrypted keys based at least in part on the private SRK of the device; decrypting, as a decrypted software package, at least a portion of the encrypted software package based at least in part on the one or more decrypted keys; and encrypting, as

Assignees

Inventors

Classifications

  • using an additional device, e.g. smartcard, SIM or a different communication terminal (cryptographic mechanisms or cryptographic arrangements for entity authentication involving additional secure or trusted devices H04L9/3234) · CPC title

  • Secure boot · CPC title

  • for key exchange, e.g. in peer-to-peer networks (cryptographic mechanisms or cryptographic arrangements for key agreement H04L9/0838) · CPC title

  • wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption (cryptographic mechanisms or cryptographic arrangements for symmetric key encryption H04L9/06) · CPC title

  • G06F21/57Primary

    Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2018007040A1 cover?
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 de…
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification H04L63/0853. Mapped technology areas include Electricity.
When was this patent published?
Publication date Thu Jan 04 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).