Glosarium

Apa itu Arsitektur Zero-Knowledge?

Arsitektur zero-knowledge adalah desain sistem di mana penyedia layanan tidak memiliki kemampuan untuk mengakses, membaca, atau mendekripsi data yang disimpannya atas nama pengguna, karena semua operasi enkripsi dan dekripsi terjadi di sisi klien.

Juga dikenal sebagai: ZK, zero-knowledge encryption, zero-knowledge proof, ZKA

Dalam sistem zero-knowledge, server bertindak murni sebagai penyimpanan terenkripsi. Server menerima data yang sudah dienkripsi oleh klien dan mengembalikannya sesuai permintaan, tetapi tidak pernah memiliki kunci yang diperlukan untuk memahami data tersebut. Ini berbeda dari kebanyakan layanan cloud, di mana penyedia memegang kunci enkripsi dan secara teoritis dapat mengakses data pengguna — baik melalui karyawan yang tidak jujur, perintah pengadilan, maupun pelanggaran keamanan.

Istilah "zero-knowledge" dalam konteks ini berbeda dari zero-knowledge proof dalam kriptografi, meskipun keduanya berbagi prinsip untuk tidak mengungkapkan apa pun melebihi yang benar-benar diperlukan. Layanan zero-knowledge mengetahui bahwa data itu ada dan dapat menegakkan kontrol akses seperti kedaluwarsa atau batas tampilan, tetapi tidak dapat menentukan isi data tersebut.

Arsitektur zero-knowledge mengubah model kepercayaan secara mendasar. Alih-alih mempercayai operator layanan untuk melindungi datamu dan bertindak jujur, kamu hanya perlu mempercayai kode sisi klien yang berjalan di browsermu. Ini adalah peningkatan keamanan yang signifikan karena menghilangkan seluruh kelas ancaman: pelanggaran sisi server, akses orang dalam, dan pengungkapan paksa semuanya menjadi tidak efektif ketika server benar-benar tidak dapat membaca apa yang disimpannya.

Cara Vaulted menggunakan Arsitektur Zero-Knowledge

Vaulted dibangun sebagai sistem zero-knowledge dari bawah ke atas. Semua enkripsi dan dekripsi terjadi di browsermu menggunakan Web Crypto API. Server hanya menerima dan menyimpan ciphertext, initialization vector, dan metadata seperti jumlah tampilan dan kedaluwarsa. Kunci enkripsi AES-256-GCM disematkan di fragmen URL, yang tidak pernah dikirim browser ke server sesuai RFC 3986. Bahkan jika server atau database Vaulted sepenuhnya dikompromikan, penyerang hanya akan mendapatkan blob terenkripsi tanpa cara untuk mendekripsinya.