CRTM Code Update via L2 Cache Copying
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing methods for updating Core Root of Trust for Measurement (CRTM) software are insecure and cannot be updated while the system is executing, as the flash memory sectors where CRTM is stored are locked, requiring reprogramming and ensuring only trusted, digitally signed code can perform updates.
Innovation Solution
A system and method that utilize a cache memory to execute and update CRTM code, allowing the processor to copy updated CRTM code from a staging area in ROM to the cache and then to the primary storage location, while verifying the signature of the new code to ensure security and integrity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If flash memory sectors are locked to protect CRTM code, then security and integrity are improved, but the ability to update CRTM code is lost
Solution Approach 1:
The flash memory is divided into multiple sectors, with at least one sector dedicated to storing updated CRTM code. This segmentation allows the system to maintain locked protection for the primary CRTM code while providing a separate, accessible area for storing updates, thereby resolving the contradiction between security and updatability.
Solution Approach 2:
The system performs preliminary actions by storing updated CRTM code in a dedicated sector before the actual update process. This preliminary storage allows the updated code to be prepared and verified while the original locked sectors remain protected, enabling secure in-place updates without compromising integrity.
2Reliability
If CRTM code is stored in locked flash sectors, then protection against unauthorized writes is improved, but the ability to execute updated code is lost
Solution Approach 1:
The patent introduces an intermediary mechanism where updated CRTM code is first stored in a dedicated sector that is accessible for reading. This intermediary storage area allows the system to read and execute updated code without needing to modify the locked primary sectors, thus maintaining both protection and ease of operation.
3Adaptability or versatility
If flash memory is reprogrammed to update CRTM, then updated functionality is achieved, but system downtime and complexity increase
Solution Approach 1:
The system uses copying by storing the updated CRTM code in a dedicated flash sector rather than performing complex in-place reprogramming operations. This copying approach simplifies the update process by allowing the system to read and execute the copied code directly, avoiding the complexity of modifying locked memory sectors while achieving functional updates.
Data Source
AI summary
Embodiments comprise systems, methods and media for updating CRTM code in a computing machine. In one embodiment, the CRTM code initially resides in ROM and updated CRTM is stored in a staging area of the ROM. A logical partition of L2 cache may be created to store a heap and a stack and a data store. The data store holds updated CRTM code copied to the L2 cache. When a computing system is started, it first executes CRTM code. The CRTM code checks the staging area of the ROM to determine if there is updated CRTM code. If so, then CRTM code is copied into the L2 cache to be executed from there. The CRTM code loads the updated code into the cache and verifies its signature. The CRTM code then copies the updated code into the cache where the current CRTM code is located.


