ในทางปฏิบัติมันเกือบจะยืดหยุ่นกับการเข้ารหัสโดยที่ไม่มีอยู่ตราบใดที่คุณสำรองข้อมูลคีย์หลักและข้อมูลเมตาอย่างถูกต้อง
นอกเหนือจากข้อมูลเมตาความเสียหายจะส่งผลต่อบล็อกของบิตที่เสียหายโดยส่วนใหญ่แล้วจะมีขนาดเพียง 16 ไบต์เท่านั้น
สำหรับสถานการณ์ส่วนใหญ่ที่เกิดความเสียหายของข้อมูลด้วยคีย์และเครื่องมือ (เช่นรหัสผ่านและ Veracrypt / LUKS) คุณมีการเข้าถึงแบบเดียวกับดิสก์ที่ไม่มีการเข้ารหัสเช่นเดียวกับที่คุณใช้ดิสก์ที่เข้ารหัสทุกวันตามปกติ การเข้ารหัสจะเพิ่มขั้นตอนเพิ่มเติมเท่านั้น (เปิดพาร์ติชันที่เข้ารหัส) กว่าปกติ ดังนั้นในกรณีนี้มันทำงานเหมือนกับข้อมูลที่ไม่ได้เข้ารหัส
ด้วย Veracrypt หรือ Luks คุณต้องจัดเก็บคีย์หลักในดิสก์ที่เข้ารหัสด้วยรหัสผ่านของคุณ การทำลายส่วนนี้จะทำให้ข้อมูลถาวรสูญหาย สิ่งนี้สามารถแก้ไขได้อย่างง่ายดายด้วยการสำรองข้อมูลคีย์หลัก (ขนาดไม่กี่กิโลไบต์) สิ่งที่ง่ายต่อการทำกับซอฟต์แวร์ทั้งสองและแนะนำสำหรับทุกคน
รายละเอียดเกี่ยวกับข้อมูลเมตาที่ไม่ใช่
ทั้ง Veracrypt และ Luks ใช้ XTS วันนี้ ในโหมดนี้มันคำนวณคีย์สำหรับทุกบล็อค ในการทำให้เข้าใจง่ายในการเข้ารหัสบล็อกi
คุณใช้คีย์ที่สร้างขึ้นด้วยคีย์หลักและหมายเลขบล็อก ดังนั้นการเข้ารหัสของบล็อกหนึ่งบล็อกเป็นอิสระจากบล็อกอื่น หากคุณเสียหายข้อมูลบางอย่างมันจะถูก จำกัด การบล็อกนั้น
ใน XTS จะแบ่งบล็อกในบล็อกย่อย (จาก 16 ไบต์โดยปกติ) และสร้างคีย์และเข้ารหัสบล็อกย่อยนั้นด้วย นั่นหมายความว่าหากเราเปลี่ยนบิตเพียง 16 ไบต์เท่านั้นที่จะได้รับผลกระทบ
เช่นเดียวกับการทดสอบการเปลี่ยนเพียงเล็กน้อยในระดับเสียง Luks จะเปลี่ยน 16 ไบต์ของไฟล์ต้นฉบับเป็นคำพูดพล่อยๆ แต่อื่น ๆ 496 ยังคงไม่เปลี่ยนแปลง ในไฟล์ 7zip จะใช้วิธีการสตรีมว่าทุกไบต์ถูกโยงโซ่ดังนั้นการเปลี่ยนแปลงหนึ่งไบต์จะส่งผลกระทบต่อส่วนที่เหลือทั้งหมด - นี่ไม่ใช่กรณีที่นี่
บางคนคิดว่านี่เป็นปัญหาดังที่คุณทราบด้วยความแม่นยำ 16 ไบต์เมื่อใดและที่ใดที่คุณเปลี่ยนข้อความธรรมดาโดยเปรียบเทียบกับข้อมูลที่เข้ารหัส
ข้อมูลที่น่าสนใจเพิ่มเติมเกี่ยวกับเรื่องนี้สามารถพบได้ในลิงค์เหล่านี้:
/crypto/6185/what-is-a-tweakable-block-cipher
/security/39306/how-secure-is-ubuntus-default-full-disk-encryption
https://en.wikipedia.org/wiki/Disk_encryption_theory
รายละเอียดเกี่ยวกับมาสเตอร์คีย์
LUKS
LUKS มีเซกเตอร์สองสามตัวในการเริ่มต้นพาร์ติชัน (หรือดิสก์) ที่มีข้อมูลเมตาการจัดเก็บวิธีการเข้ารหัสพารามิเตอร์อื่น ๆ และช่องใส่กุญแจ 8 ช่อง สำหรับการเข้ารหัสและถอดรหัสดิสก์จะใช้Master Keyซึ่งเป็นหมายเลขสุ่มขนาดใหญ่ที่สร้างขึ้นเมื่อสร้างคอนเทนเนอร์ LUKS ในการจัดเก็บมันจะเข้ารหัสมาสเตอร์คีย์ด้วยรหัสผ่านของคุณผ่านการวนซ้ำฟังก์ชันแฮชการเข้ารหัสลับหลายครั้งผ่านรหัสผ่านและสร้างคีย์เฉพาะสำหรับสล็อตนั้น คุณสามารถมี 8 รหัสผ่านที่แตกต่างกันสำหรับดิสก์เดียวกันแต่ละอันเข้ารหัสคีย์หลักด้วยรหัสผ่านที่แตกต่างกันในช่อง เมื่อคุณเปลี่ยนรหัสผ่านมันง่ายพอ ๆ กับการเข้ารหัสคีย์หลักและไม่เปลี่ยนพาร์ติชันทั้งหมด
ดังนั้นเมื่อช่องนี้และข้อมูลเมตาเสียหายคุณจะไม่สามารถกู้คืนคีย์หลักที่ใช้ในการถอดรหัสทำให้ข้อมูลทั้งหมดบนดิสก์สูญหาย นี่เป็นวิธีที่ง่ายในการทำลายข้อมูลทั้งหมดของคุณอย่างรวดเร็ว แต่ถ้าคุณมีการสำรองข้อมูลของส่วนหัวปริมาณค่อนข้างง่ายในการกู้คืน
ด้านล่างนี้เป็นสำเนาของคำถามที่พบบ่อยเกี่ยวกับการสำรองข้อมูลที่ดึงมาจากhttps://gitlab.com/cryptsetup/cryptsetup/wikis/FrequentlyAskedQuestions#6-backup-and-data-recovery
6.2 ฉันจะสำรองข้อมูลส่วนหัว LUKS ได้อย่างไร
ในขณะที่คุณสามารถคัดลอกจำนวนไบต์ที่เหมาะสมจากจุดเริ่มต้นของพาร์ติชัน LUKS วิธีที่ดีที่สุดคือใช้ตัวเลือกคำสั่ง "luksHeaderBackup" ของ cryptsetup สิ่งนี้จะช่วยป้องกันข้อผิดพลาดเมื่อใช้พารามิเตอร์ที่ไม่ได้มาตรฐานในการสร้างพาร์ติชัน LUKS ตัวอย่าง:
cryptsetup luksHeaderBackup --header-backup-file <file> <device>
ในการกู้คืนให้ใช้คำสั่งผกผันเช่น
cryptsetup luksHeaderRestore --header-backup-file <file> <device>
หากคุณไม่แน่ใจเกี่ยวกับส่วนหัวที่จะกู้คืนให้ทำการสำรองข้อมูลของส่วนหัวปัจจุบันก่อน! คุณสามารถทดสอบไฟล์ส่วนหัวได้โดยไม่ต้องกู้คืนโดยใช้ตัวเลือก --header สำหรับส่วนหัวที่แยกออกมาเช่นนี้
cryptsetup --header <file> luksOpen <device> </dev/mapper/ -name>
หากปลดล็อคกุญแจมากคุณจะดี อย่าลืมปิดอุปกรณ์อีกครั้ง
ในบางสถานการณ์ (ส่วนหัวที่เสียหาย) สิ่งนี้จะล้มเหลว จากนั้นใช้ขั้นตอนต่อไปนี้:
ก่อนอื่นให้กำหนดขนาดมาสเตอร์คีย์:
cryptsetup luksDump <device>
ให้บรรทัดของแบบฟอร์ม
MK bits: <bits>
ด้วยบิตเท่ากับ 256 สำหรับค่าเริ่มต้นเก่าและ 512 สำหรับค่าเริ่มต้นใหม่ 256 บิตเท่ากับขนาดส่วนหัวรวม 1'052'672 Bytes และ 512 bits หนึ่งใน 2MiB (ดูที่หัวข้อ 6.12) หาก luksDump ล้มเหลวให้ถือว่า 2MiB แต่โปรดทราบว่าหากคุณกู้คืนไฟล์นั้นคุณอาจกู้คืน 1M แรกหรือมากกว่านั้นของระบบไฟล์ ห้ามเปลี่ยนระบบไฟล์หากคุณไม่สามารถกำหนดขนาดส่วนหัวได้! ด้วยวิธีนี้การกู้คืนการสำรองข้อมูลส่วนหัวที่มีขนาดใหญ่เกินไปก็ยังปลอดภัย
ประการที่สองการถ่ายโอนส่วนหัวไปยังไฟล์ มีหลายวิธีที่จะทำฉันชอบสิ่งต่อไปนี้:
head -c 1052672 <device> > header_backup.dmp
หรือ
head -c 2M <device> > header_backup.dmp
สำหรับส่วนหัว 2MiB ตรวจสอบขนาดของไฟล์ดัมพ์เพื่อให้แน่ใจ ในการกู้คืนการสำรองข้อมูลดังกล่าวคุณสามารถลอง luksHeaderRestore หรือดำเนินการขั้นพื้นฐานเพิ่มเติม
cat header_backup.dmp > <device>
Veracrypt
Veracrypt คล้ายกับ LUKS ฉันไม่ได้ใช้มันเหมือนตอนที่อยู่กับ Truecrypt แต่ความคิดโดยทั่วไปถืออยู่
Veracrypt มีช่องเสียบหนึ่งช่องเท่านั้นดังนั้นคุณไม่สามารถมีรหัสผ่านมากกว่าหนึ่งรายการพร้อมกันได้ แต่คุณสามารถมีไดรฟ์ข้อมูลที่ซ่อนอยู่: มันเก็บข้อมูลเมตาในตอนท้ายของพาร์ทิชัน (หรือดิสก์หรือไฟล์) ไดรฟ์ข้อมูลที่ซ่อนอยู่มีคีย์หลักที่แตกต่างกันและจะใช้จุดสิ้นสุดของพาร์ติชันเป็นพื้นที่ทับซ้อนกัน แนวคิดที่คุณควรสำรองข้อมูลเหมือนกัน ซึ่งสามารถทำได้ด้วยและTools -> Backup Volume Header
Tools -> Restore Volume Header
ด้วยการเข้ารหัสระบบจะใช้ในการสร้างดิสก์ที่บูตได้ด้วยการสำรองข้อมูลคีย์ซึ่งกู้คืนตัวโหลด Truecrypt และคีย์หากเกิดความเสียหายขึ้น มันทำก่อนที่มันจะเข้ารหัสอะไรและเท่าที่ฉันรู้ว่า Veracrypt ยังคงทำเช่นเดียวกัน
สำหรับรายละเอียดเพิ่มเติมดูลิงค์นี้https://veracrypt.codeplex.com/wikipage?title=Program%20Menu
ข้อควรพิจารณาด้านความปลอดภัยเกี่ยวกับคีย์สำรอง
หากคุณมีรหัสผ่านที่รั่วไหลออกมาและเปลี่ยนรหัสผ่านของไดรฟ์ข้อมูลเป็นรหัสใหม่ที่แข็งแกร่งและปลอดภัยใครบางคนที่มีสิทธิ์เข้าถึงการสำรองข้อมูลจะยังคงสามารถถอดรหัสไฟล์ด้วยรหัสผ่านเก่าได้ การสำรองข้อมูลนั้นเป็นรหัสหลักที่เข้ารหัสด้วยรหัสผ่าน (เก่า) ดังนั้นเมื่อเปลี่ยนรหัสผ่านจำเป็นต้องทำการสำรองข้อมูลใหม่และทำลายรหัสผ่านเก่า และการทำลายข้อมูลอย่างถาวรอาจเป็นเรื่องหลอกลวง
สำหรับการสำรองข้อมูลทุกครั้งที่คุณมีรหัสผ่านนั้นเป็นวิธีที่เป็นไปได้ในการถอดรหัสข้อมูลด้วยรหัสผ่านนั้น ตัวอย่างนี้สามารถใช้ใน Veracrypt ได้เช่นใช้ "Universal Password" (เช่นใน บริษัท ) สำรองข้อมูลและเปลี่ยนเป็นรหัสผ่านอื่น ดังนั้นฝ่ายไอที สามารถกู้คืนการเข้าถึงไดรฟ์ข้อมูลนั้นแม้ว่าใครบางคนทำรหัสผ่านหาย (คิดว่าเป็นรหัสผ่านหลัก แต่อย่าสับสนกับรหัสหลักจากก่อนหน้านี้)
รอบชิงชนะเลิศความคิด (TL; DR)
ความน่าจะเป็นของการทำลายเซกเตอร์เฉพาะด้วยคีย์หลักนั้นมีโอกาสน้อยกว่าที่คุณมีดิสก์ที่ล้มเหลวทั้งหมด ดังนั้นหากข้อมูลนี้มีความสำคัญคุณควรมีการสำรองข้อมูลไว้เพียงส่วนหัวเสียง (คีย์หลัก)
และความเสียหายของข้อมูลจะแพร่กระจายเพียงเล็กน้อย (16 ไบต์) ซึ่งเป็นที่ยอมรับได้สำหรับการใช้งานส่วนใหญ่
ดังนั้นบล็อกที่ไม่ดีที่อยู่ตรงกลางของพาร์ติชันหรือดิสก์จะมีผลกับบล็อกนั้นเท่านั้น และข้อผิดพลาดเล็กน้อยในเซกเตอร์นั้นถูก จำกัด ไว้ที่เซกเตอร์นั้นและจะไม่ส่งผลกระทบต่อเซกเตอร์ทั้งหมด 512 ไบต์
Update (23/01/2017): เพิ่มข้อมูลเพิ่มเติมตามความคิดเห็น OP