IP Library Granted Patent US 11,429,364
Granted Patent B2
US 11,429,364 · App. 16/683,373 · Granted Aug 30, 2022

Software installation method

Inventor: Nicholas Schutt (Cambridge, GB)
Assignee: Trustonic Limited
G06F8/61H04L63/123
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,429,364
App. No.
16/683,373
Granted
Aug 30, 2022
Kind
B2
Abstract

A software installation method is provided for a device comprising non-volatile memory 10 and access control circuitry 6 to control access to the non-volatile memory based on region defining data 7 defining whether a given region of the non-volatile memory is a less secure region or a more secure region, with greater access restriction imposed on access to a more secure region than to a less secure region. The method comprises installing target software 40 in a target region of the non-volatile memory 10 defined by the region defining data as a less secure region; verifying the target software; and at least when verification of the target software is successful, and after installation of the target software, updating the region defining data 7 to change the target region from a less secure region to a more secure region.

Claims (33)

1. A software installation method for a device comprising non-volatile memory and access control circuitry to control access to the non-volatile memory based on region defining data defining whether a given region of the non-volatile memory is a less secure region or a more secure region, where the access control circuitry is configured to apply greater restriction on access to a more secure region than to a less secure region;

the method comprising:

installing target software in a target region of the non-volatile memory defined by the region defining data as a less secure region;

verifying the target software including determining whether a match exists between a value associated with the target software and a predetermined trusted value; and

at least when verification of the target software results in a determination that the match exists, and after installation of the target software, updating the region defining data to change the target region from a less secure region to a more secure region,

wherein the target software is associated with a verification indicator set to a first value when the target software is installed in the less secure region,

the method further comprising:

when verification of the target software results in a determination that the match exists and the region defining data is updated to define the target region as a more secure region, updating the verification indicator to a second value; and disabling execution of the target software when the verification indicator has the first value.

2. The method of claim 1 , in which the target software is verified under control of installer software, where at least one of the installer software and installer software verification information for verifying the installer software is stored in a more secure region of the non-volatile memory.

3. The method of claim 2 , in which the installer software is installed in a less secure region of the non-volatile memory, and

the updating of the region defining data is conditional on the installer software being verified, by bootloader software installed in a more secure region, based on a hash value stored in a more secure region.

4. The method of claim 3 , in which at least one of:

the installer software is the only software for which a hash value is stored in the more secure region to enable direct verification by the bootloader software; and

the installer software which is verified based on said hash value by the bootloader software is the only software which is allowed to trigger the updating of the region defining data associated with the target region in which the target software is installed.

5. The method of claim 1 , in which the target software is verified using asymmetric cryptography.

6. The method of claim 1 , in which verifying the target software comprises verifying a cryptographic signature associated with the target software.

7. The method of claim 1 , in which when verification of the target software results in a determination that the match exists, the region defining data is updated based on a size parameter indicative of a size of the target software.

8. The method of claim 7 , in which the size parameter is verified based on a cryptographic signature associated with the target software.

9. The method of claim 1 , in which the target software is verified both before and after updating the region defining data.

10. The method of claim 1 , in which when the verification of the target software is determined to be unsuccessful after updating the region defining data when there is a determination that the match does not exist, the method comprises:

changing the target region from a more secure region to a less secure region; and

preventing execution of software from the target region.

11. The method of claim 1 , in which access to the at least one less secure region is disabled during at least one of:

a verification process for verifying the target software; and

a region update process for updating the region defining data to change the target region from a less secure region to a more secure region.

12. The method of claim 1 , in which debug access to the non-volatile memory is disabled during at least one of:

a verification process for verifying the target software; and

a region update process for updating the region defining data to change the target region from a less secure region to a more secure region.

13. The method of claim 1 , in which the non-volatile memory comprises flash memory.

14. At least one non-transitory, computer-readable storage medium to store at least one computer program to control a computer device to perform the method of claim 1 .

15. An apparatus comprising:

processing circuitry to perform data processing; and

data storage storing at least one computer program for controlling the processing circuitry to perform the method of claim 1 .

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2026
From: TT SECURE PLATFORM LIMITED
To: QUALCOMM TECHNOLOGIES, INC.
Reel/Frame 075332/0723 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 2, 2026
From: TRUSTONIC LIMITED
To: TT SECURE PLATFORM LIMITED
Reel/Frame 075325/0627 →
CHANGE OF ASSIGNEE ADDRESS Recorded Apr 14, 2023
From: TRUSTONIC LIMITED
To: TRUSTONIC LIMITED
Reel/Frame 064025/0775 →
CHANGE OF ASSIGNEE ADDRESS Recorded Nov 3, 2020
From: TRUSTONIC LIMITED
To: TRUSTONIC LIMITED
Reel/Frame 054283/0428 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2020
From: SCHUTT, NICHOLAS
To: TRUSTONIC LIMITED
Reel/Frame 051765/0963 →
Priority Claims (1)
GB 1818617 · Nov 15, 2018 · national
Continuity (1)
Related Publication 20200159512A1 · May 21, 2020
Cited By (1)
US 12,445,269