Sensitive Data Storage Using Remote Secret Key Hash Matching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data storage systems are vulnerable to external threats, risking the compromise of sensitive information, especially with regulations like GDPR and CCPA, as the server storing the data can be accessed by unauthorized actors.
Innovation Solution
A system that securely stores sensitive data using hash values generated from a combination of anonymized user identifiers, user attributes, and a secret key, where the secret key is generated by a separate server, ensuring that access to the system alone does not reveal the stored data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If sensitive data is stored on a server, then data accessibility and business operations are enabled, but vulnerability to external threats and data compromise increases
Solution Approach 1:
The system segments sensitive data into multiple components: the actual data, a hash of the data, and a secret key. These segments are stored separately, with the secret key generated and stored remotely. This segmentation ensures that compromising one component does not reveal the entire sensitive data, as the data requires both the hash and the remote secret key for reconstruction.
Solution Approach 2:
The patent introduces a remote server as an intermediary that generates and stores the secret key separately from the local system. This intermediary acts as a mediator that enables secure data access without being physically present in the data storage system, thereby reducing the attack surface and vulnerability to external threats while maintaining data accessibility.
2Reliability
If sensitive data is encrypted using a secret key, then data security is improved, but system complexity increases due to key management requirements
Solution Approach 1:
The system employs self-service mechanisms where the remote server automatically generates secret keys and manages their storage without requiring manual intervention. The local system automatically retrieves and uses these keys for hashing operations, reducing the operational complexity of key management while maintaining high data security through automated cryptographic processes.
Solution Approach 2:
The secret key serves multiple functions: it is used to generate hashes for data verification, to secure sensitive information, and to enable or disable access to the data. This multi-functionality reduces the need for separate mechanisms for each security operation, thereby reducing overall system complexity while maintaining robust data security.
3Reliability
If hash values are generated using a remote secret key, then data anonymity and security are enhanced, but access time and processing speed increase
Solution Approach 1:
The system performs preliminary actions by pre-generating and storing hash values of sensitive data along with their associated secret keys on the remote server. When data access is required, the system can quickly verify anonymity and security by comparing incoming data against these pre-computed hashes, significantly reducing access time while maintaining strong data anonymity protections.
Solution Approach 2:
The patent implements local quality optimization by caching frequently accessed hash values and secret keys locally after initial remote retrieval. This allows the system to maintain high data anonymity through remote verification while achieving fast access times through local comparisons, effectively balancing security and speed requirements.
Data Source
AI summary
A system including: one or more processors; a memory storing instructions that, when executed by the one or more processors are configured to cause the system to: receive a plurality of user names and a plurality of anonymized user identifiers; receive a plurality of user attributes associated with one or more users of the plurality of users; receive a first plurality of hash values that uniquely identify an association between each user attribute and one or more users; receive a first request for a listing of user names associated with a first user attribute; receive a first secret key; generate a second plurality of hash values; determine a first subset of the first plurality of hash values that match the second plurality of hash values; generate a first graphical user interface including the listing of user names; and transmit the first graphical user interface to the first user device.


