Cloud Data Analysis Using Client-Controlled Decryption Keys

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvecomputation functionalityVSAvoiddata security risk
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvedata securityVSAvoidcomputation capability
Core Design Contradiction:
Object-affected harmful factorsVSAdaptability or versatility

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.

Inventive Principle:
Principle #15Dynamics

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

Engineering Contradiction:
Improvedata confidentialityVSAvoiddata processing efficiency
Core Design Contradiction:
Object-affected harmful factorsVSProductivity

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8880882B2Securely performing programmatic cloud-based data analysis
Publication Date: 2014.11.04 GOOGLE LLC
  • US8880882B2 patent drawing
  • US8880882B2 patent drawing
  • US8880882B2 patent drawing

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.