Cloud Data Analysis Using Client-Controlled Decryption Keys
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The security of user data is a concern in computing environments that provide remote access to dynamic computing resources, as existing technologies may not adequately protect data from unauthorized access, even when computations are performed on encrypted data.
Innovation Solution
A system where a client system encrypts data and sends it to a server system, which establishes a secure channel using public and private keys to decrypt and perform computations on the encrypted data within a virtual machine, ensuring that only the client system controls the decryption and access to unencrypted data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the server system decrypts and accesses user data to perform computations, then computation functionality is enabled, but data security is compromised as the server gains access to unencrypted data
Solution Approach 1:
The system segments the computation process by separating data access from computation execution. The server can perform computations on encrypted data without decrypting it, while the client retains control over decryption. This segmentation allows the server to provide computation functionality while the client maintains data security control.
Solution Approach 2:
The patent introduces an intermediary mechanism where the client system acts as a mediator between the server's computation needs and the encrypted data. The client controls the decryption process and can selectively provide access to unencrypted data only when necessary and authorized, thus enabling computation functionality while maintaining security control.
2Object-affected harmful factors
If the server system stores and processes encrypted data, then data security is improved, but the server cannot perform computations on the data without decryption
Solution Approach 1:
The system dynamically adjusts the state of data between encrypted and unencrypted forms based on operational needs. Data is stored in encrypted form for security, but can be dynamically decrypted in controlled environments (such as secure enclaves or trusted execution environments) when computation is required, then re-encrypted after processing. This dynamic state management enables both security and computation capability.
3Object-affected harmful factors
If the client system maintains control over data keys, then data security is enhanced, but the server system cannot access the data for processing
Solution Approach 1:
The system performs preliminary actions by pre-establishing secure channels and authentication mechanisms before data processing begins. The client can verify the server's credentials and set up encrypted communication channels in advance, allowing the server to process data efficiently once authorized, while the client maintains overall control. This preliminary setup enables both confidentiality and processing efficiency.
Data Source
AI summary
A request from a client system to perform computations on encrypted data is received at a server system. A request for a data key configured to decrypt the encrypted data is sent from the server system to the client system. The data key from the client system is received at the server system. The encrypted data is accessed at the server system. The encrypted data is decrypted using the data key to generate unencrypted data at the server system. The computations are performed on the unencrypted data to generate result data at the server system. The result data is provided to the client system.


