Splayed Data Encryption for Secure Aggregation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cloud data centers face challenges in ensuring data privacy and efficiency, particularly with homomorphic encryption being computationally expensive and susceptible to frequency attacks, which hinders aggregation of encrypted data across subsets.

Innovation Solution

An encryption system that employs non-deterministic homomorphic encryption to 'splay' columns into sub-columns, allowing secure aggregation and decryption of data without revealing sensitive information, thereby preventing frequency attacks and reducing computational burden.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If deterministic encryption is used to enable aggregation on subsets of data, then aggregation capability is improved, but susceptibility to frequency attacks increases

Engineering Contradiction:
Improveaggregation capabilityVSAvoidfrequency attack susceptibility
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The patent segments the deterministic encryption approach by introducing a salt value that divides the encryption process into unique instances. Instead of using a single deterministic encryption function E(x) that produces identical ciphertexts for identical plaintexts, the system uses E(x || salt) where salt is randomly generated for each encryption operation. This segmentation allows aggregation to work on subsets of data while preventing frequency attacks because the same plaintext will produce different ciphertexts across different salted encryption operations.

Inventive Principle:
Principle #1Segmentation

2Reliability

If homomorphic encryption is used to perform computations on encrypted data, then data privacy is improved, but computational cost increases

Engineering Contradiction:
Improvedata privacyVSAvoidcomputational cost
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent extracts the computational burden of homomorphic encryption from the database service and relocates it to the client system. The database service only performs simple deterministic encryption with salt and basic aggregation operations on the encrypted values. The computationally intensive homomorphic encryption and decryption operations are performed exclusively by the client, which has the secret key. This extraction principle allows the database service to maintain data privacy through encryption while avoiding the high computational costs of full homomorphic encryption.

Inventive Principle:
Principle #2Taking out (Extraction)

3Measurement precision

If all encrypted sale amounts are downloaded and decrypted for aggregation, then aggregation accuracy is improved, but data transfer and processing time increase

Engineering Contradiction:
Improveaggregation accuracyVSAvoiddata transfer and processing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-encrypting the sale amounts using deterministic encryption with salt before storing them in the database. This preliminary encryption step enables the database service to perform aggregation operations directly on the encrypted data without requiring download and decryption. The salt is generated and stored alongside the encrypted values, allowing future aggregation queries to be executed efficiently on the server side while maintaining the accuracy of aggregation results.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10187199B2Aggregation based on splayed data
Publication Date: 2019.01.22 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10187199B2 patent drawing
  • US10187199B2 patent drawing
  • US10187199B2 patent drawing

AI summary

An encryption system stores encrypted values for aggregation is provided. The encryption system accesses an input set with input values. For each distinct value in the input set of input values, the encryption system generates an output set with an encrypted output value corresponding to each input value. The encryption system sets the encrypted output value for a corresponding input value to an encryption of an indicator of a match when the corresponding input value is the same as that distinct value. Otherwise, the encryption sets the encrypted output value for the corresponding input value to an encryption of an indicator of no match. The encrypted output values can then be aggregated to generate an encrypted aggregation based on input values that match, and the encrypted aggregation can be decrypted to generated a decrypted aggregation based on the input values that match.