Mã hóa thiết bị đầy đủ có bảo vệ dữ liệu của tôi khỏi Google và chính phủ không?


13

Apple gần đây đã tạo ra làn sóng trong cộng đồng công nghệ bằng cách từ chối tuân thủ thực thi pháp luật liên quan đến việc truy cập dữ liệu người dùng được mã hóa. Tuyên bố của họ là họ không có khả năng kỹ thuật để giải mã dữ liệu này.

Là người dùng Android, có bất kỳ khả năng tương tự nào (tốt nhất là được tích hợp vào HĐH thay vì bên thứ ba) mà tôi có thể sử dụng để đạt được sự bảo vệ tương tự từ ngay cả Google và nhà sản xuất thiết bị của mình không? Tôi biết có "Mã hóa thiết bị đầy đủ" trong cài đặt của mình, nhưng điều này có ngăn Google truy cập không?

Để tham khảo, thiết bị của tôi chạy Android Lollipop và là OnePlus Two. Nếu các phiên bản khác như Marshmallow sẽ cho phép tôi làm điều đó tốt.

Câu trả lời:


10

Google không biết khóa mã hóa cho thiết bị của bạn là gì. Toàn bộ quá trình diễn ra trên thiết bị của bạn và chìa khóa không bao giờ được truyền đi bất cứ đâu. Bản thân khóa cũng không được lưu trữ trong bản rõ trên thiết bị của bạn :

Lưu trữ khóa được mã hóa

Khóa được mã hóa được lưu trữ trong siêu dữ liệu tiền điện tử. Việc sao lưu phần cứng được thực hiện bằng cách sử dụng khả năng ký của Môi trường thực thi tin cậy (TEE). Trước đây, chúng tôi đã mã hóa khóa chính bằng một khóa được tạo bằng cách áp dụng mã hóa vào mật khẩu của người dùng và muối được lưu trữ. Để làm cho khóa trở nên linh hoạt trước các cuộc tấn công ngoài luồng, chúng tôi mở rộng thuật toán này bằng cách ký khóa kết quả bằng khóa TEE được lưu trữ. Chữ ký kết quả sau đó được biến thành một khóa có độ dài phù hợp bằng một ứng dụng nữa của tiền điện tử. Khóa này sau đó được sử dụng để mã hóa và giải mã khóa chính.

Vì vậy, ngay cả khi ai đó có một bản sao của khóa chính được mã hóa của bạn, họ không thể giải mã nó mà không có khóa TEE từ SoC của thiết bị của bạn.

Do đó, ngoài lỗ hổng trong quá trình triển khai, mã hóa toàn bộ thiết bị sẽ ngăn mọi người truy cập dữ liệu của bạn trừ khi họ biết / lấy mật khẩu của bạn HOẶC có thể đoán mật khẩu của bạn (ví dụ: thông qua brute-buộc nó hoặc một số loại kỹ thuật kỹ thuật xã hội). Trên các thiết bị thiếu hỗ trợ phần cứng cần thiết, FDE sẽ cố mã hóa khóa bằng phương pháp chỉ dành cho phần mềm.


@beeshyams Đó là một tính năng của bộ xử lý. Việc triển khai của ARM được gọi là "TrustZone", nhưng các kiến ​​trúc khác cũng cung cấp các cơ chế tương tự. Ý tưởng là bạn có thể tạo khóa thiết bị, lưu trữ nó ở một nơi chỉ có thể truy cập vào TEE, sau đó không bao giờ tiết lộ nó với thế giới bên ngoài. Khi bạn cần mã hóa / giải mã một cái gì đó, bạn yêu cầu mã chạy trong TEE để làm điều đó cho bạn, vì vậy khóa vẫn an toàn. Wikipedia có một bài viết (-ish) phong nha .
eldarerathis

1
@eldarerathis Điều tôi đã nghe là iPhone 6 và mới hơn đều an toàn ngay cả các bản cập nhật OEM, vì việc xác minh mật khẩu ( bao gồm cả độ trễ / khóa thời gian) được thực hiện hoàn toàn trong phần cứng. Điều tôi đang hỏi là liệu Android có làm điều gì đó tương tự không, hoặc đó hoàn toàn là khóa phần mềm - tất nhiên có thể bỏ qua bản cập nhật firmware. Tôi cũng đang hỏi liệu có tồn tại bất kỳ điện thoại dựa trên Android nào có bộ tải khởi động từ chối cập nhật mà không cần nhập mật mã do người dùng chỉ định hay không - điều này sẽ giúp bỏ qua các giai đoạn khóa phần mềm dễ dàng hơn.
Bob

1
Tuy nhiên, một cách khác để xem xét lại là liệu có cách nào để yêu cầu giải mã (mật khẩu w / người dùng) xảy ra trước khi cập nhật được cho phép hay không. Nói cách khác, các bản cập nhật (OEM, đã ký) có thể cài đặt được mà không cần khóa giải mã (không có dữ liệu người dùng bắt buộc) không?
Bob

1
@Bob Theo hiểu biết của tôi, Android không yêu cầu mật khẩu giải mã để thực hiện quá trình cập nhật, bởi vì nó chỉ mã hóa /userdataphân vùng chứ không phải phân vùng mà bản cập nhật thực sự sẽ sửa đổi ( /system/bootnói chung). Đó là khá nhiều trong cùng một chiếc thuyền với iPhone 5 (và thấp hơn).
eldarerathis

1
Tôi sẽ nói thêm, tôi không chắc liệu độ trễ chung cho mỗi lần thử là thứ có thể bị "vô hiệu hóa" bởi một bản cập nhật hay nếu Android điều chỉnh nó một cách giả tạo. Android sử dụng các vòng mã hóa trong quá trình tạo khóa, do đó, nó cũng cần được sử dụng khi giải mã khóa và mã hóa được thiết kế đặc biệt để khó tăng tốc, như một biện pháp giảm thiểu chống lại vũ phu. Điều đó sẽ vẫn còn nhất quán. Việc khóa sau X số lần thử thất bại (hoặc khóa được chia tỷ lệ, nếu có tồn tại) sẽ được triển khai trong phần mềm, tuy nhiên, AFAIK.
eldarerathis

-1

Mã hóa toàn bộ thiết bị sẽ bảo vệ thiết bị của bạn nếu bạn sử dụng một khóa quá lâu để vũ lực, ngay cả khi những kẻ tấn công có thể sử dụng các kỹ thuật vũ phu - giả sử có nhiều cách để cho phép chúng làm điều này. Snowden cho biết 64 ký tự là đủ dài để mã hóa thực sự không thể phá vỡ. Vì vậy, bảo mật hoàn toàn là có thể đạt được - nếu bạn không phiền gõ cụm mật khẩu 64 ký tự mỗi khi bạn đánh thức điện thoại.


Bạn có biết giới hạn về độ dài mã PIN khóa màn hình không? Cân nhắc khởi động lại câu trả lời của bạn cho phù hợp
beeshyams 24/2/2016

Vâng, 16 ký tự là giới hạn nếu bạn kiểm tra mã nguồn .
Firelord
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.