Saya memutuskan untuk mengenkripsi partisi root saya dengan LUKS + LVM.
Pengaturan ThinkPad saya:
- Samsung 830 128GB SSD
- HDD 750GB
- Core 2 Duo 2,5 GHz P9500
- RAM 8GB
Tetapi semakin saya membaca, semakin sedikit saya mengerti tentang dua mata pelajaran berikut:
1a. Cipher
Saya akan menggunakan SHA1 alih-alih 2/512 (karena beberapa menyarankan), karena kutipan dari cryptsetup
FAQ:
5.20 LUKS rusak! Ini menggunakan SHA-1!
Tidak, bukan itu. SHA-1 (secara akademis) rusak karena menemukan tabrakan, tetapi tidak untuk menggunakannya dalam fungsi derivasi kunci. Dan kerentanan tabrakan itu hanya untuk penggunaan yang tidak diulang. Dan Anda membutuhkan nilai hash dalam kata demi kata.
Ini pada dasarnya berarti bahwa jika Anda sudah memiliki slot-key, dan Anda telah menetapkan jumlah iterasi PBKDF2 menjadi 1 (biasanya> 10'000), Anda bisa (mungkin) mendapatkan frasa sandi berbeda yang memberi Anda slot yang sama - kunci. Tetapi jika Anda memiliki kunci-slot, Anda sudah dapat membuka kunci-slot dan mendapatkan kunci utama, menghancurkan semuanya. Jadi pada dasarnya, kerentanan SHA-1 ini memungkinkan Anda untuk membuka wadah LUKS dengan susah payah saat Anda sudah membukanya.
Masalah sebenarnya di sini adalah orang-orang yang tidak mengerti crypto dan mengklaim sesuatu rusak hanya karena beberapa mekanisme digunakan yang telah rusak untuk penggunaan berbeda yang spesifik. Cara mekanisme digunakan sangat penting. Hash yang rusak untuk satu penggunaan bisa sepenuhnya aman untuk penggunaan lain dan ini dia.
Yang saya baca sebagai "tidak ada gunanya menggunakan selain SHA-1". Tetapi kemudian beberapa orang mengatakan kepada saya, bahwa itu tidak persis seperti itu. Jadi saya tidak lagi tahu harus berpikir apa.
1b.
Juga, saya tidak dapat menemukan informasi apakah sandi memiliki pengaruh pada disk baca / tulis / cari kinerja setelah disk dibuka dan sistem masuk.
Jadi apakah kompleksitas cipher hanya memengaruhi "kinerja" pada tahap memasukkan kata sandi, atau juga selama penggunaan normal sistem?
2. Algoritma
Saya telah membaca ini sejak beberapa hari, tetapi semakin saya membaca, semakin saya bingung. Semua yang saya baca mengatakan bahwa AES adalah yang tercepat, dan Serpent adalah yang paling lambat. Tapi tidak menurut laptop saya:
$ cryptsetup benchmark
Tests are approximate using memory only (no storage IO).
PBKDF2-sha1 344926 iterations per second
PBKDF2-sha256 198593 iterations per second
PBKDF2-sha512 129007 iterations per second
PBKDF2-ripemd160 271933 iterations per second
PBKDF2-whirlpool 134295 iterations per second
# Algorithm | Key | Encryption | Decryption
aes-cbc 128b 149.8 MiB/s 147.9 MiB/s
serpent-cbc 128b 51.0 MiB/s 196.4 MiB/s
twofish-cbc 128b 127.6 MiB/s 152.5 MiB/s
aes-cbc 256b 114.3 MiB/s 113.8 MiB/s
serpent-cbc 256b 51.2 MiB/s 198.9 MiB/s
twofish-cbc 256b 129.8 MiB/s 167.5 MiB/s
aes-xts 256b 153.3 MiB/s 150.6 MiB/s
serpent-xts 256b 176.4 MiB/s 184.1 MiB/s
twofish-xts 256b 160.8 MiB/s 159.8 MiB/s
aes-xts 512b 115.4 MiB/s 112.1 MiB/s
serpent-xts 512b 178.6 MiB/s 184.2 MiB/s
twofish-xts 512b 160.7 MiB/s 158.9 MiB/s
Jadi tampaknya Serpent bukan hanya yang tercepat, tetapi yang paling penting adalah yang tercepat dengan kunci yang paling rumit.
Bukankah seharusnya sebaliknya? Apakah saya salah membaca, atau apa?
sumber
Jawaban:
1a - benar-benar tidak terlalu penting. yang pernah hash Anda gunakan untuk fungsi derivasi kunci, LUKS memastikan itu akan mahal secara komputasi. Ini hanya akan dililitkan hingga 1 detik waktu nyata berlalu.
1b - metode derivasi kunci tidak mempengaruhi kinerja. sandi itu sendiri.
cryptsetup benchmark
menunjukkan Anda sama banyaknya.2 - AES adalah yang tercepat jika CPU Anda cukup modern untuk mendukung instruksi AES-NI (akselerasi perangkat keras untuk AES). Jika Anda menggunakan ular sekarang, Anda mungkin tidak dapat menggunakan AES-NI laptop berikutnya.
Ingatlah bahwa tolok ukur ini tidak menggunakan penyimpanan sehingga Anda harus memverifikasi hasil ini dengan penyimpanan apa pun dan sistem file yang akan Anda gunakan.
sumber