
Your backup provider's marketing page says "military-grade AES-256 encryption." That sentence has appeared on so many landing pages that it's become white noise. But here's the uncomfortable truth: the phrase tells you almost nothing about whether you are actually protected. Encryption can be present and still useless if the provider holds the keys, if data is only encrypted in transit, or if a support engineer can decrypt your files with a single internal ticket.
In 2023, a widely reported breach at a major password and secrets vault showed exactly this gap. The vaults were encrypted, but backup metadata and some vault fields were not, and the attackers walked off with enough to mount offline cracking attempts. The lesson wasn't "encryption failed." It was that customers never verified what was actually encrypted, and assumed the marketing claim covered everything.
This article is a hands-on guide to verifying cloud backup encryption before you trust it with anything that matters. You'll learn the difference between the encryption models providers use, how to test claims yourself with real commands and tools, a worked example on a sample dataset, a side-by-side comparison of common approaches, and the exact questions to send your vendor. No hand-waving.
Key Takeaways
- Encryption at rest is not the same as end-to-end encryption. If the provider can reset your password and still show you your files, they can read them too.
- Verify who holds the keys. Zero-knowledge (client-side) encryption means the provider never sees your plaintext or your master key.
- Test, don't trust. Inspect uploaded blobs with tools like
file,binwalk, andentropychecks to confirm data is actually ciphertext.- Encryption in transit and at rest are both mandatory but insufficient alone. You need the full chain.
- Read the key-management docs, not the homepage. The real answers live in security whitepapers and API references.
- Keep your own encrypted copy. A local, independently encrypted archive is your ultimate insurance.
What "Cloud Backup Encryption" Actually Means
People throw the word "encryption" around like it's a single feature. It isn't. There are at least three distinct layers, and a provider can honestly claim to encrypt your data while still being able to read every byte.
The three layers you need to separate
- Encryption in transit: Data is protected while moving between your device and the server, almost always via TLS 1.2 or 1.3. This stops eavesdropping on the wire. It does nothing once the data lands.
- Encryption at rest: Data sitting on the provider's disks is encrypted. But the provider usually manages the keys, meaning they can decrypt on demand for support, subpoenas, or a rogue employee.
- End-to-end / zero-knowledge encryption: Data is encrypted on your device with a key only you control before it ever leaves. The provider stores ciphertext and cannot read it, period.
The critical distinction is who holds the key. This is the same debate we covered in our comparison of self-hosted vs cloud password managers, and it applies identically to backups.
A simple litmus test
Ask yourself: If I forget my password, can the provider fully restore access to my readable files? If yes, the provider holds a key that can decrypt your data. That's not zero-knowledge. There's no shame in choosing a provider that offers account recovery, but you must know it's a tradeoff you accepted, not one hidden from you.
Why Vendor Claims Aren't Enough
Marketing copy is optimized for conversion, not accuracy. "Bank-level security" and "256-bit encryption" are technically true statements that answer none of the questions that matter. Here's what those phrases routinely omit:
- Which fields are encrypted. The file contents may be encrypted while filenames, folder structure, timestamps, and thumbnails are stored in plaintext. Metadata leaks a shocking amount.
- Where key derivation happens. Client-side or server-side? A single sentence in a whitepaper changes the entire threat model.
- The KDF and its parameters. AES-256 is strong, but if your key is derived from a password using a weak function or low iteration count, offline attacks become feasible.
- What happens on password reset. If a reset gives you back your old data, the key was recoverable server-side.
This is the same investigative mindset we apply when we teach readers to audit a WordPress plugin for hidden backdoors or to detect malicious code in npm packages before installing. Don't accept the label on the tin. Open it.
A Worked Example: Verifying a Backup Blob Yourself
Let's make this concrete. Say you run a small agency and you're evaluating a cloud backup service for 420 GB of client files across 3 machines. Before you migrate everything, you decide to verify the encryption with a controlled test. Here's the exact procedure I use.
Step 1: Create a canary file
Make a file whose contents are unique and searchable so you can spot it later if it leaks. On Linux or macOS:
echo "CANARY-7f3a9b-LIONSCRIPTS-TEST-STRING" > canary.txt
Also create a second file filled with a highly compressible, predictable pattern, because plaintext and weak encryption compress differently than strong ciphertext:
yes "AAAAAAAA" | head -c 10485760 > pattern.bin
That's a 10 MB file of repeating text. Real encrypted output of this file should look like random noise.
Step 2: Back it up, then intercept the stored blob
Run the backup. If the provider offers a local sync folder or you can access the raw uploaded object (many expose it via an API or a "download raw" option), grab that stored file. This is the byte-for-byte thing sitting on their servers.
Step 3: Check for your plaintext string
Search the stored blob for your canary string:
strings backup_blob.dat | grep "CANARY-7f3a9b"
If that command returns your string, the data is not encrypted at rest, or not encrypted before upload. Stop the evaluation. That's a hard fail.
Step 4: Measure entropy
Properly encrypted data is statistically indistinguishable from random, so its entropy should sit very close to 8.0 bits per byte. Plaintext and lightly compressed data score much lower. Use ent or a quick Python check:
ent backup_blob.dat
Interpretation:
- 7.99–8.00 bits/byte: Consistent with real encryption or strong compression. Good sign, needs one more check.
- 6.0–7.5 bits/byte: Likely compressed but not encrypted, or a weak scheme. Investigate.
- Below 6.0: Almost certainly plaintext or trivially reversible. Fail.
Step 5: Rule out "just compressed"
High entropy alone isn't proof, because compression also raises entropy. Confirm the blob doesn't start with known archive magic bytes (like PK for ZIP or 1F 8B for gzip):
xxd backup_blob.dat | head -n 2
Then run binwalk backup_blob.dat. If binwalk cleanly identifies embedded ZIP, gzip, or tar structures and extracts your files, the "encryption" was really just an archive. Real encryption leaves nothing recognizable for binwalk to carve out.
The before/after
In one real evaluation I ran, the "encrypted" backup of my 10 MB pattern file compressed down to 41 KB and grep found my canary string instantly. That's a provider that compresses and stores plaintext. A genuinely zero-knowledge competitor produced a 10.02 MB blob at 7.999 bits/byte entropy with no recoverable string. That 30-second test told me everything the sales call didn't.
Comparing Encryption Models Side by Side
Not every project needs zero-knowledge encryption, but you should choose consciously. Here's how the common models stack up on the criteria that actually matter.
| Model | Who holds the key | Provider can read data | Recover if you forget password | Metadata protected | Best for |
|---|---|---|---|---|---|
| Transit-only (TLS) | Provider | Yes | Yes | No | Nothing sensitive |
| Server-side at rest | Provider | Yes | Yes | Rarely | Convenience, low-risk data |
| Server-side with your KMS key | Shared (you can revoke) | While key active | Yes | Sometimes | Regulated business data |
| Client-side / zero-knowledge | You only | No | No (usually) | Often, if implemented well | Secrets, legal, health, IP |
| Local pre-encryption + any cloud | You only | No | No | Yes (you control the archive) | Maximum control |
The last row is a strategy, not a product: you encrypt your files locally with a tool you control, then push the resulting ciphertext to any cloud. This decouples your security from the provider entirely. Even if they lie about their encryption, you're covered.
How to Read a Provider's Security Documentation
The homepage is theater. The truth lives in the security whitepaper, the API docs, and the compliance page. Here's what to hunt for and what good answers look like.
Key derivation and key management
- Look for the
Cover image: Super Secured Cloud Storage Cartoon by Free Clip Art, licensed under BY-SA 4.0 via Openverse.








