IP Library Granted Patent US 7,506,381
Granted Patent B2
US 7,506,381 · App. 10/173,569 · Granted Mar 17, 2009

Method for securing an electronic device, a security system and an electronic device

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 7,506,381
App. No.
10/173,569
Granted
Mar 17, 2009
Kind
B2
Abstract

The disclosure describes a method for securing the trustworthiness of an electronic device. At least first and second check-up data are stored in the electronic device. In the method, a first step of a boot program is executed. In the first boot step, the trustworthiness of the first check-up data is examined, wherein if the check-up shows that the first check-up data is trusted, the second check-up data related to the second boot step is examined to confirm the trustworthiness of the second boot step. If the check-up shows that the second check-up data related to the second boot step is trusted, the second boot step is executed after said first boot step.

Claims (65)

1. A method comprising:

beginning execution of a first boot block stored in a first memory as a first part of a boot-up process;

causing the first boot block to verify the trustworthiness of at least a portion of the first boot block;

when the trustworthiness of the at least a portion of the first boot block is not verified, terminating the boot-up process;

when the trustworthiness of the at least a portion of the first boot block is verified, continuing execution of the first boot block as part of the boot-up process;

causing the first boot block to verify the trustworthiness of at least a portion of a second boot block;

when the trustworthiness of the at least a portion of the second boot block is not verified, terminating the boot-up process;

when the trustworthiness of the at least a portion of the second boot block is verified, beginning execution of the second boot block to continue the boot-up process.

2. The method of claim 1 , wherein the second boot block verifies the trustworthiness of at least a portion of one or more programs; when the trustworthiness of the at least a portion of the one or more programs is not verified, terminating the boot-up process; and when the trustworthiness of the at least a portion of the one or more programs is verified, starting execution of the one or more programs.

3. The method of claim 1 , wherein verifying the trustworthiness of the at least a portion of the first boot block comprises calculating a digital signature of the at least a portion of the first boot block and comparing the first digital signature to a previously stored digital signature.

4. The method of claim 1 , wherein the first boot block is stored in a read-only memory (ROM).

5. The method of claim 1 , further comprising verifying the trustworthiness of an electronic device ID and, when the trustworthiness of the electronic device ID is not verified, terminating the boot-up process.

6. The method of claim 2 , wherein at least one of the one or more programs provides mobile station functionality.

7. The method of claim 1 , wherein the second boot block is stored in an electrically erasable programmable read-only memory (EEPROM).

8. The method of claim 1 , wherein verifying the trustworthiness of the at least a portion of the first boot block comprises comparing a digital signature of the at least a portion of the first boot block with a previously-stored digital signature by using a public key stored in a read-only memory (ROM) to decrypt the previously-stored digital signature.

9. The method of claim 1 , wherein verifying the trustworthiness of the at least a portion of the second boot block comprises comparing a digital signature of the at least a portion of the second boot block with a previously-stored digital signature by using a public key stored in a second memory to decrypt the previously-stored digital signature.

10. The method of claim 2 , wherein verifying the trustworthiness of the at least a portion of the one or more programs comprises calculating a digital signature on the basis of device-specific data.

11. A method comprising:

storing into a first memory a first boot block comprising program code having instructions for verifying the trustworthiness of at least a portion of the first boot block, wherein the instructions of the first boot block, when executed, terminate a boot-up process when the trustworthiness of the at least a portion of the first boot block is not verified, and when the trustworthiness of the at least a portion of the first boot block is verified, verify the trustworthiness of at least a portion of a second boot block, and when the trustworthiness of the at least a portion of the second boot block is not verified, terminate the boot-up process and, when the trustworthiness of the at least a portion of the second boot block is verified, cause the second boot block to be executed;

storing into a second memory the second boot block, wherein the second boot block comprises program code for continuing the boot-up process.

12. The method of claim 11 , wherein the second boot block comprises instructions for verifying the trustworthiness of at least a portion of one or more programs, wherein the instructions of the second boot block, when executed, terminate the boot-up process when the trustworthiness of at least a portion of the one or more programs is not verified and cause to be executed the one or more programs when the trustworthiness of the at least a portion of the one or more programs is verified.

13. The method of claim 11 , wherein verifying the trustworthiness of the at least a portion of the first boot block comprises calculating a first digital signature of the at least a portion of the first boot block and comparing the first digital signature to a previously stored first digital signature.

14. The method of claim 11 , wherein the first boot block is stored in a read-only memory (ROM).

15. The method of claim 11 , further comprising storing an electronic device ID into a read-only memory, wherein the instructions of the first boot block further verify the trustworthiness of the electronic device ID.

16. The method of claim 12 , wherein at least one of the one or more programs provides mobile station functionality.

17. The method of claim 11 , wherein the second boot block is stored in an electrically erasable programmable read-only memory (EEPROM).

18. The method of claim 11 , wherein verifying the trustworthiness of the at least a portion of the first boot block comprises comparing a digital signature of the at least a portion of the first boot block with a previously-stored digital signature by using a public key stored in a read-only memory (ROM) to decrypt the previously-stored first digital signature.

19. The method of claim 11 , wherein verifying the trustworthiness of the at least a portion of the second boot block comprises comparing a digital signature of the at least a portion of the second boot block with a previously-stored digital signature by using a public key stored in a second memory to decrypt the previously-stored digital signature.

20. The method of claim 12 , wherein the second boot block includes instructions that, when executed, calculates a digital signature on the basis of device-specific data.

21. One or more memories having embodied therein program code comprising instructions that, when executed, perform:

beginning execution of a first boot block stored in a first memory as a first part of a boot-up process;

causing the first boot block to verify the trustworthiness of at least a portion of the first boot block;

when the trustworthiness of the at least a portion of the first boot block is not verified, terminating the boot-up process;

when the trustworthiness of the at least a portion of the first boot block is verified, continuing execution of the first boot block as part of the boot-up process;

causing the first boot block to verify the trustworthiness of at least a portion of a second boot block;

when the trustworthiness of the at least a portion of the second boot block is not verified, terminating the boot-up process;

when the trustworthiness of the at least a portion of the second boot block is verified, beginning execution of the second boot block.

22. The one or more memories of claim 21 , wherein the second boot block includes instructions that verify the trustworthiness of at least a portion of one or more programs; when the trustworthiness of the at least a portion of the one or more programs is not verified, terminate the boot-up process; and when the trustworthiness of the at least a portion of the one or more programs is verified, start execution of the one or more programs.

23. The one or more memories of claim 21 , wherein verifying the trustworthiness of the at least a portion of the first boot block comprises calculating a first digital signature and comparing the first digital signature to a previously stored first digital signature.

24. The one or more memories of claim 21 , wherein the first boot block is stored in a read-only memory (ROM).

25. The one or more memories of claim 21 , wherein the instructions verify the trustworthiness of an electronic device ID and, when the trustworthiness of the electronic device ID is not verified, terminating the boot-up process.

26. The one or more memories of claim 22 , wherein at least one of the one or more programs provides mobile station functionality.

27. The one or more memories of claim 21 , wherein the second boot block is stored in an electrically erasable programmable read-only memory (EEPROM).

28. The one or more memories of claim 21 , wherein the instructions verify the trustworthiness of the at least a portion of the first boot block by comparing a digital signature of the at least a portion of the first boot block to a previously-stored digital signature using a public key stored in a read-only memory (ROM) to decrypt the previously-stored digital signature.

29. The one or more memories of claim 21 , wherein the instructions verify the trustworthiness of the at least a portion of the second boot block by comparing a digital signature of the at least a portion of the second boot block to a previously-stored digital signature by using a public key stored in a second memory to decrypt the previously-stored digital signature.

30. The one or more memories of claim 22 , wherein the instructions verify the trustworthiness of the at least a portion of the one or more programs by calculating a digital signature on the basis of device-specific data.

31. Apparatus comprising:

a processor; and

one or more memories comprising program code that, when executed, causes the apparatus to

begin execution of a first boot block stored in a first memory as a first part of a boot-up process;

cause the first boot block to verify the trustworthiness of at least a portion of the first boot block;

when the trustworthiness of the at least a portion of the first boot block is not verified, terminate the boot-up process;

when the trustworthiness of the at least a portion of the first boot block is verified, continue execution of the first boot block as part of the boot-up process;

cause the first boot block to verify the trustworthiness of at least a portion of a second boot block;

when the trustworthiness of the at least a portion of the second boot block is not verified, terminate the boot-up process;

when the trustworthiness of the at least a portion of the second boot block is verified, begin execution of the second boot block.

32. The apparatus of claim 31 , wherein the second boot block includes program code that verifies the trustworthiness of at least a portion of one or more programs; when the trustworthiness of the at least a portion of the one or more programs is not verified, terminating the boot-up process; and when the trustworthiness of the at least a portion of the one or more programs is verified, starting execution of the one or more programs.

33. The apparatus of claim 31 , wherein verifying the trustworthiness of the at least a portion of the first boot block comprises calculating a digital signature and comparing the digital signature to a previously stored digital signature.

34. The apparatus of claim 31 , wherein the first boot block is stored in a read-only memory (ROM).

35. The apparatus of claim 31 , wherein the program code when executed further performs verifying the trustworthiness of an electronic device ID and, when the trustworthiness of the electronic device ID is not verified, terminating the boot-up process.

36. The apparatus of claim 32 , wherein at least one of the one or more programs provides mobile station functionality.

37. The apparatus of claim 31 , wherein the second boot block is stored in an electrically erasable programmable read-only memory (EEPROM).

38. The apparatus of claim 31 , wherein the program code verifies the trustworthiness of the at least a portion of the first boot block by comparing a digital signature of the at least a portion of the first boot block with a previously-stored digital signature using a public key stored in a read-only memory (ROM) to decrypt the previously-stored digital signature.

39. The apparatus of claim 31 , wherein the program code verifies the trustworthiness of the at least a portion of the second boot block by comparing a digital signature of the at least a portion of the second boot block with a previously-stored digital signature using a public key stored in a second memory to decrypt the previously-stored digital signature.

40. The apparatus of claim 32 , wherein the program code verifies the trustworthiness of the at least a portion of the one or more programs by calculating a digital signature on the basis of device-specific data.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2021
From: PROVENANCE ASSET GROUP LLC
To: PROVEN NETWORKS, LLC
Reel/Frame 055769/0069 →
RELEASE OF SECURITY INTEREST Recorded Feb 22, 2021
From: CORTLAND CAPITAL MARKET SERVICES LLC
To: PROVENANCE ASSET GROUP, LLC; PROVENANCE ASSET GROUP HOLDINGS, LLC
Reel/Frame 055361/0207 →
RELEASE OF SECURITY INTEREST Recorded Feb 22, 2021
From: NOKIA US HOLDINGS INC.
To: PROVENANCE ASSET GROUP LLC; PROVENANCE ASSET GROUP HOLDINGS LLC
Reel/Frame 055443/0354 →
ASSIGNMENT AND ASSUMPTION AGREEMENT Recorded Feb 14, 2019
From: NOKIA USA INC.
To: NOKIA US HOLDINGS INC.
Reel/Frame 048370/0682 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2017
From: NOKIA TECHNOLOGIES OY; NOKIA SOLUTIONS AND NETWORKS BV; ALCATEL LUCENT SAS
To: PROVENANCE ASSET GROUP LLC
Reel/Frame 043877/0001 →
SECURITY INTEREST Recorded Sep 13, 2017
From: PROVENANCE ASSET GROUP HOLDINGS, LLC; PROVENANCE ASSET GROUP LLC
To: NOKIA USA INC.
Reel/Frame 043879/0001 →
SECURITY INTEREST Recorded Sep 13, 2017
From: PROVENANCE ASSET GROUP HOLDINGS, LLC; PROVENANCE ASSET GROUP, LLC
To: CORTLAND CAPITAL MARKET SERVICES, LLC
Reel/Frame 043967/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 2, 2015
From: NOKIA CORPORATION
To: NOKIA TECHNOLOGIES OY
Reel/Frame 035551/0539 →