Dynamic Firmware Module Loader in Trusted Execution Environment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing UEFI firmware implementations by different original equipment manufacturers and BIOS vendors introduce security vulnerabilities and increase costs due to reliance on System Management Mode (SMM), which also bypasses operating system security and creates maintainability burdens across various vendors.

Innovation Solution

Implementing UEFI capabilities within a containerized Trusted Execution Environment (TEE) that isolates firmware modules, eliminating the need for SMM and providing a scalable hardware IPC channel, abstracting storage, and enabling secure non-volatile memory management to ensure data integrity and confidentiality.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If System Management Mode (SMM) is used to manage firmware and access controlled resources, then firmware management capabilities are provided, but security vulnerabilities are introduced and attack surface is increased

Engineering Contradiction:
Improvefirmware management capabilityVSAvoidsecurity vulnerability
Core Design Contradiction:
Ease of operationVSObject-affected harmful factors

Solution Approach 1:

The patent extracts SMM-dependent firmware management functionality and relocates it to a Trusted Execution Environment (TEE). The TEE provides a secure container that isolates firmware from the host system, eliminating security vulnerabilities associated with SMM while preserving firmware management capabilities through secure enclave mechanisms.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The TEE acts as an intermediary between the host system and access-controlled resources. Instead of SMM directly managing firmware and resources, the TEE mediates these operations through secure interfaces, providing the same functionality without the security risks of SMM.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If multiple storage drivers are implemented to support various storage types in UEFI firmware, then storage compatibility is improved, but device complexity and maintainability burden increase

Engineering Contradiction:
Improvestorage type compatibilityVSAvoidfirmware complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal storage abstraction layer within the TEE that provides multi-functional support for various storage types through a single unified interface. This abstraction layer handles different storage protocols and devices generically, eliminating the need for multiple specialized drivers while maintaining compatibility across storage types.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Adaptability or versatility

If vendor-specific customizations are implemented in UEFI firmware, then specific features are enabled, but maintainability across vendors deteriorates

Engineering Contradiction:
Improvevendor feature capabilityVSAvoidfirmware maintainability
Core Design Contradiction:
Adaptability or versatilityVSEase of repair

Solution Approach 1:

The patent segments firmware functionality into standardized core components hosted in the TEE and vendor-specific extensions. The TEE provides a uniform execution environment with standardized interfaces, while vendor-specific features are implemented as separate, modular extensions that can be independently developed, tested, and maintained without affecting the core firmware.

Inventive Principle:
Principle #1Segmentation

4Ease of operation

If SMM is used for firmware execution, then system management functions are provided, but operating system security is bypassed

Engineering Contradiction:
Improvesystem management functionVSAvoidoperating system security
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent extracts system management functions from SMM and relocates them to the TEE. The TEE provides a secure execution environment that operates independently of the host OS security model, allowing system management functions to execute with appropriate privileges while maintaining OS security boundaries through controlled interfaces.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The TEE creates an inert, isolated execution environment that is separate from the host OS. This secure enclave provides the necessary system management capabilities while being immunized against OS-level security threats, effectively creating a security-aware zone that does not compromise the overall system security architecture.

Inventive Principle:
Principle #39Inert atmosphere (Inert environment)

Data Source

PatentUS10430589B2Dynamic firmware module loader in a trusted execution environment container
Publication Date: 2019.10.01 INTEL CORP
  • US10430589B2 patent drawing
  • US10430589B2 patent drawing
  • US10430589B2 patent drawing

AI summary

A dynamic firmware module loader loads one of a plurality of a firmware contexts or modules as needed in a containerized environment for secure isolated execution. The modules, called applets, may be loaded and unloaded in a firmware context. The loader may use a hardware inter process communication channel (IPC) to communicate with the secure engine. The modules may be designed to implement specific features desired by basic input/output system vendors, without the use of a system management mode. Designed modules may provide necessary storage and I/O access driver capabilities to be run in trusted execution environment containers.