WO2015119750A1 - Multi-level assurance trusted computing platform - Google Patents

Multi-level assurance trusted computing platform Download PDF

Info

Publication number
WO2015119750A1
WO2015119750A1 PCT/US2015/011443 US2015011443W WO2015119750A1 WO 2015119750 A1 WO2015119750 A1 WO 2015119750A1 US 2015011443 W US2015011443 W US 2015011443W WO 2015119750 A1 WO2015119750 A1 WO 2015119750A1
Authority
WO
WIPO (PCT)
Prior art keywords
tcp
ftcp
type
main processor
boot
Prior art date
Application number
PCT/US2015/011443
Other languages
French (fr)
Inventor
Douglas Gardner
Original Assignee
Sypris Electronics, Llc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sypris Electronics, Llc filed Critical Sypris Electronics, Llc
Priority to AU2015214589A priority Critical patent/AU2015214589B2/en
Priority to EP15746175.7A priority patent/EP3103055B1/en
Publication of WO2015119750A1 publication Critical patent/WO2015119750A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • G06F9/441Multiboot arrangements, i.e. selecting an operating system to be loaded
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2105Dual mode as a secondary aspect

Definitions

  • the present invention relates to the field of computing systems security, and in particular to a trusted computing platform having a multi-level assurance trusted computing platform.
  • a Type-1 platform is typically a dedicated computing platform that is created to provide the highest levels of security and assurance, and only provides exactly the intended functionality. In order to meet the Type 1 requirements and cost of
  • the present Multi-Level Assurance Trusted Computing Platform is a single computing platform that can be booted in a typical high-assurance mode per Type-1 standards, or alternately can be booted in a lower-assurance mode. It is thus a cost-effective Type-1 device that can support more flexible functionality, more input/output (I/O) channels, and unsecure general computing.
  • Fig. 1 is an abstract depiction of layers of security framework trust according to an embodiment of the invention.
  • FIG. 2 is a diagram showing FTCP control on a secure module according to an embodiment of the invention.
  • FIG. 3 is a flowchart depicting an embodiment of the invention having two modes, the selection of which depends on the presence of a valid external (CIK) device.
  • CIK valid external
  • An embodiment of a MLA TCP may utilize a FPGA-based high assurance trusted computing platform (HA TCP), which is a multi- layered computing system that primarily comprises a main processor(s) running an operating system (i.e. Windows, Linux, Android, etc.), and a TCP running within an FPGA (an FTCP) that controls the main processor's boot process, execution, and I/O, and executes all the highest assurance processing of the system.
  • the HA TCP's FPGA includes a root-of-trust (FROT), which is the first part of the FTCP to boot and is created using industry standard high-assurance methods with multiple boot stages having different protections.
  • FROT root-of-trust
  • the FPGA continues the multi-stage boot process to construct a complete TCP from its hardware elements, processing elements, memory elements, software elements, etc., per standard design practices for the required high assurance (such as power on self-test, tamper detection, redundant processing, error checking, known answer tests, signature verification, decryption, etc.).
  • the FTCP links additional FPGA secure functionality to the FROT and extends a chain of trust to the next higher level.
  • the FTCP later chains the FROT to higher layers of the HA TCP, for use in additional security methods that may be tailored independently for a given computing system's information assurance requirements.
  • the FTCP will not only serve as the root of trust, but also contain/provide all the secure processing, secure keys, secure encryption and decryption algorithms, signature validation and creation, random number generation, remote attestation, sealed storage, binding encrypted data, etc.
  • the FTCP performs all high-assurance processing, authenticates and decrypts all the higher layers, and allows the main processor(s) to boot into a known state.
  • the FTCP treats the main processor(s) OS as an untrusted processing platform, and maintains hardware control over all its I/O such as through enable/disable control, power control, and/or in-line data stream processing.
  • In-line data stream processing may include various functions from processing and inspection to encryption/decryption (preferably with the FTCP placed in-line between the main processor(s) and all memory and performing real-time encryption/decryption of all reads and writes to/from memory).
  • the FTCP preferably is configured to perform high- assurance network processing and control and communications (including executing complex protocol stacks such as Ethernet), data processing and data flow control, and encryption/decryption to/from the main processor(s).
  • the main processor(s) OS may include multiple layers of trust adding to the assurance provided by the FTCP.
  • Trusted Platform Module TPM
  • TrustZone functionality can be utilized during boot to
  • TPM is a commercial secure crypto-processor that can support various security functions including cryptographic keys storage, random number generation, remote attestation, sealed storage, and binding encrypted data with an endorsement RSA key.
  • TrustZone is a commercial secure layer that is supported by ARM processors and provides hardware-based access control enabling switching from a secure mode to a user mode; the main processor, memory devices, peripherals devices, and FPGA devices can be configured in hardware to recognize which mode the processor is in and prevent access to secure areas of memory and peripherals when in user mode, allowing secure functionality to be protected.
  • a trusted kernel reduces the attack surface to the smallest possible security-critical functionality so that trusted code can be analyzed and verified more efficiently, and the rest of the operating system and its larger attack surface are outside the trusted code where compromise doesn't threaten security-critical functionality.
  • a hypervisor similarly reduces attack surface but additionally creates multiple isolated virtual operating systems that must conduct all communications and hardware access through the hypervisor, which is configured to only allow certain communication paths and methods between virtual operating systems and to prevent a comprised virtual operating system or application from corrupting others.
  • the FTCP chains its FROT to the TPM,
  • TrustZone trusted kernel, hypervisor, and/or other variants of higher-level security layers, monitors their functionality, and/or provides services to them.
  • the FTCP also can be integrated into the hypervisor framework and support isolated verification of hypervisor rules, detect violations, and take appropriate actions.
  • the FTCP may surround and control all the other aspects of the system that are defined as security-sensitive elements. Specifically, it can control power to the secure elements so they can be turned off or on, and it can control all the I/O of the secure elements. Thus the FTCP can control the boot process, validate the boot image, enable and disable data flow, monitor data flow,
  • the FTCP controls the booting of the main processor layer and all higher layers in the high-assurance security framework trust layers.
  • the FTCP reads the main processor boot image from memory, validates its signature, decrypts it, verifies that it is valid and unaltered, enables the main processor to boot, and provides it the boot image.
  • the FTCP can provide real time encryption/decryption for all the read/write access to the memory as the main processor boots and executes.
  • the FTCP can (as part of the boot process, or as a service to the operating system) validate signature, decrypt, and verify all the sub-processes and applications prior to running them on the main processor.
  • the FTCP validation can be chained to higher layers in the system for added security atop the higher layers' own validation methods.
  • the FTCP can also monitor the main processor activity for anomalies and take appropriate actions when detected. For example, when the main processor is running a secure software routine wherein only certain memory ranges should be accessed and no network
  • the main processor may also have physically- integrated secure boot protections such as special circuits and fuses used by special circuitry in the processor to signature-check and support decryption of the boot image prior to allowing the processor to boot from the code.
  • the FTCP can work with such additional boot methods using the FROT.
  • a MLA TCP utilizes a HA TCP as described above, but also provides one or more other security levels of operation. Upon power-up, the MLA TCP device boots into either HA TCP mode or else one of the other modes of security functionality, depending on an external input(s) such as a check for the presence of a valid Crypto Ignition Key (CIK) and/or other authentication inputs.
  • CIK Crypto Ignition Key
  • Fig. 3 a basic operation flowchart for a two-mode example depending on the presence of a valid CIK device is shown. (An associated password requirement, not shown, is also preferable).
  • the left branch or path (high-assurance (HA) mode) is followed if the CIK is present; otherwise the right branch or path (lower- assurance (LA) mode) is followed.
  • LA lower- assurance
  • Alternative embodiments could be utilize additional modes by requiring corresponding additional inputs in the boot sequence).
  • the MLA TCP initiates the HA mode boot process, loading and configuring the FPGA with a HA mode configuration (the stored image of which is isolated and encrypted) that creates a FTCP through the high-assurance multi-stage boot process utilizing the FROT as described above. If the HA mode boot process is successfully completed, the MLA TCP initiates HA mode processing functionality and boots the main processor with a HA mode operating system (OS 1 ) having functionality and access that is restricted and controlled by the FTCP per Type-1 requirements and is isolated from all LA mode functionality, applications (i.e., as seen in Fig. 3, it can access HA mode application(s) but not LA mode application(s)), files systems, and devices. In this mode, the MLA TCP device is a Type-1 HA TCP that utilizes the FTCP to perform all secure operations, I/O, power control, access to devices, process cryptograph functions, and protect keys.
  • OS 1 HA mode operating system
  • the MLA TCP enters the less-secure LA mode boot process, loading and configuring the FPGA with a LA mode configuration.
  • the MLA TCP may be configured to require some authentication such as a password, however, to allow even LA mode boot).
  • LA mode boot successfully completes, the MLA TCP initiates LA mode processing functionality and boots the main processor with a LA mode operating system (OS 2) that in conjunction with the FTCP and FROT prevents any access to HA mode functionality and areas.
  • OS 2 LA mode operating system
  • the MLA TCP device is a less secure, general- use, open computing device that may allow connection to additional interfaces, devices, and communication channels, and may support additional functionality (e.g., installing software, accessing the internet, executing general purpose applications, etc.).
  • the MLA TCP is a single computing platform that is Type-1 -capable but has a second mode (and optionally N additional modes by chaining the FROT into additional higher layer methods/modes) that supports higher-risk functions while remaining securely isolated from functionality, applications, files systems, and devices that need to be secure.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Databases & Information Systems (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

A multi-mode TCP comprising an FPGA that includes a Type-1-compliant ROT, a memory containing a Type-1 security boot image and at least one lower-security boot image, and a memory containing a Type-1-associated OS image and at least one lower-security-associated OS image. The TCP is configured to execute a multi-stage boot process that, depending on the presence of one or more qualified external inputs, selects and initiates either a Type-1 TCP computing mode or a lower-assurance computing mode.

Description

TITLE OF THE INVENTION
Multi-Level Assurance Trusted Computing Platform
RELATED APPLICATIONS
[0001] This application claims benefit of the priority of U.S. patent application S.N. 14/172,474 filed February 4, 2014.
TECHNICAL FIELD
[0002] The present invention relates to the field of computing systems security, and in particular to a trusted computing platform having a multi-level assurance trusted computing platform.
BACKGROUND
[0003] A Type-1 platform is typically a dedicated computing platform that is created to provide the highest levels of security and assurance, and only provides exactly the intended functionality. In order to meet the Type 1 requirements and cost of
development, such platforms have needed to limit support for additional functionality and flexibility to essential customer needs.
SUMMARY OF INVENTION
[0004] The present Multi-Level Assurance Trusted Computing Platform (MLA TCP) is a single computing platform that can be booted in a typical high-assurance mode per Type-1 standards, or alternately can be booted in a lower-assurance mode. It is thus a cost-effective Type-1 device that can support more flexible functionality, more input/output (I/O) channels, and unsecure general computing.
BRIEF DESCRIPTION OF THE DRAWINGS
[0005] Fig. 1 is an abstract depiction of layers of security framework trust according to an embodiment of the invention.
[0006] Fig. 2 is a diagram showing FTCP control on a secure module according to an embodiment of the invention.
[0007] Fig. 3 is a flowchart depicting an embodiment of the invention having two modes, the selection of which depends on the presence of a valid external (CIK) device.
DETAILED DESCRIPTION OF AN EMBODIMENT
[0008] An embodiment of a MLA TCP according to the present invention may utilize a FPGA-based high assurance trusted computing platform (HA TCP), which is a multi- layered computing system that primarily comprises a main processor(s) running an operating system (i.e. Windows, Linux, Android, etc.), and a TCP running within an FPGA (an FTCP) that controls the main processor's boot process, execution, and I/O, and executes all the highest assurance processing of the system. The HA TCP's FPGA includes a root-of-trust (FROT), which is the first part of the FTCP to boot and is created using industry standard high-assurance methods with multiple boot stages having different protections. The FPGA continues the multi-stage boot process to construct a complete TCP from its hardware elements, processing elements, memory elements, software elements, etc., per standard design practices for the required high assurance (such as power on self-test, tamper detection, redundant processing, error checking, known answer tests, signature verification, decryption, etc.). Once the FTCP has been established, it links additional FPGA secure functionality to the FROT and extends a chain of trust to the next higher level. The FTCP later chains the FROT to higher layers of the HA TCP, for use in additional security methods that may be tailored independently for a given computing system's information assurance requirements. Thus the FTCP will not only serve as the root of trust, but also contain/provide all the secure processing, secure keys, secure encryption and decryption algorithms, signature validation and creation, random number generation, remote attestation, sealed storage, binding encrypted data, etc.
[0009] Using the FROT, the FTCP performs all high-assurance processing, authenticates and decrypts all the higher layers, and allows the main processor(s) to boot into a known state. The FTCP treats the main processor(s) OS as an untrusted processing platform, and maintains hardware control over all its I/O such as through enable/disable control, power control, and/or in-line data stream processing. In-line data stream processing may include various functions from processing and inspection to encryption/decryption (preferably with the FTCP placed in-line between the main processor(s) and all memory and performing real-time encryption/decryption of all reads and writes to/from memory). The FTCP preferably is configured to perform high- assurance network processing and control and communications (including executing complex protocol stacks such as Ethernet), data processing and data flow control, and encryption/decryption to/from the main processor(s).
[0010] As shown in Fig. 1 , the main processor(s) OS may include multiple layers of trust adding to the assurance provided by the FTCP. For example, Trusted Platform Module (TPM) and/or TrustZone functionality can be utilized during boot to
accommodate standard commercial information assurance methods and software, and a trusted kernel or hypervisor can be run on the main processor(s) for additional control of the higher-level OS and applications. TPM is a commercial secure crypto-processor that can support various security functions including cryptographic keys storage, random number generation, remote attestation, sealed storage, and binding encrypted data with an endorsement RSA key. TrustZone is a commercial secure layer that is supported by ARM processors and provides hardware-based access control enabling switching from a secure mode to a user mode; the main processor, memory devices, peripherals devices, and FPGA devices can be configured in hardware to recognize which mode the processor is in and prevent access to secure areas of memory and peripherals when in user mode, allowing secure functionality to be protected. A trusted kernel reduces the attack surface to the smallest possible security-critical functionality so that trusted code can be analyzed and verified more efficiently, and the rest of the operating system and its larger attack surface are outside the trusted code where compromise doesn't threaten security-critical functionality. A hypervisor similarly reduces attack surface but additionally creates multiple isolated virtual operating systems that must conduct all communications and hardware access through the hypervisor, which is configured to only allow certain communication paths and methods between virtual operating systems and to prevent a comprised virtual operating system or application from corrupting others. The FTCP chains its FROT to the TPM,
TrustZone, trusted kernel, hypervisor, and/or other variants of higher-level security layers, monitors their functionality, and/or provides services to them. In the example of the hypervisor, the FTCP also can be integrated into the hypervisor framework and support isolated verification of hypervisor rules, detect violations, and take appropriate actions.
[0011] As shown in Fig. 2, the FTCP may surround and control all the other aspects of the system that are defined as security-sensitive elements. Specifically, it can control power to the secure elements so they can be turned off or on, and it can control all the I/O of the secure elements. Thus the FTCP can control the boot process, validate the boot image, enable and disable data flow, monitor data flow,
encrypt/decrypt data flow, encrypt/decrypt memory, detect and address unauthorized activity in real-time, handle certificates, route and manipulate VPN tunneling and other traffic, etc., all within the FTCP boundary (and preferably in a way that the secure element is unaware of the activity). As noted with regard to Fig. 1 , the FTCP controls the booting of the main processor layer and all higher layers in the high-assurance security framework trust layers. The FTCP reads the main processor boot image from memory, validates its signature, decrypts it, verifies that it is valid and unaltered, enables the main processor to boot, and provides it the boot image. Since the FTCP is in the path between all types of memory and the main processor, the FTCP can provide real time encryption/decryption for all the read/write access to the memory as the main processor boots and executes. In addition to the boot image, the FTCP can (as part of the boot process, or as a service to the operating system) validate signature, decrypt, and verify all the sub-processes and applications prior to running them on the main processor. The FTCP validation can be chained to higher layers in the system for added security atop the higher layers' own validation methods. The FTCP can also monitor the main processor activity for anomalies and take appropriate actions when detected. For example, when the main processor is running a secure software routine wherein only certain memory ranges should be accessed and no network
communications should occur, if the FTCP detects activity that violates these rules it can (among other things) block all data from leaving the main processor and perform a secure reboot into a known state. The main processor may also have physically- integrated secure boot protections such as special circuits and fuses used by special circuitry in the processor to signature-check and support decryption of the boot image prior to allowing the processor to boot from the code. The FTCP can work with such additional boot methods using the FROT.
[0012] A MLA TCP utilizes a HA TCP as described above, but also provides one or more other security levels of operation. Upon power-up, the MLA TCP device boots into either HA TCP mode or else one of the other modes of security functionality, depending on an external input(s) such as a check for the presence of a valid Crypto Ignition Key (CIK) and/or other authentication inputs.
[0013] Turning to Fig. 3, a basic operation flowchart for a two-mode example depending on the presence of a valid CIK device is shown. (An associated password requirement, not shown, is also preferable). The left branch or path (high-assurance (HA) mode) is followed if the CIK is present; otherwise the right branch or path (lower- assurance (LA) mode) is followed. (Alternative embodiments could be utilize additional modes by requiring corresponding additional inputs in the boot sequence). If the CIK device is present, the MLA TCP initiates the HA mode boot process, loading and configuring the FPGA with a HA mode configuration (the stored image of which is isolated and encrypted) that creates a FTCP through the high-assurance multi-stage boot process utilizing the FROT as described above. If the HA mode boot process is successfully completed, the MLA TCP initiates HA mode processing functionality and boots the main processor with a HA mode operating system (OS 1 ) having functionality and access that is restricted and controlled by the FTCP per Type-1 requirements and is isolated from all LA mode functionality, applications (i.e., as seen in Fig. 3, it can access HA mode application(s) but not LA mode application(s)), files systems, and devices. In this mode, the MLA TCP device is a Type-1 HA TCP that utilizes the FTCP to perform all secure operations, I/O, power control, access to devices, process cryptograph functions, and protect keys.
[0014] If the HA mode boot process is either not entered or not completed, the MLA TCP enters the less-secure LA mode boot process, loading and configuring the FPGA with a LA mode configuration. (The MLA TCP may be configured to require some authentication such as a password, however, to allow even LA mode boot). Assuming LA mode boot successfully completes, the MLA TCP initiates LA mode processing functionality and boots the main processor with a LA mode operating system (OS 2) that in conjunction with the FTCP and FROT prevents any access to HA mode functionality and areas. In this mode, the MLA TCP device is a less secure, general- use, open computing device that may allow connection to additional interfaces, devices, and communication channels, and may support additional functionality (e.g., installing software, accessing the internet, executing general purpose applications, etc.). Thus the MLA TCP is a single computing platform that is Type-1 -capable but has a second mode (and optionally N additional modes by chaining the FROT into additional higher layer methods/modes) that supports higher-risk functions while remaining securely isolated from functionality, applications, files systems, and devices that need to be secure.

Claims

CLAIMS What is claimed is:
1 . A multi-mode Trusted Computing Platform (TCP), comprising:
a. a Field Programmable Gate Array (FPGA) that includes a Type-1 -compliant root of trust (ROT);
b. memory containing a Type-1 security boot image and at least one lower- security boot image than the Type-1 security boot image; and
c. memory containing a Type-1 -associated Operating System (OS) image and at least one lower-security-associated OS image than the Type-1 -associated OS image;
wherein the TCP is configured to execute a multi-stage boot process that, depending on the presence of one or more valid external inputs, selects and initiates either a Type-1 TCP computing mode or a lower-assurance computing mode than the
Type-1 TCP computing mode;
wherein the TCP is configured such that a set of input/ output (I/O) devices and applications with which the TCP can interact depends upon the computing mode selected and initiated by the TCP; and
wherein the TCP is configured to have functionality and access that, when in
Type-1 TCP computing mode, is restricted and controlled by the FPGA-based TCP (FTCP) per Type-1 protocol and is isolated from all non-Type-l TCP computing mode functionality, applications, file systems, and devices.
2. The TCP of claim 1 , wherein the one or more external inputs includes a portable device.
3. The TCP of claim 2, wherein the portable device is a Crypto Ignition Key (CIK) device, Universal Serial Bus (USB) token, or Radio Frequency Identification (RFID) device.
4. The TCP of claim 1 , wherein the TCP is configured to be unable to access Type- 1 TCP functionality and areas when in non-Type-1 TCP computing mode.
5. The TCP of claim 1 , wherein the TCP is configured to check for the presence of the one or more valid external inputs.
6. The TCP of claim 5, wherein the FPGA is configured to boot a Type-1 compliant FTCP upon a successful check for the presence of one or more valid external inputs corresponding to Type-1 TCP computing mode.
7. The TCP of claim 6, wherein the FPGA is configured to initiate the booting of the FTCP with the booting of a FPGA-based root of trust (FROT).
8. The TCP of claim 7, further comprising a main processor, wherein the FTCP is configured to link the FROT to higher-level security means implemented on the main processor.
9. The TCP of claim 8, wherein the higher-level security means comprise Trusted Platform Module or TrustZone.
10. The TCP of claim 8, wherein the higher-level security means comprise a trusted kernel.
1 1 . The TCP of claim 8, wherein the higher-level security means comprise a hypervisor.
12. The TCP of claim 1 1 , wherein the FTCP is integrated into the hypervisor.
13. The TCP of claim 1 , wherein the FTCP is configured to surround and control all security-sensitive system elements.
14. The TCP of claim 13, further comprising a main processor, wherein the FTCP is configured to treat the main processor as untrusted and to maintain hardware control over the main processor.
15. The TCP of claim 14, wherein the FTCP is configured to perform hardware control that includes enable/disable control, power control, and/or data stream processing.
16. The TCP of claim 14, wherein the FTCP is configured to perform hardware control that includes in-line data stream processing comprising processing, inspection, and encryption.
17. The TCP of claim 14, wherein the FTCP is configured to process complex protocol stacks and perform authorization and control of data traffic.
18. The TCP of claim 14, wherein the FTCP is configured to perform hardware control that includes encrypting and decrypting all main processor read/write memory access.
19. The TCP of claim 14, wherein the FTCP is configured to control the main processor boot process.
20. The TCP of claim 19, wherein the FTCP is configured to read, validate, decrypt, verify, and load onto the main processor a Type-1 -associated OS image.
21 . The TCP of claim 14, wherein the FTCP is configured to read, validate, decrypt, and verify all main processor sub-processes and applications.
22. The TCP of claim 21 , wherein the FTCP is configured to link validation to higher- level security means implemented on the main processor.
23. The TCP of claim 14, wherein the FTCP is configured to monitor main processor activity for anomalies.
24. The TCP of claim 14, wherein the main processor includes one or more physically-integrated secure boot protections.
PCT/US2015/011443 2014-02-04 2015-01-14 Multi-level assurance trusted computing platform WO2015119750A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
AU2015214589A AU2015214589B2 (en) 2014-02-04 2015-01-14 Multi-level assurance trusted computing platform
EP15746175.7A EP3103055B1 (en) 2014-02-04 2015-01-14 Multi-level assurance trusted computing platform

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/172,474 2014-02-04
US14/172,474 US8756417B1 (en) 2014-02-04 2014-02-04 Multi-level assurance trusted computing platform

Publications (1)

Publication Number Publication Date
WO2015119750A1 true WO2015119750A1 (en) 2015-08-13

Family

ID=50896931

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2015/011443 WO2015119750A1 (en) 2014-02-04 2015-01-14 Multi-level assurance trusted computing platform

Country Status (4)

Country Link
US (1) US8756417B1 (en)
EP (1) EP3103055B1 (en)
AU (1) AU2015214589B2 (en)
WO (1) WO2015119750A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018063646A1 (en) * 2016-09-28 2018-04-05 Intel Corporation ROOT OF TRUST (RoT) APPLICATION FOR INTERNET OF THINGS (IoT) DEVICES
EP3547194A1 (en) * 2018-03-27 2019-10-02 Canon Kabushiki Kaisha Apparatus and method for secure boot

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9635014B2 (en) * 2014-02-21 2017-04-25 Samsung Electronics Co., Ltd. Method and apparatus for authenticating client credentials
GB2531848B (en) * 2014-10-31 2017-12-13 Hewlett Packard Entpr Dev Lp Management of cryptographic keys
DE102015001801A1 (en) * 2015-02-16 2016-08-18 IAD Gesellschaft für Informatik, Automatisierung und Datenverarbeitung mbH Autonomous booting system with encryption of the entire data memory and method therefor
US10396991B2 (en) * 2016-06-30 2019-08-27 Microsoft Technology Licensing, Llc Controlling verification of key-value stores
US10402566B2 (en) * 2016-08-01 2019-09-03 The Aerospace Corporation High assurance configuration security processor (HACSP) for computing devices
US10503237B2 (en) 2017-02-13 2019-12-10 Gbs Laboratories, Llc Mobile device virtualization solution based on bare-metal hypervisor with optimal resource usage and power consumption
US11132437B2 (en) 2018-06-26 2021-09-28 The Government Of The United States Of America, As Represented By The Secretary Of The Navy Secure computer operating system through interpreted user applications
EP3609108B1 (en) * 2018-08-09 2021-04-28 Tata Consultancy Services Limited Method and system for message based communication and failure recovery for fpga middleware framework
US11151255B2 (en) * 2018-10-26 2021-10-19 Dell Products L.P. Method to securely allow a customer to install and boot their own firmware, without compromising secure boot
CN110263545B (en) * 2019-05-22 2022-11-04 西安理工大学 Starting process integrity measurement detection method based on Android system
US11341280B2 (en) * 2019-10-11 2022-05-24 American Express Travel Related Services Company, Inc. Executing entity-specific cryptographic code in a cryptographic coprocessor
DE102019217512A1 (en) * 2019-11-13 2021-05-20 Robert Bosch Gmbh Method for operating an industrial control system
CN113094111B (en) * 2021-04-16 2024-01-09 三星(中国)半导体有限公司 Device and method for starting device
US11809876B2 (en) * 2021-04-29 2023-11-07 Dell Products L.P. Trusted platform module protection for non-volatile memory express (NVMe) recovery

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090019281A1 (en) * 2007-07-13 2009-01-15 L3 Communications Corporation Secure host network address configuration
US20110023106A1 (en) * 2004-03-12 2011-01-27 Sca Technica, Inc. Methods and systems for achieving high assurance computing using low assurance operating systems and processes
US20120054744A1 (en) * 2010-05-10 2012-03-01 Manbinder Pal Singh Redirection of Information from Secure Virtual Machines to Unsecure Virtual Machines
US8433902B2 (en) * 2005-03-15 2013-04-30 Silicon Graphics International Corp. Computer system with dual operating modes

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970022703A (en) * 1995-10-18 1997-05-30 김광호 Computer system with security function and security method
EP1085396A1 (en) * 1999-09-17 2001-03-21 Hewlett-Packard Company Operation of trusted state in computing platform
US7194634B2 (en) 2000-03-31 2007-03-20 Intel Corporation Attestation key memory device and bus
WO2003090052A2 (en) 2002-04-18 2003-10-30 Advanced Micro Devices Inc. A computer system including a secure execution mode - capable cpu and a security services processor connected via a secure communication path
US7603551B2 (en) 2003-04-18 2009-10-13 Advanced Micro Devices, Inc. Initialization of a computer system including a secure execution mode-capable processor
US20060026417A1 (en) 2004-07-30 2006-02-02 Information Assurance Systems L.L.C. High-assurance secure boot content protection
US9904809B2 (en) 2006-02-27 2018-02-27 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for multi-level security initialization and configuration
US7822958B1 (en) * 2006-03-10 2010-10-26 Altera Corporation Booting mechanism for FPGA-based embedded system
US8117642B2 (en) 2008-03-21 2012-02-14 Freescale Semiconductor, Inc. Computing device with entry authentication into trusted execution environment and method therefor
US20110154501A1 (en) 2009-12-23 2011-06-23 Banginwar Rajesh P Hardware attestation techniques
US8943329B2 (en) * 2010-03-29 2015-01-27 Lenovo (Singapore) Pte. Ltd. Method and apparatus for sharing an integrity security module in a dual-environment computing device
US20120297177A1 (en) * 2010-11-15 2012-11-22 Ghosh Anup K Hardware Assisted Operating System Switch
US20120216281A1 (en) 2011-02-22 2012-08-23 PCTEL Secure LLC Systems and Methods for Providing a Computing Device Having a Secure Operating System Kernel
US8375221B1 (en) * 2011-07-29 2013-02-12 Microsoft Corporation Firmware-based trusted platform module for arm processor architectures and trustzone security extensions

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110023106A1 (en) * 2004-03-12 2011-01-27 Sca Technica, Inc. Methods and systems for achieving high assurance computing using low assurance operating systems and processes
US8433902B2 (en) * 2005-03-15 2013-04-30 Silicon Graphics International Corp. Computer system with dual operating modes
US20090019281A1 (en) * 2007-07-13 2009-01-15 L3 Communications Corporation Secure host network address configuration
US20120054744A1 (en) * 2010-05-10 2012-03-01 Manbinder Pal Singh Redirection of Information from Secure Virtual Machines to Unsecure Virtual Machines

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018063646A1 (en) * 2016-09-28 2018-04-05 Intel Corporation ROOT OF TRUST (RoT) APPLICATION FOR INTERNET OF THINGS (IoT) DEVICES
EP3547194A1 (en) * 2018-03-27 2019-10-02 Canon Kabushiki Kaisha Apparatus and method for secure boot
US11748482B2 (en) 2018-03-27 2023-09-05 Canon Kabushiki Kaisha Information processing apparatus, and information processing method

Also Published As

Publication number Publication date
US8756417B1 (en) 2014-06-17
EP3103055B1 (en) 2020-03-18
EP3103055A1 (en) 2016-12-14
AU2015214589A1 (en) 2016-09-15
EP3103055A4 (en) 2017-08-30
AU2015214589B2 (en) 2016-10-06

Similar Documents

Publication Publication Date Title
AU2015214589B2 (en) Multi-level assurance trusted computing platform
TWI438686B (en) System and method for protected operating system boot using state validation
US8364975B2 (en) Methods and apparatus for protecting data
US8832457B2 (en) Methods and apparatus for authenticating components of processing systems
US20210117534A1 (en) Trusted execution environment instances licenses management
JP6556864B2 (en) System and method for verifying integrity of electronic device
US10318765B2 (en) Protecting critical data structures in an embedded hypervisor system
US8041947B2 (en) Computer architecture for an electronic device providing SLS access to MLS file system with trusted loading and protection of program execution memory
CN109840430B (en) Safety processing unit of PLC and bus arbitration method thereof
US20200097661A1 (en) Merging multiple compute nodes with trusted platform modules utilizing authentication protocol with active trusted platform module provisioning
KR20170095163A (en) Hardware device and authenticating method thereof
US11354417B2 (en) Enhanced secure boot
WO2020076408A2 (en) Trusted booting by hardware root of trust (hrot) device
US11704442B2 (en) Instance handling of a trusted execution environment
Kim et al. hTPM: Hybrid implementation of trusted platform module
Parno Trust extension for commodity computers
Sadeghi et al. Trusted computing

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15746175

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

REEP Request for entry into the european phase

Ref document number: 2015746175

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2015746175

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2015214589

Country of ref document: AU

Date of ref document: 20150114

Kind code of ref document: A