Perlindungan dimulai sebelum pengunggahan
Vault asli berfungsi secara lokal tanpa akun Revault. Konten file, nama file, jenis MIME, thumbnail, nama brankas, folder, tag, dan favorit dienkripsi di perangkat. Penggunaan lokal tidak mengunggah file vault ke Revault. Sinkronisasi dan berbagi cloud asli merupakan operasi opsional dan terpisah.
Model ini mengasumsikan sistem operasi yang dapat dipercaya, aplikasi terinstal, dan sumber acak kriptografis saat brankas dibuat atau dibuka kuncinya. Seseorang yang hanya memiliki file terenkripsi dan pembungkus kunci tidak dapat mendekripsinya tanpa rahasia yang diperlukan. Malware atau aplikasi tersusupi yang berjalan saat brankas terbuka dapat menangkap teks biasa dan kunci.
Kunci independen untuk setiap brankas
Setiap brankas dimulai dengan kunci master acak 256-bit AES, yang dihasilkan menggunakan sumber acak kriptografi sistem operasi. Isyarat tersebut tidak secara langsung menentukan kunci ini. Setiap brankas memiliki materi kunci utama yang independen, sehingga pengungkapan satu kunci brankas tidak menurunkan materi kunci lainnya.
Pola perangkat menggabungkan urutan titik yang diurutkan dengan rahasia perangkat 256-bit acak. Masukan yang dihasilkan dinormalisasi dengan NFKC dan diteruskan ke PBKDF2-HMAC-SHA-256 dengan garam 128-bit baru dan 600.000 iterasi. Kunci 256-bit turunan membungkus kunci master menggunakan AES-256-GCM. Aplikasi ini tidak menyimpan pola teks biasa atau sidik jari pola terpisah.
Pola menggunakan kisi 5 × 5 dengan enam hingga 25 titik berbeda dan harus unik di seluruh brankas yang terdaftar pada perangkat yang sama. Pola yang cocok hanya membuka brankasnya; nama dan konten brankas lainnya tetap tersembunyi. Gestur yang bisa diprediksi masih lebih mudah ditebak. Seseorang yang memperoleh rahasia perangkat dan pembungkus terenkripsinya dapat mencoba menebak pola secara offline.
Membuka brankas asli memerlukan pola lokalnya atau alur pemulihan eksplisit, bukan akun atau kunci sandi Revault. Sinkronisasi cloud opsional menggunakan otorisasi platform Apple atau Google, dan pembelian toko menggunakan akun penagihan platform. Baik otorisasi cloud maupun pembelian tidak menyediakan kunci dekripsi brankas.
| Tujuan | Konstruksi |
|---|---|
| Kunci utama brankas | Kunci AES 256-bit acak |
| Pembungkus kunci | PBKDF2-HMAC-SHA-256 · 600.000 iterasi · garam 128-bit → AES-256-GCM |
| Metadata & gambar mini | AES-256-GCM · nonce 96-bit acak · tag otentikasi 128-bit |
| Derivasi kunci file | HKDF-SHA-256 · garam 256-bit acak per file · keluaran AES 256-bit |
| Rahasia pemulihan | Dihasilkan: 18 kata acak (198 bit); kebiasaan: setidaknya 6 kata berbeda dan 32–512 karakter |
Perlindungan kunci khusus perangkat
Pada iOS, kunci perangkat disimpan sebagai item Keychain yang tidak disinkronkan menggunakan perlindungan WhenUnlockedThisDeviceOnly. Ini hanya dapat diakses saat perangkat tidak terkunci dan tidak bermigrasi melalui sinkronisasi Keychain. Rahasia yang disimpan bukan kunci Secure Enclave.
Pada Android, kunci perangkat dienkripsi menggunakan AES-256-GCM pada kunci Android Keystore yang tidak dapat diekspor dan memerlukan perangkat yang tidak terkunci. File kunci terenkripsi berada di direktori tanpa cadangan aplikasi. Keystore dukungan perangkat keras bergantung pada perangkat; aplikasi ini tidak menjanjikan bahwa setiap perangkat menggunakan kunci yang didukung perangkat keras.
Rahasia buka kunci lokal dikecualikan dari sinkronisasi cloud asli dan pencadangan brankas portabel. Kepemilikan akun Apple atau Google tidak membuat ulang rahasia tersebut atau secara otomatis membuka kunci brankas yang dipulihkan. Perangkat baru harus memverifikasi rahasia pemulihan independen dan mendaftarkan polanya sendiri.
Kerahasiaan dan deteksi kerusakan
Metadata Vault, metadata file, thumbnail, dan kunci gabungan menggunakan AES-256-GCM dengan tag autentikasi 128-bit. Setiap enkripsi independen menggunakan nonce 96-bit acak yang baru. Dekripsi memverifikasi tag sebelum mengembalikan teks biasa; ciphertext yang dimodifikasi atau kunci yang salah menyebabkan otentikasi gagal.
Data tambahan yang diautentikasi mengikat setiap objek terenkripsi ke versi format, pengidentifikasi brankas, pengidentifikasi objek, dan tujuannya. Misalnya, thumbnail dan rekaman metadata file menggunakan konteks yang berbeda. Memindahkan objek terenkripsi ke brankas lain atau menggantinya dengan objek lain akan mengubah konteks yang diautentikasi dan menggagalkan verifikasi.
Konteks yang diautentikasi tidak menyembunyikan pengidentifikasi dan tidak membuktikan kesegaran. Catatan lama yang valid masih dapat memiliki tag yang valid. Pemeriksaan revisi aplikasi mendeteksi pembaruan serentak biasa, namun ini bukan pertahanan kriptografi terhadap layanan jahat yang mengulangi keadaan lama secara lengkap.
File besar menggunakan segmen yang diautentikasi
Enkripsi file asli menggunakan konstruksi streaming AES-256-GCM-HKDF-SHA-256 yang dijelaskan oleh Tink. iOS menggunakan CryptoKit untuk AES-GCM dan HKDF; Android menggunakan platform kriptografi primitif. Setiap aliran baru memiliki header 40 byte yang berisi penanda panjangnya, garam acak 32 byte, dan awalan nonce tujuh byte acak.
HKDF memperoleh kunci enkripsi file terpisah dari kunci master brankas. Konteksnya mencakup pengidentifikasi vault dan file, panjang byte teks biasa, dan ukuran segmen yang dikonfigurasi. Nonce 12 byte setiap segmen menggabungkan awalan acak, penghitung segmen empat byte, dan tanda segmen akhir. Segmen membawa tag GCM 128-bit.
Aplikasi asli memproses file dalam segmen terbatas sekitar 5 MiB. Penghitung segmen, tanda segmen akhir, dan panjang byte yang diharapkan mendeteksi segmen yang diubah, disusun ulang, atau terpotong. Setiap segmen diautentikasi sebelum digunakan, dan pratinjau pribadi dipublikasikan hanya setelah filenya selesai didekripsi. Keluaran yang tidak lengkap akan dibuang jika gagal; percobaan ulang mentransfer byte terenkripsi yang ada.
Konstruksinya mengikuti Spesifikasi streaming Tink AES-GCM-HKDF. Implementasi dan konfigurasi segmen Revault belum diaudit atau disertifikasi secara independen oleh Tink.
Penyimpanan pribadi, impor dan pratinjau
File brankas terenkripsi ada di penyimpanan aplikasi pribadi. Nama file, jenis MIME, folder, tag, favorit, dan thumbnail adalah catatan terenkripsi yang diautentikasi. Pemfilteran pencarian dan tag beroperasi pada metadata brankas aktif yang didekripsi setelah dibuka kuncinya; tidak ada indeks pencarian server teks biasa.
Impor foto, video, dan file dapat menggunakan pementasan sementara pribadi sebelum enkripsi. Pengambilan kamera dalam brankas tidak secara otomatis menyimpan salinan ke galeri. Mengimpor dari Foto atau penyedia lain membiarkan penyedia asli tersebut tetap utuh. Pengoptimalan media opsional terjadi secara lokal sebelum enkripsi dan hanya mengubah media yang baru diimpor.
Pratinjau pribadi memerlukan teks biasa sementara saat dibuka. Aplikasi menghapus pratinjau sementara saat ditutup, dikunci, dan pengaktifan berikutnya; iOS menerapkan perlindungan file lengkap ke file pratinjau yang didekripsi. File yang secara eksplisit diekspor ke aplikasi lain akan meninggalkan perlindungan brankas. Penghapusan file sementara bukan jaminan penghapusan forensik.
Sinkronisasi cloud asli opsional
Sinkronisasi dinonaktifkan secara default dan diaktifkan secara terpisah untuk setiap brankas di setiap perangkat. iOS menyimpan catatan terenkripsi dan segmen file dalam database pribadi CloudKit pengguna di iCloud. Android menggunakan appDataFolder pribadi Google Drive . Transportasi tidak memerlukan akun Revault atau mengunggah data sinkronisasi asli ke cloud web Revault.
Cloud menerima metadata terenkripsi, segmen file, dan pembungkus kunci, bukan kunci master brankas teks biasa, rahasia perangkat lokal, atau rahasia pemulihan. Perangkat lain di platform yang sama memerlukan akun cloud asli yang sama dan kunci pemulihan vault untuk mendaftarkan pola lokalnya sendiri. Otorisasi Apple dan Google mengontrol akses ke catatan terenkripsi, bukan dekripsinya.
Menonaktifkan sinkronisasi akan menghentikan transfer lebih lanjut untuk brankas tersebut dari perangkat saat ini; salinan cloud terenkripsi yang ada tetap ada. Perubahan dan penghapusan sinkronisasi dapat menyebar, dan pengeditan bersamaan mungkin memerlukan peninjauan konflik. iCloud dan Google Drive adalah penyimpanan terpisah, tanpa jembatan lintas platform otomatis. Gunakan transfer telepon terenkripsi untuk berpindah antara iPhone dan Android.
Pemulihan adalah jalur kedua menuju kunci yang sama
Revault menghasilkan satu frase pemulihan yang berisi 18 kata yang dipilih secara independen dari daftar kumpulan 2.048 kata, memberikan 198 bit keacakan. Penciptaan tidak menawarkan frase khusus atau regenerasi. Frasa tersebut secara independen memperoleh kunci pembungkus menggunakan PBKDF2-HMAC-SHA-256 dan garam segar, lalu membungkus kunci master brankas dengan AES-256-GCM. Siapa pun yang memiliki frasa dan brankas terenkripsi dapat mendekripsinya. Frasa khusus dan kunci pemulihan heksadesimal yang ada tetap kompatibel dengan brankas aslinya.
Rahasia pemulihan ditampilkan selama penyiapan dan tidak disimpan di penyimpanan aplikasi asli atau diunggah ke penyimpanan cloud asli. Simpan secara terpisah dari file terenkripsi. Mendaftarkan perangkat lain memerlukan brankas terenkripsi dari akun cloud asli asli, atau cadangan terenkripsi, ditambah kunci pemulihan. Rahasia tidak dapat memulihkan data file yang hilang, dan Revault tidak memiliki kunci reset yang disimpan penyedia.
Cadangan portabel .qvault berisi pembungkus kunci terenkripsi, inventaris terenkripsi yang diautentikasi, dan segmen file terenkripsi. Ini tidak termasuk rahasia membuka kunci perangkat lokal. Impor memverifikasi inventaris, metadata, dan setiap segmen sebelum memulihkan ke brankas dengan pengidentifikasi baru, kunci master, kunci file, dan pola perangkat baru. Simpan kunci pemulihan baru setelah restorasi.
Frasa pemulihan baru mempertahankan huruf besar-kecil, menormalkan Unicode dengan NFKC dan menciutkan spasi ekstra. Kunci heksadesimal lama tetap didukung. Anda dapat mengganti frasa pemulihan brankas di pengaturannya setelah menyimpan frasa baru. Ini menggantikan pembungkus pemulihan saat ini; cadangan lama dan perangkat yang belum disinkronkan masih dapat menyimpan pembungkus lama. Mengubah pola atau frasa pemulihan tidak merotasi kunci master brankas atau mencabut salinan. Jika materi kunci disusupi, pindahkan file ke brankas baru dengan kunci baru.
Migrasi telepon-ke-telepon terenkripsi
Transfer telepon membuat salinan terenkripsi portabel dengan pengidentifikasi brankas baru, kunci master, kunci file, dan header aliran. Rahasia transfer independennya tidak dapat membuka kunci brankas sumber, dan rahasia pemulihan sumber serta rahasia membuka kunci perangkat tidak disertakan. Paket terenkripsi dan rahasia transfer harus dikirimkan secara terpisah.
Aplikasi penerima mengautentikasi paket dan segmen filenya, lalu memulihkan ke brankas baru dengan pola lokal dan kunci pemulihan baru. Ini berfungsi antara iOS dan Android tanpa menjembatani akun cloud mereka. Dokumen asli tetap ada di perangkat lama; konfirmasikan konten yang dipulihkan dan simpan kunci pemulihan baru sebelum menghapusnya.
Penguncian dan pembersihan sesi
Aplikasi seluler langsung terkunci saat berada di latar belakang dan setelah 60 detik tidak aktif secara default. Setiap brankas dapat memilih 30 detik, 1 menit, 2 menit, 5 menit, atau 10 menit. Vault bersama menggunakan default 60 detik. Keluar akan kembali ke layar pola dan mengakhiri sesi yang didekripsi.
Penguncian membatalkan pekerjaan sesi, menghapus metadata yang didekripsi dan status pencarian, menutup pratinjau, menghapus file sementara dan menimpa buffer kunci yang dimiliki sebelum melepaskannya. Kunci derivasi sementara juga dihapus setelah digunakan. Swift dan JVM manajemen memori, perpustakaan kriptografi, dan dekoder media dapat membuat salinan; penghapusan langsung setiap salinan tidak dapat dijamin.
iOS mencakup snapshot pengalih aplikasi dengan pelindung privasi. Android menggunakan tanda jendela aman untuk membatasi tangkapan layar dan pratinjau aplikasi terbaru. Perlindungan platform ini tidak mencegah seseorang memotret layar yang tidak terkunci, dan tidak menarik kembali file yang sebelumnya diekspor ke aplikasi lain.
Revault Cloud
Revault Cloud adalah penyedia penyimpanan Pro opsional untuk sinkronisasi lintas platform. Segmen terenkripsi dan metadata file terenkripsi ditautkan ke instalasi penagihan nama samaran. Layanan ini dapat mengamati pengidentifikasi penyimpanan, ukuran, checksum, revisi, dan aktivitas transfer, tetapi tidak menerima kunci brankas atau frasa pemulihan yang belum dibuka. Kode koneksi acak terpisah memberi otorisasi akses penyimpanan; menghubungkan perangkat lain juga memerlukan frase pemulihan. Data cloud yang ada tetap dapat dibaca untuk pemulihan setelah Pro berakhir.
Transportasi berbagi asli dan kontrol akses
Pada iOS, undangan pribadi dan hanya baca CloudKit menempatkan snapshot terenkripsi dalam hierarki rekaman berbagi terpisah, di luar zona sinkronisasi pribadi. Apple mengontrol akses undangan; penerima masih memerlukan rahasia dekripsi terpisah. CloudKit undangan tidak menerapkan jumlah sesi akses server, waktu kedaluwarsa tetap, atau waktu penghancuran. Pemilik dapat menghentikan akses CloudKit di masa mendatang.
Berbagi lintas platform mengunggah bagian terenkripsi ke layanan berbagi Revault. Kemampuan baca dan pengelolaan 256-bit acak independen disimpan sebagai hash SHA-256. Tautan situs web membawa kemampuan membaca dalam fragmennya, bukan rahasia dekripsi. Membukanya akan menghubungkan tautan dalam ke brankas bersama dan menanyakan rahasia pengirim; tidak diperlukan pola pribadi atau brankas yang ada. Gudang pribadi tetap terkunci.
Pembagian server yang dikontrol menerapkan sesi akses maksimum pengirim, masa berlaku tetap dalam 30 hari, pencabutan, dan izin ekspor opsional. Sesi diberikan secara atomik dan berlangsung paling lama 15 menit, dibatasi oleh tenggat waktu pembagian. Akses dihitung ketika sesi diberikan, meskipun pengunduhan atau dekripsi gagal. Penampil memeriksa akses yang sedang berlangsung dan menutupnya pada tenggat waktu.
SHA-256 checksum memverifikasi bagian yang ditransfer, sementara enkripsi yang diautentikasi memverifikasi isinya. Ketika ekspor diperbolehkan, pemirsa dapat menyimpan salinan .qvault terenkripsi yang dibuka dengan rahasia berbagi. Menonaktifkan ekspor akan menghapus tindakan aplikasi tersebut; itu tidak dapat secara kriptografis mencegah tangkapan layar atau klien yang dimodifikasi menyimpan teks biasa. Menghapus file sumber tidak mencabut share yang dibuat secara independen.
Aktivitas brankas opsional
Log audit asli dinonaktifkan secara default dan dikonfigurasikan per brankas di setiap perangkat. 500 peristiwa lokal terbaru dienkripsi dengan kunci utama brankas dan konteks khusus yang diautentikasi. Mereka mengecualikan kunci, pola, konten file, dan data brankas lainnya, tidak disinkronkan, dan dapat dihapus atau dinonaktifkan. Itu bukan bukti yang dapat dirusak. Pembukaan kunci yang gagal tidak ditetapkan ke brankas.
Pembagian terkontrol baru yang dibuat dengan logging diaktifkan mempertahankan hingga 100 stempel waktu sesi akses pada layanan berbagi. Hanya kemampuan manajemen yang dapat mengambilnya; log tidak berisi identitas penerima atau rahasia dekripsi. Menonaktifkan logging lokal akan memengaruhi pembagian di masa mendatang. Log berbagi yang ada mempertahankan pengaturan aslinya hingga pencabutan atau habis masa berlakunya dan pembersihan.
Foto pembobolan terenkripsi opsional
Pemilik dapat mengaktifkan Peringatan Pembobolan secara terpisah untuk setiap brankas di setiap perangkat. Setelah tiga pola yang tidak cocok, aplikasi latar depan dapat mengambil foto kamera depan, tergantung pada izin, ketersediaan kamera, dan waktu tunggu satu menit. Indikator kamera sistem tetap terlihat. Sepuluh peringatan terbaru disimpan secara lokal dan tidak pernah ditambahkan ke Foto atau diunggah. Pola yang tidak cocok tidak mengidentifikasi brankas target, sehingga setiap brankas yang diikutsertakan menerima catatan upaya perangkat terenkripsi secara terpisah.
Kunci publik RSA-3072 khusus membungkus kunci 256-bit AES-GCM baru untuk setiap peringatan menggunakan OAEP dengan SHA-256 dan MGF1-SHA-256. Ini memungkinkan enkripsi saat brankas terkunci. Kunci pribadi yang sesuai dienkripsi sendiri di bawah kunci utama brankas tersebut dengan konteks khusus yang diautentikasi. Hanya membuka kunci brankas itu yang dapat mendekripsi foto-fotonya. Peringatan muncul dalam tampilan auditnya secara independen dari pencatatan aktivitas biasa dan dapat dihapus dalam pengaturan Peringatan Pembobolan. Itu bukan bukti yang dapat dirusak.
Safe Exit menghapus akses lokal
Satu brankas pada perangkat dapat ditetapkan untuk Safe Exit. Memasukkan polanya akan membukanya secara normal sambil menghapus catatan brankas lokal lainnya, potongan terenkripsi, materi pembuka kunci perangkat, dan perubahan antrean. Aplikasi ini menyimpan daftar lokal yang diizinkan sehingga sinkronisasi tidak dapat mengisi kembali brankas yang dikecualikan secara diam-diam. Transfer terenkripsi dalam penerbangan mungkin masih selesai.
Salinan cloud asli dan salinan di perangkat lain tetap ada. Pemulihan eksplisit memerlukan kunci pemulihan vault yang dikecualikan sebelum pola lokal baru didaftarkan. Vault khusus offline tanpa cadangan terpisah dapat hilang. Pengaturan ini berlaku untuk instalasi saat ini, tidak semua perangkat menggunakan akun cloud yang sama.
Safe Exit tidak dijamin akan dihapus atau disembunyikan secara forensik. Penyimpanan flash, cache sistem operasi, pencadangan, dan ekspor sebelumnya dapat menyimpan jejak. Menghapus data aplikasi atau menginstal ulang dapat menghilangkan batas isolasi lokal; catatan cloud kemudian dapat ditemukan kembali melalui akun cloud asli. Hanya rahasia pemulihan yang dapat membuka kunci catatan tersebut.
Yang masih terlihat
Enkripsi menyembunyikan konten, tidak semua informasi operasional. Catatan lokal dan penyedia cloud dapat mengamati pengidentifikasi, hubungan catatan, jumlah objek, ukuran, revisi, stempel waktu, pembungkus kunci terenkripsi, dan header aliran. Pengidentifikasi menggunakan UUIDv7 dan menyertakan informasi waktu pembuatan; itu bukan rahasia. Apple atau Google dapat mengaitkan aktivitas sinkronisasi asli dengan akun platform.
Layanan berbagi terkontrol Revault dapat mengamati ukuran paket terenkripsi, checksum bagian, pengaturan kedaluwarsa, jumlah sesi akses, dan stempel waktu sesi opsional, namun tidak dapat mengamati rahasia dekripsi yang dikirimkan secara terpisah. CloudKit berbagi memperlihatkan informasi undangan dan peserta kepada Apple. Catatan jaringan dan operasional dapat mengungkap informasi koneksi. Revault tidak memberikan anonimitas atau hambatan analisis lalu lintas.
HTTPS melindungi permintaan jaringan saat transit. Enkripsi yang diautentikasi pada perangkat secara terpisah melindungi konten brankas yang disimpan secara lokal dan di cloud. Baik enkripsi transport maupun ciphertext tidak menyembunyikan setiap fakta tentang kapan, di mana, atau berapa banyak data yang ditransfer.
Dimana perlindungan berakhir
Vault yang tidak terkunci tentu akan memaparkan informasi yang didekripsi ke sesi aplikasinya. Malware, sistem operasi atau aplikasi yang disusupi, seseorang yang melihat layar, atau penerima yang tidak tepercaya dapat menangkapnya. Penyimpanan kunci khusus perangkat merupakan batasan tambahan, bukan jaminan terhadap perangkat yang sepenuhnya disusupi. Pola yang dapat diprediksi menjadi tidak aman jika rahasia lokalnya dibobol.
Enkripsi tidak mencegah penghapusan cloud, ransomware, hilangnya rahasia pemulihan, penyedia menyembunyikan catatan, atau mengembalikan seluruh status terenkripsi yang sebelumnya valid. Simpan cadangan terenkripsi independen dan verifikasi pemulihan sebelum menghapus perangkat lama. Pencabutan tidak dapat menarik kembali tangkapan layar, ekspor, atau salinan yang sudah disimpan oleh orang lain.
Revault belum menjalani audit keamanan independen. Ini adalah deskripsi desain kriptografi yang diterapkan, bukan sertifikasi atau jaminan terhadap setiap intrusi.
Gudang browser yang ada
Referensi ini menjelaskan aplikasi asli. Gudang browser yang ada memiliki akun terpisah, penyimpanan perangkat, dan model cloud web. Unggahan S3 khusus browser dan tautan berbagi browser bukan merupakan sinkronisasi cloud asli. Akun browser tidak memasukkan Anda ke aplikasi seluler; gunakan cadangan terenkripsi dan kunci pemulihannya untuk memindahkan data browser yang ada ke brankas asli.