对等 Android SDV 虚拟机的身份验证过程中的一个基本步骤是确定该对等虚拟机是否在可信设备上运行。只有在可信设备上运行经过验证的软件的虚拟机才能加入 SDV 安全网格。如需详细了解对等软件验证过程,请参阅 DICE 的 SDV 配置文件。
对于设备信任,Android SDV 定义了两个具有不同权限的独立授权机构:
分配设备信任:只有 OEM 具有此权限。
定义一组设备,这些设备的虚拟机构成车辆的 SDV 安全网格。 OEM 必须分配和控制访问权限;更换部件的人员具有此权限。
以下部分详细介绍了网格设备成员资格和设备信任。
uds_pubs 文件
设备由其各自的 唯一设备密钥 (UDS) 公钥明确标识。
当 Android SDV 虚拟机加入 SDV 安全网格时,我们从概念上讲,运行该虚拟机的设备已加入 SDV 安全网格。
uds_pubs 文件包含有资格加入 SDV 安全网状网的所有设备的 UDS 公钥。此文件是在
出厂配置流程中创建的,并在部件更换流程中更新。
此文件位于 vvmtruststore 分区。
列入此列表并不意味着信任。如需让设备加入 SDV 安全网格,必须满足以下两个条件:
- UDS 公钥必须位于
uds_pubs中。 - 必须是可信设备。
设备信任方法
如需让 Android SDV 虚拟机信任运行对等 Android SDV 虚拟机的设备,有两种方法:
- 设备携带 UDS 证书。这是首选方法。
- 在出厂配置流程中,设备永久绑定在一起。这由 VVMFactoryTrust 表示。这是 OEM 可以使用的替代方法,当在车辆装配线(或之前)向设备提供 UDS 证书在技术上不可行时,可以使用此方法。
UDS 证书
对等 Android SDV 虚拟机可以提供其 UDS 公钥的 UDS 证书。
UDS 根配置授权机构的公钥(用作设备身份验证的
最终信任锚点)在
vvmconfig文件中定义。
虚拟机自己的 UDS 证书存储在 vvmtruststore 分区中的 uds_certs 文件中。
必须支持此设备信任方法。
使用 VVMFactoryTrust 将设备绑定在一起
一起配置的设备可以永久绑定,从而创建一个不依赖于 UDS 证书的可信群组。这样就不需要关联的公钥基础架构来生成这些证书。这种固有的信任特定于该群组。因此,如果此绑定群组中的任何设备被替换,则整个群组的已建立信任将被撤消。
这种永久绑定是通过 VVMFactoryTrust 实现的,VVMFactoryTrust 是存储在一次性可编程 (OTP) 内存中的 uds_pubs 文件的哈希值。
更具体地说,它是一个 32 字节的值,用于存储配置期间的 uds_pubs 的 SHA256。该值作为 [内核
参数]vvmfactorytrust 内核参数传递给 Android SDV。如果存储的 VVMFactoryTrust 与 uds_pubs 的哈希值匹配,则由这些 UDS 公钥标识的设备是可信的。
为确保仅有权执行部件更换的人员也无法获得分配设备信任的权限,他们应仅接收具有无法写入的 VVMFactoryTrust 的设备。如果没有此预防措施,车间技术人员可能会在更换整车设备期间混用真假设备。
此硬件信任方法是可选的,只有在无法在车辆装配线(或之前)配置 UDS 证书时才应实现。