DICE의 응용

기기 식별자 구성 엔진 (DICE)은 각 기기에 고유한 암호화 ID를 만들어 강력한 증명을 제공하고 기기 무결성을 개선하는 Android 보안 기능입니다. DICE는 강력한 ID 증명 및 보안 통신이 필요한 시나리오에서 사용할 수 있는 기기 ID를 만드는 데 특히 유용합니다.

원격 키 프로비저닝 (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입니다.