Kể từ ngày 27 tháng 3 năm 2025, bạn nên sử dụng android-latest-release
thay vì aosp-main
để xây dựng và đóng góp cho AOSP. Để biết thêm thông tin, hãy xem phần Thay đổi đối với AOSP.
Ứng dụng của DICE
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Công cụ kết hợp giá trị nhận dạng thiết bị (DICE) là một tính năng bảo mật của Android, cung cấp tính năng chứng thực mạnh mẽ và cải thiện tính toàn vẹn của thiết bị bằng cách tạo một danh tính mã hoá duy nhất cho mỗi thiết bị. DICE đặc biệt hữu ích trong việc tạo danh tính thiết bị có thể được sử dụng trong các trường hợp yêu cầu bằng chứng danh tính mạnh và giao tiếp an toàn.
Cung cấp khoá từ xa (RKP)
Việc sử dụng DICE cho RKP mang lại một số lợi ích chính.
Giảm thiểu bề mặt tấn công
DICE tăng cường RKP bằng cách đặt gốc niềm tin vào cơ sở điện toán đáng tin cậy (TCB) nhỏ nhất có thể có trên thiết bị, thường là chính khối xếp, thay vì trong Môi trường thực thi đáng tin cậy (TEE). Điều này làm giảm đáng kể bề mặt tấn công và giảm thiểu nguy cơ xâm phạm RKP
vĩnh viễn.
Khôi phục sau khi bị xâm phạm TEE
DICE cung cấp một cơ chế để khôi phục niềm tin vào thiết bị ngay cả khi có sự xâm phạm trong TEE hoặc trình tải khởi động có thể ảnh hưởng đến tính hợp lệ của chứng thực khoá do 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 hoàn toàn 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 TEE đã thực hiện quy trình xác minh từ xa qua 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, khiến không thể chứng minh cho bên từ xa rằng các bản vá đã được áp dụng. DICE giải quyết vấn đề này bằng cách bật tính năng xác minh từ xa trạng thái chương trình cơ sở hiện tại, ngay cả bên ngoài Android, cho phép các thiết bị bị ảnh hưởng khôi phục niềm tin.
Xác thực lẫn nhau của các môi trường biệt lập
Mỗi miền ứng dụng mà quy trình 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. Quá trình dẫn xuất DICE tách thành nhiều nhánh khi các đường dẫn tải khác nhau phân kỳ, tạo thành một cây chứng chỉ mà tất cả đều có cùng gốc và tạo ra một cơ sở hạ tầng khoá công khai (PKI) trên thiết bị.
PKI này cho phép các thành phần trong các vùng bảo mật riêng biệt xác thực lẫn nhau. Một ví dụ cụ thể là Secretkeeper, một lớp trừu tượng phần cứng (HAL) cho phép các máy ảo đặc quyền (pVM) giao tiếp với TEE để nhận một khoá bí mật ổn định có thể dùng để lưu trữ dữ liệu ổn định một cách an toàn.
Nội dung và mã mẫu trên trang này phải tuân thủ các giấy phép như mô tả trong phần Giấy phép nội dung. Java và OpenJDK là nhãn hiệu hoặc nhãn hiệu đã đăng ký của Oracle và/hoặc đơn vị liên kết của Oracle.
Cập nhật lần gần đây nhất: 2025-07-27 UTC.
[[["Dễ hiểu","easyToUnderstand","thumb-up"],["Giúp tôi giải quyết được vấn đề","solvedMyProblem","thumb-up"],["Khác","otherUp","thumb-up"]],[["Thiếu thông tin tôi cần","missingTheInformationINeed","thumb-down"],["Quá phức tạp/quá nhiều bước","tooComplicatedTooManySteps","thumb-down"],["Đã lỗi thời","outOfDate","thumb-down"],["Vấn đề về bản dịch","translationIssue","thumb-down"],["Vấn đề về mẫu/mã","samplesCodeIssue","thumb-down"],["Khác","otherDown","thumb-down"]],["Cập nhật lần gần đây nhất: 2025-07-27 UTC."],[],[],null,["# Applications of DICE\n\nThe [Device Identifier Composition\nEngine (DICE)](/docs/security/features/dice) is an Android security feature that provides strong attestation and improves\ndevice integrity by creating a unique cryptographic identity for each device. DICE is especially\nuseful for creating device identities that can be used in scenarios requiring strong proof of\nidentity and secure communications.\n\nRemote Key Provisioning (RKP)\n-----------------------------\n\n\nThere are several key benefits that come from using DICE for RKP.\n\n### Minimization of the attack surface\n\n\nDICE enhances RKP by grounding the root of trust in the smallest possible\n[trusted computing base (TCB)](https://en.wikipedia.org/wiki/Trusted_computing_base)\navailable on the device, usually the chip itself, rather than within the Trusted Execution\nEnvironment (TEE). This greatly reduces the attack surface and minimizes the risk of permanent RKP\ncompromise.\n\n### Recovery from TEE compromises\n\n\nDICE provides a mechanism to recover trust in devices even if there are compromises in the TEE or\nbootloader that could affect the validity of the key attestations generated by\n[KeyMint](/docs/security/features/keystore/attestation#attestation-extension).\n\n\nHistorically, vulnerabilities in the\n[TEE](https://en.wikipedia.org/wiki/Trusted_execution_environment)\nor [bootloader](/docs/core/architecture/bootloader) led to\nfull revocation of attestation keys for all affected devices, with no path to recover trust even\nif the vulnerabilities were patched. This was because the TEE performed remote verification over\nthe Android image being loaded through the\n[Android Verified Boot](/docs/security/features/verifiedboot),\nmaking it impossible to prove to a remote party that the patches had been applied. DICE addresses\nthis issue by enabling remote verification of current firmware state, even outside of Android,\nallowing affected devices to recover trust.\n\nMutual authentication of isolated environments\n----------------------------------------------\n\n\nEach application domain that the DICE process terminates in receives an identity in the form of a\nkey with a certificate chain extending back to the shared root of trust derived by the ROM. The\nDICE derivation process separates into different branches as different loading paths diverge,\nforming a tree of certificates that all share the same root and creating an on-device public key\ninfrastructure (PKI).\n\n\nThis PKI enables components in separate secure enclaves to mutually authenticate one another. One\nconcrete example is [Secretkeeper](https://android.googlesource.com/platform/system/secretkeeper/),\na [hardware abstraction layer (HAL)](/docs/core/architecture/hal)\nthat allows privileged virtual machines (pVMs) to communicate with the TEE to receive a stable\nsecret that can be used to securely store persistent data."]]