Ứng dụng của DICE

Công cụ kết hợp giá trị nhận dạng thiết bị (DICE) cải thiện trạng thái bảo mật của Android theo một số cách khác nhau, với nhiều trường hợp sử dụng đang được phát triển khi việc tích hợp cấu trúc này mở rộng.

Cung cấp khoá từ xa

Trường hợp sử dụng ban đầu của DICE là đặt gốc niềm tin cho giao thức cấp khoá từ xa (RKP) trong TCB nhỏ nhất có sẵn cho khối xếp, ROM, thay vì trong TEE. Điều này giúp giảm đáng kể bề mặt tấn công đối với việc RKP xâm phạm vĩnh viễn. Quan trọng hơn, phương thức này cấp khả năng khôi phục niềm tin trên các thiết bị sau khi TEE hoặc trình tải khởi động bị xâm phạm. Điều này có thể ảnh hưởng đến tính hợp lệ của các quy trình chứng thực khoá mà KeyMint tạo ra.

Trước đây, các lỗ hổng trong TEE hoặc trình tải khởi động đã dẫn đến việc thu hồi toàn bộ khoá chứng thực cho tất cả thiết bị bị ảnh hưởng, không có cách nào để khôi phục niềm tin ngay cả khi các lỗ hổng đã được vá. Nguyên nhân là do không thể chứng minh cho bên từ xa rằng các bản vá đã được áp dụng, vì quá trình xác minh từ xa do TEE thực hiện trên hình ảnh Android đang được tải thông qua tính năng Khởi động được xác minh của Android. DICE giúp thu hẹp khoảng cách đó bằng cách cho phép xác minh từ xa trạng thái hiện tại của chương trình cơ sở được tải bên ngoài Android.

Xác thực lẫn nhau của các môi trường tách biệt

Mỗi miền ứng dụng mà DICE kết thúc sẽ nhận được một danh tính ở dạng khoá với một chuỗi chứng chỉ mở rộng trở lại gốc tin cậy dùng chung do ROM tạo ra. Vì quá trình dẫn xuất DICE phân nhánh khi các đường dẫn tải tách ra, nên quá trình này sẽ tạo ra một cây chứng chỉ có chung gốc. Do đó, PKI trên thiết bị được tạo trong quá trình DICE.

PKI do quy trình dẫn xuất DICE tạo ra sẽ tạo ra một cơ chế cho các thành phần trong các vùng chứa bảo mật riêng biệt để xác thực lẫn nhau. Một ví dụ cụ thể cho việc này là SecretKeeper, một HAL đáng tin cậy cho phép pVM giao tiếp với TEE để nhận khoá bí mật ổn định, có thể dùng để lưu trữ dữ liệu cố định một cách an toàn.