Secure Computation Protocol Timing Attack Mitigation

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata privacy protectionVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvecomputation efficiencyVSAvoidinformation leakage
Core Design Contradiction:
ProductivityVSLoss of information

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #35Parameter changes

3Loss of information

If dummy variables are added to equalize execution time of code parts, then information security is improved, but memory requirements increase

Engineering Contradiction:
Improveinformation leakageVSAvoidmemory requirements
Core Design Contradiction:
Loss of informationVSQuantity of substance

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.

Inventive Principle:
Principle #3Local quality

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.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

4Loss of information

If all assignments are executed in both code parts for security, then information security is improved, but runtime efficiency deteriorates

Engineering Contradiction:
Improveinformation securityVSAvoidruntime efficiency
Core Design Contradiction:
Loss of informationVSProductivity

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.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8321666B2Implementations of secure computation protocols
Publication Date: 2012.11.27 SAP SE
  • US8321666B2 patent drawing
  • US8321666B2 patent drawing
  • US8321666B2 patent drawing

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.