Secure Computation Protocol Timing Attack Mitigation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In secure computation protocols, the lack of a trusted third party can lead to vulnerabilities where unauthorized parties can infer private data by observing time differences in the execution of program code parts, compromising data privacy, especially when two parties need to compute joint functions without revealing precise data values.
Innovation Solution
A secure computation protocol is implemented using an identifier unit to determine assignment types and a modifier unit that adds dummy variables to reduce observable time differences between code parts, combined with binary circuit protocols and public key encryption to ensure data privacy and efficiency, allowing only authorized parties to execute encrypted program codes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a trusted third party is used to process private data, then data privacy is protected, but system complexity and availability deteriorate due to requiring an additional trusted entity
Solution Approach 1:
The patent extracts the trusted third party from the system by implementing secure two-party computation protocols that allow parties to compute joint functions of their private data without revealing the data to each other or requiring a third party. This removes the complexity of managing trusted intermediaries while maintaining privacy protection.
Solution Approach 2:
The patent introduces cryptographic protocols as an intermediary mechanism that enables secure computation between parties without requiring a trusted third party. The protocol acts as a mediator that guarantees privacy through cryptographic guarantees rather than trust in a third party.
2Productivity
If two parties execute different parts of program code based on secret conditions, then computation efficiency is improved, but information security deteriorates as unauthorized parties can infer private data from execution time differences
Solution Approach 1:
The patent applies preliminary action by adding dummy variable assignments at the beginning of code blocks before secret conditions are evaluated. These dummy assignments ensure that both code paths take the same amount of time to execute, preventing timing attacks while maintaining the efficiency of conditional execution.
Solution Approach 2:
The patent changes the execution time parameter by introducing computational work (dummy variable assignments) that equalizes the time taken for different code paths. This parameter modification ensures that execution time no longer leaks information about which secret condition branch was taken.
3Loss of information
If dummy variables are added to equalize execution time of code parts, then information security is improved, but memory requirements increase
Solution Approach 1:
The patent applies local quality by adding dummy variable assignments only in specific locations where timing equalization is needed - at the beginning of code blocks following secret conditions. This localized approach minimizes memory overhead while effectively preventing information leakage at critical points.
Solution Approach 2:
The dummy variables used for timing equalization are temporary and local to specific code blocks. They serve their purpose of equalizing execution time and then go out of scope, minimizing their impact on overall memory requirements. These are disposable objects that exist only briefly during execution.
4Loss of information
If all assignments are executed in both code parts for security, then information security is improved, but runtime efficiency deteriorates
Solution Approach 1:
The patent applies partial action by executing only the necessary assignments - dummy variables in both code paths for timing equalization, but actual computational assignments only in the relevant code path determined by secret conditions. This avoids the excessive action of executing all assignments in both paths while maintaining security.
Data Source
AI summary
A system according to an example embodiment may include an identifier unit and a modifier unit. The identifier unit may be configured to identify an assignment type of an assignment of a variable in a part of a program code. The assignment type of the assignment may be different from an assignment type of a further assignment of the variable in a further part of the program code. The modifier unit may be configured to add to the further part of the program code an assignment of a dummy variable having the assignment type of the assignment of the variable.


