Bijective Algorithm Authentication via Partial Reverse Computation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing authentication methods using bijective algorithms are vulnerable to attacks, particularly 'Differential Power Analysis by the end' (DPA by the end), which allow attackers to deduce the predetermined key by comparing the computed reference code byte by byte with the received code, making it difficult to secure message authentication.
Innovation Solution
A control method and device that authenticates received codes without computing reference codes by applying a bijective algorithm partially from the starting step and reversing it partially from the ending step, comparing intermediate results to determine authenticity, thereby preventing attackers from exploiting the final comparison.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the complete bijective algorithm is applied to compute reference codes for authentication, then authentication accuracy is improved, but vulnerability to DPA by the end attacks increases
Solution Approach 1:
The authentication process is segmented into two independent paths: the authenticator computes a reference code using the complete bijective algorithm, while the verifier computes an intermediate result using only a partial application of the algorithm. This segmentation allows authentication to proceed without the verifier needing to compute the complete reference code, thereby preventing DPA by the end attacks while maintaining authentication accuracy through the comparison of the intermediate result with a corresponding portion of the received code.
Solution Approach 2:
The vulnerable final comparison step that computes the complete reference code is extracted and replaced. Instead of computing the full reference code at the verifier side, only an intermediate result from a partial algorithm application is computed and compared. This extraction removes the attack surface for DPA by the end attacks while preserving the essential authentication function.
2Reliability
If the bijective algorithm is applied completely to generate and verify codes, then message authentication is ensured, but key security is compromised due to byte-by-byte comparison
Solution Approach 1:
The verification process performs only a partial application of the bijective algorithm, computing an intermediate result rather than the complete reference code. This partial action is sufficient for authentication purposes when compared with the corresponding portion of the received code, while avoiding the excessive computation that would expose the key through complete reference code generation and byte-by-byte comparison.
3Measurement precision
If reference codes are computed and compared byte by byte, then code authenticity is verified, but attackers can deduce the predetermined key from physical effect variations
Solution Approach 1:
The harmful byte-by-byte comparison operation that enables key deduction is extracted and replaced with a comparison of intermediate results from partial algorithm application. This extraction eliminates the physical effect variations that attackers exploit while preserving the essential functionality of verifying code authenticity through comparison.
Solution Approach 2:
An intermediate result from partial algorithm application serves as a mediator between the received code and the authentication decision. This intermediary value allows verification of code authenticity without requiring the computation or comparison of complete reference codes, thereby preventing attackers from deducing the predetermined key through physical effect analysis.
Data Source
Figure 1~2
AI summary
A device (CD) is intended for controlling authenticity of a code received with a message by an electronic device (ED2) and resulting from application to this message of a bijective algorithm with at least one predetermined key. This device (CD) comprises i) a first computation means (CM1) arranged for applying partly this bijective algorithm with this predetermined key, from a starting step to a chosen intermediate step, to the received message, in order to get a first result, ii) a second computation means (CM2) arranged for applying partly in a reverse manner the bijective algorithm with the predetermined key, from an ending step to this chosen intermediate step, to the received code while using the received message, in order to get a second result, and iii) a comparison means (CM3) arranged for comparing these first and second results and for outputting an information representative of the authenticity of the received code when the first and second results are identical.