IP Library Granted Patent US 11,755,741
Granted Patent B2
US 11,755,741 · App. 17/847,159 · Granted Sep 12, 2023

Trusted boot-loader authentication

Inventors: Lyle W. Paczkowski (Mission Hills, KS); William M. Parsel (Overland Park, KS)
Assignee: T-Mobile Innovations LLC
G06F21/575G06F11/1004G06F21/44
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 11,755,741
App. No.
17/847,159
Granted
Sep 12, 2023
Kind
B2
Abstract

A method of boot-loading an electronic device. The method comprises boot-loading a trusted execution environment (TEE) in a trusted security zone of a processor of the electronic device, where the TEE boot-loads before a rich execution environment (REE) boot-loads, launching a boot-loader authentication application by the TEE in the trusted security zone, determining a signature value of an REE boot-loader by the boot-loader authentication application over the instructions of the REE boot-loader, comparing the signature value of the REE boot-loader to an authentication signature value stored in the TEE, and, in response to the signature value of the REE boot-loader not matching the authentication signature value, taking action by the boot-loader authentication application.

Claims (53)

1. A method of boot-loading electronic devices, comprising:

commanding, by a boot-loader authentication server application, a plurality of electronic devices to perform boot-load authentication;

performing the boot-load authentication by each electronic device of the plurality of electronic devices responsive to the commanding, wherein performing the boot-load authentication comprises:

boot-loading a trusted execution environment (TEE) in a trusted security zone of a processor of the electronic device, where the TEE boot-loads before a rich execution environment (REE) boot-loads;

launching a boot-loader authentication application by the TEE in the trusted security zone;

calculating a hash value of the REE boot-loader by analyzing instructions of the REE boot-loader one at a time, the hash value determined according to individual hashes of each analyzed instruction of the REE boot-loader;

comparing the hash value of the REE boot-loader by the boot-loader authentication application to a reference hash value of the REE boot-loader stored in the TEE; and

reporting results of the comparison by the boot-loader authentication application to the boot-loader authentication server application;

determining, by the boot-loader authentication server application, that more than a threshold amount of the plurality of electronic devices failed the boot-load authentication based on the results; and

taking action by the boot-loader authentication server application in response to determining that more than the threshold amount of the plurality of electronic devices failed the boot-loader authentication.

2. The method of claim 1 , wherein taking action by the boot-loader authentication server application comprises increasing a frequency of commanding execution of the boot-loader authentication application on at least a subset of the plurality of electronic devices.

3. The method of claim 1 , wherein performing the boot-load authentication further comprises in response to the hash value of the REE boot-loader not matching the reference hash value, taking action by the boot-loader authentication application.

4. The method of claim 3 , wherein taking action comprises the boot-loader authentication application preventing the REE boot-loader from executing on the electronic device.

5. The method of claim 3 , wherein taking action comprises the boot-loader authentication application overwriting the boot-loader in the REE with a trusted boot-loader.

6. The method of claim 1 , wherein the electronic device is an Internet of things (IoT) device.

7. The method of claim 1 , wherein performing the boot-load authentication further comprises:

determining a signature value of a REE operating system kernel by the boot-loader authentication application; and

comparing the signature value of the REE operating system kernel to an authorization kernel signature value stored in the TEE portion of the non-transitory memory by the boot-loader authentication application.

8. A system comprising, comprising:

an electronic device that comprises:

a processor comprising a trusted execution environment (TEE) and a rich execution environment (REE);

a non-transitory memory;

an REE boot-loader stored in an REE portion of the non-transitory memory that, when executed in the REE of the processor, boot-loads the REE; and

a boot-loader authentication application stored in a TEE portion of the non-transitory memory that, when executed in the TEE of the processor:

calculates a hash value of the REE boot-loader by analyzing instructions of the REE boot-loader one at a time, the hash value determined according to individual hashes of each analyzed instruction of the REE boot-loader,

compares the hash value of the REE boot-loader to a reference hash value of the REE boot-loader stored in the TEE portion of the non-transitory memory, and

reports results of the comparison to a boot-loader authentication server application; and

a boot-loader authentication server that comprises:

a processor;

a non-transitory memory; and

the boot-loader authentication server application stored in the non-transitory memory that, when executed by the processor:

commands a plurality of electronic devices including the electronic device to perform boot-load authentication,

determines that more than a threshold amount of the plurality of electronic devices failed the boot-load authentication based on results received from the plurality of electronic devices including the results from the electronic device, and

takes action in response to determining that more than the threshold amount of the plurality of electronic devices failed the boot-loader authentication.

9. The system of claim 8 , wherein the boot-loader authentication application takes action in response to the hash value of the REE boot-loader not matching the reference hash value.

10. The system of claim 8 , wherein the electronic device is an Internet of things (loT) device.

11. The system of claim 8 , wherein the electronic device is one of a mobile phone, a smart phone, a wearable computer, a laptop computer, a tablet computer, or a notebook computer.

12. The system of claim 8 , wherein the boot-loader authentication application determines the hash value of the REE boot-loader as a cyclic redundancy check (CRC) value.

13. The system of claim 8 , wherein the boot-loader authentication application further determines a signature value of a REE operating system kernel and compares the signature value of the REE operating system kernel to an authorization kernel signature value stored in the TEE portion of the non-transitory memory.

14. The system of claim 8 , wherein the REE boot-loader is not executed in the REE until the boot-loader authentication application has completed execution.

15. A method of boot-loading an electronic device, comprising:

receiving, by an electronic device, a first command to perform boot-load authentication from a boot-loader authentication server application;

in response to the first command, boot-loading a trusted execution environment (TEE) in a trusted security zone of a processor of the electronic device, where the TEE boot-loads before a rich execution environment (REE) boot-loads;

launching a boot-loader authentication application by the TEE in the trusted security zone;

calculating a hash value of the REE boot-loader by analyzing instructions of the REE boot-loader one at a time, the hash value determined according to individual hashes of each analyzed instruction of the REE boot-loader;

comparing the hash value of the REE boot-loader to a reference hash value of the REE boot-loader stored in the TEE;

sending results from the comparison by the boot-loader authentication application to the boot-loader authentication server application; and

subsequently receiving, by the electronic device, a second command to perform the boot-loader authentication from the boot-loader authentication server application, wherein the second command is sent by the boot-loader authentication server application in response to determining that more than a threshold amount of a plurality of electronic devices failed the boot-load authentication.

16. The method of claim 15 , further comprising in response to the hash value of the REE boot-loader not matching the reference hash value, taking action by the boot-loader authentication application.

17. The method of claim 16 , wherein taking action comprises the boot-loader authentication application preventing the REE boot-loader from executing on the electronic device.

18. The method of claim 15 , wherein the results indicate a boot-loader authentication failure event.

19. The method of claim 15 , wherein the electronic device is an Internet of things (loT) device.

20. The method of claim 15 , wherein the boot-loader authentication application determines the hash value as a cyclic redundancy check (CRC) value calculated over the instructions of the REE boot-loader.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 2, 2023
From: SPRINT COMMUNICATIONS COMPANY, L.P.
To: T-MOBILE INNOVATIONS LLC
Reel/Frame 063511/0806 →
CORRECTIVE ASSIGNMENT TO CORRECT THE RECEIVING PARTY AND CHANGE FROM " T-MOBILE INNOVATIONS, LLC" TO "SPRINT COMMUNICATIONS COMPANY. L.P." PREVIOUSLY RECORDED AT REEL: 060295 FRAME: 0026. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Sep 23, 2022
From: PACZKOWSKI, LYLE W; PARSEL, WILLIAM M
To: SPRINT COMMUNICATIONS COMPANY, L.P.
Reel/Frame 061572/0729 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2022
From: PACZKOWSKI, LYLE W; PARSEL, WILLIAM M
To: T-MOBILE INNOVATIONS LLC
Reel/Frame 060295/0026 →
Continuity (2)
Continuation 16581126 · Sep 24, 2019
Related Publication 20220318393A1 · Oct 6, 2022