IP Library Granted Patent US 11,481,339
Granted Patent B2
US 11,481,339 · App. 17/267,941 · Granted Oct 25, 2022

Trusted intermediary realm

Inventor: Nicholas Wood (Belfast, GB)
Assignee: Arm Limited
G06F12/1491G06F12/145G06F12/1441G06F21/602G06F21/79G06F2221/0751
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,481,339
App. No.
17/267,941
Granted
Oct 25, 2022
Kind
B2
Abstract

Memory access circuitry controls access to memory based on ownership information defining, for a given memory region, an owner realm specified from among two or more realms, each realm corresponding to at least a portion of a software processes running on processing circuitry. The owner realm has a right to exclude other realms from accessing data stored within the given memory region. When security configuration parameters for a given realm specify that the given realm is associated with a trusted intermediary realm identified by the security configuration parameters, the trusted intermediary realm may be allowed to perform at least one realm management function for the given realm, e.g. provision of secret keys and/or saving/restoring of security configuration parameters. This can enable use cases where multiple instances of the same realm with common parameters need to be established on the same system at different times or on different systems.

Claims (46)

1. An apparatus comprising:

processing circuitry configured to perform data processing in response to one or more software processes; and

memory access circuitry configured to control access to a plurality of memory regions based on ownership information defining, for a given memory region, an owner realm specified from among a plurality of realms, each realm corresponding to at least a portion of at least one of the software processes, said owner realm having a right to exclude other realms from accessing data stored within said given memory region; and

realm management circuitry configured to control operation of a given realm based on security configuration parameters associated with the given realm; wherein:

in response to the security configuration parameters for the given realm specifying that the given realm is associated with a trusted intermediary realm identified by the security configuration parameters, the realm management circuitry is configured to permit the trusted intermediary realm to perform at least one realm management function for the given realm;

each realm other than a root realm is associated with a corresponding parent realm which created the realm; and

the realm management circuitry is configured to support the security configuration parameters defining the trusted intermediary realm as a realm other than the parent realm of the given realm.

2. The apparatus according to claim 1 , in which the realm management function comprises updating at least a portion of the security configuration parameters for the given realm.

3. The apparatus according to claim 1 , in which the realm management circuitry is configured to set whether the given realm is associated with the trusted intermediary realm, based on at least one command issued by the parent realm during creation of the given realm.

4. The apparatus according to claim 1 , in which the realm management circuitry is configured, in response to an attestation command identifying a target realm, to provide an attestation attesting to properties of the target realm.

5. The apparatus according to claim 4 , in which in response to the security configuration parameters for the given realm specifying that the target realm is associated with the trusted intermediary realm, the realm management circuitry is configured to provide the attestation comprising information indicating that the target realm is associated with the trusted intermediary realm.

6. The apparatus according to claim 4 , in which in response to the security configuration parameters for the target realm specifying that the target realm is associated with the trusted intermediary realm, the realm management circuitry is configured to provide the attestation for the target realm specifying intermediary realm attestation information,

the intermediary realm attestation information attesting to properties of the trusted intermediary realm or providing information for enabling a recipient of the attestation to request an attestation for the trusted intermediary realm associated with the target realm.

7. The apparatus according to claim 4 , in which the realm management circuitry is configured to prevent the processing circuitry from processing a given realm until the given realm has been activated; and

the realm management circuitry is configured to permit the trusted intermediary realm associated with the given realm to trigger generation of an attestation for the given realm before the given realm has been activated.

8. The apparatus according to claim 1 , in which the realm management circuitry is configured to permit the trusted intermediary realm to provide at least one provisioned secret for the given realm, said provisioned secret comprising at least one of:

at least one secret key for protecting data associated with the given realm; and

key material for deriving said at least one secret key.

9. The apparatus according to claim 8 , in which the realm management circuitry is configured to prohibit a realm other than the trusted intermediary realm from providing said at least one provisioned secret for the given realm.

10. The apparatus according to claim 8 , in which the realm management circuitry is configured to prevent the processing circuitry from processing a given realm until the given realm has been activated;

the realm management circuitry is configured to permit the trusted intermediary realm to provide the at least one provisioned secret for the given realm before the given realm has been activated; and

the realm management circuitry is configured to prevent the trusted intermediary realm providing the at least one provisioned secret for the given realm after the given realm has been activated.

11. The apparatus according to claim 8 , in which the realm management circuitry is configured to manage provision of the at least one provisioned secret based on key management policy information provided by the trusted intermediary realm.

12. The apparatus according to claim 1 , in which the realm management circuitry is configured to permit the trusted intermediary realm to record a security configuration record indicative of at least a subset of the security configuration parameters associated with the given realm.

13. The apparatus according to claim 12 , in which the realm management circuitry is configured to manage recording of the security configuration record or restoration of security configuration parameters from the security configuration record, based on policy information provided by the trusted intermediary realm.

14. The apparatus according to claim 1 , in which the realm management circuitry is configured to permit the trusted intermediary realm to update at least a subset of the security configuration parameters associated with the given realm based on a security configuration record previously recorded by the trusted intermediary realm.

15. The apparatus according to claim 1 , in which the security configuration parameters for the given realm include at least one of:

a realm type;

a protected address range associated with the given realm;

an indication of whether debugging is enabled within the given realm;

an indication of whether export of data from a first memory, which is subject to access control by the memory access circuitry, to a second memory is permitted; and

key material for derivation of at least one secret key for protecting data associated with the given realm.

16. The apparatus according to claim 1 , in which the owner realm has a right to prevent access to the given memory region by a process executed at a greater privilege level than the owner realm.

17. A data processing method comprising:

performing data processing in response to one or more software processes; and

enforcing ownership rights for a plurality of memory regions based on ownership information defining, for a given memory region, an owner realm specified from among a plurality of realms, each realm corresponding to at least a portion of at least one of the software processes, said owner realm having a right to exclude other realms from accessing data stored within said given memory region; and

controlling operation of a given realm based on security configuration parameters associated with the given realm; in which:

in response to the security configuration parameters for the given realm specifying that the given realm is associated with a trusted intermediary realm identified by the security configuration parameters, the trusted intermediary realm is permitted to perform at least one realm management function for the given realm;

each realm other than a root realm is associated with a corresponding parent realm which created the realm; and

the security configuration parameters support defining the trusted intermediary realm as a realm other than the parent realm of the given realm.

18. A non-transitory, computer-readable storage medium storing a computer program for controlling a host data processing apparatus to provide an instruction execution environment, comprising:

memory access program logic configured to control access to a plurality of memory regions of a simulated memory address space based on ownership information defining, for a given memory region, an owner realm specified from among a plurality of realms, each realm corresponding to at least a portion of at least one of a plurality of software processes executed in the instruction execution environment, said owner realm having a right to exclude other realms from accessing data stored within said given memory region; and

realm management program logic configured to control operation of a given realm based on security configuration parameters associated with the given realm; in which:

in response to the security configuration parameters for the given realm specifying that the given realm is associated with a trusted intermediary realm identified by the security configuration parameters, the realm management program logic is configured to permit the trusted intermediary realm to perform at least one realm management function for the given realm;

each realm other than a root realm is associated with a corresponding parent realm which created the realm; and

the security configuration parameters support defining the trusted intermediary realm as a realm other than the parent realm of the given realm.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 11, 2021
From: WOOD, NICHOLAS
To: ARM LIMITED
Reel/Frame 055280/0810 →
Priority Claims (1)
GB 1817041 · Oct 19, 2018 · national
Continuity (1)
Related Publication 20210334222A1 · Oct 28, 2021