Shared-Data Encryption with Aggregate Keys from Multiple Keychains
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data sharing services face challenges in maintaining cryptographic fidelity and traceability of individual data owners' encryption keys, leading to potential legal and regulatory compliance violations when encrypting shared data.
Innovation Solution
A method involving concatenating individual data owner keys to form a single longer key, applying a key derivative function to derive an aggregate key, and verifying its validity using policy-as-code to ensure secure encryption and decryption of shared data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If individual data owner keys are used for encrypting shared data, then cryptographic fidelity of individual owners is maintained, but it becomes difficult to decide which key to use and operational complexity increases
Solution Approach 1:
The patent combines multiple individual data owner keys into a single aggregate key that represents all key owners. This aggregate key is used to encrypt shared data, eliminating the need to select individual keys while maintaining the cryptographic fidelity that all individual keys must approve decryption. The merging resolves the contradiction by simplifying key selection (reducing operational complexity) while preserving the security property that all individual key holders must consent to data access.
2Adaptability or versatility
If customer-managed-keys capability is implemented, then data owners can control their encryption keys, but cryptographic integrity is compromised when sharing data across multiple owners
Solution Approach 1:
The patent introduces an aggregate key as an intermediary between individual customer-managed keys and shared data encryption. The aggregate key serves as a mediator that aggregates control from multiple individual key owners while providing a unified interface for encrypting and decrypting shared data. This intermediary preserves both the adaptability of customer-managed-keys (individual owners control their own keys) and the reliability of cryptographic integrity (the aggregate key ensures proper authorization through policy-as-code verification).
3Adaptability or versatility
If multiple individual keys are used for shared data encryption, then data owner control is maintained, but latency increases due to key validation overhead
Solution Approach 1:
The patent performs preliminary action by pre-aggregating multiple individual keys into a single aggregate key before data sharing operations. The aggregation process, including policy-as-code verification of key validity, is performed in advance rather than during each encryption/decryption operation. This preliminary aggregation eliminates repeated key validation overhead during data access operations, reducing latency while maintaining data owner control through the pre-validated aggregate key structure.
4Manufacturing precision
If fine-grained data sharing is implemented with individual key encryption, then data isolation is improved, but costs of data-at-rest deployment increase
Solution Approach 1:
The patent merges multiple individual key management infrastructures into a single aggregate key system for shared data. Instead of maintaining separate encryption and key management systems for each individual data owner (which would increase deployment costs), the aggregate key provides a unified encryption mechanism that maintains fine-grained data isolation through policy-as-code verification. This merging reduces the quantity of cryptographic infrastructure needed while preserving the precision of data isolation requirements.
Data Source
AI summary
In an implementation, all individual data owner key encryption keys (KEKs) are concatenated, as a concatenated key, to form a single longer key. A key derivative function (KDF) is applied to the concatenated key to derive an aggregateKey of a certain target property. Policy-as-code is applied to verify a current validity/authority of the aggregateKey on data of an individual data owner to allow any operations on the data of an individual data owner.


