Software Write Verification via Register Reassignment
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional methods for verifying write operations in software programs are complex, resource-intensive, and ineffective in detecting faults injected into registers, particularly in cases of immediate assignments, leading to security vulnerabilities.
Innovation Solution
A method that involves a mnemonic instruction to reassign the destination address in the register after writing, allowing for a simple, efficient, and reliable verification of write operations by erasing faults injected into the register, thereby ensuring accurate detection of malfunctions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If conventional flow control is used to verify write operations, then verification is performed, but fault injections into register addresses are not detected
Solution Approach 1:
The patent applies preliminary action by reassigning the destination address in the register immediately after the write operation and before the verification read. This reassignment erases any fault that may have been injected into the register, ensuring that the verification reads from the correct address. The solution proactively neutralizes the threat before it can compromise the verification process.
2Reliability
If separate functions are used for write and verify operations, then fault detection capability is improved, but programming complexity increases
Solution Approach 1:
The patent merges the write and verify operations into a single function, eliminating the need for separate functions while maintaining fault detection capability. The key is the insertion of a reassignment instruction between the write and verify operations within the same function, which simplifies the programming structure while preserving security.
Solution Approach 2:
The patent segments the verification process by inserting a distinct reassignment step between the write operation and the verify operation. This segmentation ensures that any fault injected into the register address is erased before verification, while keeping the overall structure within a single function for simplicity.
3Productivity
If verification is delayed to continue other executions, then productivity is improved, but security protection effectiveness is reduced
Solution Approach 1:
The patent performs the address reassignment immediately after the write operation and before any other executions continue. This preliminary action ensures that the security protection is active and effective at the moment of verification, while the overall process remains efficient by not requiring separate verification functions or delayed verification.
Data Source
AI summary
A method can be used for verifying an execution of a compiled software program stored in a program memory of a processor and executed by the processor. A write operation includes assigning a destination address in a register of the processor and writing a datum at a location pointed to by the destination address contained in the register. A verification operation includes reassigning the same destination address in the same register, reading the datum contained at the location pointed to by the destination address contained in the register after the reassignment, and comparing the read datum and the written datum.


