Masking Storage Transform for Secure Data Protection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current technologies are inadequate in protecting against safe error attacks, differential fault attacks, and higher-order side channel attacks, as they fail to provide sufficient security for secret data stored in hardware against these powerful fault injection mechanisms and statistical methods.
Innovation Solution
A masking storage transform (MST) is applied to secure data, splitting it into shares and using permutation-based S-box transforms to ensure that changing a single bit of the masked share results in multiple bit changes in the reconstructed data, providing protection against attacks by making the data appear random and difficult to decipher.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If secure data is stored directly in memory without masking, then storage and access are simple and fast, but the system is vulnerable to safe error attacks, differential fault attacks, and side channel attacks
Solution Approach 1:
The secret data is divided into multiple shares using secret sharing schemes. Each share alone reveals no information about the original data, and only when combined do they reconstruct the secret. This segmentation prevents attackers from gaining useful information by accessing or modifying individual shares, thereby resisting safe error attacks and side channel attacks while maintaining manageable system complexity.
Solution Approach 2:
A masking storage transform is introduced as an intermediary layer between the secret data and its storage in memory. This transform applies permutations and maskings to the shares before storage, creating a protected representation that resists fault injection attacks. The intermediary layer adds security without requiring fundamental changes to the underlying storage mechanism.
2Reliability
If masking storage transform is applied to protect against attacks, then security against fault injection and side channel attacks is enhanced, but the storage and access operations become more complex
Solution Approach 1:
The masking storage transform changes the parameters of the stored data by applying permutations and maskings to the shares. These transformations modify the representation of the secret data in memory, making it resistant to attacks. The parameter changes are designed to be computationally efficient, using operations like XOR and predefined permutation tables, thereby limiting the increase in operational complexity.
Solution Approach 2:
The masking and permutation operations are performed in advance during the data sharing phase, before the data is stored in memory. This preliminary action ensures that the protected representation is already in place when data is written to or read from memory, avoiding the need for complex real-time transformations during critical storage and access operations.
3Reliability
If multiple shares are created and stored separately, then security against attacks is improved, but the storage space and access time increase
Solution Approach 1:
The secret data is divided into multiple shares that are stored separately in memory. Each share occupies a portion of the total storage space, and the segmentation is designed so that the sum of share sizes equals or slightly exceeds the original data size, depending on the specific secret sharing scheme used. This approach provides security while minimizing storage overhead.
Data Source
Figure 1
Figure 2A~2D
Figure 3A~3C
AI summary
A secure computing device, including: a processor configured to carry out a secure operation; a memory in communication with the processer configured to store secure data; and a memory controller configured control storage of data in the memory and reading data from the memory, wherein the secure data is split into shares before being stored in the memory and wherein the memory controller is configured to: apply a masking storage transform (MST) to one of the shares to produce a masked share before storing the shares in the memory, wherein the MST is a permutation without a fixed point; apply an inverse MST to the masked share when reading the shares from the memory; and combine the read shares to reconstruct the secure data.