이 페이지의 요구사항은 게스트 시스템에 적용됩니다.
메모리
시스템에는 다음과 같은 최소 메모리 요구사항이 있습니다.
- 최소 서비스 번들이 있는 시스템의 경우 1GB 메모리
- VM당 2GB 메모리 (권장)
CPU
CPU에는 다음과 같은 요구사항이 있습니다.
- 가상화 확장 프로그램이 있는 x86_64 또는 arm64-v8a 이상 지원
- 최소 2.3 DMIPS/MHz, 7 DMIPS/MHz 권장
커널
커널에는 다음과 같은 요구사항이 있습니다.
- 시스템은 GKI 커널을 사용해야 합니다(MUST).
- SDV는 GKI 버전 6.6 및 6.12를 지원합니다.
스토리지
시스템에는 다음과 같은 스토리지 요구사항이 있습니다.
- 시스템은 최소 3GB의 파일 저장용량을 제공해야 합니다(MUST).
- 기기는 앱 비공개 데이터를 암호화해야 합니다(MUST).
- 데이터 저장소 암호화는 기본적으로 사용 설정되어야 합니다(MUST).
- 기기는 다음 암호화 방법 중 하나를 사용하여 이 데이터 저장소 암호화 요구사항을 구현해야 합니다(MUST).
- 파일 기반 암호화 (FBE) (FBE 문서) 및 메타데이터 암호화
- 사용자별 블록 수준 암호화
- 기기는 최소 Android 14 보안 모델 호환성 - 9.12 데이터 삭제를 지원해야 합니다(MUST).
전원 관리
시스템에는 다음과 같은 전원 관리 요구사항이 있습니다.
- RAM 일시중단 및 디스크 일시중단에 대한 시스템 지원을 적극 권장합니다(STRONGLY RECOMMENDED).
- 시스템은 호스트 시스템의 절전 모드 해제 신호에 반응해야 합니다(MUST).
보안
시스템에는 다음과 같은 보안 요구사항이 있습니다.
- Android 14 보안 모델 호환성 - 9.7 보안 기능을 채택합니다.
- 시스템은 DICE용 Android 프로필의 확장 프로그램인 DICE용 SDV 프로필을 사용하여 OpenDICE 체인을 지원해야 합니다(MUST).
- 시스템은 KeyMint v3 이상 및
IRemotelyProvisionedComponentHAL v3을 지원해야 합니다(MUST). - DICE 체인 설계를 사용하는 것이 좋습니다(STRONGLY RECOMMENDED).
바이너리 인터페이스
시스템에는 다음과 같은 바이너리 인터페이스 요구사항이 있습니다. 시스템은 다음을 충족해야 합니다(MUST).
- 1개 이상의 정의된 Android NDK ABI와 호환되어야 합니다.
- 다음 ABI의 하위 집합을 보고해야 하며 목록에 없는 ABI는 보고하면 안 됩니다(MUST NOT).
- 네이티브 API를 제공하는 다음과 같은 라이브러리를 기본 코드를 포함하는 앱에 제공해야 합니다.
libc(C 라이브러리)libdl(동적 링커)libicui18n.solibicuuc.soliblog(Android 로깅)libm(수학 라이브러리)libstdc++(C++ 최소 지원)libz(Zlib 압축)
네트워킹
시스템은 다음을 충족해야 합니다.
- 이더넷을 사용하여 TCP 및 UDP를 지원해야 합니다(MUST).
vsock게스트-호스트 통신을 지원해야 합니다(MUST).vsock게스트-게스트 통신을 지원해야 합니다(SHOULD).
UID 및 프로세스 격리
기기 구현은 다음을 지원해야 합니다(MUST).
- 각 앱이 별도의 프로세스에서 고유한 Unix 스타일 UID로 실행되는 Android 앱 샌드박스 모델 각 Android CDD를 참고하세요.
- 보안 및 권한 참조에 정의된 대로 앱이 올바르게 서명되고 구성되어야 한다는 전제하에 여러 앱을 동일한 Linux 사용자 ID로 실행 각 Android CDD를 참고하세요.
- 보안 및 권한 참조에 정의된 Android 파일 액세스 권한 모델 각 Android CDD를 참고하세요.
업데이트 가능한 소프트웨어
- Android 14 업데이트 가능한 소프트웨어를 채택합니다.
호스트 시스템 (하이퍼바이저)
다음 섹션의 요구사항은 호스트 시스템 및 하이퍼바이저 환경에 적용됩니다.
연결
호스트 시스템에는 다음과 같은 연결 요구사항이 있습니다.
- 기기는 하나 이상의 이더넷 연결을 지원해야 합니다(MUST).
- 시스템은 게스트에 가상 이더넷 기기를 제공하거나 기존 기기를 게스트에 매핑해야 합니다(MUST).
가상화
호스트 시스템에는 다음과 같은 가상화 요구사항이 있습니다.
- 가상 기기를 구현하는 데 VirtIO를 사용하는 것이 좋습니다(STRONGLY RECOMMENDED). 시스템은 다음 VirtIO 기기를 지원해야 합니다(MUST).
virtio-blk: 가상 블록 기기 (스토리지)용virtio-console: 가상 직렬 콘솔용virtio-net: 가상 네트워크 인터페이스용virtio-pci: 가상 PCI 버스를 통해 virtio 기기를 검색하기 위한virtio-rng: 가상 하드웨어 난수 생성기용virtio-vsock: 호스트-게스트 통신용
- 게스트와 호스트는
vsock을 사용하여 통신해야 합니다(MUST). - 호스트는
vsock또는 이더넷을 사용하여 게스트-게스트 통신을 사용 설정해야 합니다(MUST).
시간 동기화
호스트 시스템에는 다음과 같은 시간 동기화 요구사항이 있습니다.
- 호스트 시스템은 모든 게스트 VM에 안정적이고 일관된 시간 소스를 제공하여 VM 간 일관성을 제공해야 합니다. 이는 디버깅 및 추적에 도움이 됩니다.
- 호스트의 시간을 게스트에 노출하려면
virtio-rtc를 사용하는 것이 좋습니다.
업데이트 가능한 소프트웨어
- 호스트 시스템은 무선 업데이트(OTA)가 가능해야 합니다(MUST). 업데이트 메커니즘은 전원 손실에 탄력적이어야 합니다(MUST).
보안
호스트 시스템에는 다음과 같은 보안 요구사항이 있습니다.
- 호스트 시스템은 DICE용 Android 프로필의 확장 프로그램인 DICE용 SDV 프로필을 사용하여 OpenDICE 체인을 지원해야 합니다(MUST).
- 호스트 시스템은 서로 다른 게스트 간에 KeyMint 키를 안전하게 격리해야 합니다(MUST).
전력 모드
호스트 시스템에는 다음과 같은 전력 모드 요구사항이 있습니다.
- 시스템은 RAM 일시중단을 지원해야 합니다.
- 호스트 시스템은 절전 모드(RAM 또는 디스크)에서 절전 모드 해제를 시작해야 합니다(MUST).
부팅 및 종료
호스트 시스템에는 다음과 같은 부팅 및 종료 요구사항이 있습니다.
- 호스트 시스템은 자동차 사용성 요구사항 (예: 후방 카메라 사용 가능 여부)을 충족하기 위해 빠른 부팅 시간을 지원하도록 설계되어야 합니다. 즉, 호스트 시스템이 시작하는 데 100ms 이하가 걸려야 합니다.
- 호스트는 점화 종료 이벤트 시 게스트 VM의 완전 종료를 사용 설정해야 합니다(MUST).
CPU
기기는 64비트 ABI를 선언해야 합니다(MUST).
기기는 가상화 확장 프로그램을 지원해야 합니다(MUST).