KeePass: gunakan file kunci atau kata sandi biasa?

17

Saya sedang menyiapkan basis data KeePass dan menawarkan kemampuan untuk menggunakan file kunci, yang katanya lebih aman karena dapat menggunakan kata sandi yang lebih panjang dan lebih kompleks tetapi lebih mudah untuk dipecahkan karena Anda hanya perlu file kunci untuk membuka basis data. Saya hanya akan menggunakan file kunci pada 2 komputer (satu desktop dan satu laptop), apakah pilihan terbaik?

Perhatikan bahwa pasti lebih menarik untuk menggunakan file kunci untuk saya karena saya kesulitan mengingat sesuatu yang dekat dengan kata sandi acak.

RCIX
sumber

Jawaban:

17

Mengenai kemampuan untuk menggunakan ' key files' dengan KeePass .

Untuk menghasilkan kunci 256-bit untuk cipher blok, Secure Hash Algorithm SHA-256 digunakan. Algoritma ini memampatkan kunci pengguna yang disediakan oleh pengguna (terdiri dari kata sandi dan / atau file kunci) ke kunci ukuran tetap 256 bit. Transformasi ini satu arah, yaitu tidak layak secara komputasi untuk membalikkan fungsi hash atau menemukan pesan kedua yang kompres ke hash yang sama.

Serangan yang baru-baru ini ditemukan terhadap SHA-1 tidak mempengaruhi keamanan SHA-256. SHA-256 masih dianggap sangat aman .

(ada pembaruan terbaru lainnya , tapi saya pikir berita seperti itu tidak relevan di sini ).
Sampai pada titik di tangan ,

Penurunan Kunci :
Jika hanya kata sandi yang digunakan (yaitu tidak ada file kunci), kata sandi ditambah garam acak 128-bit di-hash menggunakan SHA-256 untuk membentuk kunci terakhir (tetapi perhatikan ada beberapa preprocessing: Perlindungan terhadap Serangan Kamus). Garam acak mencegah serangan yang didasarkan pada hash yang dihitung sebelumnya.

Saat menggunakan kata sandi dan file kunci, kunci final diturunkan sebagai berikut: SHA-256 (SHA-256 (kata sandi), isi file kunci), yaitu hash dari kata sandi utama digabungkan dengan byte file kunci dan byte yang dihasilkan string di-hash dengan SHA-256 lagi . Jika file kunci tidak mengandung tepat 32 byte (256 bit), mereka juga di-hash dengan SHA-256, untuk membentuk kunci 256-bit. Rumus di atas kemudian berubah menjadi: SHA-256 (SHA-256 (kata sandi), SHA-256 (isi file utama)).

Jika Anda berpikir sandi Anda akan menjadi sedikit lebih lemah (dan lebih baik untuk memori Anda),
yang file kunci adalah faktor kedua yang baik .
Jadi, gunakan keduanya (bersama).

nik
sumber
Saya akan melihat komentar Steve Gibson tentang masalah ini: grc.com/sn/sn-182.txt
jasonh
@jasonh, Wow! Anda memilih saya untuk menyarankan keamanan dua faktor, dengan Gibsonreferensi wawancara yang telah Anda ambil dari situsnya sendiri (ya, saya pernah mendengar Leo sebelumnya, oke). Harap tambahkan poin Anda di sini sebagai jawaban baru sehingga orang dapat memperoleh manfaat.
nik
7
Ya saya lakukan. Saya mengerti memiliki faktor kedua, tetapi tidak ada gunanya di sini. File kunci akan disimpan secara virtual dengan basis data kata sandi itu sendiri jika Anda adalah pengguna ponsel. Jika Anda kehilangan kendali atas basis data, Anda mungkin kehilangan kendali atas file kunci juga. Seperti yang dicatat Steve Gibson, file kunci tidak memberi Anda banyak keamanan tambahan, jika ada.
jasonh
2
Faktor kedua berguna dalam contoh sepakbola PayPal. Dalam hal ini Anda memiliki perangkat fisik dan kata sandi. Jika kata sandi Anda dikompromikan, tidak ada alasan untuk meyakini bahwa sepak bola Anda hilang secara bersamaan. Sebagai perbandingan, ketika barang merupakan basis data kata sandi dan mekanisme pengamanan hanyalah file lain yang berada di samping basis data itu sendiri, apa gunanya? Tidak ada
jasonh
2
+1 untuk file kunci penggunaan dan kata sandi utama. Jadi, bahkan jika mereka mendapatkan file db dan kunci, Anda hanya perlu mengingat 1 kata sandi yang panjang. Mereka belum bisa meretas otak, jadi dapatkan pelatihan resistensi penyiksaan sebagai gantinya.
Piotr Kula
5

Intinya adalah menjaga kata sandi Anda tetap aman, jadi ini kata sandi no-brainer. Jika Anda menggunakan file kunci dan Anda kehilangan kendali atas basis data kata sandi Anda, kata sandi Anda semuanya akan terbuka.

jasonh
sumber
4
Anda akan selalu beresiko jika menyimpan 'kata sandi' Anda di suatu tempat (baik itu dengan catatan tempel atau sebagai file kunci). Selama Anda menyimpan kata sandi di kepala Anda (dan itu cukup rumit) maka Anda harus lebih baik.
Sam
1
Ketika menggunakan sandi dan file kunci , kunci terakhir diturunkan sebagai berikut: SHA-256(SHA-256(password), key file contents). Akses ke file saja tidak berguna. Tetapi, pengetahuan tentang kata sandi tanpa isi file membuat pemecahannya menjadi lebih sulit. Dan, file tersebut juga menambahkan saltkata sandi ke kata sandi Anda.
nik
1

Gunakan keduanya. Simpan file kunci Anda di flash drive Anda dan bawa semuanya. Tetapi tidak di suatu tempat di desktop (itu sama dengan menulis kata sandi pada catatan tempel). Saya menggunakan cara ini untuk partisi HDD terenkripsi saya (dengan truecrypt). Jadi jika ada yang masih mendapatkan kata sandi Anda, mereka juga perlu keyfile.

Pawka
sumber
1
Pastikan untuk memiliki cadangan keyfile Anda, serta basis data kata sandi itu sendiri. Jika salah satu dari mereka pernah rusak Anda akan memerlukan cadangan baru.
Torbjørn
0

Untuk manajemen kata sandi pemula: Hanya
kata sandi
Mengapa?
Itu memotong file Anda (mis) masalah manajemen menjadi dua dan membatasi hanya satu file.
KeepassX .kdbx db dapat diamankan dengan kata sandi 64 karakter campuran. Itu banyak ruang untuk membuat kata sandi yang panjang dan aman.
Ini membantu untuk menggarisbawahi bahwa kata sandi (kuat) (di kepala Anda) adalah fokus utama Anda (bukan tempat Anda menyimpan file kunci, dll.).
Jika Anda kesulitan mengingat kata sandi (tentu saja, kita semua melakukannya) menggunakan pengelola kata sandi (seperti KeepassX) dan Anda hanya perlu mengingat satu kata sandi yang kuat dan bagus.

dotnetspec
sumber
1
Ini tidak menjawab pertanyaan (sangat spesifik) yang ditanyakan.
Mokubai
-1

Saya telah memilih untuk menggunakan file kunci. Saya juga telah membuat akun email yang digunakan khusus untuk menyimpan keyfile saya (saya tidak suka berkeliaran dengan USB flash setiap kali saya ingin mengakses akun e-banking saya misalnya).

Jika komputer yang saya gunakan bukan komputer pribadi saya, saya cukup masuk ke akun email itu di komputer saya ingin menggunakan file kunci, lalu masuk ke akun email lain yang memiliki versi terbaru .kdbx mengajukan.

Terakhir, saya mengunduh KeePass dan menginstalnya di PC, gunakan kunci dan .kdbx bersama dengan kata sandi Database saya dan hanya itu!

Tentu saja, saya menghapus file .kdbx dan kunci pada PC yang digunakan.

Roger Johnson
sumber
10
Saya akan mempertimbangkan praktik keamanan buruk ini di banyak tingkatan.
kluka
1
Ya sangat tidak berguna dan paling berbahaya tentu saja; terutama bagian tentang hanya membuka file kata sandi Anda di komputer yang "bukan milik saya pribadi." Sheesh. Buruk buruk seperti pada saya tidak bisa mengungkapkan betapa buruknya praktik ini. Saya punya laptop kantor yang bisa dibawa kemana-mana dan jadi nyaman, karena orang lain (seperti dalam departemen TI) "memelihara" itu, saya bahkan tidak percaya untuk menyimpan atau bahkan membuka kata sandi pribadi saya.
nanker
@nanker bagaimana Anda menggunakan kata sandi db pribadi di laptop kantor Anda? Apakah Anda memiliki keyfile dan database di kunci usb?
RED_
2
@RED_ Saya tidak pernah membuka DB keepass pribadi saya di laptop kantor saya, tidak peduli betapa nyamannya itu kadang-kadang. Laptop ini cukup dimuat untuk rutinitas sehari-hari saya dan meskipun saya sebelumnya telah mencoba untuk menentukan apa semua layanan yang berjalan pada laptop saya belum bisa memakukan semuanya. Jadi saya tidak bisa dan tidak cukup percaya untuk membuka DB keepass saya. Panggil saya paranoid, saya rasa, tapi saya merasa saya berada di tempat yang menyenangkan dan bahagia sejauh keamanan kata sandi saya.
nanker