Design and Implementation of a Secure Online Data Backup System
Design and Implementation of a Secure Online Data Backup System
Abstract
Data backup serves as a critical component in disaster recovery and information security frameworks. With the proliferation of cloud computing technologies, online backup systems encounter multifaceted challenges including data privacy preservation, vendor lock-in risks, and encryption vulnerabilities. This thesis designs and implements a secure online data backup system based on client-side encryption and multi-node distributed storage architecture. The system employs client-side AES-256-GCM encryption, PBKDF2 key derivation, content-defined chunking, and large-file segmentation mechanisms to ensure that the server remains entirely zero-knowledge regarding plaintext data. A coordinator node manages metadata and node health status, while multiple storage nodes provide data redundancy through replica distribution. The system provides a web-based management interface supporting manual upload, automatic synchronization, and file recovery functionalities. Testing results demonstrate that the system achieves design objectives across functionality, security, and usability dimensions.
Keywords: Online Backup; Client-Side Encryption; Distributed Storage; Data Security; Zero-Knowledge Architecture
________________________________________
Chapter 1: Introduction
1.1 Research Background
The acceleration of digitalization has led to exponential growth in both personal and organizational data volumes. Hardware failures, human operational errors, ransomware attacks, and natural disasters continuously threaten data integrity and availability. Traditional local backup solutions suffer from inherent limitations including media degradation, high costs of offsite storage, and complex management requirements. Cloud backup systems have emerged as the predominant data protection mechanism due to their scalability, accessibility, and cost-effectiveness.
However, centralized cloud backup services entrust user data entirely to a single service provider, introducing significant privacy risks. Service providers may access, analyze, or even leak user data. Research indicates that even when cloud providers offer encrypted transmission, data may still be stored in plaintext on the server side . Furthermore, vendor lock-in issues make data migration difficult, and service interruptions or terminations can render data inaccessible.
Multi-cloud architectures mitigate these risks by distributing data across multiple storage providers. Studies demonstrate that data isolation across different clouds can limit the impact scope when a single provider is compromised . Nevertheless, multi-cloud management complexity—including heterogeneous APIs, compatibility issues, and identity authentication mechanisms—poses significant barriers to ordinary users.
1.2 Research Significance
Designing a secure yet usable online backup system carries substantial practical implications:
Privacy Protection: Client-side encryption ensures that the server cannot access user plaintext data, fundamentally eliminating trust dependencies on service providers. Zero-knowledge architecture guarantees data confidentiality even when facing malicious servers.
Data Reliability: Distributed storage and multi-replica mechanisms prevent data loss from single points of failure. Heartbeat detection and failover mechanisms ensure availability when storage nodes become unavailable.
User Controllability: Users independently manage encryption keys without relying on third-party key escrow. Password derivation and recovery mechanisms enable data recovery even when users forget their passwords.
1.3 Research Content
This thesis designs and implements a secure online data backup system, with primary contributions including:
(1) Designing a zero-knowledge client-side encryption architecture implementing AES-256-GCM encryption and PBKDF2 key derivation;
(2) Implementing distributed storage coordination mechanisms including node health monitoring, metadata management, and replica allocation;
(3) Developing automatic synchronization functionality that monitors local folder changes and performs real-time backup;
(4) Constructing a web-based management interface providing comprehensive file management and recovery capabilities.
1.4 Thesis Structure
This thesis comprises five chapters. Chapter 1 introduces research background and significance; Chapter 2 reviews related technologies; Chapter 3 elaborates system design; Chapter 4 describes system implementation; Chapter 5 concludes the thesis and discusses future work.
________________________________________
Chapter 2: Literature Review and Related Technologies
2.1 Cloud Backup and Multi-Cloud Architectures
Cloud backup systems transmit user data over networks to remote servers for storage, providing offsite disaster recovery capabilities. Based on deployment models, these systems can be categorized into public cloud backup, private cloud backup, and hybrid cloud backup. Public cloud backup offers low costs and excellent scalability but introduces privacy risks; private cloud backup provides stronger controllability but incurs higher maintenance costs.
Multi-cloud architectures distribute data across multiple cloud service providers to enhance privacy and reliability. The DropStore system employs Fog Computing technology by deploying a local device called a "Droplet" at the user's premises, serving as an abstraction layer between users and multiple clouds, thereby simplifying multi-cloud management complexity . The core advantages of this architecture include: data isolation limiting breach scope, vendor lock-in avoidance, and cost optimization through leveraging price differentials among providers.
However, multi-cloud systems face challenges including API heterogeneity, data consistency, and unified identity management. Ordinary users struggle to directly operate multiple cloud platforms, necessitating unified abstract interfaces provided by the system.
2.2 Client-Side Encryption and Zero-Knowledge Architecture
Client-Side Encryption (CSE) encrypts data before it leaves the user's device, with the server storing only ciphertext. Zero-knowledge architecture further requires that the server cannot obtain encryption keys or plaintext data, achieving genuine privacy protection.
The Cortex backup system employs ChaCha20-Poly1305 algorithms to encrypt all user data on the client side, with the backend processing only ciphertext and encrypted metadata . This system utilizes a two-password model: an account password for identity authentication and a vault password for data encryption. This separation ensures that even if account credentials are compromised, attackers cannot decrypt data.
Key Derivation Functions (KDFs) such as PBKDF2, Argon2, and scrypt generate encryption keys from user passwords. PBKDF2 increases brute-force attack costs through numerous iterations and represents a widely adopted key derivation standard. The Cortex system also supports 24-word BIP39 mnemonics as a vault recovery mechanism, preventing permanent data loss when users forget passwords .
CortexOS implements Argon2id key derivation with parameters including 64MB memory, 3 iterations, and parallelism of 4 . The system derives three distinct keys from a single recovery phrase: accountId for deterministic server lookup, encryptionKey for AES-256-GCM encryption, and authToken for API authentication.
2.3 Content-Defined Chunking and Data Deduplication
Content-Defined Chunking (CDC) algorithms determine chunk boundaries based on data content rather than fixed-size partitioning. When files are partially modified, CDC preserves chunk boundaries in unmodified regions, enabling deduplicated storage to upload only changed chunks, significantly reducing backup bandwidth and storage overhead.
Duplicati implements a multi-stage data processing pipeline: fixed-block chunking, content-addressable SHA-256 deduplication, volume packing and compression, and AES-256 encryption . The system breaks files into uniform byte blocks (default 1 MiB), with each block hashed via SHA-256 to generate unique content identifiers. Identical blocks across files or file versions are stored only once.
CDC moves a window across input data, updating fingerprints as bytes enter and leave the window. A boundary is declared when the fingerprint satisfies configured conditions, subject to minimum and maximum chunk-size constraints . Borg's chunker utilizes rolling content fingerprints, where fingerprint cost for evaluating candidate boundaries does not require re-hashing the entire window from scratch.
Recent developments include jump-based CDC techniques that skip deterministic portions of byte streams rather than conducting byte-by-byte scans, significantly enhancing chunking throughput while maintaining high deduplication ratios . SS-CDC addresses parallelization challenges in CDC through two-stage parallel processing .
2.4 Erasure Coding for Distributed Storage
Erasure coding provides data redundancy through forward error correction codes. In Reed-Solomon coding, a message of K chunks transforms into a codeword of N chunks, where N = K + M and M represents redundant chunks . The system can recover original data from any K of N chunks, providing resilience against arbitrary N-K failures.
IBM Storage Ceph implements erasure coding with example configurations including 10K/16N, where the algorithm adds six redundant chunks to ten base chunks, enabling reconstruction even when six OSDs fail . Local Reconstruction Codes (LRC) offer more efficient reconstruction by requiring fewer fragments for single-fragment recovery compared to Reed-Solomon codes .