IP Library › Granted Patent US 11,455,430
Granted Patent B2
US 11,455,430 · App. 16/849,318 · Granted Sep 27, 2022

Secure element and related device

Inventor: Shilin Pan (Shanghai, CN)
Assignee: Huawei Technologies Co., Ltd
G06F21/74G06F12/1009H04L9/14H04L9/3228H04L9/3242H04L9/3247
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,455,430
App. No.
16/849,318
Granted
Sep 27, 2022
Kind
B2
Abstract

The present application provides a secure element comprising a processor and a memory integrated into a semiconductor chip; the memory is configured to provide a storage space for the processor to load and run a secure program, the secure program includes an image of a secure operating system, and the image of the secure operating system includes a system image resident segment and a system image dynamic loading segment. The processor is configured to: divide the system image dynamic loading segment into a plurality of pages, where each of the plurality of pages includes some content of the system image dynamic loading segment; perform security processing on each of the plurality of pages; and migrate each security-processed page to an external storage of the secure element.

Claims (65)

1. A device, comprising:

a processor and a non-transitory memory;

wherein the non-transitory memory stores instructions executable by the processor, and the instructions include instructions to:

load a secure program into a secure memory and run the secure program, wherein the secure program comprises an image of a secure operating system, program code and read-only data of the image of the secure operating system are divided into at least one system image resident segment and at least one system image dynamic loading segment in a manner that pieces of the program code or pieces of the read-only data of the image of the secure operating system that correspond to functions of the secure operating system that are mandatory for the secure operating system to run are comprised in the at least one system image resident segment and pieces of the program code or pieces of the read-only data of the image of the secure operating system that correspond to functions of the secure operating system that are not mandatory for the secure operating system to run are comprised in the at least one system image dynamic loading segment, and each system image resident segment and initialized and uninitialized data of the image of the secure operating system reside in the secure memory throughout the processor running the secure operating system, wherein the image of the secure operating system comprises:

a first signature for the at least one system image resident segment; and

a second signature generated from a combined group comprising the at least one system image resident segment, the first signature, and the at least one system image dynamic loading segment; and

the processor is configured to:

divide the at least one system image dynamic loading segment into a plurality of pages, wherein each of the plurality of pages comprises content of the corresponding system image dynamic loading segment;

perform security processing on each of the plurality of pages to generate a plurality of security-processed pages; and

migrate each of the plurality of security-processed pages to an external storage for the device.

2. The device according to claim 1 , wherein performing security processing on each of the plurality of pages comprises:

performing encryption; and

generating a message authentication code (MAC), wherein a respective encryption key for each of the plurality of pages is associated with a respective virtual address of a respective page of the plurality of pages, and encryption keys for different pages of the plurality of pages are different.

3. The device according to claim 2 , wherein performing security processing on each of the plurality of pages further comprises:

encrypting a plurality of MACs for the plurality of pages as a whole; or

encrypting a respective MAC for each of the plurality of pages, wherein encryption keys for different MACs are different.

4. The device according to claim 2 , further comprising a one-time programmable (OTP) chip, wherein:

a respective encryption key for each of the plurality of pages is associated with a count value of the OTP chip; or

a respective MAC for each of the plurality of pages is associated with a count value of the OTP chip.

5. The device according to claim 1 , wherein:

the processor is further configured to:

verify the second signature; and

in response to successfully verifying the second signature, encrypt the at least one system image resident segment and the first signature as a whole, and migrate content obtained by encrypting the at least one system image resident segment and the first signature as a whole to the external storage.

6. The device according to claim 1 , wherein the processor is further configured to:

configure at least one page frame in the secure memory, wherein each of the at least one page frame stores at least one page of the plurality of pages, and a quantity of pages comprised in the at least one page frame is less than a quantity of pages comprised in the plurality of pages.

7. The device according to claim 6 , wherein the processor is further configured to:

configure the at least one page frame to allow read and write when the processor is in a privileged mode.

8. The device according to claim 6 , wherein the processor is further configured to:

when running the secure operating system, load at least one security-processed page to the secure memory, and perform security verification on the at least one page, wherein performing security verification on the at least one page is an inverse operation of performing security processing on each of the plurality of pages.

9. The device according to claim 8 , wherein when security processing on each of the plurality of pages comprises encryption and message authentication code (MAC) generation, performing security verification on the at least one page comprises decryption and MAC verification.

10. The device according to claim 1 , wherein the secure program further comprises a secure application program, and the secure application program comprises an application program resident segment and an application program dynamic loading segment, wherein the application program resident segment resides in the secure memory when the processor runs the secure application program; and

the processor is further configured to:

divide the application program dynamic loading segment into a second plurality of pages, wherein each of the second plurality of pages comprises content of the application program dynamic loading segment;

perform the security processing on each of the second plurality of pages to obtain a second plurality of security-processed pages; and

migrate each of the second plurality of security-processed pages to the external storage.

11. The device according to claim 1 , wherein the secure program further comprises a security application program, and the processor is further configured to:

divide the secure application program into a third plurality of pages, wherein each of the third plurality of pages comprises content of the secure application program;

perform the security processing on each of the third plurality of pages to obtain a third plurality of security-processed pages; and

migrate each of the third plurality of security-processed pages to the external storage.

12. The device according to claim 1 , wherein:

the device is comprised in a semiconductor chip, and the semiconductor chip further comprises: a central processing unit coupled to the device, and the external storage.

13. The device according to claim 1 , wherein

the device is comprised in a terminal device, and the terminal device further comprises:

the external storage, wherein the device and the external storage are disposed in different semiconductor chips.

14. A device, comprising:

a processor configured to:

divide program code and read-only data of an image of a secure operating system into at least one system image resident segment and at least one system image dynamic loading segment in a manner that that pieces of the program code or pieces of the read-only data of the image of the secure operating system that correspond to functions of the secure operating system that are mandatory for the secure operating system to run are comprised in the at least one system image resident segment and pieces of the program code or pieces of the read-only data of the image of the secure operating system that correspond to functions of the secure operating system that are not mandatory for the secure operating system to run are comprised in the at least one system image dynamic loading segment;

generate a first signature for the at least one system image resident segment; and

generate a second signature from a combined group comprising the at least one system image resident segment, the first signature, and the at least one system image dynamic loading segment, wherein the secure operating system is an operating system run by a secure element disposed in a terminal device; and

a secure memory configured to provide a storage space for running of the processor.

15. The device according to claim 14 , wherein the processor is further configured to control the device to send the at least one system image resident segment, the first signature, the at least one system image dynamic loading segment, and the second signature to the terminal device.

16. A method, comprising:

receiving, by a terminal device, a secure program from a server, wherein:

the terminal device comprises a secure element, the secure element comprising a processor and a secure memory, the processor and the secure memory being integrated into a semiconductor chip, the secure memory being configured to provide a storage space for the processor to load and run the secure program;

the secure program comprises an image of a secure operating system, program code and read-only data of the image of the secure operating system being divided into at least one system image resident segment and at least one system image dynamic loading segment in a manner that that pieces of the program code or pieces of the read-only data of the image of the secure operating system that correspond to functions of the secure operating system that are mandatory for the secure operating system to run are comprised in the at least one system image resident segment and pieces of the program code or pieces of the read-only data of the image of the secure operating system that correspond to functions of the secure operating system that are not mandatory for the secure operating system to run are comprised in the at least one system image dynamic loading segment;

the at least one system image resident segment and initialized and uninitialized data of the image of the secure operating system reside in the secure memory when the processor runs the secure operating system; and

the image of the secure operating system comprises:

a first signature for the at least one system image resident segment; and

a second signature generated from a combined group comprising the at least one system image resident segment, the first signature, and the at least one system image dynamic loading segment;

dividing, by the terminal device, the at least one system image dynamic loading segment into a plurality of pages, wherein each of the plurality of pages comprises content of the corresponding system image dynamic loading segment;

performing, by the terminal device, security processing on each of the plurality of pages to obtain a plurality of security-processed pages; and

migrating, by the terminal device, each of the plurality of security-processed pages to an external storage for the secure element.

17. The method of claim 16 , wherein the method further comprises:

when running the secure operating system, loading, by the terminal device, at least one page of the plurality of security-processed pages to the secure memory, and performing security verification on the at least one page, wherein performing security verification on the at least one page is an inverse operation of performing security processing on each of the plurality of pages.

18. The method according to claim 16 , wherein the at least one system image dynamic loading segment resides in the secure memory only when a corresponding non-required function is used when the processor runs the secure operating system.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 15, 2020
From: PAN, SHILIN
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 052676/0197 →
Continuity (2)
Continuation PCTCN2017106396 · Oct 16, 2017
Related Publication 20200242274A1 · Jul 30, 2020