Hardened RSA Signature Verification via Segmented Message Check
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing RSA signature verification systems are vulnerable to attacks where malicious actors can alter or skip the signature verification process, potentially gaining access to sensitive hardware and compromising system integrity.
Innovation Solution
The implementation of a hardened encoded message check using shares or trivial secret sharing during RSA signature verification, where the result of the signature verification is produced by processing an encoded message and reducing it to a single word, with a success value set to unlock sensitive operations and a failure value configured as 0xffffffff, thereby making it difficult for attackers to access sensitive hardware operations even if they interrupt or skip the verification process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional RSA signature verification is used, then the verification process is simple and fast, but the system is vulnerable to attacks where malicious actors can alter or skip the verification process
Solution Approach 1:
The encoded message is divided into multiple words (e.g., 16 words of 32 bits each). Instead of verifying the entire message at once, the system processes each word separately through XOR operations with corresponding words from a second encoded message, accumulating results in a verification value. This segmentation makes the verification process more resistant to attacks while maintaining manageable complexity
Solution Approach 2:
The system performs preliminary processing of the encoded message by XORing each word with its corresponding word from the second encoded message before final verification. This preliminary action transforms the verification process into a series of simpler operations that are more resistant to attacks, establishing a foundation for secure verification before the final result is produced
2Reliability
If the encoded message check is hardened using multiple words and XOR operations, then the probability of successful attack is reduced, but the processing time and computational effort increase
Solution Approach 1:
The system changes the parameter representation by using multiple words (e.g., 16 words) instead of a single value for verification. Each word undergoes XOR operations with corresponding words, and the results are accumulated. This parameter transformation increases security resilience while the use of standard word-size operations keeps processing time acceptable
3Ease of operation
If the verification process uses a single success value to unlock sensitive operations, then the operation is simple, but an attacker who alters the verification process can more easily bypass security
Solution Approach 1:
The verification process is segmented into multiple word-level XOR operations rather than a single comparison operation. This segmentation maintains operational simplicity at each step while collectively providing strong resistance against alteration attacks, as an attacker would need to successfully alter all segmented operations simultaneously
Solution Approach 2:
The XOR operations serve as intermediary steps between the encoded message and the final verification result. These intermediary transformations obscure the direct relationship between the input message and the success value, making it difficult for attackers to predict or manipulate the outcome while keeping each individual operation simple
Data Source
Figure 1A
Figure 1B
Figure 2
AI summary
Aspects of hardened encoded message check systems and methods for RSA signature verification are described. In one implementation, an encoded message is received that includes an array of words. Each of the words in the encoded message are processed using an expected value and a share associated with each word. A verification value is calculated based on the array of words in the encoded message, the expected value, and the share associated with each word. A determination is performed regarding whether the verification value is correct and, if the verification value is correct, a hardware device is unlocked.