Việc phát hành iPhone không có cảm biến vân tay đã mang đến một số thảo luận về việc sử dụng dấu vân tay để xác thực và cách lưu trữ dữ liệu an toàn. Thật tuyệt vời. Ngay cả khi bạn không quan tâm đến việc nó được thực hiện như thế nào, bạn vẫn cần rất nhiều người khác quan tâm để nó được thực hiện theo cách bạn không phải lo lắng!
Để bắt đầu, Apple sử dụng một giải pháp tương tự và nếu bạn có một model cũ hơn với cảm biến vân tay thì bạn vẫn an toàn khi sử dụng nó như trước đây. Điều tương tự cũng xảy ra với các điện thoại Samsung cũ đã ra mắt trước Marshmallow và sử dụng các phương pháp riêng của Samsung.
Cách Google lưu trữ dữ liệu vân tay của bạn là cách an toàn nhất có thể với công nghệ hiện tại. Thật thú vị khi tổng quan đơn giản của toàn bộ mọi thứ là một khi bạn nhìn vào nó. Đơn giản và an toàn luôn là một kết hợp chiến thắng.
Lưu trữ, về bản chất, không an toàn. Nó giống như viết một cái gì đó trên một ghi chú sau đó và đặt nó vào một tủ hồ sơ. Nó ở đó bởi vì nó cần phải ở đó, và điều tốt nhất bạn có thể làm là kiểm soát ai có quyền truy cập vào nó. Đối với tủ tệp, bạn sử dụng khóa và đối với điện thoại, bạn sử dụng mã hóa. Đối với dữ liệu vân tay của bạn, mọi thứ sẽ tiến thêm một bước: Môi trường thực thi tin cậy (TEE).
TEE là một khu vực riêng biệt và tách biệt trong phần cứng của điện thoại. Một TEE có thể sử dụng bộ xử lý và bộ nhớ của riêng nó hoặc nó có thể sử dụng một cá thể ảo hóa trên CPU chính. Trong cả hai trường hợp, TEE được cách ly và cách ly hoàn toàn bằng cách sử dụng bộ nhớ được bảo vệ bằng phần cứng và bảo vệ đầu vào / đầu ra. Cách duy nhất bạn sẽ nhận được là nếu TEE cho phép bạn vào, và nó sẽ không bao giờ. Ngay cả khi điện thoại đã được root hoặc bộ tải khởi động đã được mở khóa, TEE vẫn tách biệt và vẫn còn nguyên vẹn.
Một bộ xử lý riêng biệt với bộ nhớ và hệ điều hành riêng được sử dụng để phân tích và lưu trữ dữ liệu vân tay của bạn.
Google sử dụng cái mà họ gọi là Trusty TEE để hỗ trợ điều này. Một hệ điều hành rất nhỏ và hiệu quả, được đặt tên phù hợp là Trusty OS, chạy trên phần cứng và trình điều khiển hạt nhân TEE cho phép nó giao tiếp với hệ thống. Có các thư viện Android (bạn đoán nó: API Trusty) để các nhà phát triển sử dụng để họ có thể hỏi số tiền có hoặc không có câu hỏi nào đối với TEE. Không chỉ dữ liệu vân tay được lưu trữ trong TEE. Những thứ như khóa DRM và khóa mã hóa bộ tải khởi động của nhà sản xuất cũng sống trong TEE và hoạt động giống như dữ liệu vân tay của bạn - trả lời liệu dữ liệu được trình bày cho ứng dụng có khớp với dữ liệu tốt đã biết mà nó lưu trữ hay không.
Các nhà sản xuất khác có thể sử dụng Trusty OS hoặc sau đó có thể sử dụng một hệ thống khác. Miễn là tất cả các tiêu chí được đáp ứng (được liệt kê bên dưới) và TEE được cách ly và cách ly, nó sẽ đáp ứng các tiêu chuẩn bảo mật cần thiết để sử dụng Pixel Imprint (trước đây là Nexus Imprint).
Khi bạn đăng ký dấu vân tay trên điện thoại Android, cảm biến sẽ lấy dữ liệu từ quá trình quét. Trusty OS phân tích dữ liệu này bên trong TEE, sau đó tạo ra hai thứ: một bộ dữ liệu xác nhận và mẫu vân tay được mã hóa. Đây dường như là dữ liệu rác cho mọi thứ trừ TEE, người cũng có chìa khóa để giải mã dữ liệu rác đó. Mẫu vân tay được mã hóa này được lưu trữ trong một thùng chứa được mã hóa trên TEE hoặc trên bộ lưu trữ được mã hóa điện thoại của bạn. Ba lớp mã hóa có nghĩa là gần như không thể lấy được dữ liệu và ngay cả khi bạn có thể vô dụng mà không có cách nào để giải mã nó.
Android yêu cầu dữ liệu vân tay của bạn được bảo mật bằng một khóa duy nhất và bạn không thể mang nó đến một điện thoại khác hoặc sử dụng lại cho người dùng khác.
Dữ liệu xác nhận được lưu trữ bên trong TEE. Khi bạn đặt ngón tay lên máy quét để thử và làm một cái gì đó, máy quét sẽ tạo một hồ sơ dữ liệu. Thông qua API Trusty, ứng dụng được liên kết yêu cầu kernel hỏi TEE nếu nó đúng. TEE kiểm tra dữ liệu xác nhận được lưu trữ bằng bộ xử lý và bộ nhớ riêng biệt và nếu đủ dữ liệu khớp với nó thì có. Nếu không có đủ dữ liệu phù hợp, nó nói không. Phản hồi vượt qua hoặc không thành công này được gửi lại cho kernel dưới dạng mã thông báo phần mềm mà API có thể đọc để xem kết quả.
Mặc dù TEE sử dụng một hệ điều hành và phần cứng độc lập để giữ an toàn, mẫu vân tay sử dụng mã hóa dựa trên phần mềm. Nó phải được ký bởi một khóa rất cụ thể để có hiệu lực. Khóa này được tạo bằng thông tin cụ thể của thiết bị, thông tin cụ thể của người dùng và thông tin cụ thể theo thời gian. Nói cách khác, nếu bạn xóa người dùng, thay đổi thiết bị hoặc cố gắng đăng ký lại dấu vân tay (hệ thống có thể cho biết nếu bạn ghi đè dấu vân tay hiện tại), khóa không còn được nhận ra và không thể được sử dụng để giải mã dấu vân tay bản mẫu.
Các quy tắc cơ bản mà mọi công ty sản xuất điện thoại Android có cảm biến vân tay phải tuân theo:
- Tất cả các phân tích dữ liệu vân tay phải được thực hiện trong TEE
- Tất cả dữ liệu liên quan đến dấu vân tay phải được lưu trữ trong TEE hoặc trong bộ nhớ tin cậy (bộ nhớ mà CPU chính thậm chí không thể nhìn thấy)
- Dữ liệu hồ sơ vân tay phải được tự mã hóa ngay cả khi được lưu trữ trong bộ lưu trữ điện thoại được mã hóa
- Xóa tài khoản người dùng cũng phải xóa an toàn mọi dữ liệu liên quan đến dấu vân tay của người dùng đó
- Nơi hồ sơ vân tay được lưu trữ không được hiển thị cho bất kỳ ứng dụng, quy trình hoặc người dùng nào kể cả người dùng root
- Dữ liệu vân tay của bất kỳ loại nào không được sao lưu vào bất kỳ nguồn nào khác, bao gồm đám mây hoặc máy tính của bạn hoặc bất kỳ ứng dụng nào
- Xác thực dấu vân tay phải được sử dụng theo quy trình yêu cầu (không chia sẻ bất kỳ dữ liệu vân tay nào, thậm chí chỉ có câu trả lời có hoặc không để xem có đúng không)
Khi bạn có một vài thông số kỹ thuật tiêu chuẩn rõ ràng, không khó để đáp ứng chúng. Đây là điều đảm bảo rằng bất kể điện thoại Android nào bạn đang sử dụng dữ liệu vân tay của bạn sẽ được lưu trữ an toàn và không có quy trình hoặc ứng dụng hệ thống nào khác có thể truy cập được. Khi mật mã phát triển, đặc biệt là mã hóa dựa trên phần cứng, phương pháp này sẽ giữ an toàn cho dữ liệu vân tay của bạn. Sẽ rất thú vị khi nhìn lại một khi Android Z ra mắt và xem chúng ta đã đi được bao xa.