Secure Third-Party Storage Data Sharing via Asymmetric Key Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Third-party storage vendors face challenges in deduplicating encrypted files from different customers due to the use of different encryption schemes, which interferes with data sharing and efficient storage practices.
Innovation Solution
The system maintains asymmetric key pairs for encrypting and decrypting data on a third-party storage server, encrypts decryption keys with client-side keys, and generates temporary tokens for accessing encrypted files, allowing secure and temporary decryption of data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If customers encrypt data before submitting to third-party storage, then data security and privacy are improved, but the ability to deduplicate files and share files efficiently deteriorates
Solution Approach 1:
The encryption process is segmented into two independent stages: (1) customers encrypt files using their own keys before upload, ensuring security; (2) the storage system performs deduplication and sharing operations on the already-encrypted data without needing to decrypt it. This segmentation allows both security and efficiency to coexist by operating at different layers of the system.
Solution Approach 2:
Encrypted file hashes serve as an intermediary mechanism that enables the storage system to identify duplicate files and manage sharing without ever exposing the actual encrypted data or decryption keys. The system compares hashes of encrypted files to detect duplicates, and uses cryptographic tokens as intermediaries for sharing, never requiring the storage provider to handle plaintext or master decryption keys.
2Reliability
If different encryption schemes are used for identical files, then data security is maintained, but deduplication capability is lost
Solution Approach 1:
Instead of comparing actual encrypted file contents (which would require identical encryption schemes), the system creates and compares cryptographic hashes of the encrypted files. These hashes serve as compact representations that enable duplicate detection while preserving the security benefits of different encryption schemes. The hash comparison operates on metadata rather than the encrypted data itself.
Solution Approach 2:
The system changes the parameter being compared from the encrypted file contents to cryptographic hashes of those contents. This parameter transformation allows the system to detect duplicates based on the underlying plaintext content while being insensitive to different encryption schemes applied to that content. The hash function transforms the encrypted data into a form that reveals duplication without revealing decryption information.
3Ease of operation
If decryption keys are stored on third-party servers, then file access is simplified, but exposure of sensitive data to cloud providers increases
Solution Approach 1:
The decryption keys are extracted from the third-party storage system and kept exclusively in customer-controlled environments. Only encrypted file data is stored on the third-party servers, while the decryption keys remain in customer-managed key vaults or secure storage. This extraction eliminates the security risk of key exposure while maintaining operational simplicity through automated key management services that facilitate secure key retrieval when needed.
Solution Approach 2:
The system separates the storage dimension from the key management dimension, storing encrypted files in one dimension (cloud storage) and decryption keys in another dimension (customer-controlled secure storage). This dimensional separation allows the third-party provider to handle only encrypted data without access to decryption capabilities, while customers retain full control over key security. File access is simplified through automated key retrieval processes that bridge these two dimensions when needed.
Data Source
AI summary
A computer-implemented method for sharing data stored on secure third-party storage platforms may include (1) identifying a request from a client system for a token that provides temporary access to an encrypted file stored under a user account, (2) identifying, in response to the request, an asymmetric key pair designated for the user account that includes an encryption key and a decryption key that has been encrypted with a client-side key, (3) receiving, from the client system, the client-side key, (4) decrypting the decryption key with the client-side key, (5) using the decryption key to generate temporary decryption data that facilitates the decryption of the encrypted file and that is set to expire, (6) generating the token and designating the temporary decryption data as available in exchange for the token, and (7) providing the token to the client system. Various other methods, systems, and computer-readable media are also disclosed.


