Microprocessor Integrity Code Calculation via Conditional Transpositions
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for securing binary code execution against fault injection attacks, such as those described in DEMEYER2019, are complex and difficult to implement, especially for Boolean operations, due to the need for multiplications in Galois fields and complex calculations.
Innovation Solution
A method for executing binary code that uses a security hardware module to calculate integrity codes using a secret key, employing a function Fα that involves conditional transpositions to simplify the calculation of integrity codes for Boolean operations, making it more robust against fault injection attacks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If integrity codes are calculated using multiplications in Galois field as described in DEMEYER2019, then security robustness against fault injection attacks is improved, but implementation complexity increases significantly
Solution Approach 1:
The patent changes the mathematical parameters from Galois field multiplications to Boolean operations (XOR, AND, OR) combined with conditional transpositions. This parameter change maintains security robustness while dramatically simplifying implementation, as Boolean operations are native to digital logic circuits and do not require complex finite field arithmetic units
Solution Approach 2:
The patent substitutes the mechanical/mathematical system of Galois field multiplications with a logical system based on Boolean operations and conditional bit transpositions. This substitution replaces complex arithmetic mechanics with simpler logical operations that are more easily implemented in hardware security modules
2Measurement precision
If error-correcting codes are used to detect execution faults, then fault detection capability is improved, but security against attacker modification worsens
Solution Approach 1:
The patent applies preliminary action by pre-processing data through the function Fα before execution, embedding security checks into the data structure itself. This preliminary transformation ensures that any modification to data or results can be detected through the integrity code verification, providing both fault detection and security against attacker modification
Solution Approach 2:
The patent introduces an intermediary integrity code that mediates between the data and the verification process. This integrity code, calculated as Fα(a) ⊕ Fα(b) for operations like addition, serves as a trusted intermediary that can detect both execution faults and attacker modifications without requiring complex error-correcting code mechanisms
Data Source
Figure 1~2
Figure 3~4
Figure 5~6
AI summary
This process comprises: - for each data point Di, the calculation (88) of a code Ci using a relation Ci = Qα(Di) = P o Fα(Di), where: - P is a predetermined function, - Fα is a function defined by the following relation: Fα(Di) = Tαt o...o Tαr o ... o Tα1 o Tα0(Di), - Tαr is a conditional transposition parameterized by a secret parameter αr that swaps two blocks B1r and B2r of bits from the data point Di according to the value of the parameter αr, - the calculation (98) of a Cres-t code using the following relation: Cres-t = C1 & C2 & ... & Cn, where C1 to Cn are the codes associated with data points D1 to Dn combined with each other by a Boolean operation D1&D2&...&Dn, where the symbol "&" denotes the operation Boolean.