FIRMWARE-BASED TRUSTED PLATFORM MODULE FOR ARM PROCESSOR ARCHITECTURES AND TRUSTZONE SECURITY EXTENSIONS
First Claim
1. A method for enabling a trusted execution environment (TrEE) in computing devices without a hardware trusted platform module (TPM) component, comprising steps for:
- retrieving an “
fTPM”
module from a firmware component of a computing device, said fTPM providing a software-based interface to security extension functionality integral to one or more processors in the computing device;
retrieving a software-based “
Monitor”
module from the firmware component of the computing device;
instantiating the fTPM and the Monitor into a “
Secure World”
environment within protected memory of the computing device prior to booting an OS on the computing device; and
enabling a TrEE on the computing device by allowing a “
Caller”
in a “
Normal World”
environment to access the security functionality of the one or more processors via a “
Secure Monitor Call”
to the “
Monitor”
, said Monitor then passing instructions relating to the “
Secure Monitor Call”
to the fTPM in the “
Secure World.”
2 Assignments
0 Petitions
Accused Products
Abstract
A “Firmware-Based TPM” or “fTPM” ensures that secure code execution is isolated to prevent a wide variety of potential security breaches. Unlike a conventional hardware based Trusted Platform Module (TPM), isolation is achieved without the use of dedicated security processor hardware or silicon. In general, the fTPM is first instantiated in a pre-OS boot environment by reading the fTPM from system firmware or firmware accessible memory or storage and placed into read-only protected memory of the device. Once instantiated, the fTPM enables execution isolation for ensuring secure code execution. More specifically, the fTPM is placed into protected read-only memory to enable the device to use hardware such as the ARM® architecture'"'"'s TrustZone™ extensions and security primitives (or similar processor architectures), and thus the devices based on such architectures, to provide secure execution isolation within a “firmware-based TPM” without requiring hardware modifications to existing devices.
-
Citations
20 Claims
-
1. A method for enabling a trusted execution environment (TrEE) in computing devices without a hardware trusted platform module (TPM) component, comprising steps for:
-
retrieving an “
fTPM”
module from a firmware component of a computing device, said fTPM providing a software-based interface to security extension functionality integral to one or more processors in the computing device;retrieving a software-based “
Monitor”
module from the firmware component of the computing device;instantiating the fTPM and the Monitor into a “
Secure World”
environment within protected memory of the computing device prior to booting an OS on the computing device; andenabling a TrEE on the computing device by allowing a “
Caller”
in a “
Normal World”
environment to access the security functionality of the one or more processors via a “
Secure Monitor Call”
to the “
Monitor”
, said Monitor then passing instructions relating to the “
Secure Monitor Call”
to the fTPM in the “
Secure World.” - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system for implementing a trusted computing environment on a computing device without a hardware trusted platform module (TPM) component, comprising:
-
a non-volatile memory component of a computing device having an “
fTPM”
module stored therein, said fTPM module providing a software-based interface to security extension functionality integral to one or more processors in the computing device;wherein the non-volatile memory component further includes a software-based “
Monitor”
module;a device for reading the fTPM and the Monitor from the non-volatile memory component and instantiating the fTPM and the Monitor into a “
Secure World”
environment within protected memory of the computing device; andenabling a trusted computing environment on the computing device by allowing a “
Caller”
in a “
Normal World”
environment to access the security functionality of the one or more processors via a “
Secure Monitor Call”
to the “
Monitor”
, said Monitor then passing instructions relating to the “
Secure Monitor Call”
to the fTPM in the “
Secure World.” - View Dependent Claims (11, 12, 13, 14)
-
-
15. A computer-readable medium having computer executable instructions stored therein for implementing a trusted computing environment with a computing device without a hardware trusted platform module (TPM) component, said instructions comprising:
-
an “
fTPM”
module for providing a software-based interface to security extension functionality integral to one or more processors in a computing device, and a software-based “
Monitor”
module;loading the fTPM and the Monitor into a non-volatile memory component of the computing device; retrieving the fTPM and the Monitor from the non-volatile memory; instantiating the fTPM and the Monitor into a “
Secure World”
environment within protected memory of the computing device; andenabling a trusted computing environment on the computing device by allowing a “
Caller”
in a “
Normal World”
environment to access the security functionality of the one or more processors via a “
Secure Monitor Call”
to the “
Monitor”
, said Monitor then passing instructions relating to the “
Secure Monitor Call”
to the fTPM in the “
Secure World.” - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification