Penyimpanan data sensitif Ikuti
Peramban Brave berbasis pada proyek Chromium dan ada perilaku tertentu tentang peramban yang kami warisi dengan menggunakan kode tersebut di Brave. Sebagai contoh, Chromium menyimpan data sensitif Anda (kata sandi, cookie/sesi web, dll.) yang dienkripsi secara lokal.
Bagaimana cara kerjanya
Dalam kode, peramban menggunakan komponen OSCrypt untuk menyelesaikan tugas ini.
Selama proses enkripsi, OSCrypt menghubungkan data Anda ke pengguna sistem operasi untuk memastikan bahwa data hanya bisa didekripsi dengan kata sandi OS Anda.
OSCrypt memiliki tiga implementasi berbeda di desktop — satu untuk setiap platform yang didukung:
-
macOS:
- Ini membuat entri
Brave Safe Storage
di rantai kunci Anda dan menambahkan urutan byte acak yang dikodekan base64 sebagai kunci enkripsi (lihat rantai kuncilogin
Anda di aplikasi Keychain Access).
- Ini membuat entri
-
Windows:
- Kunci enkripsi serupa disimpan ke
os_crypt.encrypted_key
(di fileLocal State
, terletak di%userprofile%/AppData/Local/BraveSoftware/Brave-Browser/User Data
), yang dienkripsi dengan Data Protection API (DPAPI/CryptProtectData()
) milik Windows.
- Kunci enkripsi serupa disimpan ke
-
Linux:
- Kunci enkripsi akan ditambahkan ke backend penyimpanan kata sandi password store backend, yang secara default diambil dari lingkungan desktop yang Anda gunakan (misalnya,
GNOME Libsecret
untuk GNOME,KWallet 5
untuk KDE 5, dll.).
- Kunci enkripsi akan ditambahkan ke backend penyimpanan kata sandi password store backend, yang secara default diambil dari lingkungan desktop yang Anda gunakan (misalnya,
Penyebab paling umum hilangnya data
-
Tidak tergantung platform:
- Menyalin profil peramban antara mesin (misalnya melalui USB, backup Time Machine, rsync, dll.): karena instalasi peramban di mesin target akan membuat kunci enkripsi yang berbeda dari yang digunakan di mesin sumber, tidak mungkin untuk mendekripsi data asli di mesin baru — cara yang disukai untuk memigrasi data profil adalah melalui Sync.
-
Tergantung platform:
-
macOS:
- Jika seorang administrator mengatur ulang kata sandi akun macOS pengguna, setiap upaya selanjutnya untuk mendekripsi data yang sebelumnya terenkripsi akan gagal.
-
Windows:
- Sama seperti untuk macOS di atas (misalnya melalui
net user <username> *
), tetapi dekripsi juga akan gagal setiap kali kata sandi pengguna direset tanpa memberikan kata sandi lama. Jadi bahkan jika pengguna mengubah kata sandi mereka sendiri melalui lusrmgr.msc di Microsoft Management Console misalnya, itu akan berperilaku seperti jika mereka telah direset oleh administrator. Alasannya adalah bahwa sebelum DPAPI mengenkripsi ulangMaster Keys
dengan kata sandi baru, ia pertama-tama memerlukan yang lama untuk mendekripsi kunci. Dalam kondisi normal, jika seorang pengguna kembali ke kata sandi lamanya, mereka dapat kembali bekerja, tetapi jika Chromium mengetahui tentang perubahan kata sandi lebih cepat (yaitu pada saat pertama kaliCryptUnprotectData()
gagal padaos_crypt.encrypted_key
), ia akan segera menghapus kunci enkripsi lama dan menghasilkan yang baru. Pada titik itu, setiap data yang dienkripsi dengan kunci enkripsi lama tidak dapat dipulihkan — tidak peduli jika pengguna mengembalikan kata sandi akun Windows mereka sebelumnya.
- Sama seperti untuk macOS di atas (misalnya melalui
-
Linux:
- Mengganti antara lingkungan desktop yang tidak menggunakan backend penyimpanan kata sandi yang sama secara default (misalnya, beralih dari GNOME ke KDE) tanpa memberi tahu Chromium tentang hal itu (melalui
--password-store=gnome-libsecret
dalam contoh ini).
- Mengganti antara lingkungan desktop yang tidak menggunakan backend penyimpanan kata sandi yang sama secara default (misalnya, beralih dari GNOME ke KDE) tanpa memberi tahu Chromium tentang hal itu (melalui
-
macOS:
Penyebab yang kurang umum atau lebih tidak jelas untuk kehilangan data
-
macOS:
- Kolom
Date Modified
dari entri rantai kunciBrave Safe Storage
(yang seharusnya setua browser) berubah (tanpa kata sandi pengguna direset oleh admin), yang menunjukkan bahwa:- Chromium menimpa kunci enkripsi di beberapa titik karena kesalahan, atau
- API rantai kunci Apple melaporkan bahwa
Brave Safe Storage
tidak hadir (yang pada akhirnya akan mengakibatkan Chromium menimpa kunci enkripsi), atau - aplikasi lain (tercantum dalam daftar kontrol akses
Brave Safe Storage
) membuat perubahan pada entri tersebut.
- Akun Apple pengguna dalam kondisi rusak di mesin mereka.
- Kolom
-
Windows:
-
CryptUnprotectData()
mengembalikanFALSE
, gagal denganGetLastError ()
yang tidak terduga atau tidak terdokumentasi, yang mengakibatkan Chromium beralih ke kunci enkripsi lain diLocal State
.
-
Kesimpulan
Daftar di atas tidak lengkap dengan cara apapun. Karena Brave dan Chrome dibangun di atas Chromium, semua yang disebutkan di atas berlaku untuk Brave, seperti halnya berlaku untuk Chrome.
Sebagai aturan umum:
- Gunakan Brave Sync — karena kunci enkripsi Sync diturunkan dari
Sync Code
, Sync tidak akan terpengaruh jika kunci enkripsi OSCrypt hilang/ditimpa/rusak/tidak dapat diakses/dilaporkan tidak ada, dll., oleh karena itu Anda dapat menggunakan Sync untuk menyalin jenis data yang Anda aktifkan dibrave://settings/braveSync/setup
(di bawahSync Settings
) dari perangkat lain. - Waspadai kenyataan bahwa hal-hal di luar ranah Chromium dapat membuat hal-hal di dalam Brave/Chrome tidak dapat digunakan, yaitu terlalu mudah untuk sengaja merusak fungsi dengan melakukan hal-hal yang tampaknya tidak berbahaya.
Selain melacak platform-specific bugs yang mempengaruhi OSCrypt , kami berharap Chromium akan mempertimbangkan untuk memberi pengguna cara untuk backup dan memulihkan kunci enkripsi.