Trong thực tế, nó gần như có khả năng phục hồi mã hóa như không có nó, miễn là bạn sao lưu khóa chính và siêu dữ liệu đúng cách.
Ngoài siêu dữ liệu, tham nhũng sẽ chỉ ảnh hưởng đến khối bit bị hỏng, trong hầu hết các trường hợp chỉ là 16 byte của nó.
Đối với hầu hết các tình huống hỏng dữ liệu, với khóa và công cụ (như mật khẩu và Veracrypt / LUKS), bạn có quyền truy cập giống như một đĩa không được mã hóa, giống như bạn thường sử dụng đĩa mã hóa hàng ngày. Mã hóa sẽ chỉ thêm một bước bổ sung (mở phân vùng được mã hóa) hơn bình thường. Vì vậy, trong trường hợp này, nó hoạt động giống như dữ liệu không được mã hóa.
Với Veracrypt hoặc Luks, bạn phải lưu trữ khóa chính trong đĩa, được mã hóa bằng mật khẩu của bạn. Làm hỏng (các) khu vực này sẽ làm mất dữ liệu vĩnh viễn. Điều này có thể được giải quyết dễ dàng với sao lưu khóa chính (kích thước vài kilobyte), một điều dễ thực hiện với cả hai phần mềm và rất khuyến khích cho mọi người.
Chi tiết về dữ liệu không meta
Cả Veracrypt và Luks đều sử dụng XTS ngày hôm nay. Trong chế độ này, nó đã tính một khóa cho mọi khối. Để đơn giản hóa, để mã hóa khối, i
bạn sử dụng khóa được tạo bằng Khóa chính và số khối. Vì vậy, mã hóa của một khối độc lập với khối khác. Nếu bạn làm hỏng một số thông tin, nó sẽ bị hạn chế đối với khối đó.
Trong XTS, nó phá vỡ khối trong các khối con (thường là 16 byte) và tạo một khóa và mã hóa khối phụ đó với nó. Điều đó có nghĩa là nếu chúng ta thay đổi một chút về nó, chỉ 16 byte này sẽ bị ảnh hưởng.
Như thử nghiệm, thay đổi một bit đơn trong âm lượng Luks, nó thay đổi 16 byte của tệp gốc thành vô nghĩa, nhưng 496 khác vẫn không thay đổi. Trong tệp 7zip, nó sử dụng phương thức truyền phát, tất cả các byte đều bị xiềng xích, do đó, một thay đổi byte sẽ ảnh hưởng đến tất cả các byte còn lại - đây không phải là trường hợp ở đây.
Một số người coi đây là một vấn đề, như bạn có thể biết với độ chính xác 16 byte khi và nơi bạn thay đổi một văn bản đơn giản, chỉ so sánh dữ liệu được mã hóa.
Thông tin thú vị hơn về điều này có thể được tìm thấy trên các liên kết sau:
/crypto/6185/what-is-a-tweakable-block-codes
/security/39306/how-secure-is-ubuntus-default-full-disk-encoding
https://en.wikipedia.org/wiki/Disk_encrypt_theory
Chi tiết về Master Key
LUKS
LUKS có một vài lĩnh vực ở đầu phân vùng (hoặc đĩa) với siêu dữ liệu, lưu trữ các phương thức mã hóa, các tham số khác và 8 vị trí chính. Để mã hóa và giải mã đĩa, nó sử dụng Khóa chính , một số ngẫu nhiên lớn được tạo khi tạo một thùng chứa LUKS. Để lưu trữ, nó mã hóa Khóa chính bằng mật khẩu của bạn, thông qua việc lặp lại hàm băm mật mã nhiều lần so với mật khẩu và tạo một khóa cụ thể cho khe đó. Bạn có thể có 8 mật khẩu khác nhau cho cùng một đĩa, mỗi mật khẩu mã hóa khóa chính bằng một mật khẩu khác nhau trong một khe. Khi bạn thay đổi mật khẩu, đơn giản như mã hóa Khóa chính và không thay đổi tất cả phân vùng.
Vì vậy, khi vị trí và siêu dữ liệu này bị hỏng, bạn không thể khôi phục khóa chính thực sự được sử dụng để giải mã, mất tất cả dữ liệu trên đĩa. Đây là một cách dễ dàng để nhanh chóng phá hủy tất cả dữ liệu của bạn. Nhưng nếu bạn có bản sao lưu của Volume Header, việc khôi phục nó khá dễ dàng.
Dưới đây là bản sao Câu hỏi thường gặp về LUKS về sao lưu được trích xuất từ https://gitlab.com/cryptsetup/cryptsetup/wikis/FrequentlyAskedQuestions#6-backup-and-data-recovery
6.2 Làm cách nào để sao lưu tiêu đề LUKS?
Mặc dù bạn chỉ có thể sao chép số byte thích hợp từ đầu phân vùng LUKS, cách tốt nhất là sử dụng tùy chọn lệnh "luksHeaderBackup" của cryptsetup. Điều này cũng bảo vệ chống lại lỗi khi các tham số không chuẩn đã được sử dụng trong việc tạo phân vùng LUKS. Thí dụ:
cryptsetup luksHeaderBackup --header-backup-file <file> <device>
Để khôi phục, sử dụng lệnh nghịch đảo, tức là
cryptsetup luksHeaderRestore --header-backup-file <file> <device>
Nếu bạn không chắc chắn về tiêu đề sẽ được khôi phục, trước tiên hãy tạo bản sao lưu của tiêu đề hiện tại! Bạn cũng có thể kiểm tra tệp tiêu đề mà không cần khôi phục tệp bằng cách sử dụng tùy chọn --header cho tiêu đề tách rời như thế này:
cryptsetup --header <file> luksOpen <device> </dev/mapper/ -name>
Nếu điều đó mở khóa rất nhiều chìa khóa của bạn, bạn là tốt. Đừng quên đóng lại thiết bị.
Trong một số trường hợp (tiêu đề bị hư hỏng), điều này không thành công. Sau đó sử dụng các bước sau:
Đầu tiên xác định kích thước khóa chính:
cryptsetup luksDump <device>
đưa ra một dòng của mẫu
MK bits: <bits>
với các bit bằng 256 cho các mặc định cũ và 512 cho các mặc định mới. 256 bit bằng tổng kích thước tiêu đề là 1'052'672 Byte và 512 bit một trong 2MiB. (Xem thêm Mục 6.12) Nếu luksDump không thành công, giả sử 2MiB, nhưng lưu ý rằng nếu bạn khôi phục điều đó, bạn cũng có thể khôi phục 1M đầu tiên của hệ thống tệp. Không thay đổi hệ thống tập tin nếu bạn không thể xác định kích thước tiêu đề! Cùng với đó, khôi phục bản sao lưu tiêu đề quá lớn vẫn an toàn.
Thứ hai, đổ tiêu đề vào tập tin. Có nhiều cách để làm điều đó, tôi thích cách sau:
head -c 1052672 <device> > header_backup.dmp
hoặc là
head -c 2M <device> > header_backup.dmp
cho tiêu đề 2MiB. Xác nhận kích thước của tệp kết xuất để đảm bảo. Để khôi phục bản sao lưu như vậy, bạn có thể thử luksHeaderRestore hoặc làm cơ bản hơn
cat header_backup.dmp > <device>
Mật mã
Veracrypt tương tự LUKS. Tôi không quen với nó như với Truecrypt, nhưng ý tưởng chung vẫn đúng.
Veracrypt chỉ có một khe khóa, vì vậy bạn không thể có nhiều mật khẩu cùng một lúc. Nhưng bạn có thể có một khối lượng ẩn: nó lưu siêu dữ liệu vào cuối phân vùng (hoặc đĩa hoặc tệp). Âm lượng ẩn có Khóa chính khác và sẽ sử dụng phần cuối của phân vùng làm không gian chồng lấp. Ý tưởng mà bạn nên sao lưu là như nhau. Điều này có thể được thực hiện với Tools -> Backup Volume Header
và Tools -> Restore Volume Header
. Với mã hóa hệ thống, nó được sử dụng để tạo một đĩa có thể khởi động với sao lưu khóa phục hồi trình tải Truecrypt và các khóa nếu có bất kỳ hư hỏng nào xảy ra. Nó được thực hiện trước khi nó mã hóa bất cứ thứ gì và theo như tôi biết thì Veracrypt tiếp tục làm theo cách tương tự.
Để biết thêm chi tiết, hãy xem liên kết này https://veracrypt.codeplex.com/wikipage?title=Program%20Mothy
Cân nhắc bảo mật về khóa sao lưu
Ví dụ: nếu bạn có mật khẩu bị rò rỉ và thay đổi mật khẩu âm lượng thành mật khẩu mới, mạnh mẽ và an toàn, ai đó có quyền truy cập vào bản sao lưu vẫn có thể giải mã các tệp bằng mật khẩu cũ. Bản sao lưu về cơ bản là Master Key được mã hóa bằng mật khẩu (cũ). Vì vậy, khi thay đổi mật khẩu, cũng cần tạo một bản sao lưu mới và phá hủy những cái cũ hơn. Và phá hủy dữ liệu vĩnh viễn có thể rất lừa.
Đối với mọi bản sao lưu bạn có với mật khẩu đó, là một cách có thể để giải mã dữ liệu bằng mật khẩu đó. Ví dụ, điều này có thể được sử dụng trong Veracrypt, sử dụng "Mật khẩu chung" (như trong một công ty), sao lưu và thay đổi mật khẩu khác. Vì vậy, phòng CNTT. có thể khôi phục quyền truy cập vào ổ đĩa đó ngay cả khi ai đó bị mất mật khẩu (nghĩ là Mật khẩu chính, nhưng đừng nhầm lẫn với Khóa chính trước đó).
Suy nghĩ cuối cùng (TL; DR)
Xác suất làm hỏng khu vực cụ thể bằng khóa chính ít có khả năng hơn là bạn bị hỏng đĩa hoàn toàn. Vì vậy, nếu dữ liệu này là quan trọng, bạn nên có một bản sao lưu của nó thay vì chỉ các tiêu đề âm lượng (Master Key).
Và tham nhũng dữ liệu lan truyền rất ít (16 byte), dẫn đến chấp nhận được cho hầu hết các sử dụng.
Vì vậy, một khối xấu ở giữa phân vùng hoặc đĩa sẽ chỉ ảnh hưởng đến khối đó. Và một vài lỗi trong một khu vực được giới hạn trong khu vực đó và thậm chí sẽ không ảnh hưởng đến toàn bộ khu vực 512 byte.
Cập nhật (23/01/2017): thêm thông tin dựa trên các nhận xét của OP.