게스트 시스템 (VM 이미지) 요구사항

이 페이지의 요구사항은 게스트 시스템에 적용됩니다.

메모리

시스템에는 다음과 같은 최소 메모리 요구사항이 있습니다.

  • 최소 서비스 번들이 있는 시스템의 경우 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).

보안

시스템에는 다음과 같은 보안 요구사항이 있습니다.

바이너리 인터페이스

시스템에는 다음과 같은 바이너리 인터페이스 요구사항이 있습니다. 시스템은 다음을 충족해야 합니다(MUST).

  • 1개 이상의 정의된 Android NDK ABI와 호환되어야 합니다.
  • 다음 ABI의 하위 집합을 보고해야 하며 목록에 없는 ABI는 보고하면 안 됩니다(MUST NOT).
  • 네이티브 API를 제공하는 다음과 같은 라이브러리를 기본 코드를 포함하는 앱에 제공해야 합니다.
    • libc (C 라이브러리)
    • libdl (동적 링커)
    • libicui18n.so
    • libicuuc.so
    • liblog (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를 참고하세요.

업데이트 가능한 소프트웨어

호스트 시스템 (하이퍼바이저)

다음 섹션의 요구사항은 호스트 시스템 및 하이퍼바이저 환경에 적용됩니다.

연결

호스트 시스템에는 다음과 같은 연결 요구사항이 있습니다.

  • 기기는 하나 이상의 이더넷 연결을 지원해야 합니다(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).