การเข้ารหัสดิสก์แบบเต็มบนไดรฟ์ SSD ลดอายุการใช้งานหรือไม่


55

ฉันจะสมมติว่าการปรับใช้การเข้ารหัสดิสก์เต็มรูปแบบจะแนะนำการเขียนเพิ่มเติมทุกครั้งที่คอมพิวเตอร์ถูกบูทและปิดตัวลง เมื่อพิจารณาว่าดิสก์สถานะของแข็งนั้นมีความจุเฉลี่ยต่ำกว่าสำหรับการเขียนก่อนความล้มเหลวโซลูชันการเข้ารหัสดิสก์แบบเต็มสามารถลดอายุการใช้งานที่คาดไว้ของดิสก์ที่ใช้งานอยู่ได้หรือไม่

หากสมมติฐานของฉันไม่ถูกต้องฉันคิดว่านี่เป็นจุดที่สงสัย ขอบคุณล่วงหน้า.


นี่เป็นคำซ้ำที่แน่นอนของsuperuser.com/questions/57573/…

1
@JarrodRoberson คุณหมายถึงคำถามนี้หรือไม่ superuser.com/questions/39719/…ทั้งสองวิธีคำถามที่เกี่ยวข้องทั้งหมดมีคำตอบที่ด้อยกว่าดังนั้นฉันจะไม่ปิดพวกเขาในฐานะคู่หูของพวกนั้น
Ivo Flipse

@IvoFlipse cruxของคำถามที่ฉันตั้งค่าสถานะเป็นสถานะซ้ำซ้อน"... นี่จะทำให้ไดรฟ์เข้าสู่สถานะที่ใช้อย่างเต็มประสิทธิภาพและจะมีผลอย่างไรกับการปรับระดับการสึกหรอและประสิทธิภาพของไดรฟ์หรือไม่ ... "นั่นคือสิ่งนี้ คำถามเดียวกัน

คำตอบ:


49

คิดว่าการเข้ารหัสเป็นอะแดปเตอร์ ข้อมูลจะถูกเข้ารหัสก่อนที่จะเขียนหรือถอดรหัสก่อนอ่าน ความแตกต่างเพียงอย่างเดียวคือกุญแจถูกส่งผ่านไปยังบางจุด (โดยปกติเมื่อเริ่มต้นไดรฟ์ / ไดรเวอร์) เพื่อใช้สำหรับการเข้ารหัส / ถอดรหัส

นี่คือกราฟิก (หยาบ) ที่ฉันขว้างด้วยกันเพื่อแสดงรูปแบบพื้นฐาน:

แผนผังแสดงเต็ม - เข้ารหัสไดรฟ์

อย่างที่คุณเห็นไม่จำเป็นต้องทำการอ่านหรือเขียนเพิ่มเติมเนื่องจากโมดูลการเข้ารหัสจะเข้ารหัสข้อมูลก่อนที่ข้อมูลจะถูกเขียนไปยัง platters และถอดรหัสก่อนที่มันจะถูกส่งไปยังกระบวนการที่ทำการอ่าน

ตำแหน่งที่แท้จริงของโมดูลการเข้ารหัสอาจแตกต่างกันไป อาจเป็นซอฟต์แวร์ไดรเวอร์หรืออาจเป็นโมดูลฮาร์ดแวร์ในระบบ (เช่นคอนโทรลเลอร์, BIOS, โมดูล TPM) หรือแม้แต่ในไดรฟ์เอง ไม่ว่าในกรณีใด ๆ โมดูลจะ“ อยู่ตรงกลางของสายไฟ” ระหว่างซอฟต์แวร์ที่ดำเนินการกับไฟล์และข้อมูลจริงบนจานของไดรฟ์


24
คำตอบนี้ไม่ถูกต้องตามหลักเหตุผล! ขึ้นอยู่กับจำนวนบล็อกระบบปฏิบัติการที่เข้ารหัสในแต่ละครั้ง สมมติว่าเข้ารหัส 4K ครั้งละเพียงแค่การแก้ไขไบต์จะทำให้การเขียนไปยัง 512 512- บล็อกไปยัง SSD ในขณะที่ไม่มีการเข้ารหัส OS (ถ้าปรับให้เหมาะสม) จะต้องเขียนลง 1 บล็อก 512 ไบต์เท่านั้น ดังนั้นการเข้ารหัสจึงเพิ่มไปยังดิสก์ 8x เขียน ในทางปฏิบัติระบบปฏิบัติการอาจเลือกขนาดบล็อกที่เหมาะสมสำหรับการเข้ารหัส แต่คำตอบไม่ได้แก้ปัญหานี้และยืนยันใด ๆ ดังนั้นในทางปฏิบัติคำตอบนี้อาจถูกต้อง แต่มีเหตุผลว่ามันผิดอย่างน้อยก็ไม่สมบูรณ์
icando

21
@icando มันเป็นการทำให้เข้าใจง่ายทั่วไป นอกจากนี้สิ่งที่คุณกำลังพูดถึงเป็นกระแสการเข้ารหัส ที่พบมากที่สุด / โปรแกรมที่นิยมเต็มรูปแบบดิสก์เข้ารหัสTrueCryptใช้ยันต์บล็อก หากคุณสามารถชี้ให้เห็นระบบการเข้ารหัสดิสก์เต็มรูปแบบที่ได้รับการออกแบบมาไม่ดีและ / หรือใช้การเข้ารหัสแบบสตรีมที่ก่อให้เกิดผลกระทบประเภทนั้นโปรดทำเช่นนั้นและฉันจะตอบคำถามอย่างมีความสุข
Synetech

1
หากโมดูลการเข้ารหัสอยู่ในไดรฟ์เองคุณสามารถมั่นใจได้ว่าจะคำนึงถึงลักษณะของ SSDs (ไม่เช่นนั้น mfg จะเป็นใบ้และคุณต้องการเงินคืน) หากโมดูลอยู่ใน BIOS ก็สามารถอัปเดตได้ง่ายเพื่อรวมอัลกอริทึมที่ดีกว่าถ้าจำเป็น
Synetech

1
สำหรับซอฟต์แวร์นั้นง่ายต่อการอัพเดท TrueCrypt ตัวอย่างเช่นได้รับการปรับปรุงการวิเคราะห์ในแง่ของการสวมใส่ SSD [1] [2]และปัญหาหลักคือไม่สวมใส่ แต่มันอาจจะมีความเสี่ยงที่จะถูกโจมตี
Synetech

9
ข้อกังวลเกี่ยวกับการเข้ารหัสดิสก์เต็มรูปแบบคือ DISCARD / TRIM ถูกปิดใช้งานด้วยเหตุผลด้านความปลอดภัย ไดรฟ์ SSD ทุกตัวมีขนาดบล็อกแบบโลจิคัลขนาด 4kb การใช้งานพื้นฐานที่แท้จริงด้านล่างเลเยอร์นี้จะถูกเก็บเป็นความลับโดยผู้ผลิตส่วนใหญ่แม้ว่าจะเป็นไดรฟ์รุ่นใหม่ที่แสดงเป็นขนาดหน้าขนาด 8kb ก็ตาม สิ่งนี้ไม่เกี่ยวข้องกับเฟิร์มแวร์ที่จะทำสิ่งที่ถูกต้องด้วยการต่อการเขียนดังนั้นการยืนยันว่าการเข้ารหัสเพิ่มสิ่งใดก็ตามที่น้อยกว่าการเขียน 8X นั้นคือความไม่รู้ของการเข้ารหัสและกลยุทธ์การเขียนระบบไฟล์และเฟิร์มแวร์

23

คำตอบสั้น ๆ :
หากตัวควบคุมดิสก์ไม่ใช้การบีบอัดคำตอบของ Synetech นั้นถูกต้องและการเข้ารหัสจะไม่เปลี่ยนแปลงอะไรเลย หากคอนโทรลเลอร์ใช้การบีบอัดการเข้ารหัสอาจลดอายุการใช้งานของดิสก์ (เทียบกับดิสก์ที่เหมือนกันซึ่งไม่ได้ใช้การเข้ารหัส)

คำตอบยาว:
คอนโทรลเลอร์ SSD บางตัวใช้การบีบอัดเพื่อลดจำนวนข้อมูลที่เขียนลงในชิปแฟลชจริงและเพื่อปรับปรุงประสิทธิภาพการอ่าน (คอนโทรลเลอร์ SandForce เป็นตัวอย่างที่ดีเยี่ยมอาจมีบางอย่าง) วิธีนี้จะได้ผลดีที่สุดหากข้อมูลที่เขียนลงดิสก์นั้นสามารถบีบอัดได้ง่าย ไฟล์ข้อความ, ไฟล์ปฏิบัติการ, รูปภาพที่ไม่บีบอัด (เช่น BMP) และที่คล้ายกันสามารถบีบอัดได้ค่อนข้างมากในขณะที่ไฟล์ที่ถูกบีบอัดหรือถูกเข้ารหัสนั้นแทบจะเป็นไปไม่ได้ที่จะบีบอัดเนื่องจากข้อมูลจะมีลักษณะแบบสุ่ม .

ฮาร์ดแวร์ของทอมทำการทดสอบที่ดีเกี่ยวกับสิ่งนี้อย่างแม่นยำบน Intel SSD 520 ซึ่งสามารถดูได้ที่
http://www.tomshardware.com/reviews/ssd-520-sandforce-review-benchmark,3124-11.html

สิ่งที่พวกเขาทำคือวัดการขยายการเขียน (อัตราส่วนของปริมาณข้อมูลที่เขียนไปยังแฟลชและปริมาณข้อมูลที่ส่งไปยังไดรฟ์) ของไดรฟ์เมื่อเขียนข้อมูลที่บีบอัดได้อย่างสมบูรณ์และข้อมูลสุ่มสมบูรณ์ สำหรับข้อมูลสุ่มสมบูรณ์การขยายการเขียนคือ 2.9 * ซึ่งหมายความว่าสำหรับทุก ๆ GB ของข้อมูลที่ส่งไปยังดิสก์นั้น 2.9 GB จะถูกเขียนลงในแฟลช บทความบันทึกว่าสิ่งนี้ดูเหมือนว่าจะเป็นจำนวนเดียวกันกับที่วัดในไดรฟ์ที่ไม่ได้ใช้การบีบอัด สำหรับข้อมูลที่บีบอัดได้อย่างสมบูรณ์อัตราส่วนคือ 0.17 ซึ่งค่อนข้างต่ำกว่าเล็กน้อย

การใช้งานปกติอาจสิ้นสุดที่ใดที่หนึ่งในระหว่างนั้นเว้นแต่ว่าข้อมูลจะถูกเข้ารหัส การคาดเดาอายุการใช้งานในบทความค่อนข้างเป็นเชิงวิชาการ แต่แสดงให้เห็นว่าการเข้ารหัสอาจส่งผลกระทบต่ออายุการใช้งานของ SSD ด้วยคอนโทรลเลอร์ SandForce วิธีเดียวที่จะหลีกเลี่ยงปัญหานี้ได้ก็คือถ้าตัวควบคุมสามารถทำการเข้ารหัสได้หลังจากการบีบอัดเกิดขึ้น

* บทความไม่ได้ระบุว่าทำไม 2.9 ถือว่าเป็นค่าปกติและฉันไม่ได้ทำการวิจัยจริงๆ คำอธิบายเชิงตรรกะอาจเป็นได้ว่า SSD ส่วนใหญ่ใช้ MLC NAND ซึ่งเป็นข้อผิดพลาดเล็กน้อย (บิตพลิกในส่วนอื่น ๆ ของบล็อกการลบสามารถเกิดขึ้นได้ในขณะที่เขียนถ้าฉันจำได้ถูกต้อง) เพื่อแก้ไขข้อมูลนี้อาจถูกเขียนไปยังหลาย ๆ ที่เพื่อให้การกู้คืนหรือการแก้ไขเป็นไปได้เสมอ


ข้อมูลที่เข้ารหัสไม่ได้มีขนาดใหญ่กว่านั้นเป็นเพียงการเข้ารหัสการเข้ารหัสไม่ทำให้ข้อมูลมีขนาดเพิ่มขึ้น ใครใช้ระบบไฟล์บีบอัดอัตโนมัติในปี 2555

6
@JarrodRoberson: ตัวควบคุม SandForce SSD บีบอัดข้อมูลเพื่อลดการเขียน อาจมีตัวอย่างอื่นด้วย
John Bartholomew

@ JohnBartholomew ฉันพูดว่าระบบไฟล์ซึ่งมาก่อนตัวควบคุมดิสก์ และถึงจุดที่ไม่เกี่ยวข้องของคุณชุดรูปแบบการบีบอัดของ SandForce ควรตรวจจับข้อมูล "ไม่บีบอัด" หรือ "บีบอัดล่วงหน้า" และไม่บีบอัดในความพยายามที่จะลดการเขียนนี่เป็นความลับดังนั้นเราจะไม่ทราบแน่ชัด ไม่ว่าจะด้วยวิธีใดก็ไม่ใช้พื้นที่มากขึ้นมีเวลามากขึ้นในกรณีเฉพาะ

1
@JarrodRoberson: ประเด็นคือถ้าตัวควบคุมพยายามบีบอัดทุกอย่างแล้วประสิทธิภาพ (ในเวลาและในอวกาศ) จะแย่ลงถ้าข้อมูลทั้งหมดที่คุณส่งไปยังดิสก์นั้นถูกเข้ารหัส มันจะแย่ลงในเวลาเพราะคอนโทรลเลอร์จะเสียเวลาในการตรวจสอบว่าข้อมูลนั้นไม่สามารถบีบอัดได้และมันจะแย่กว่าในพื้นที่เมื่อเทียบกับการให้ดิสก์ที่ไม่มีการเข้ารหัส (ดังนั้นในบางกรณีข้อมูลที่บีบอัดได้)
John Bartholomew

4
@JarrodRoberson: ไม่ได้รับประโยชน์จากการเขียนน้อยลงเสียงเหมือนสิ่งที่ OP ได้ถามเกี่ยวกับและเป็นผลโดยตรงจากการเข้ารหัสที่ใช้
Leo

6

การเข้ารหัสดิสก์แบบเต็มไม่ได้เพิ่มปริมาณข้อมูลที่เขียนไปยังดิสก์นอกเหนือจากข้อมูลเมตาใด ๆ ที่ชั้นการเข้ารหัสต้องการจัดเก็บพร้อมกับระบบแฟ้ม (ซึ่งไม่สำคัญ) หากคุณเข้ารหัส 4096 ไบต์จะมีการเขียน 4096 ไบต์


1

คำตอบขึ้นอยู่กับสิ่งที่คุณหมายถึงโดย "การเข้ารหัสดิสก์เต็ม"

หากคุณเพียงแค่หมายความว่าเมตาดาต้าไฟล์และระบบไฟล์ทั้งหมดได้รับการเข้ารหัสบนดิสก์ดังนั้นไม่ควรมีผลกระทบต่ออายุการใช้งานของ SSD

อย่างไรก็ตามหากคุณหมายถึง "เนื้อหาทั้งหมดของดิสก์รวมถึงพื้นที่ที่ไม่ได้ใช้จะถูกเข้ารหัส" มากกว่าเดิมดังนั้นใช่มันจะลดอายุการใช้งานลงอย่างมาก

อุปกรณ์ SSD ใช้ "ระดับการสึกหรอ" เพื่อกระจายการเขียนข้ามอุปกรณ์เพื่อหลีกเลี่ยงการสึกหรอบางส่วนก่อนกำหนด พวกเขาสามารถทำสิ่งนี้ได้เนื่องจากไดรเวอร์ระบบไฟล์ที่ทันสมัยบอก SSD โดยเฉพาะเมื่อไม่มีการใช้ข้อมูลในส่วนใด ๆ อีกต่อไป (ถูก "ทิ้ง" ed) ดังนั้น SSD จึงสามารถตั้งค่าให้ภาคนั้นกลับมาเป็นศูนย์ มีจำนวนการใช้งานน้อยที่สุดสำหรับการเขียนครั้งต่อไป

ด้วยรูปแบบการเข้ารหัสดิสก์เต็มรูปแบบดั้งเดิมไม่มีส่วนใดที่ไม่ได้ใช้ คนที่ไม่มีข้อมูลของคุณจะยังคงถูกเข้ารหัส วิธีนี้ผู้โจมตีจะไม่ทราบว่าส่วนใดในดิสก์ของคุณมีข้อมูลของคุณและส่วนใดเป็นเพียงสัญญาณรบกวนแบบสุ่มจึงทำให้การถอดรหัสยากขึ้น

ในการใช้ระบบดังกล่าวกับ SSD คุณมีสองตัวเลือก:

  1. อนุญาตให้ระบบไฟล์ดำเนินการทิ้งต่อไปซึ่งจะทำให้ภาคส่วนที่ไม่มีข้อมูลของคุณว่างเปล่าและผู้โจมตีจะสามารถมุ่งเน้นความพยายามของเขากับข้อมูลของคุณ
  2. ห้ามระบบไฟล์ทำการทิ้งซึ่งในกรณีนี้การเข้ารหัสของคุณยังคงแข็งแกร่ง แต่ตอนนี้มันไม่สามารถทำการปรับระดับการสึกหรอได้อย่างมีนัยสำคัญดังนั้นส่วนที่ใช้มากที่สุดของดิสก์ของคุณจะเสื่อมสภาพ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.