Cryptographic Key Generation via Vector Commitments
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing cryptographic key derivation schemes for secure data deduplication systems are insecure as they rely solely on public hashes of client data, allowing malicious parties to obtain encryption keys, compromising file security.
Innovation Solution
A system where a client computer generates non-hiding and hiding vector commitments, and provides proofs of knowledge to a key server to derive a client key deterministically from the data, ensuring only the client with possession of the data can obtain the key, while keeping the key server untrusted and unaware of the client data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If cryptographic key derivation relies solely on public hashes of client data, then key generation is simplified and efficient, but security is compromised as malicious parties can obtain encryption keys
Solution Approach 1:
The patent introduces vector commitments as an intermediary mechanism between client data and encryption keys. Instead of directly deriving keys from public hashes, the system uses vector commitments that bind the key derivation to specific data blocks without exposing the data itself. This intermediary layer prevents malicious parties from obtaining keys while maintaining efficient key generation through cryptographic proofs.
Solution Approach 2:
The patent transitions from a single-dimensional key derivation (direct hash of client data) to a multi-dimensional structure using vector commitments. The vector commitment scheme operates in a different cryptographic dimension, allowing the system to prove knowledge of specific data blocks without revealing them, thus adding a layer of security while maintaining key generation efficiency.
2Reliability
If the key server stores secret server keys and engages in key-generation protocols, then secure key derivation is achieved, but the system complexity increases
Solution Approach 1:
The key generation system is designed to be self-verified through cryptographic proofs. The client computer generates proofs of knowledge that the key server can verify without requiring complex trust relationships. The vector commitment scheme enables the client to self-demonstrate knowledge of data blocks, reducing the complexity of server-side verification while maintaining security.
Solution Approach 2:
The patent implements preliminary actions by having the client computer generate vector commitments and proofs of knowledge before engaging in the key-generation protocol. This preliminary setup phase organizes the cryptographic materials in advance, simplifying the actual key generation interaction and reducing system complexity during the critical key derivation phase.
3Reliability
If vector commitments are used to bind keys to specific data blocks, then security is enhanced, but the key generation process becomes more complex
Solution Approach 1:
The patent segments the key generation process into distinct cryptographic operations: vector commitment generation, proof of knowledge creation, and key derivation. Each segment handles a specific aspect of the security requirement, making the overall complex process manageable and verifiable. The vector commitment is segmented into commitment generation and opening phases, allowing for efficient verification without re-computing the entire key generation process.
Data Source
AI summary
Generation of a cryptographic key is deterministically derived from client data of which a client computer proves knowledge in order to obtain the key. A client computer provides client data and is adapted to define a vector, having a plurality of data blocks with indices, corresponding to the client data. The client computer is further adapted to generate a first non-hiding vector commitment and a second hiding vector commitment, to the vector, and to generate a third commitment to the first commitment. The client computer sends the second and third commitments to the key server, and provides to the key server a first proof of knowledge, for a subset of the indices, of the corresponding data blocks of the vector in the second and third commitments. The key server stores a secret server key and is adapted to engage with the client computer in a key-generation protocol.


