US2025030732A1PendingUtilityA1

A synchronous code execution for enhanced performance and security measures protecting digital security devices

Assignee: THALES DIS FRANCE SASPriority: Dec 7, 2021Filed: Dec 5, 2022Published: Jan 23, 2025
Est. expiryDec 7, 2041(~15.3 yrs left)· nominal 20-yr term from priority
G06F 2221/034H04L 63/1466H04L 9/005H04L 9/004H04L 9/003G06F 21/75
37
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

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.

Claims

exact text as granted — not AI-modified
1 . A method for enhancing performance while protecting a computerized digital security device [( 103 )] against side-channel, fault injection, and timing attacks, the method comprising:
 identifying asynchronous tasks to be performed by the computerized digital security device;   placing identified asynchronous tasks in an asynchronous task queue; and   executing a first application, including:
 nonlinearizing execution of the application by performing the steps:
 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. 
 
   
     
     
         2 . The method for enhancing performance while protecting a computerized digital security device against side-channel, fault injection, and timing attacks of  claim 1 , further comprising:
 predicting execution time for each identified asynchronous task; and   wherein the step of selecting at least one task from the asynchronous task queue comprises basing the selection of the at least one task from the asynchronous task queue on the predicted execution times of tasks in the asynchronous task queue.   
     
     
         3 . The method for enhancing performance while protecting a computerized digital security device against side-channel, fault injection, and timing attacks of  claim 2 , comprising:
 identifying an execution location at which to add desynchronization time;   determining how much desynchronization time to add;   wherein the step of selecting at least one task comprises selecting at least one task such that the predicted execution time of the selected at least one task sums to less than the determined desynchronization time to add; and   performing at least one dummy task to equal the difference in execution time between the determined desynchronization time to add and the sum of the predicted execution time of the selected at least one task.   
     
     
         4 . The method for enhancing performance while protecting a computerized digital security device against side-channel, fault injection, and timing attacks of  claim 1 , comprising shuffling execution of the first application by selecting at least one task from the asynchronous task queue and executing the selected at least one task prior to continuing execution of the first application. 
     
     
         5 . The method for enhancing performance while protecting a computerized digital security device against side-channel, fault injection, and timing attacks of  claim 1 , comprising desynchronizing execution of the first application by modifying execution flow of the first application by selecting at least one task from the asynchronous task queue and executing the selected task prior to continuing execution of the first application. 
     
     
         6 . The method for enhancing performance while protecting a computerized digital security device against side-channel, fault injection, and timing attacks of  claim 1 , comprising:
 identifying at least a first and a second code branch wherein execution time for the first and second code branch are unequal; and   equalizing the execution time for the first and second code branch by selecting at least one task from the asynchronous task queue so that the predicted execution time of the selected at least one task balances the execution time of both code branches.   
     
     
         7 . The method for enhancing performance while protecting a computerized digital security device against side-channel, fault injection, and timing attacks of  claim 1 , wherein tasks are randomly selected from the asynchronous task queue. 
     
     
         8 . The method for enhancing performance while protecting a computerized digital security device against side-channel, fault injection, and timing attacks of  claim 1 , wherein tasks added to the asynchronous task queue include tasks selected from tasks required by the first application, tasks required by an operating system of the computerized digital security device, and tasks required by applications other than the first application. 
     
     
         9 . The method for enhancing performance while protecting a computerized digital security device against side-channel, fault injection, and timing attacks of  claim 1  wherein tasks added to the asynchronous task queue include tasks selected from the group computation of a very large prime number, defragmentation of memory, non-volatile memory (NVM) page refresh, NVM erase, NVM write, generation of a small buffer of random numbers using hardware true random number generation, security sensor check, memory integrity verification, code execution flow control, data compression, and data decompression. 
     
     
         10 . A digital security device having improved performance while protected against side-channel, fault injection, and timing attacks, comprising:
 a processor; and   a memory connected to the processor, the memory including instructions executable by the processor, including instructions for nonlinearizing execution of a first application by causing the processor to:
 identify asynchronous tasks to be performed by the computerized digital security device; 
 place identified asynchronous tasks in an asynchronous task queue; and 
 execute a first application, performing the steps:
 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. 
 
   
     
     
         11 . The digital security device having improved performance while protected against side-channel, fault injection, and timing attacks, of  claim 10  and that is programmed to perform steps of:
 identifying asynchronous tasks to be performed by the computerized digital security device; 
 placing identified asynchronous tasks in an asynchronous task queue; and 
 executing a first application, including:
 nonlinearizing execution of the application by performing the steps:
 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. 
 
 
 
     
     
         12 . A non-transitory memory comprising instructions to cause a processor of a digital security device to perform a method for enhancing performance while protecting a computerized digital security device against side-channel, fault injection, and timing attacks, including instructions for nonlinearizing execution of a first application by causing a processor to:
 identify asynchronous tasks to be performed by the computerized digital security device;   place identified asynchronous tasks in an asynchronous task queue; and   execute a first application, performing the steps:
 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. 
   
     
     
         13 . The non-transitory memory of  claim 12  comprising instructions to cause the processor of the digital security device to perform steps of:
 identifying asynchronous tasks to be performed by the computerized digital security device; 
 placing identified asynchronous tasks in an asynchronous task queue; and 
 executing a first application, including:
 nonlinearizing execution of the application by performing the steps:
 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.

Join the waitlist — get patent alerts

Track US2025030732A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.