IP Library Granted Patent US 10,482,238
Granted Patent B2
US 10,482,238 · App. 15/847,284 · Granted Nov 19, 2019

Method and device for verifying the integrity of platform software of an electronic device

Inventors: Nadarajah Asokan (Espoo, FI); Janne Mantyla (Espoo, FI); Reza Serafat (Bochum, DE)
Assignee: Conversant Wireless Licensing S.a r.l.
G06F21/51H04L9/3242H04L9/3247H04L63/12H04L63/168
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,482,238
App. No.
15/847,284
Granted
Nov 19, 2019
Kind
B2
Abstract

A method for verifying the integrity of platform software of an electronic device is provided, the method comprising accessing a module of said platform software, obtaining a signature (S), obtaining a verification key (VK), said verification key (VK) corresponding to a signing key (SK), verifying if said signature (S) was derived by signing said platform software module with said signing key (SK), by using said verification key (VK), and establishing a positive verification of said platform software module if said verification is successful. The invention also provides a method for providing a platform software module to perform the aforementioned method, and a device on which the aforementioned method can be performed.

Claims (53)

1. A method for verifying integrity of software in an electronic device, the electronic device including platform software comprising a platform software module and a monitor module, the method comprising:

accessing the monitor module;

performing a hash function on the monitor module to derive a first computed hash;

obtaining a first expected hash associated with the monitor module;

determining whether the first computed hash matches the first expected hash;

invoking the monitor module at least based on a determination that the first computed hash matches the first expected hash; and

performing, by the invoked monitor module, an integrity verification procedure on the platform software module.

2. The method of claim 1 , wherein the step of performing the integrity verification procedure comprises:

performing a hash function on the platform software module to derive a second computed hash;

obtaining a second expected hash associated with the platform software module;

comparing at least a portion of the second expected hash with a corresponding portion of the second computed hash;

obtaining a signature associated with the platform software module;

obtaining a verification key corresponding to the platform software module;

verifying the signature using the verification key; and

responsive to the comparing step determining that at least a portion of the second expected hash matches a corresponding portion of the second computed hash, in combination with the verifying step successfully verifying the signature, returning a positive result about the integrity verification procedure.

3. The method of claim 2 , wherein the second expected hash is included in the platform software module as a static variable.

4. The method of claim 2 , wherein the step of obtaining the verification key comprises receiving the verification key from a source external to the electronic device.

5. The method of claim 2 , wherein the second expected hash is embedded in the monitor module as a static variable.

6. The method of claim 2 , the verification key is one key in a public/private key pair.

7. The method of claim 1 , wherein the step of obtaining the first expected hash comprises receiving the first expected hash from a source external to the electronic device.

8. The method of claim 1 , wherein the accessing, performing a hash function, obtaining, determining, and invoking steps are performed by application software on the electronic device;

wherein the method further comprises:

using the platform software module by the application software if the monitor module returns a positive result about the integrity verification procedure.

9. The method of claim 8 , wherein the first expected hash is embedded in the application software as a static variable.

10. The method of claim 1 , wherein the monitor module is non-changeable when the platform software module is updated.

11. An electronic device, comprising:

platform software comprising a platform software module and a monitor module; and

software configured to verify the monitor module by a plurality of operations comprising:

accessing the monitor module;

performing a hash function on the monitor module to derive a first computed hash;

obtaining a first expected hash associated with the monitor module;

determining whether the first computed hash matches the first expected hash; and

invoking the monitor module at least based on a determination that the first computed hash matches the first expected hash;

wherein the monitor module, responsive to invoking by the software, is configured to perform an integrity verification procedure on the platform software module.

12. The device of claim 11 , wherein the monitor module is configured to perform the integrity verification procedure by a plurality of operations comprising:

performing a hash function on the platform software module to derive a second computed hash;

obtaining a second expected hash associated with the platform software module;

comparing at least a portion of the second expected hash with a corresponding portion of the second computed hash;

obtaining a signature associated with the platform software module;

obtaining a verification key corresponding to the platform software module;

verifying the signature using the verification key; and

responsive to the comparing step determining that at least a portion of the second expected hash matches a corresponding portion of the second computed hash, in combination with the verifying step successfully verifying the signature, returning a positive result about the integrity verification procedure.

13. The device of claim 12 , wherein the second expected hash is included in the platform software module as a static variable.

14. The device of claim 12 , wherein the monitor module is configured to obtain from a source external to the electronic device.

15. The device of claim 12 , wherein the second expected hash is embedded in the monitor module as a static variable.

16. The device of claim 12 , the verification key is one key in a public/private key pair.

17. The device of claim 11 , wherein the software is configured to obtain the first expected hash from a source external to the electronic device.

18. The device of claim 11 , wherein the software is application software on the electronic device;

wherein the application software is further configured to use the platform software module responsive to the monitor module returning a positive result about the integrity verification procedure.

19. The device of claim 18 , wherein the first expected hash is embedded in the application software as a static variable.

20. The device of claim 11 , wherein the monitor module is non-changeable when the platform software module is updated.

21. The device of claim 11 , wherein the second expected hash is provided separately from the platform software module.

22. The method of claim 1 , wherein the second expected hash is provided separately from the platform software module.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 1, 2023
From: CONVERSANT WIRELESS LICENSING S.A R.L.
To: CONVERSANT WIRELESS LICENSING LTD.
Reel/Frame 063493/0332 →
RELEASE OF SECURITY INTEREST Recorded Mar 10, 2021
From: CPPIB CREDIT INVESTMENTS INC.
To: CONVERSANT WIRELESS LICENSING S.A R.L.
Reel/Frame 055547/0618 →
AMENDED AND RESTATED U.S. PATENT SECURITY AGREEMENT (FOR NON-U.S. GRANTORS) Recorded Aug 22, 2018
From: CONVERSANT WIRELESS LICENSING S.A R.L.
To: CPPIB CREDIT INVESTMENTS, INC.
Reel/Frame 046897/0001 →
Continuity (4)
Continuation 15237871 · Aug 16, 2016
Continuation 14503264 · Sep 30, 2014
Continuation 11791285
Related Publication 20180253546A1 · Sep 6, 2018