Storage Command Authentication Using Randomized Signatures
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing storage systems are vulnerable to attacks where attackers can steal commands between a host and a storage device, compromising communication security.
Innovation Solution
A storage system that generates a signature for commands using a hash value merged with a random value, verifies the signature using a storage device, and deletes the random value after successful verification to enhance security against replay and brute force attacks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If a storage device stores commands without authentication, then the ease of operation is improved, but the security is worsened making the system vulnerable to command stealing attacks
Solution Approach 1:
The storage device generates a random value and requests a signature from the host before executing the command. This preliminary authentication action ensures that the command has not been stolen or tampered with, preventing command stealing attacks while maintaining smooth operation flow.
Solution Approach 2:
A signature mechanism is introduced as an intermediary between the command and its execution. The host generates a signature based on the command and random value, and the storage device verifies this signature before processing. This intermediary layer provides security without significantly complicating the operation.
2Object-affected harmful factors
If a signature verification mechanism is implemented for command authentication, then the security is improved, but the device complexity increases due to additional buffers and verification steps
Solution Approach 1:
The storage device separates buffer management into distinct segments: a first buffer for storing random values and a second buffer for storing signatures. This segmentation organizes the complexity into manageable parts, making the verification process more systematic and easier to implement.
Solution Approach 2:
The storage device discards the random value from the first buffer after successful signature verification. This recovery of buffer space maintains efficiency while the structured buffer management keeps complexity manageable through clear allocation and deallocation rules.
3Reliability
If random values are stored in buffers for each command, then the reliability of authentication is improved, but the loss of information increases as random values must be deleted after use
Solution Approach 1:
The random value is extracted from permanent storage and placed in a temporary first buffer only for the duration of the authentication process. After verification, it is discarded. This extraction approach ensures the random value is available when needed for reliable authentication but does not permanently occupy storage space.
Solution Approach 2:
The random value is treated as a disposable, short-living object that exists only temporarily in the first buffer during authentication. This approach prioritizes authentication reliability while accepting the temporary loss of the random value, as generating new random values is computationally inexpensive compared to the security risk of reusing them.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Provided is a storage system including a host configured to generate (S704) a hash value for a first command, merge (S705) the hash value with a random value, and provide (S706) a signature for merged data and the first command, and a storage device configured to store the random value corresponding to the first command in a first buffer, provide (S703) the random value to the host, receive (S707) the first command and the signature from the host, store the signature in a second buffer, verify (S708) the signature, and in response to verification being completed, delete (S709) the random value from the first buffer and execute (S710) the first command.