IP Library › Granted Patent US 10,956,615
Granted Patent B2
US 10,956,615 · App. 15/436,719 · Granted Mar 23, 2021

Securely defining operating system composition without multiple authoring

Inventors: Scott R. Shell (Kirkland, WA); Md. Nazmus Sakib (Seattle, WA); Kinshumann (Redmond, WA); Dale R. Rolf (Renton, WA); Daryn E. Robbins (Carnation, WA); Ian McCarty (Sammamish, WA); JianMing M. Zhou (Sammamish, WA); David J. Linsley (Seattle, WA)
Assignee: Microsoft Technology Licensing, LLC
G06F21/64G06F8/65G06F9/4406G06F21/51G06F21/575
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,956,615
App. No.
15/436,719
Granted
Mar 23, 2021
Kind
B2
Abstract

Embodiments are directed to managing software components loaded on a device by identifying a platform manifest having a valid certificate, confirming that the platform manifest is bound to the device, identifying components listed on the platform manifest, confirming that the listed components have a valid certificate, and loading listed components with valid certificates on the device. The components may be binaries and packages for an operating system. The components may be signed in an embedded manner or with detached signatures. The platform manifest may be bound to the device in a manner that allows for identification of unauthorized platform manifests.

Claims (81)

1. A computer-implemented method for managing software components loaded on a device that runs a first edition of an operating system, comprising:

during a boot process:

loading into memory a secure boot configuration policy comprising an authorized platform manifest identifier that is uniquely associated with the first edition of the operating system;

based on the authorized platform manifest identifier, identifying a platform manifest that comprises:

a first valid certificate,

a manifest identifier distinct from the first valid certificate, and a list indicating:

a plurality of components that are allowed for the first edition of the operating system, and

a component that:

 is also allowed for a second edition of the operating system, and

 is signed with a second certificate that is valid for both the first edition of the operating system and the second edition of the operating system;

loading the platform manifest into the memory; and

verifying that the manifest identifier in the platform manifest matches the authorized platform manifest identifier in the secure boot configuration policy;

confirming that the second certificate is a valid certificate; and

loading the component on the device.

2. The method of claim 1 , further comprising:

identifying an additional component having a third valid certificate;

determining that the additional component is not listed on the platform manifest; and

blocking the additional component from the device.

3. The method of claim 1 , wherein the component comprises a package for the operating system.

4. The method of claim 1 , further comprising identifying the manifest identifier in a device security policy that defines the secure boot configuration policy.

5. The method of claim 1 , further comprising:

identifying a plurality of manifest identifiers in a device security policy;

loading a plurality of platform manifest files corresponding to the plurality of manifest identifiers; and

merging the plurality of platform manifest files into an active platform manifest for the device.

6. The method of claim 1 , wherein the component is signed in an embedded manner or with detached signatures.

7. The method of claim 1 , wherein the platform manifest is bound to the device in a manner that allows for identification of unauthorized platform manifests.

8. A system for managing software components loaded on a device that runs a first edition of an operating system, comprising:

one or more processors; and

memory comprising instructions that are executable by the one or more processors to:

during a boot process:

load into memory a secure boot configuration policy, comprising an authorized platform manifest identifier that is uniquely associated with the first edition of the operating system, wherein the secure boot configuration policy is specific to the device or to a type of the device;

based on the authorized platform manifest identifier, identify a platform manifest that comprises:

a first valid certificate,

a manifest identifier distinct from the first valid certificate, and

a list indicating:

 a plurality of components that are allowed for the first edition of the operating system, and

 a component that:

 is also allowed for a second edition of the operating system, and

 is signed with a second certificate that is valid for both the first edition of the operating system and the second edition of the operating system and that is not specific to the device or to the type of the device;

load the platform manifest into the memory; and

verify that the manifest identifier in the platform manifest matches the authorized platform manifest identifier in the secure boot configuration policy;

confirm that the second certificate is a valid certificate; and

load the component on the device.

9. The system of claim 8 , wherein the instructions are additionally executable by the one or more processors to:

identify an additional component having a third valid certificate;

determine that the additional component is not listed on the platform manifest; and

block the additional component from the device.

10. The system of claim 8 , wherein the component comprises a package for the operating system.

11. The system of claim 8 , wherein the instructions are additionally executable by the one or more processors to identify the manifest identifier in a device security policy that defines the secure boot configuration policy.

12. The system of claim 8 , wherein the instructions are additionally executable by the one or more processors to:

identify a plurality of manifest identifiers in a device security policy;

load a plurality of platform manifest files corresponding to the plurality of manifest identifiers; and

merge the plurality of platform manifest files into an active platform manifest for the device.

13. The system of claim 8 , wherein the component is signed in an embedded manner or with detached signatures.

14. The system of claim 8 , wherein the platform manifest is bound to the device in a manner that allows for identification of unauthorized platform manifests.

15. A computer-readable storage device having computer-executable instructions stored thereon that, when executed, cause one or more processors to:

during a boot process:

load a secure boot configuration policy into memory of a device that runs a first edition of an operating system, the secure boot configuration policy comprising an authorized platform manifest identifier that is uniquely associated with the first edition of the operating system;

based on the authorized platform manifest identifier, identify a platform manifest that comprises:

a first valid certificate,

a manifest identifier distinct from the first valid certificate, and

a list indicating:

a plurality of components that are allowed for the first edition of the operating system, and

a component that:

 is also allowed for a second edition of the operating system, and

 is signed with a second certificate that is valid for both the first edition of the operating system and the second edition of the operating system, and that was generated for a particular operating system image;

load the platform manifest into the memory; and

verify that the manifest identifier in the platform manifest matches the authorized platform manifest identifier in the secure boot configuration policy;

confirm that the second certificate is a valid certificate; and

load the component on the device.

16. The computer-readable storage device of claim 15 , wherein the instructions are additionally executable by the one or more processors to:

identify an additional component having a third valid certificate;

determine that the additional component is not listed on the platform manifest; and

block the additional component from the device.

17. The computer-readable storage device of claim 15 , wherein the component comprises a package for the operating system.

18. The computer-readable storage device of claim 15 , wherein the instructions are additionally executable by the one or more processors to identify the manifest identifier in a device security policy that defines the secure boot configuration policy.

19. The computer-readable storage device of claim 15 , wherein the instructions are additionally executable by the one or more processors to:

identify a plurality of manifest identifiers in a device security policy;

load a plurality of platform manifest files corresponding to the plurality of manifest identifiers; and

merge the plurality of platform manifest files into an active platform manifest for the device.

20. The computer-readable storage device of claim 15 , wherein the component is signed in an embedded manner or with detached signatures.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 12, 2018
From: KINSHUMANN, _
To: MICROSOFT TECHNOLOGY LICENSING
Reel/Frame 044902/0557 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 2, 2017
From: SHELL, SCOTT R.; SAKIB, MD. NAZMUS; KINSHUMANN, KINSHUMAN; ROLF, DALE R.; ROBBINS, DARYN E.; MCCARTY, IAN; ZHOU, JIANMING M.; LINSLEY, DAVID J.
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 042577/0031 →
Continuity (1)
Related Publication 20180239929A1 · Aug 23, 2018