IP Library Granted Patent US 10,762,209
Granted Patent B2
US 10,762,209 · App. 15/150,707 · Granted Sep 1, 2020

Boot security

Inventors: Kenneth D. Ray (Seattle, WA); Simon Neil Reed (Wokingham, GB); Daniel Salvatore Schiappa (Bedford, NH)
Assignee: Sophos Limited
G06F21/575G06F9/4401G06F9/4416G06F21/57H04L63/0869H04L63/123H04L63/1441H04L63/12H04L63/145
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,762,209
App. No.
15/150,707
Granted
Sep 1, 2020
Kind
B2
Abstract

In one aspect, a method for securing a device includes receiving a first set of boot information of a device, receiving a first cryptographic proof of the first set of boot information, receiving a second set of boot information of the device, receiving a second cryptographic proof of the second set of boot information, comparing the first set of boot information and the second set of boot information, and, upon determining that the first set of boot information and the second set of boot information are different, determining whether differences between the first set of boot information and the second set of boot information are permitted. The method may also include generating an alert upon determining that differences between the first set of boot information and the second set of boot information are not permitted.

Claims (47)

1. A system, comprising:

a processor; and

a non-transitory computer readable medium comprising instructions that when executed on the processor cause the processor to perform steps comprising:

receive a first request from a device;

in response to the first request, send a first challenge to the device, the first challenge including time information;

in response to the first challenge, receive from the device a first set of boot information and a first cryptographic proof based on at least the time information of the first challenge, wherein the first set of boot information is generated by a trusted component of the device;

verify the first cryptographic proof of the first challenge and the first set of boot information;

store the first set of boot information;

receive a second request from the device;

send a second challenge to the device;

in response to the second challenge, receive from the device a second set of boot information and a second cryptographic proof of the second challenge, wherein the second set of boot information is generated by the trusted component of the device, the second set of boot information includes information for at least one boot item identified in the first set of boot information, and the second set of boot information corresponds to a different time than the first set of boot information;

verify the second cryptographic proof of the second challenge and the second set of boot information;

compare the first set of boot information and the second set of boot information;

upon determining that the first set of boot information and the second set of boot information are different, determine whether differences between the first set of boot information and the second set of boot information are permitted as consistent with a pattern for a permitted update to the device by a hardware manufacturer; and

generate an alert upon determining that differences between the first set of boot information and the second set of boot information are not permitted.

2. A method for securing a device, comprising:

receiving a first set of boot information of the device;

receiving a first cryptographic proof of the first set of boot information, the first cryptographic proof based on at least time information of a challenge to the device;

receiving a second set of boot information of the device, wherein the second set of boot information includes information for at least one boot item identified in the first set of boot information, and the second set of boot information corresponds to a different time than the first set of boot information;

receiving a second cryptographic proof of the second set of boot information;

comparing the first set of boot information and the second set of boot information;

upon determining that the first set of boot information and the second set of boot information are different, determining whether differences between the first set of boot information and the second set of boot information are permitted as consistent with a pattern for a permitted update to the device by a hardware manufacturer; and

generating an alert upon determining that differences between the first set of boot information and the second set of boot information are not permitted.

3. The method of claim 2 , wherein determining whether differences between the first set of boot information and the second set of boot information are permitted further comprises comparing first boot items identified in the first set of boot information with second boot items identified in the second set of boot information.

4. The method of claim 2 , wherein the first set of boot information further comprises cryptographic proofs of each boot item identified in the first set of boot information.

5. The method of claim 2 , wherein the first set of boot information and the second set of boot information each comprise one or more platform configuration register values.

6. The method of claim 2 , wherein the first set of boot information and the second set of boot information each comprise a device identifier.

7. The method of claim 2 , wherein the first set of boot information and the second set of boot information each comprise device platform information.

8. The method of claim 2 , wherein the first set of boot information includes information about boot items and configuration values.

9. The method of claim 2 , wherein determining whether differences between the first set of boot information and the second set of boot information are permitted comprises comparing versions of changed boot items.

10. The method of claim 2 , wherein determining whether differences between the first set of boot information and the second set of boot information are permitted comprises determining a type of boot item that changed.

11. The method of claim 2 , wherein the first cryptographic proof and the second cryptographic proof are generated by a trusted component of the device.

12. A computer program product comprising a non-transitory computer readable medium having stored thereon computer executable code that, when executing on a threat management facility, performs steps comprising:

receive a first set of boot information from a device;

receive a first cryptographic proof of the first set of boot information, the first cryptographic proof based on at least time information of a challenge to the device;

receive a second set of boot information from the device, wherein the second set of boot information includes information for at least one boot item identified in the first set of boot information, and the second set of boot information corresponds to a different time than the first set of boot information;

receive a second cryptographic proof of the second set of boot information;

compare the first set of boot information and the second set of boot information;

upon determining that the first set of boot information and the second set of boot information are different, determine whether differences between the first set of boot information and the second set of boot information are permitted as consistent with a pattern for a permitted update to the device by a hardware manufacturer; and

generate an alert upon determining that differences between the first set of boot information and the second set of boot information are not permitted.

13. The computer program product of claim 12 , wherein the first set of boot information further comprises cryptographic proofs of each boot item identified in the first set of boot information.

14. The computer program product of claim 12 , wherein the first set of boot information and the second set of boot information each comprise one or more platform configuration register values.

15. The computer program product of claim 12 , wherein the first set of boot information and the second set of boot information each comprise a device identifier.

16. The computer program product of claim 12 , wherein the first set of boot information and the second set of boot information each comprise device platform information.

17. The computer program product of claim 12 , wherein the first set of boot information includes information about boot items and configuration values.

18. The computer program product of claim 12 , wherein determining whether differences between the first set of boot information and the second set of boot information are permitted comprises comparing versions of changed boot items.

19. The computer program product of claim 12 , wherein determining whether differences between the first set of boot information and the second set of boot information are permitted comprises determining a type of boot item that changed.

Assignments (4)
RELEASE OF SECURITY INTEREST IN PATENTS AT R/F 053476/0681 Recorded Mar 9, 2021
From: OWL ROCK CAPITAL CORPORATION, AS COLLATERAL AGENT
To: SOPHOS LIMITED
Reel/Frame 056469/0815 →
PATENT SECURITY AGREEMENT FIRST LIEN Recorded Jul 6, 2020
From: SOPHOS LIMITED
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 053124/0350 →
PATENT SECURITY AGREEMENT SECOND LIEN Recorded Jul 6, 2020
From: SOPHOS LIMITED
To: OWL ROCK CAPITAL CORPORATION, AS COLLATERAL AGENT
Reel/Frame 053476/0681 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 10, 2016
From: RAY, KENNETH D.; REED, SIMON NEIL; SCHIAPPA, DANIEL SALVATORE
To: SOPHOS LIMITED
Reel/Frame 038538/0465 →
Continuity (2)
Continuation 15133223 · Apr 20, 2016
Related Publication 20170308706A1 · Oct 26, 2017