Instruction Execution Validation Using Signatures and Policy Matching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems lack the ability to verify that the intended sequence of instructions has been executed and the correct data items have been processed, making them vulnerable to replay attacks and falsification.
Innovation Solution
An apparatus and method that generate a signature indicative of executed instructions and data items, validated against a predefined policy to ensure the correct processing has occurred, using techniques such as single-use codes, control flow graphs, and cryptographic hashes to prevent falsification and ensure authenticity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If processing circuitry executes program instructions to process data items, then productivity is improved, but reliability deteriorates due to inability to verify execution integrity
Solution Approach 1:
The patent applies preliminary action by generating a control flow graph and expected signature before executing the program instructions. This pre-computed reference is then used to verify the actual execution, allowing the system to ensure reliability without sacrificing processing productivity. The signature generation and control flow analysis are performed in advance, creating a benchmark against which actual execution can be validated.
2Reliability
If validation procedures are implemented to verify instruction execution, then reliability is improved, but device complexity increases
Solution Approach 1:
The patent uses copying by creating a control flow graph that replicates the program's execution paths and generating a signature that copies essential execution characteristics. Instead of complex validation circuitry, the system creates simplified representations (copies) of the execution flow that can be easily compared against actual execution, reducing device complexity while maintaining reliability.
Solution Approach 2:
The patent transforms the verification problem by changing parameters - converting program instructions into a control flow graph representation and further into a signature. This parameter transformation simplifies the validation process, allowing complex execution verification to be performed through comparison of transformed representations rather than direct instruction-by-instruction analysis.
3Measurement precision
If signatures are generated to indicate executed instructions and data items, then measurement precision is improved, but loss of information increases due to signature abstraction
Solution Approach 1:
The patent applies extraction by taking out only the essential characteristics of execution into a signature - specifically, the control flow path and key execution points. Rather than preserving all detailed execution data, the system extracts the critical elements needed for verification, maintaining measurement precision for execution tracking while minimizing information loss by focusing on what is truly necessary for validation.
Data Source
AI summary
There is provided an apparatus, a method of operating the apparatus and a computer program for controlling a host data processing apparatus to provide an instruction execution environment equivalent to the apparatus. The apparatus comprises processing circuitry configured to execute a sequence of program instructions to process data items. The processing circuitry is configured to generate a signature indicative of executed instructions in the sequence of program instructions and indicative of the data items. The apparatus is also provided with validation circuitry configured to implement a validation procedure. The validation procedure comprises the steps of evaluating the signature against a predefined policy to verify that the processing circuitry has processed the data items using the sequence of program instructions and, in response to a match between the signature and the predefined policy, generating confirmation information to indicate the match.


