Revault menyulitkan fail besar dalam segmen kira-kira 5 MiB, masing-masing dengan teg pengesahan tersendiri, supaya keseluruhan fail tidak perlu berada dalam memori sekali gus. Dalam aplikasi web, itulah yang memberi ruang untuk fail sehingga 1 GiB.

Mengapa tidak menyulitkan seluruh fail sekali gus?

Fail besar tidak sepatutnya memerlukan memori yang besar. Revault membaca fail dalam segmen kira-kira 5 MiB, menyulitkan setiap segmen dalam pelayar dan mementaskan ciphertext dalam IndexedDB. Fail asal tidak pernah dibaca ke dalam satu penimbal gergasi.

Bekerja dalam segmen juga bermakna muat naik yang terganggu boleh disambung semula daripada teks sifir yang sudah dipentaskan, dan bukannya menyulitkan seluruh fail semula.

Apakah yang melindungi susunan dan kelengkapan segmen?

Setiap fail mendapat kunci penyulitan sendiri, diterbitkan dengan HKDF daripada kunci induk vault. Konteks penerbitan merangkumi pengecam vault dan fail, panjang bait fail dan saiz segmen.

Nonce 12 bait setiap segmen menggabungkan awalan rawak yang dipilih untuk fail itu, pembilang segmen empat bait dan bendera yang menandakan segmen terakhir. Segmen membawa teg GCM 128-bit. Jika segmen ditukar ganti, diubah atau dipotong, pengesahan gagal.

Apa yang berlaku jika muat naik terganggu?

Setelah penyulitan selesai, muat naik rangkaian boleh disambung semula daripada ciphertext dalam cache selepas halaman dimuat semula. Percubaan semula menghantar bait disulitkan yang sama, bukannya menyulitkan sumber baharu di bawah nonce lama. Jika penyulitan itu sendiri terganggu, batalkan muat naik yang tidak lengkap itu dan mulakan semula dengan identiti fail yang baharu.

Bagaimana muat turun disahkan?

Muat turun mengesahkan setiap segmen sebelum melepaskannya. Memandangkan semakan berlaku semasa fail distrim, ralat lewat dalam muat turun boleh meninggalkan fail yang tidak lengkap, jadi pastikan muat turun selesai dengan jayanya sebelum anda bergantung padanya.

Apakah had-hadnya?

Setiap fail dalam aplikasi web boleh sehingga 1 GiB. Pratonton imej dan video mempunyai had memori yang berasingan. Mengosongkan storan pelayar setempat boleh membuang teks sifir yang diperlukan untuk menyambung semula muat naik.

Format strim mengikut binaan strim AES-GCM-HKDF Tink yang didokumenkan, menggunakan primitif Web Crypto asli. Identiti fail dan panjang yang dijangka diikat ke dalam konteks terbitan kunci; pembilang segmen dan penanda akhir melindungi susunan dan kelengkapan. Pelaksanaan ini belum menerima audit kriptografi bebas.

Halaman model keselamatan menerangkan binaan penuh, termasuk pengepala strim dan penerbitan kunci.