Client-Side Data Block Key Generation for Secure Cloud Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current cloud storage methods face challenges in ensuring data security and sovereignty, particularly in scenarios where third parties have access to all keys and algorithms, and users cannot encrypt their data without compromising the security of others' data, leading to resource optimization issues for storage providers.

Innovation Solution

A method where each unencrypted data block is encrypted with a data block key generated solely from the block itself, and a unique data block ID is created, allowing the client to determine if the block exists on the server without revealing user passwords, with encryption and decryption occurring on the client side to maintain security and reduce server load.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If data is encrypted on the server side with provider-managed keys, then storage resource optimization is improved, but data security and user sovereignty deteriorate

Engineering Contradiction:
Improvestorage resource optimizationVSAvoiddata security
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The data is segmented into data blocks, each with its own unique ID. The system segments the encryption responsibility between client (generates data block keys) and server (stores encrypted blocks), allowing resource optimization while maintaining security through distributed key management

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A data block key list acts as an intermediary between user passwords and encrypted data blocks. The list contains data block IDs and their corresponding keys, enabling secure key management without requiring the server to store user passwords or master keys

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If each user encrypts their data individually on the client side, then data security is improved, but server resource optimization deteriorates

Engineering Contradiction:
Improvedata securityVSAvoidserver resource optimization
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

User data is divided into standardized data blocks with unique IDs. This segmentation allows the server to store and manage encrypted blocks uniformly without needing to process or understand user-specific encryption, achieving both security and resource optimization

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The server implements a universal storage mechanism that handles all encrypted data blocks identically, regardless of user or content. The server's function is limited to storing and retrieving blocks by ID, making it universally applicable while minimizing resource usage

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Device complexity

If user passwords are transmitted to the server for key generation, then key management is simplified, but data sovereignty and security deteriorate

Engineering Contradiction:
Improvekey management complexityVSAvoiddata sovereignty
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The sensitive element (user password) is extracted from the transmission process entirely. Instead of sending passwords to the server, the system generates data block keys locally on the client using only the user's password and the data block content, keeping sensitive information local

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The client performs self-service key generation by deriving data block keys locally from the user password and data block content. This eliminates the need for server involvement in key creation, maintaining data sovereignty while managing complexity through automated local key derivation

Inventive Principle:
Principle #25Self-service

4Productivity

If data blocks are uploaded without checking for duplicates, then upload speed is improved, but storage efficiency deteriorates

Engineering Contradiction:
Improveupload speedVSAvoidstorage efficiency
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The system performs preliminary duplicate detection by comparing data block IDs against existing blocks on the server before uploading. This preliminary check prevents redundant uploads, achieving storage efficiency without significantly impacting upload speed for new content

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP2705445B1Method for storing data on a central server
Publication Date: 2015.02.11 SECLOUS
  • EP2705445B1 patent drawing

AI summary

The invention relates to a method for storing data on a central server. Each of a plurality of users has a user password that is used at least for generating a user key. At least some of said users are assigned to at least one respective client that stores data, and at least some of said data is partitioned into at least one data block to be uploaded as needed. A check is carried out for each data block using a data block ID value that is unique for said data block to determine whether a matching data block is already present on the server, and the data blocks that are not present on said server are uploaded to the central server. A data data block list to be uploaded is generated and uploaded to the central server. When the user requests the data that is stored on the central server, said data can be regenerated in the original form using the data data block list in a data recovery step. A data block key is generated exclusively by means of the unencrypted data block using a key-generation protocol in order to ascertain the data blocks that are to be uploaded to the central server and the data data block list that is to be uploaded for each unencrypted data block on the client so that the user password or other user-relevant data is not used for this purpose.