Software Update Metadata Retrieval for Secure Booting
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Advanced driver assistance systems (ADAS) and autonomous vehicle (AV) systems face challenges in securely updating software components with different trust levels without disrupting ongoing operations, particularly in ensuring the reliability of booting processes and maintaining system integrity.
Innovation Solution
The method involves receiving a software update package containing trusted and less-trusted software components, storing them in nonvolatile memory without overwriting current versions, and switching to updated versions while invalidating old metadata to ensure secure and efficient updates, with retrieval information for booting metadata to facilitate seamless transitions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If software updates are performed by overwriting current versions, then update efficiency is improved, but system reliability deteriorates due to potential failure during update process
Solution Approach 1:
The patent performs preliminary actions by validating the updated software component and its metadata before overwriting the current version. The system checks digital signatures, verifies integrity, and ensures bootability of updated components before committing them to storage, thereby preventing unreliable updates from compromising system reliability while maintaining update efficiency.
Solution Approach 2:
The patent implements beforehand cushioning by maintaining backup copies of current software components and creating recovery mechanisms before updates are applied. If an update fails or proves unreliable, the system can revert to the previous working version, thus cushioning against potential system failures and maintaining reliability during the update process.
2Device complexity
If trusted and untrusted software are stored together in the same memory location, then device complexity is reduced, but security reliability deteriorates due to potential contamination or unauthorized access
Solution Approach 1:
The patent applies segmentation by dividing the storage space into distinct trusted and untrusted regions within the same non-volatile memory device. Updated trusted software components and their metadata are stored in protected locations that are separate from untrusted software, allowing the system to maintain simplified single-device storage while ensuring security isolation and preventing contamination between trusted and untrusted code.
3Reliability
If booting metadata is updated along with software components, then update completeness is improved, but update complexity worsens due to additional validation and storage requirements
Solution Approach 1:
The patent merges the software component update process with its corresponding metadata update process into a single atomic operation. When an updated software component is validated and installed, its metadata (including booting information, digital signatures, and version data) is simultaneously updated and linked. This merging ensures update completeness while managing complexity by treating component and metadata as an integrated update unit rather than separate processes.
Data Source
AI summary
Techniques are disclosed for updating a trusted software and another software, which may include receiving a software update package that comprises a trusted updated software component, a trusted updated software booting metadata, another updated software component, and another updated software booting metadata. The trusted updated software component may belong to an updated version of the trusted software, and the trusted software may have a certain trust level. The other updated software component may belong to an updated version of the other software, and the other software may have a trust level that is lower than the certain trust level. At least a part of the trusted updated software booting metadata may comprise retrieval information for retrieving, during a booting process, at least a portion of the other software booting metadata.


