2025년 3월 27일부터 AOSP를 빌드하고 기여하려면 aosp-main
대신 android-latest-release
를 사용하는 것이 좋습니다. 자세한 내용은 AOSP 변경사항을 참고하세요.
DICE의 응용
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
기기 식별자 구성 엔진 (DICE)은 각 기기에 고유한 암호화 ID를 만들어 강력한 증명을 제공하고 기기 무결성을 개선하는 Android 보안 기능입니다. DICE는 강력한 ID 증명 및 보안 통신이 필요한 시나리오에서 사용할 수 있는 기기 ID를 만드는 데 특히 유용합니다.
원격 키 프로비저닝 (RKP)
RKP에 DICE를 사용하면 다음과 같은 몇 가지 주요 이점이 있습니다.
공격 노출 영역 최소화
DICE는 신뢰할 수 있는 실행 환경(TEE)이 아닌 기기에서 사용 가능한 가장 작은 신뢰할 수 있는 컴퓨팅 기반(TCB)(일반적으로 칩 자체)에 신뢰할 수 있는 루트를 기반으로 하여 RKP를 향상시킵니다. 이렇게 하면 공격 노출 영역이 크게 줄어들고 영구적인 RKP 손상의 위험이 최소화됩니다.
TEE 손상으로부터 복구
DICE는 KeyMint에서 생성된 키 증명의 유효성에 영향을 줄 수 있는 TEE 또는 부트로더의 손상에도 기기에 대한 신뢰를 복구하는 메커니즘을 제공합니다.
이전에는 TEE 또는 부트로더의 취약점으로 인해 영향을 받는 모든 기기의 증명 키가 완전히 취소되었으며, 취약점이 패치되더라도 신뢰를 복구할 방법이 없었습니다. 이는 TEE가 Android 자체 검사 부팅을 통해 로드되는 Android 이미지에 대해 원격 확인을 실행했기 때문에 패치가 적용되었음을 원격 당사자에게 증명할 수 없었습니다. DICE는 Android 외부에서도 현재 펌웨어 상태의 원격 확인을 사용 설정하여 이 문제를 해결하므로 영향을 받는 기기가 신뢰를 복구할 수 있습니다.
격리된 환경의 상호 인증
DICE 프로세스가 종료되는 각 애플리케이션 도메인은 ROM에서 파생된 공유 신뢰 루트로 다시 확장되는 인증서 체인이 있는 키 형식의 ID를 수신합니다. DICE 파생 프로세스는 로드 경로가 다르게 갈라짐에 따라 여러 브랜치로 분리되어 모두 동일한 루트를 공유하는 인증서 트리를 형성하고 기기 내 공개 키 인프라 (PKI)를 만듭니다.
이 PKI를 사용하면 별도의 보안 엔클레이브에 있는 구성요소가 서로 상호 인증할 수 있습니다. 한 가지 구체적인 예는 권한이 있는 가상 머신 (pVM)이 TEE와 통신하여 영구 데이터를 안전하게 저장하는 데 사용할 수 있는 안정적인 비밀을 수신할 수 있는 하드웨어 추상화 계층 (HAL)인 Secretkeeper입니다.
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2025-07-27(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 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."]]