Asynchronous Task Execution for Digital Security Device Protection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Digital security devices are vulnerable to side-channel, fault injection, and timing attacks, which can compromise the security of sensitive information stored on these devices.
Innovation Solution
The method involves identifying asynchronous tasks, placing them in an asynchronous task queue, and executing selected tasks to nonlinearize the execution of applications, thereby desynchronizing execution and protecting against attacks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional linear execution of cryptographic algorithms is used, then the device operates efficiently with predictable timing, but it becomes vulnerable to side-channel, fault injection, and timing attacks
Solution Approach 1:
The patent implements dynamic execution by maintaining a queue of asynchronous tasks that can be executed in non-deterministic orders. The execution flow is made dynamic through the use of task queues, random selection of tasks, and variable execution paths, making it difficult for attackers to predict timing and power consumption patterns associated with specific cryptographic operations
Solution Approach 2:
The cryptographic execution is segmented into multiple independent asynchronous tasks that are placed in separate queues. These tasks can be executed independently and in different orders, breaking the traditional linear execution flow into discrete, reorderable units that obscure the relationship between input data and execution timing
2Reliability
If asynchronous tasks are introduced to desynchronize execution, then security against timing attacks is improved, but execution performance and predictability deteriorate
Solution Approach 1:
Tasks are pre-loaded into asynchronous queues before execution begins. This preliminary organization allows the system to quickly access and execute tasks without requiring complex real-time scheduling decisions, improving execution performance while maintaining the security benefits of non-deterministic task selection
Solution Approach 2:
The system uses its own internal task queues and execution mechanisms to automatically manage the desynchronization process. The digital security device independently controls its execution flow without requiring external intervention, maintaining performance while achieving security goals through self-managed task scheduling
3Reliability
If code branches are equalized in execution time, then uniform timing patterns are achieved to prevent attacks, but the ability to optimize different code paths deteriorates
Solution Approach 1:
The patent changes the execution timing parameter dynamically by introducing variable delays and randomization factors in different code branches. Instead of forcing all branches to take the same time, the system uses parameter changes to create unpredictable timing patterns that prevent attackers from inferring information based on timing analysis
Data Source
AI summary
Provided is a method and device for protecting a computerized digital security device against side-channel, fault injection, and timing attacks, the method comprising identifying asynchronous tasks to be performed by the computerized digital security device by placing identified asynchronous tasks in an asynchronous task queue; and executing a first application, including non-linearizing execution of the application by selecting at least one task from the asynchronous task queue, executing the selected at least one task, removing the selected at least one task from the asynchronous task queue. Other embodiments disclosed.


