Cryptographic Processing System Timing Attack Protection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Timing-based side-channel attacks can reveal sensitive information about cryptographic functions and encryption keys by monitoring the elapsed time required to complete cryptographic operations, which existing data storage devices are unable to effectively defend against.

Innovation Solution

A timer circuit is initiated to denote a predetermined elapsed time interval for cryptographic functions, ensuring that all operations take the same overall time regardless of input data, thereby masking timing differences and preventing attackers from discerning side-channel information.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If cryptographic functions are executed with variable execution time based on input data, then processing efficiency is improved, but timing-based side-channel attacks can reveal sensitive information

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidtiming-based side-channel attacks
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The system pre-determines a fixed execution time for cryptographic functions regardless of actual processing needs. A timer is initialized before function execution, and the function is forced to complete within this predetermined time window, preventing timing variations that could leak information about input data or encryption keys

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts execution by implementing a waiting period mechanism. When cryptographic functions complete earlier than the predetermined time, the system introduces artificial delays to ensure uniform execution time across different inputs, thereby maintaining security while allowing flexible processing

Inventive Principle:
Principle #15Dynamics

2Reliability

If a fixed time interval is enforced for all cryptographic operations, then timing attack resistance is improved, but processing time increases due to waiting periods

Engineering Contradiction:
Improvetiming attack resistanceVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system applies partial padding by only enforcing the fixed time interval when necessary. If cryptographic functions complete within the predetermined time, no additional waiting is imposed. The waiting period is only introduced when execution would otherwise complete earlier, thus providing timing attack resistance while minimizing unnecessary time loss

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system changes the time parameter dynamically based on execution status. The timer interval is set to a predetermined value, but the actual waiting period adjusts based on whether the cryptographic function completed early or on time, optimizing the balance between security and processing efficiency

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10511433B2Timing attack protection in a cryptographic processing system
Publication Date: 2019.12.17 SEAGATE TECH LLC
  • US10511433B2 patent drawing
  • US10511433B2 patent drawing
  • US10511433B2 patent drawing

AI summary

Apparatus and method for enacting data security in a cryptographic processing system, such as a data storage device. In some embodiments, a timer circuit is initiated to denote an elapsed time interval of predetermined duration responsive to a function call by an initiator circuit to perform a selected cryptographic function upon input data. The selected cryptographic function is executed to generate output data which are temporarily stored in a memory location during a waiting period prior to a conclusion of the elapsed time interval. Additional functions may be performed during the waiting period. A notification from the timer circuit is received at the conclusion of the elapsed time interval, and the output data are transferred from the memory to the initiator circuit. In this way, a timing attack may be defended against by configuring the selected cryptographic function to have the same overall execution time for different input data sets.