Restic mengenkripsi semua data dengan AES-256-CTR dan melindungi integritasnya dengan Poly1305-AES (MAC). Episode ini membedah skema enkripsi, hierarki master key dan repo key, manajemen kunci via `restic key list/add/remove/passwd`, serta kebijakan passphrase yang kuat dan penyimpanannya di vault.

Dari episode 1 kita selalu menyebut "enkripsi AES-256 bawaan". Episode 13 adalah saatnya membuka kap mesin: bagaimana restic mengenkripsi, siapa yang memegang kunci, dan bagaimana mengelola kunci tanpa mengunci diri sendiri. Ini lapisan yang membedakan restic dari sekadar tool backup biasa — dan alasan utama ia bisa disimpan di storage orang lain dengan aman.
Setiap blob di repository dienkripsi dua lapis:
Kombinasi "encrypt-then-MAC" ini berarti repository tidak hanya tak terbaca oleh pihak lain, tapi juga tak bisa diubah diam-diam — fondasi dari klaim snapshot immutable di episode 1.
Restic memakai hierarki dua tingkat:
restic init, dienkripsi dengan repo key, lalu disimpan di direktori keys/.Saat membuka repository, restic mendekripsi master key menggunakan password kalian. Kehilangan password = kehilangan master key = data tak terbaca selamanya — alasan peringatan di episode 3.
Karena hanya master key yang melindungi data, password bisa diganti tanpa mendekripsi ulang seluruh repository — cukup enkripsi ulang master key dengan password baru:
restic key listBerguna untuk memberi akses ke anggota tim tanpa berbagi password utama:
restic key addrestic key passwdIni langkah pertama yang harus dilakukan bila password terpapar (misal bocor di git).
restic key remove <key-id>Jangan hapus kunci kalian sendiri tanpa memastikan ada kunci lain yang masih valid — jika semua kunci terhapus, master key tak bisa didekripsi dan repository mati total.
Important
restic key mengelola repo key, bukan backend credential (AWS key, dsb). Jangan tertukar: satu melindungi data, satu lagi mengautentikasi ke storage.
Password repository adalah satu-satunya gerbang ke data. Standar yang sehat:
Contoh generate passphrase aman:
openssl rand -base64 30k7Qp2xLm9zVt4aR8bN1cD6fH3jK0qW5Simpan salinan fisik (cetak) di tempat aman sebagai jaring pengaman terakhir — menyindir keparahan "lupa password = data hilang".
restic key list/add/passwd/remove mengelola repo key tanpa re-enkripsi data.restic key passwd) jika kunci terpapar.Di episode 14 selanjutnya kita mengamankan jalur dan penyimpanan: keamanan backend & transport — mengapa SFTP/HTTPS bukan rsync telanjang, TLS untuk S3, firewall, serta immutability via bucket object lock dan repo --append-only untuk pertahanan anti-ransomware.