Tôi quyết định mã hóa phân vùng gốc của mình bằng LUKS + LVM.
Thiết lập ThinkPad của tôi:
- Ổ SSD Samsung 830 128GB
- Ổ cứng 750GB
- Lõi 2 Duo 2,5 GHz P9500
- RAM 8GB
Nhưng càng đọc, tôi càng ít hiểu về hai chủ đề sau:
1a. Mật mã
Tôi sẽ sử dụng SHA1 thay vì 2/512 (như một số gợi ý), vì trích dẫn đó từ cryptsetup
FAQ:
5.20 LUKS bị hỏng! Nó sử dụng SHA-1!
Không có nó không phải là. SHA-1 bị hỏng (về mặt học thuật) khi tìm va chạm, nhưng không sử dụng nó trong chức năng phái sinh chính. Và lỗ hổng va chạm đó chỉ dành cho sử dụng không lặp. Và bạn cần giá trị băm trong nguyên văn.
Về cơ bản, điều này có nghĩa là nếu bạn đã có khóa khe cắm và bạn đã đặt số lần lặp PBKDF2 thành 1 (bình thường là> 10.000), bạn có thể (có thể) rút ra một cụm mật khẩu khác cung cấp cho bạn cùng một vị trí- Chìa khóa. Nhưng nếu bạn có khóa khe cắm, bạn đã có thể mở khóa khe khóa và lấy khóa chính, phá vỡ mọi thứ. Vì vậy, về cơ bản, lỗ hổng SHA-1 này cho phép bạn mở một thùng chứa LUKS với nỗ lực cao khi bạn đã mở nó.
Vấn đề thực sự ở đây là những người không hiểu về tiền điện tử và cho rằng mọi thứ bị phá vỡ chỉ vì một số cơ chế được sử dụng đã bị phá vỡ cho một mục đích sử dụng khác nhau. Cách cơ chế được sử dụng rất quan trọng. Một hàm băm bị hỏng cho một lần sử dụng có thể hoàn toàn an toàn cho các mục đích sử dụng khác và đây là.
Mà tôi đọc là "không có điểm nào sử dụng bất cứ thứ gì ngoài SHA-1". Nhưng sau đó một số người nói với tôi rằng nó không chính xác như thế. Vì vậy, tôi không còn biết phải nghĩ gì.
1b.
Ngoài ra, tôi không thể tìm thấy bất kỳ thông tin nào cho dù mật mã có ảnh hưởng đến hiệu suất đọc / ghi / tìm kiếm đĩa khi đĩa được mở khóa và hệ thống đăng nhập.
Vì vậy, sự phức tạp của mật mã chỉ ảnh hưởng đến "hiệu suất" trên giai đoạn nhập mật khẩu, hoặc trong quá trình sử dụng bình thường của hệ thống?
2. Thuật toán
Tôi đã đọc về điều này từ vài ngày nay, nhưng càng đọc, tôi càng bối rối. Tất cả những gì tôi đọc đều nói rằng AES là nhanh nhất và Serpent là chậm nhất. Nhưng không theo máy tính xách tay của tôi:
$ 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
Vì vậy, có vẻ như Serpent không chỉ nhanh nhất, mà trên hết, nó là nhanh nhất với khóa phức tạp nhất.
Không phải là cách khác? Tôi đang đọc nó sai, hay cái gì đó?