Mengevaluasi Klaim Zero-Knowledge Vendor: Panduan Teknis
"Zero-knowledge" telah menjadi istilah pemasaran yang sering disalahgunakan. Setiap vendor cloud tampaknya mengklaim enkripsi zero-knowledge — namun sebagian besar tidak memenuhi definisi teknis yang sebenarnya.
Panduan ini membantu Anda mengevaluasi klaim vendor secara kritis.
Definisi Zero-Knowledge yang Sebenarnya
Zero-knowledge sejati berarti penyedia layanan secara matematis tidak dapat mengakses data Anda yang tidak terenkripsi, bahkan jika mereka mau atau dipaksa oleh pemerintah.
Ini berbeda dari:
- Enkripsi sisi server: Penyedia memegang kunci dan dapat mendekripsi
- Enkripsi transit: Hanya melindungi data saat bergerak, bukan saat istirahat
- "Enkripsi end-to-end" yang longgar: Beberapa implementasi masih memberi penyedia akses kunci
Pertanyaan Teknis untuk Ditanyakan kepada Vendor
Pertanyaan 1: Di mana kunci enkripsi dibuat dan disimpan? Jawaban zero-knowledge yang benar: "Di perangkat pengguna. Kami tidak pernah melihat kunci." Tanda bahaya: "Di server kami yang aman" atau "Di HSM kami"
Pertanyaan 2: Dapatkah Anda mendekripsi data pengguna jika diminta oleh penegak hukum? Jawaban zero-knowledge yang benar: "Tidak. Secara teknis tidak mungkin." Tanda bahaya: "Kami memiliki proses hukum yang kami ikuti"
Pertanyaan 3: Apa yang terjadi pada data saya jika Anda diretas? Jawaban zero-knowledge yang benar: "Penyerang hanya melihat ciphertext tanpa nilai" Tanda bahaya: "Kami memiliki keamanan berlapis untuk mencegah pelanggaran"
Pertanyaan 4: Dapatkah Anda melakukan analisis atau pencarian pada data terenkripsi? Jawaban zero-knowledge yang benar: Kemampuan terbatas; pencarian teks lengkap biasanya tidak mungkin Tanda bahaya: "Ya, kami dapat mencari semua data Anda" (ini berarti mereka dapat membaca data)
Arsitektur yang Perlu Dicari
Implementasi zero-knowledge yang sah biasanya melibatkan:
- Derivasi kunci sisi klien: Kunci dibuat dari kata sandi pengguna menggunakan PBKDF2, Argon2, atau bcrypt
- Enkripsi sisi klien: Data dienkripsi sebelum upload
- Penyimpanan buta: Server menyimpan ciphertext tanpa akses ke plaintext
- Audit kode terbuka: Kode enkripsi dapat diverifikasi oleh pihak ketiga
Sertifikasi dan Audit yang Harus Dicari
- Audit kode kriptografi independen oleh firma seperti Trail of Bits, Cure53, atau Quarkslab
- Laporan SOC 2 Type II (meskipun ini membuktikan proses, bukan zero-knowledge)
- Pengungkapan bug bounty yang menunjukkan transparansi keamanan
- Kode sumber terbuka atau peer-reviewed untuk komponen kriptografi
Bagaimana anonym.legal Mengimplementasikan Zero-Knowledge
anonym.legal menggunakan enkripsi sisi klien untuk peta dekripsi:
- Kunci enkripsi tidak pernah dikirim ke server kami
- Server kami hanya menyimpan data yang dianonimkan
- Bahkan dalam acara pelanggaran, penyerang tidak dapat mendekripsi identitas asli
Sumber:
- Zeynep Tufekci: "Why Zero-Knowledge is Hard to Verify"
- Signal Protocol: Implementasi referensi zero-knowledge