Logo th.androidermagazine.com
Logo th.androidermagazine.com

การเข้ารหัสดิสก์เต็มรูปแบบใน Android lollipop คืออะไร?

สารบัญ:

Anonim

มีข้อมูลมากมายเกี่ยวกับการเข้ารหัสดิสก์เต็มรูปแบบ "เริ่มต้น" ของ Android 5.0 Lollipop (FDE) บางส่วนเป็นข้อมูลที่ดีบางส่วนเป็นข้อมูลที่ไม่ดีและมีข้อมูลมากมายที่เป็นเพียงการเก็งกำไรซ้ำ ในขณะที่สิ่งนี้ทำให้การสนทนาที่ดี - และ FDE เป็น สิ่งที่ควรค่าแก่การพูดถึง - เราต้องการที่จะแยกย่อยคะแนนที่ละเอียดกว่าออกเป็นการสนทนาที่อ่านง่าย

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

การเข้ารหัสคืออะไร?

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

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

การเปลี่ยนแปลงใน Lollipop

ในขณะที่ FDE นั้นมีให้บริการใน Android ตั้งแต่ Android 3.x Honeycomb ที่โชคไม่ดี แต่ Android 5.0 นำการเปลี่ยนแปลงครั้งใหญ่และการปรับปรุงมาใช้ในการทำงาน

ใน Lollipop นั้น FDE นั้นใช้คุณสมบัติเคอร์เนลที่ทำหน้าที่โดยตรงบนชั้นเลเยอร์ของหน่วยเก็บ ซึ่งหมายความว่าการเข้ารหัสสามารถทำงานกับอุปกรณ์แฟลชเช่นที่เก็บข้อมูล eMMC ซึ่งไม่มีคุณสมบัติการเข้ารหัสเนทีฟ - เนื่องจากพวกเขานำเสนอตัวเองไปยังเคอร์เนลเป็นอุปกรณ์บล็อกมาตรฐาน การเข้ารหัสไม่สามารถทำได้กับระบบไฟล์ที่คุยโดยตรงกับที่เก็บข้อมูล (เช่น YAFFS) คนที่สร้างโทรศัพท์หรือแท็บเล็ตของคุณอาจรวมวิธีการเข้ารหัสที่เก็บข้อมูลภายนอก (เช่นการ์ด SD) แต่ Android AOSP เกี่ยวข้องกับที่เก็บข้อมูลภายในเป็นส่วนใหญ่ อัลกอริทึมที่ใช้คือ 128- บิต AES พร้อม CBC และเวกเตอร์การเริ่มต้นเกลือเซกเตอร์ที่เข้ารหัสโดยใช้ฟังก์ชันแฮช SHA256 คีย์หลักใช้การเรียกไปยังไลบรารี OpenSSL ด้วย

กล่าวอีกนัยหนึ่งว่าปลอดภัย

ในการบูตครั้งแรกบน Android อุปกรณ์ของคุณจะสร้างคีย์หลักแบบ 128 บิตแบบสุ่มจากนั้นแฮชและเก็บไว้ในเมทาดาทา crypto ข้อมูลนี้ถูกปลดล็อกโดยวลีรหัสผ่านผู้ใช้ของคุณ (และจำไว้ว่าผู้ใช้อย่าใช้รหัสผ่านที่ไม่รัดกุม) แฮชที่ได้รับจะถูกลงชื่อผ่านการสำรองข้อมูลฮาร์ดแวร์เช่นคุณสมบัติ TEE (นั่นคือ Trusted Execution Environment) เช่น TrustZone ก่อนหน้า Android 5.0 คีย์หลักจะถูกเข้ารหัสตามรหัสผ่านของผู้ใช้เท่านั้นซึ่งอาจเสี่ยงต่อการโจมตีแบบนอกกรอบผ่าน ADB

น่าสนใจที่ Google ไม่ได้ใช้เครื่องมือเข้ารหัสลับฮาร์ดแวร์ของ Qualcomm ใน AOSP หรือสำหรับ Nexus 6 ซึ่งไม่มีประสิทธิภาพเนื่องจากบังคับให้ใช้การเข้ารหัสและถอดรหัสจาก CPU ระหว่างดิสก์ I / O (มีแนวโน้มที่ช่วง 512 512 ทุกครั้ง) กับการใช้ฮาร์ดแวร์ของ Qualcomm คุณสมบัติด้านประสิทธิภาพ เราจะไม่คาดเดา ว่าทำไม เรื่องนี้ถึงเกิดขึ้นเป็นครั้งที่สอง แต่รู้ว่าผู้ผลิต OEM สามารถนำไปใช้งานได้ตามที่ต้องการ เราหวังว่าพวกเขาจะ

Google ทำสิ่งต่างๆมากมายเพื่อให้การเข้ารหัสดิสก์เต็มรูปแบบบน Android มีความปลอดภัย สรุปพวกเขาทำได้ดีมาก

ปัญหาประสิทธิภาพการทำงาน

คุณอาจเคยได้ยินเกี่ยวกับประสิทธิภาพที่ต่ำสำหรับการอ่านและการเขียนดิสก์บนอุปกรณ์ Nexus ที่เปิดใช้งานการเข้ารหัส เป็นจริง - เมื่อคุณจำเป็นต้องเข้ารหัสและถอดรหัสทันทีดิสก์ I / O ความเร็วจะประสบ ดังที่ได้กล่าวไว้ข้างต้น Google ไม่ได้ ใช้คุณสมบัติเคอร์เนลที่ใช้ฮาร์ดแวร์ของ Qualcomm ใน Nexus 6 ซึ่งทำให้มันต้องทนทุกข์ทรมานมากกว่าเดิม แต่มันแย่แค่ไหน?

Disk I / O ใน Lollipop เร็วกว่าหลายเท่าใน KitKat และ Android รุ่นก่อนหน้า การเพิ่มประสิทธิภาพซอฟต์แวร์และรหัสเฉพาะอุปกรณ์หมายความว่า Android สามารถอ่านและเขียนจากที่เก็บข้อมูลได้เร็วกว่าที่เคย นี่เป็นสิ่งที่ดีมากซึ่งส่วนใหญ่ถูกทำให้ยุ่งเหยิงโดยเวลา I / O ที่ช้าลงเนื่องจากการเข้ารหัส

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

หากคุณต้องการหรือต้องการ FDE การแลกเปลี่ยนอาจจะคุ้มค่า

การเข้ารหัสไม่ได้บังคับ (และคุณต้องการหรือไม่)

ทุกคนที่มีโทรศัพท์ที่มีการอัปเดต Lollipop อยู่แล้วสามารถบอกคุณได้ว่า Lollipop ไม่ได้บังคับให้คุณใช้การเข้ารหัส ในขณะที่ Nexus 6 และ Nexus 9 (และอาจเป็นไปได้กับอุปกรณ์ Nexus ในอนาคตทั้งหมด) มาพร้อมกับการเปิดใช้งานและไม่มีวิธีที่ง่ายในการปิดโทรศัพท์ที่อัปเดตเป็น Lollipop - เช่น Galaxy Note 4 - ไม่ได้เปิดใช้งานการเข้ารหัสดิสก์เต็มโดยอัตโนมัติ

เช่นเดียวกับอุปกรณ์ใหม่ที่มาพร้อมกับ Android 5.x เช่น LG G Flex 2 ตัวเลือกคือคุณควรเปิดใช้งาน แต่คุณต้องปิดใช้งานการเข้ารหัสเต็มรูปแบบเริ่มต้น สิ่งนี้ทำให้เรามีทางเลือก - เราต้องการการเข้ารหัสดิสก์เต็มรูปแบบหรือไม่

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

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

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

คุณ เท่านั้นที่รู้ว่าคุณต้องการการเข้ารหัสอุปกรณ์เต็มรูปแบบ