Arsitektur Keamanan: Tumpukan Teknis Penuh
Vaultaire tidak bergantung pada satu algoritma atau satu trik pintar. Ia menggunakan arsitektur kriptografi berlapis di mana setiap komponen memiliki tugas tertentu, dan kegagalan pada satu lapisan tidak membahayakan lapisan lainnya. Inilah tumpukan keamanan: setiap keputusan sandi, protokol, dan desain yang menjadi penghalang antara data pribadi Anda dan seluruh dunia.
Vaultaire menggunakan AES-256-GCM untuk enkripsi yang diautentikasi di seluruh indeks brankas, kunci terbungkus, header file, konten, thumbnail, dan metadata. PBKDF2-HMAC-SHA512 menurunkan kunci brankas lokal dari pola dan salt tingkat perangkat di Keychain. Kunci brankas tersebut membungkus kunci master acak 256-bit yang terpisah, yang mengenkripsi file melalui CryptoKit di dalam proses aplikasi.
Tumpukan Kriptografi
Vaultaire menggunakan beberapa mekanisme kriptografi yang bekerja bersama-sama, masing-masing dipilih untuk pekerjaan tertentu. PBKDF2 mengubah kredensial manusia menjadi brankas atau kunci pemulihan. AES-256-GCM melindungi indeks, pembungkus, metadata, thumbnail, dan konten file. Kunci master acak memisahkan enkripsi file yang berumur panjang dari pola yang dapat diubah. Keychain dan Perlindungan Data iOS melindungi salt dan catatan pemulihan yang terikat perangkat saat perangkat terkunci. Tidak ada kunci dekripsi milik penyedia yang memberi pengembang akses rutin ke teks biasa brankas.
Ini bukan kerumitan demi kerumitan. Setiap lapisan menangani permukaan serangan yang berbeda. AES-256-GCM menggabungkan kerahasiaan dengan otentikasi, sehingga ciphertext yang dimodifikasi gagal verifikasi. PBKDF2 meningkatkan biaya pengujian setiap pola atau frasa. Kunci master acak berarti perubahan pola dapat membungkus ulang satu kunci alih-alih mengenkripsi ulang setiap file. Perlindungan data Keychain menjaga salt lokal dan catatan pemulihan, sementara aplikasi masih mengakui bahwa enkripsi simetris terjadi dalam memori proses.
Secara bersama-sama, lapisan-lapisan ini membentuk arsitektur pertahanan yang mendalam, namun tidak semuanya merupakan penghalang yang independen. Pola yang ditebak dapat diperiksa berdasarkan nama file indeks dan autentikasi AES-GCM, dan perangkat tidak terkunci yang disusupi dapat mengamati kunci atau teks biasa dalam proses aplikasi. Oleh karena itu, arsitekturnya bergantung pada entropi kredensial, biaya PBKDF2, perlindungan perangkat iOS, dan penanganan enkripsi terautentikasi yang benar, sama besarnya dengan kekuatan AES itu sendiri.
Bayangkan hierarki Vaultaire sebagai sekumpulan kontainer terkunci yang bersarang. Kunci brankas yang diturunkan dari pola membuka indeks terautentikasi. Indeks melepaskan kunci master acak yang terbungkus. Kunci master itu melindungi file dan metadata. PBKDF2, AES-GCM, Keychain, dan Perlindungan Data iOS menyumbangkan properti yang berbeda, namun klaim keamanan hanya sekuat rantai yang lengkap.
AES-256-GCM: Enkripsi File
Setiap foto, video, dan dokumen yang disimpan di Vaultaire dienkripsi dengan AES-256-GCM, yaitu Advanced Encryption Standard dengan kunci 256-bit dalam Galois/Counter Mode. Vaultaire juga menggunakan AES-GCM untuk indeks brankas, header file, thumbnail, dan amplop kunci. Algoritme dan ukuran kuncinya terstandardisasi; keamanan Vaultaire masih bergantung pada penanganan nonce, manajemen kunci, kekuatan kredensial, dan kebenaran implementasi.
“256” di AES-256 mengacu pada panjang kunci dalam bit. Kunci 256-bit memiliki 2256 nilai yang mungkin. Sebagai gambaran angka tersebut: ada sekitar 1080 atom di alam semesta yang dapat diamati. Jika setiap atom adalah superkomputer yang menguji satu miliar kunci per detik, yang dijalankan sejak Big Bang, mereka hanya akan menjelajahi kurang dari sepertriliun, sepertriliun, dan satu persen ruang kunci. AES-256 tidak akan dipaksakan. Tidak hari ini. Bukan abad ini. Tidak sebelum bintang-bintang padam.
Mengapa Mode GCM Penting
AES adalah cipher blok, yang mengenkripsi data dalam potongan 128-bit. “mode” menentukan bagaimana potongan tersebut digabungkan. GCM (Galois/Counter Mode) menyediakan dua hal yang tidak dimiliki mode sederhana seperti CBC: enkripsi paralel dan autentikasi bawaan.
Bagian otentikasi sangat penting. GCM menghasilkan tag kriptografi untuk setiap file terenkripsi. Tag ini bertindak sebagai segel tamper. Jika bahkan satu bit teks sandi diubah, baik oleh aktor jahat atau sektor disk yang rusak, tag otentikasi tidak akan cocok, dan dekripsi akan gagal. Anda tidak mendapatkan data yang rusak. Anda mendapatkan sinyal yang jelas bahwa ada sesuatu yang salah. Properti ini disebut enkripsi terautentikasi, dan mencegah seluruh kelas serangan di mana musuh memodifikasi data terenkripsi untuk memanipulasi keluaran yang didekripsi.
PBKDF2: Derivasi Kunci
Vaultaire menurunkan kunci berbeda untuk keperluan berbeda. Pola dan salt tingkat perangkat dari Keychain dimasukkan ke PBKDF2-HMAC-SHA512 dengan 600.000 iterasi untuk menghasilkan kunci brankas lokal. Penurunan deterministik dari pola menghasilkan kunci cadangan cloud yang terpisah. Frasa pemulihan yang dinormalisasi melewati 800.000 iterasi PBKDF2 untuk menghasilkan kunci amplop pemulihan. Tak satu pun dari turunan tersebut yang mengubah kredensial manusia menjadi entropi 256 bit hanya karena panjang keluarannya 256 bit.
Bagaimana PBKDF2 Melindungi Pola Anda
Ide inti di balik PBKDF2 adalah kerja yang disengaja. PBKDF2 mengambil pola yang diserialisasi atau frasa yang dinormalisasi, lalu menjalankan ratusan ribu iterasi HMAC-SHA512. Pengguna yang sah membayar biaya tersebut satu kali selama upaya membuka kunci atau pemulihan. Seorang penyerang membayarnya untuk setiap kandidat, meskipun pilihan perangkat keras dan implementasi paralel menentukan tingkat tebakan sebenarnya.
Vaultaire mengonfigurasi PBKDF2 dengan 600.000 iterasi untuk kunci turunan pola. Ini membuat setiap tebakan lebih mahal, tetapi perkiraan serangan yang jujur harus menyebutkan waktu per kandidat dan asumsi perangkat keras yang terukur. Dengan tepat 1 ms per kandidat, 1.000.000.000 tebakan berurutan memakan waktu sekitar 11,6 hari, bukan bertahun-tahun. Keluaran 256-bit tidak memperbesar entropi pola yang mudah ditebak.
Penurunan kunci pola lokal menggunakan satu salt acak kriptografis per perangkat, yang disimpan sebagai item Keychain WhenUnlockedThisDeviceOnly. Salt tersebut bukan rahasia dan dipakai bersama oleh semua brankas di perangkat itu. Salt ini mencegah tabel yang dibuat untuk satu perangkat dipakai langsung pada perangkat lain dengan salt berbeda, tetapi tidak memaksa penyerang memulai dari awal untuk setiap brankas di perangkat yang sama.
AES-256-GCM: Perlindungan Metadata
Mengenkripsi konten file saja tidak cukup. Nama file, tanggal pembuatan, dimensi thumbnail, dan struktur brankas semuanya merupakan metadata, dan metadata dapat mengungkapkan hal yang sama seperti data itu sendiri. File bernama “tax-return-2025.pdf” memberi tahu penyerang apa yang sebenarnya ada di dalamnya meskipun kontennya dienkripsi. Stempel waktu ditampilkan saat Anda menggunakan brankas. Ukuran thumbnail menunjukkan apakah sesuatu itu foto atau video.
Vaultaire melindungi metadata ini dengan AES-256-GCM, bukan ChaCha20. Nama file dan jenis MIME disimpan di dalam header file terenkripsi. Indeks brankas terenkripsi berisi catatan file, tanggal, informasi ukuran, tata letak penyimpanan, dan kunci master yang dibungkus. Data thumbnail juga dienkripsi dengan kunci master acak.
Mengapa Enkripsi yang Diautentikasi untuk Metadata?
Metadata membutuhkan integritas dan kerahasiaan. AES-GCM menghasilkan tag autentikasi untuk setiap nilai terenkripsi, sehingga Vaultaire dapat menolak header, indeks, thumbnail, atau amplop yang dimodifikasi alih-alih menerima teks biasa yang dikendalikan penyerang. Desainnya sengaja menggunakan satu konstruksi enkripsi terautentikasi di seluruh format penyimpanan ini daripada mengklaim keragaman kriptografi yang tidak disediakan oleh implementasinya.
Cipher yang sama tidak berarti kunci atau nonce yang sama dipakai ulang begitu saja. Kunci brankas melindungi indeks dan membungkus kunci master acak; kunci master melindungi materi file. CryptoKit membuat sealed box terautentikasi dengan nonce baru, sementara format streaming Vaultaire menurunkan nonce berbeda untuk setiap potongan berurutan. Jaminan yang relevan berasal dari pemisahan kunci, disiplin nonce, dan autentikasi, bukan dari cipher kedua untuk metadata.
Arsitektur Tanpa Pengetahuan
Berikut adalah pertanyaan yang patut ditanyakan tentang aplikasi keamanan apa pun: apa yang terjadi jika perusahaan di belakangnya diretas, dipanggil, atau ternyata berbahaya?
Pada sebagian besar aplikasi, jawabannya tidak nyaman. Mereka menyimpan data Anda, kunci Anda, atau keduanya. Perintah pengadilan memaksa mereka untuk menyerahkannya. Pelanggaran data mengungkapnya. Seorang karyawan nakal mengaksesnya. Keamanan aplikasi hanya sekuat keamanan operasional perusahaannya, dan sejarah menunjukkan bahwa perusahaan sering dibobol.
Vaultaire tidak mengoperasikan akun atau layanan penyimpanan yang menerima pola, frasa rahasia, kunci dekripsi, atau konten brankas Anda yang dapat dibaca. Enkripsi dan dekripsi terjadi dalam proses aplikasi di perangkat Anda. Saat pencadangan iCloud aktif, aplikasi mengirimkan teks sandi terautentikasi ke basis data CloudKit pribadi Anda, bukan ke layanan brankas yang dikendalikan Vaultaire.
Apa Arti Tanpa Pengetahuan dalam Praktek
Jika lembaga penegak hukum memberikan surat perintah pengadilan kepada Vaultaire yang meminta teks biasa brankas, perusahaan tidak memiliki pola, frasa pemulihan, kunci brankas, kunci cadangan, atau kunci master yang diperlukan untuk mendekripsinya. Catatan iCloud terenkripsi berada di basis data CloudKit pribadi pengguna. Namun di perangkat, materi pemulihan disimpan dalam basis data terenkripsi yang dilindungi Keychain, dan kunci simetris ada di memori aplikasi selama CryptoKit mengenkripsi atau mendekripsi brankas yang terbuka.
Batasan penyedia ini adalah properti arsitektur, bukan janji bahwa setiap bagian lingkungan klien berada di luar model kepercayaan. Vaultaire tidak memiliki kunci dekripsi sisi server yang dapat diserahkan untuk pemulihan brankas rutin. Aplikasi yang dirilis, iOS, perangkat yang tidak terkunci, dan implementasi kriptografinya tetap memproses data yang dapat dibaca, sehingga semuanya harus dipercaya.
Batasan penyedia Vaultaire menghapus kunci dekripsi milik perusahaan dari desain normal. Ini memperkecil dampak jika Vaultaire sendiri dibobol. Ini tidak menghapus kebutuhan untuk memercayai aplikasi yang dirilis, iOS, kondisi perangkat, atau implementasi hierarki kunci yang terdokumentasi. Batasan-batasan tersebut perlu dievaluasi terpisah, bukan dilebur menjadi satu janji mutlak.
Keychain dan Batas Proses Aplikasi
Secure Enclave milik Apple dapat melindungi kunci privat yang didukungnya dan ikut dalam sebagian arsitektur keamanan platform, tetapi API publiknya tidak menerima sembarang kunci simetris turunan PBKDF2 lalu menjalankan operasi file AES-GCM Vaultaire di dalam koprosesor. Karena itu Vaultaire tidak menyebut cipher brankasnya sebagai AES Secure Enclave.
Vaultaire menggunakan item generic password iOS Keychain biasa untuk salt perangkat acak, basis data pemulihan terenkripsi, dan kunci acak yang melindungi basis data tersebut. Item ini menggunakan kelas aksesibilitas WhenUnlockedThisDeviceOnly. Keychain dan Perlindungan Data menciptakan batasan perangkat yang berarti, terutama saat ponsel terkunci, tetapi arsitektur ini berbeda dari kunci Secure Enclave yang tidak dapat diekspor.
Saat Anda menggambar pola, CommonCrypto menurunkan kunci brankas di dalam proses aplikasi. CryptoKit dan CryptoEngine Vaultaire kemudian menggunakan byte kunci simetris dalam proses tersebut untuk mengautentikasi dan mendekripsi indeks, membuka kunci master, dan memproses file. Aplikasi membuang status aktif saat terkunci, tetapi penyerang dengan hak istimewa yang mengamati sesi tidak terkunci punya peluang yang berbeda dibanding pemeriksa yang hanya memegang teks sandi dari perangkat terkunci.
Sistem operasi yang sudah di-jailbreak atau disusupi dapat menargetkan input pola, memori aplikasi, pratinjau yang didekripsi, ekspor, atau layar. Vaultaire menyarankan iPhone yang diperbarui dan tidak di-jailbreak karena desainnya mengandalkan isolasi proses iOS, Keychain, dan Perlindungan Data. Vaultaire tidak mengklaim bahwa kompromi root membuat kunci simetris brankas terbuka tidak dapat diakses.
Vektor Inisialisasi Per File
Saat Anda mengenkripsi dua file identik dengan kunci yang sama, implementasi yang naif akan menghasilkan teks sandi yang identik. Ini adalah sebuah masalah. Seorang penyerang yang melihat dua gumpalan terenkripsi yang identik mengetahui, tanpa mendekripsi apa pun, bahwa kedua file asli itu sama. Dalam brankas yang penuh dengan foto, analisis pola semacam ini dapat mengungkap informasi bahkan melalui enkripsi.
Vaultaire mencegah ciphertext deterministik dengan menghasilkan nonce kriptografis baru untuk setiap operasi penyegelan AES-256-GCM. Header file dan konten file disegel secara terpisah, dan file besar menggunakan format streaming yang diautentikasi dengan nonce dasar acak dan nonce berbeda untuk setiap potongan berurutan. Oleh karena itu, dua salinan dari foto yang sama tidak menghasilkan representasi terenkripsi yang sama.
Nonce disimpan bersama ciphertext dan tidak bersifat rahasia; syarat keamanannya adalah keunikan di bawah satu kunci. Vaultaire meminta nonce 96-bit dari generator acak kriptografis Apple untuk enkripsi sekali jalan dan mencatat nonce dasar di header streaming. Risiko tabrakan ditentukan oleh jumlah enkripsi di bawah satu kunci, sehingga implementasinya menghasilkan nilai baru alih-alih menyajikan ukuran 96-bit sebagai jaminan tetap satu banding 296 seumur hidup.
Manajemen Memori: Menghapus Status Kunci Aktif
Kegagalan umum dalam perangkat lunak keamanan adalah meninggalkan data sensitif di memori setelah tidak diperlukan lagi. Kunci enkripsi, kata sandi turunan, dan data yang didekripsi dapat bertahan di RAM lama setelah aplikasi selesai menggunakannya. Alat forensik dapat membuang memori perangkat dan mencari sisa-sisa ini, sebuah teknik yang dikenal sebagai serangan boot dingin atau analisis dump memori.
Vaultaire membatasi berapa lama status kunci aktif dan data UI yang didekripsi tetap tersedia. Saat aplikasi terkunci atau sesi dihentikan, kodenya mengikuti beberapa jalur pembersihan:
- Status brankas aktif dihapus. Aplikasi menghapus sesi kunci brankas saat ini dan memerlukan pembukaan kunci lagi sebelum menyajikan konten brankas.
- Pembungkus kunci menghapus buffer yang dimiliki. Kontainer byte aman Vaultaire menimpa buffer miliknya saat kontainer tersebut didealokasi.
- Status kunci master dalam cache dibatalkan. Kunci master terdekripsi yang disimpan untuk indeks yang terbuka dibuang pada jalur penguncian dan saat cache yang relevan diatur ulang.
- Cache UI terdekripsi dihapus jika dikendalikan Vaultaire. Pembersihan thumbnail dan pratinjau mengurangi sisa status aplikasi, tanpa mengklaim kendali atas setiap salinan yang dibuat oleh Swift, iOS, atau proses lainnya.
Saat Vaultaire dibuka lagi dari keadaan terkunci, Anda menggambar pola dan aplikasi menurunkan kunci brankas lagi sebelum dapat mengautentikasi indeks dan membuka kunci master. Ini adalah pembersihan sesi, bukan klaim bahwa setiap salinan memori sementara dihapus berulang kali secara terbukti atau bahwa referensi kunci Secure Enclave dihancurkan. Crash membuat iOS membersihkan proses tersebut, tetapi kode pembersihan tidak dapat dijalankan setelah setiap penghentian mendadak.
Pertanyaan yang Sering Diajukan
Apakah AES-256 benar-benar tidak bisa dipecahkan?
AES-256 adalah cipher blok yang terstandarisasi dan banyak dianalisis. Belum ada serangan praktis yang diketahui publik terhadap implementasi AES-256-GCM yang benar dengan kunci acak 256-bit, tetapi itu tidak membuat seluruh brankas mustahil dibobol. Entropi kredensial, biaya PBKDF2, penanganan nonce, penyimpanan kunci, pemulihan, kondisi perangkat, dan kelemahan implementasi tetap menjadi jalur serangan.
Mengapa menggunakan PBKDF2 untuk derivasi kunci?
Vaultaire menggunakan PBKDF2-HMAC-SHA512 melalui CommonCrypto: 600.000 iterasi untuk pola dan 800.000 untuk frasa pemulihan. Penurunan kunci pola lokal menggunakan satu salt acak tingkat perangkat yang disimpan di Keychain. PBKDF2 meningkatkan biaya setiap tebakan tetapi tidak menambah entropi pada pola, sehingga waktu serangan bergantung pada kekuatan kredensial, kecepatan perangkat keras yang diukur, dan paralelisme.
Data apa yang dikirim Vaultaire ke servernya?
Server Vaultaire tidak pernah menerima file, pola, atau kunci Anda. Aplikasi ini berkomunikasi dengan empat jenis layanan. Cadangan iCloud terenkripsi aktif secara default dan menyimpan teks sandi di akun iCloud pribadi Anda, dienkripsi di perangkat Anda dengan kunci yang tidak dimiliki Apple; Anda dapat mematikannya. Data penggunaan dan crash anonim dikirim ke PostHog secara default, dan Anda dapat mematikannya di Pengaturan. Jika Anda mengirim masukan, layanan masukan kami menerima pesan Anda, email balasan opsional, bahasa Anda, dan versi aplikasi. Selama analitik aktif, token atribusi Apple Ads dan ID instalasi acak melewati layanan kami ke Apple. Sinkronisasi dan berbagi, saat Anda menggunakannya, melalui Apple CloudKit.
Bisakah iPhone yang sudah di-jailbreak membahayakan brankas saya?
Jailbreak sangat melemahkan batas keamanan perangkat. Operasi AES-GCM Vaultaire berjalan di dalam proses aplikasi melalui CryptoKit, jadi byte kunci simetris ada di memori aplikasi saat brankas terbuka. Kompromi tingkat root dapat menargetkan input, memori, tangkapan layar, atau output yang didekripsi. Keychain dan Perlindungan Data masih menambah penghalang saat perangkat terkunci, namun Vaultaire tidak mengklaim bahwa kunci AES-nya tetap terisolasi di dalam Secure Enclave.
Bagaimana metadata dienkripsi?
Vaultaire tidak menggunakan ChaCha20 untuk metadata brankas. Nama file, jenis MIME, stempel waktu, data thumbnail, struktur brankas, dan kunci master yang terbungkus dilindungi di dalam teks sandi AES-256-GCM yang terautentikasi. Menggunakan satu konstruksi yang diautentikasi menjaga kerahasiaan dan pemeriksaan integritas tetap konsisten di seluruh format penyimpanan.
Apa yang terjadi pada kunci saya jika aplikasi mogok?
iOS membersihkan proses yang dihentikan, dan peluncuran berikutnya memerlukan pembukaan kunci baru sebelum Vaultaire memulihkan status kunci aktif. Vaultaire tidak membuat referensi AES Secure Enclave berlingkup sesi. Pembungkus kuncinya memang menghapus buffer saat dealokasi dan jalur penguncian membuang status aktif, tetapi Swift dan iOS tidak cukup untuk menjamin setiap salinan sementara sudah ditimpa sebelum aplikasi crash.
Lihat Cara Kerja Tumpukan Ini
Enkripsi terautentikasi, kunci berlapis, penurunan kunci yang mahal, dan tanpa kunci brankas yang disimpan penyedia. Unduh Vaultaire untuk menggunakan arsitektur yang dijelaskan di sini, dengan batasan perangkat dan kredensialnya dinyatakan dengan jelas.
Unduh Vaultaire Gratis