Proč šifrovat zálohy?
Zálohy obsahují kompletní kopii vašich dat -- včetně citlivých osobních údajů, obchodních tajemství, přihlašovacích údajů, finančních záznamů a dalšího. Nešifrovaná záloha na ztraceném externím disku nebo kompromitovaném cloudovém účtu znamená únik všech těchto dat.
Důvody pro šifrování záloh:
- Ochrana při ztrátě nebo krádeži média -- ztracený nešifrovaný disk je otevřená kniha
- Ochrana v cloudu -- poskytovatel cloudového úložiště by neměl mít přístup k vašim datům
- Regulatorní požadavky -- GDPR, PCI DSS, HIPAA a další předpisy vyžadují šifrování citlivých dat
- Ochrana při přenosu -- data přenášená po síti mohou být odposlouchaná
- Snížení dopadu bezpečnostních incidentů -- únik šifrovaných dat je méně závažný z pohledu GDPR
Šifrování at rest vs. in transit
Šifrování při přenosu (in transit / in flight)
Chrání data během přenosu po síti -- z vašeho počítače na zálohovací server nebo do cloudu. Standardy:
- TLS 1.3 -- nejnovější verze protokolu Transport Layer Security. Povinné minimum pro jakýkoli přenos záloh po síti.
- SSH / SCP / SFTP -- šifrovaný přenos souborů přes SSH tunel. Používají ho nástroje jako rsync, BorgBackup, Restic (pro SFTP backend).
- IPSec VPN -- šifrovaný tunel na síťové vrstvě. Vhodné pro zálohy mezi pobočkami přes internet.
Šifrování in transit je dnes standardem a většina nástrojů ho implementuje automaticky. Nestačí ale samo o sobě -- po přenosu jsou data na cílovém úložišti nešifrovaná.
Šifrování v klidu (at rest)
Chrání data uložená na zálohovacím médiu (disk, cloud, páska). Existují dvě úrovně:
- Server-side encryption (SSE) -- poskytovatel šifruje data svým klíčem. Chrání při fyzické krádeži disků v datovém centru, ale poskytovatel (nebo útočník s přístupem k jeho systémům) může data dešifrovat.
- Client-side encryption (CSE) -- data šifrujete vy na svém počítači před odesláním. Poskytovatel nikdy nevidí nešifrovaná data ani šifrovací klíč. Toto je doporučený přístup.
AES-256: Zlatý standard šifrování záloh
AES (Advanced Encryption Standard) je symetrická bloková šifra schválená NIST. AES-256 používá 256bitový klíč a je považován za bezpečný i proti budoucím kvantovým počítačům (Groverův algoritmus snižuje efektivní bezpečnost na 128 bitů, což je stále dostatečné).
Režimy šifrování
- AES-256-CTR (Counter Mode) -- rychlý, paralelizovatelný, vhodný pro velké objemy dat. Používá ho Restic.
- AES-256-GCM (Galois/Counter Mode) -- authenticated encryption, kombinuje šifrování a ověření integrity. Moderní a doporučený režim. Používá ho Proxmox Backup Server.
- AES-256-CBC (Cipher Block Chaining) -- starší režim, stále bezpečný, ale pomalejší a obtížněji paralelizovatelný.
Další šifrovací algoritmy
- ChaCha20-Poly1305 -- moderní authenticated encryption, rychlejší než AES na zařízeních bez hardwarové AES akcelerace (ARM procesory). Používá ho BorgBackup.
- XChaCha20-Poly1305 -- rozšířená varianta s delším nonce, odolnější proti kolizím při velkém počtu šifrovaných bloků.
- Twofish, Serpent -- finalisté soutěže AES, stále bezpečné, ale méně rozšířené.
Heslo vs. klíčový soubor
Šifrování heslem
Nejběžnější přístup. Heslo je převedeno na šifrovací klíč pomocí KDF (Key Derivation Function):
- Argon2id -- moderní KDF odolný proti GPU a ASIC útokům. Doporučený standard.
- scrypt -- paměťově náročná KDF, odolná proti paralelním útokům.
- PBKDF2 -- starší KDF, méně odolná, ale stále přijatelná s dostatečným počtem iterací (100 000+).
Požadavky na heslo: minimálně 16 znaků, kombinace velkých/malých písmen, číslic a speciálních znaků. Ideálně passphrase (např. "Correct Horse Battery Staple" -- ale unikátní a nezveřejněný).
Šifrování klíčovým souborem (key file)
Místo hesla se používá soubor obsahující náhodný šifrovací klíč. Výhody:
- Vyšší entropie (256 bitů náhodných dat vs. typické heslo s 40-80 bity entropie)
- Odolnost proti brute-force útokům
- Vhodné pro automatizované zálohy (skript může načíst klíč ze souboru)
Nevýhoda: klíčový soubor musí být bezpečně uložen. Ztráta klíčového souboru = trvalá ztráta přístupu k zálohám.
# Generování náhodného klíčového souboru
openssl rand -out /etc/backup/encryption.key 256
chmod 600 /etc/backup/encryption.key
# Použití s Restic
restic -r /backup/repo --password-file /etc/backup/restic-password init
# Použití s BorgBackup
export BORG_PASSPHRASE="moje-silne-heslo-pro-zalohy"
borg init --encryption=repokey-blake2 /backup/borg-repo
Správa šifrovacích klíčů
Správa klíčů je nejkritičtější aspekt šifrování záloh. Špatná správa klíčů znehodnotí i nejsilnější šifru.
Zásady správy klíčů
- Uložte klíč na více místech -- správce hesel + tištěná kopie v trezoru + kopie u důvěryhodné osoby
- Oddělte klíč od zálohy -- klíč nesmí být uložen na stejném médiu jako záloha
- Pravidelně ověřujte přístup ke klíči -- ujistěte se, že klíč je stále dostupný a funkční
- Dokumentujte, kdo má přístup ke klíčům a kde jsou uloženy
- Zvažte key escrow -- u firemních záloh by mělo být zajištěno, že klíč je dostupný i při odchodu zaměstnance
Nástroje pro správu klíčů
- Správce hesel (Bitwarden, 1Password, KeePassXC) -- pro ukládání hesel a klíčových souborů
- HashiCorp Vault -- enterprise řešení pro centralizovanou správu secrets a šifrovacích klíčů
- AWS KMS / Azure Key Vault / Google Cloud KMS -- cloudové HSM pro správu klíčů
- Hardware Security Module (HSM) -- fyzické zařízení pro bezpečné generování a ukládání klíčů
Software s vestavěným šifrováním
Restic
Open-source zálohovací nástroj s povinným šifrováním (nelze ho vypnout). Každý repozitář je šifrován pomocí AES-256-CTR s Poly1305-AES autentizací:
# Inicializace šifrovaného repozitáře
restic -r /backup/repo init
# Zadáte heslo, které se použije pro derivaci šifrovacího klíče
# Záloha (data jsou automaticky šifrována před zápisem)
restic -r /backup/repo backup /home /etc
# Záloha do cloudu (stejné šifrování)
restic -r s3:s3.amazonaws.com/muj-bucket backup /home
# Obnova
restic -r /backup/repo restore latest --target /tmp/restore
# Změna hesla (re-enkrypce klíče, ne celých dat)
restic -r /backup/repo key passwd
Restic ukládá hlavní šifrovací klíč (master key) zašifrovaný vaším heslem. Při změně hesla se re-šifruje pouze klíč, ne celý repozitář. To umožňuje rychlou změnu hesla i pro terabytové zálohy.
BorgBackup
Borg nabízí několik režimů šifrování:
repokey-- AES-256-CTR + HMAC-SHA256, klíč uložen v repozitáři (chráněn heslem)keyfile-- stejné jako repokey, ale klíč uložen lokálně (~/.config/borg/keys/)repokey-blake2-- AES-256-CTR + BLAKE2b (rychlejší autentizace)authenticated-- pouze autentizace, bez šifrování (pro důvěryhodné úložiště)none-- bez šifrování a autentizace (nedoporučeno)
# Inicializace s šifrováním (doporučený režim)
borg init --encryption=repokey-blake2 /backup/borg-repo
# Export klíče pro zálohu (DŮLEŽITÉ!)
borg key export /backup/borg-repo /safe/location/borg-key-backup
# Záloha s kompresí a šifrováním
borg create --compression zstd,6 /backup/borg-repo::backup-{now} /home /etc
# Informace o repozitáři (včetně šifrování)
borg info /backup/borg-repo
Duplicati
Duplicati je open-source zálohovací řešení s grafickým rozhraním, které podporuje šifrování AES-256 nebo GPG. Ideální pro méně technické uživatele:
- Šifrování AES-256-CBC ve výchozím nastavení
- Volitelné GPG šifrování pro kompatibilitu s PGP ekosystémem
- Podpora mnoha cloudových úložišť (S3, B2, Azure, Google Drive, OneDrive aj.)
- Webové rozhraní pro konfiguraci
Srovnání šifrování v zálohovacích nástrojích
| Software | Šifra | Povinné | KDF | Zero-knowledge |
|---|---|---|---|---|
| Restic | AES-256-CTR + Poly1305 | Ano | scrypt | Ano |
| BorgBackup | AES-256-CTR + BLAKE2b | Volitelné | Argon2 | Ano |
| Duplicati | AES-256-CBC / GPG | Volitelné | PBKDF2 | Ano |
| Veeam | AES-256 | Volitelné | Proprietární | Ne (server-managed) |
| Kopia | AES-256-GCM / ChaCha20 | Ano | scrypt | Ano |
| rclone crypt | XSalsa20 + Poly1305 | Volitelné | scrypt | Ano |
Výkonnostní dopad šifrování
Šifrování záloh má výkonnostní dopad, ale na moderním hardwaru je minimální díky hardwarové akceleraci AES (instrukce AES-NI):
- S AES-NI (všechny moderní x86 procesory od ~2011): dopad na propustnost typicky 5-15 %. AES-256 dosahuje rychlostí přes 3 GB/s na jednom jádře.
- Bez AES-NI (starší procesory, některé ARM): dopad 30-50 %. V tomto případě je ChaCha20 výrazně rychlejší než AES.
- CPU zátěž: šifrování přidává CPU overhead, ale u záloh je typickým bottleneckem I/O (disk nebo síť), ne CPU.
# Ověření podpory AES-NI na vašem procesoru
grep -o aes /proc/cpuinfo | head -1
# Výstup "aes" = AES-NI je podporováno
# Benchmark šifrování pomocí OpenSSL
openssl speed -evp aes-256-gcm
# Typický výstup (moderní CPU):
# aes-256-gcm: 2847.12 MB/s (16384 byte bloky)
Zero-knowledge poskytovatelé
Zero-knowledge (nebo zero-access) znamená, že poskytovatel cloudového úložiště nemá žádnou možnost přistupovat k vašim datům. Toho se dosahuje výhradně client-side šifrováním, kde klíč nikdy neopustí vaše zařízení.
Jak poznat zero-knowledge řešení
- Šifrovací klíč je odvozen z vašeho hesla na vašem zařízení
- Na server se odesílají pouze šifrovaná data
- Poskytovatel nemá funkci "reset hesla" (protože klíč nezná)
- Pokud ztratíte heslo, poskytovatel vám nemůže pomoci
Zero-knowledge zálohovací služby
- Restic + jakékoli úložiště -- Restic šifruje data na klientu, úložiště (S3, B2, SFTP) vidí jen šifrované bloby
- BorgBackup -- stejný princip jako Restic
- Kopia -- moderní zálohovací nástroj s povinným šifrováním
- Arq Backup -- komerční zálohovací software pro macOS/Windows s client-side šifrováním
- SpiderOak One -- cloudová záloha s zero-knowledge architekturou
Doporučené postupy
- Vždy šifrujte zálohy, zejména cloudové a na přenosných médiích
- Používejte client-side encryption -- server-side encryption nestačí
- Volte AES-256-GCM nebo ChaCha20-Poly1305 jako šifrovací algoritmus
- Používejte silná hesla (16+ znaků) nebo klíčové soubory
- Bezpečně uložte klíče na více místech -- správce hesel + tištěná kopie v trezoru
- Pravidelně testujte obnovu ze šifrovaných záloh
- Ověřte AES-NI podporu na vašem procesoru pro optimální výkon
- Komprimujte před šifrováním (většina zálohovacích nástrojů to dělá automaticky)
- Dokumentujte šifrovací postup -- v krizi nemáte čas přemýšlet, kde je klíč
- Nikdy nepoužívejte vlastní šifru -- používejte ověřené knihovny a nástroje
Závěr
Šifrování záloh je nezbytné bezpečnostní opatření, které chrání vaše data při ztrátě média, kompromitaci cloudového účtu nebo v případě bezpečnostního incidentu. Díky moderním zálohovacím nástrojům jako Restic, BorgBackup nebo Kopia je šifrování transparentní -- data jsou automaticky šifrována před uložením s minimálním výkonnostním dopadem.
Nejdůležitější je správa šifrovacích klíčů. Zálohujte klíče na více nezávislých místech, pravidelně ověřujte jejich dostupnost a dokumentujte postup obnovy. Ztráta klíče je horší než ztráta záloh -- protože zálohy máte, ale nedostanete se k nim.