Encrypted Instruction Execution With Signature Integrity Checks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for executing machine code are vulnerable to fault attacks that corrupt instruction integrity, leading to security breaches, and existing encryption techniques fail to detect single instruction errors effectively.
Innovation Solution
A method involving encryption and integrity checking of machine code instructions using a signature-based approach, where each instruction's integrity is verified by comparing constructed and reference signatures, ensuring the integrity of the instruction stream and detecting corruption early.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If machine code is encrypted to prevent analysis and fault attacks, then security against analysis is improved, but the ability to detect single instruction errors is worsened
Solution Approach 1:
The patent applies preliminary action by computing and storing reference signatures for all instructions before execution. These reference signatures are pre-calculated based on the encrypted instruction stream and stored in a lookup table, enabling immediate error detection during execution without compromising security.
Solution Approach 2:
The patent introduces an intermediary mechanism - a signature verification system that operates between the encrypted instruction stream and the execution unit. This intermediary computes current signatures from encrypted instructions and compares them against pre-stored reference signatures, enabling error detection without decrypting instructions.
2Measurement precision
If signature verification is performed after each instruction to ensure integrity, then detection precision is improved, but processing speed is worsened
Solution Approach 1:
The patent performs preliminary action by pre-computing and storing all reference signatures before execution begins. This eliminates the need for complex verification computations during instruction execution, maintaining high processing speed while ensuring integrity verification accuracy.
Solution Approach 2:
The patent creates a copy of the signature verification function by pre-storing reference signatures in a lookup table. Instead of recomputing signatures during execution, the system copies the verification logic into a simple comparison operation against pre-computed reference values, significantly improving execution speed.
Data Source
AI summary
A method for executing a machine code with a computer, including constructing a signature for a current instruction on the basis of signals generated by a stage of a hardware processing path, this stage being a decoder or a stage following the decoder in the hardware processing path, and on the basis of the preceding signature constructed for an instruction which precedes it, then checking the integrity of the executed machine code by comparing the signature constructed for the current instruction with a prestored reference signature, then only when the integrity of the current instruction has been checked successfully, decrypting a cryptogram of the following instruction using the signature constructed for the current instruction.

