Confianza del dispositivo

Un paso fundamental en el proceso de autenticación de una VM de SDV de Android de par es determinar si esa VM de par se ejecuta en un dispositivo de confianza. Solo las VMs que ejecutan software verificado en dispositivos de confianza pueden unirse a la malla segura de SDV. Para obtener detalles sobre el proceso de verificación de software de pares, consulta el perfil de SDV para DICE.

Para la confianza del dispositivo, el SDV de Android define dos autoridades distintas con diferentes poderes:

  • Asignar confianza al dispositivo: solo el OEM tiene esta autoridad.

  • Define el conjunto de dispositivos cuyas VMs constituyen la malla segura de SDV de un vehículo. El OEM debe asignar y controlar el acceso. El personal que reemplaza las piezas tiene esta autoridad.

En las siguientes secciones, se describen los detalles de la membresía y la confianza de los dispositivos de malla.

Archivo uds_pubs

Los dispositivos se identifican de forma inequívoca por sus respectivas claves públicas de secreto de dispositivo único (UDS).

Cuando una VM de SDV de Android se une a la malla segura de SDV, decimos conceptualmente que el dispositivo en el que se ejecuta esa VM se unió a la malla segura de SDV.

El archivo uds_pubs contiene las claves públicas de UDS de todos los dispositivos que son aptos para unirse a la malla segura de SDV. Este archivo se crea en el flujo de aprovisionamiento de fábrica y se actualiza en el flujo de reemplazo de piezas. Este archivo se encuentra en la partición vvmtruststore.

La inclusión en esta lista no implica confianza. Para que un dispositivo se una a la malla segura de SDV, se deben cumplir dos condiciones:

  • La clave pública (o las claves) de UDS debe estar en uds_pubs.
  • El dispositivo debe ser confiable.

Métodos de confianza del dispositivo

Para que una VM de SDV de Android confíe en un dispositivo en el que se ejecuta una VM de SDV de Android par, existen dos métodos:

  • El dispositivo tiene certificados de UDS. Este es el método preferido.
  • Los dispositivos se vinculan de forma permanente entre sí durante el flujo de aprovisionamiento de fábrica. Esto se expresa con VVMFactoryTrust. Este es el método alternativo que los OEM pueden usar cuando no es técnicamente factible proporcionar certificados de UDS a los dispositivos en la línea de ensamblaje del vehículo (o antes).

Certificados de UDS

La VM de SDV de Android de par puede presentar un certificado de UDS para su clave pública de UDS.

La clave pública de la autoridad de aprovisionamiento raíz de UDS, que funciona como el ancla de confianza definitiva para la autenticación de dispositivos, se define en el archivo vvmconfig.

Los certificados de UDS de la VM se almacenan en el archivo uds_certs de la partición vvmtruststore.

La compatibilidad con este método de confianza del dispositivo es obligatoria.

Vincula los dispositivos con VVMFactoryTrust

Los dispositivos aprovisionados juntos se pueden vincular de forma permanente, lo que crea un grupo de confianza que no depende de los certificados de UDS. Esto elimina la necesidad de que la infraestructura de clave pública asociada genere esos certificados. Esta confianza inherente es específica de ese grupo. Por lo tanto, si se reemplaza cualquier dispositivo dentro de este grupo vinculado, se revoca la confianza establecida para todo el grupo.

Esta vinculación permanente se logra con VVMFactoryTrust, que es un hash del archivo uds_pubs almacenado en la memoria programable de un solo uso (OTP).

Más específicamente, es un valor de 32 bytes que almacena el SHA256 de uds_pubs tal como estaba durante el aprovisionamiento. Ese valor se pasa al SDV de Android como un parámetro del kernel. Si el VVMFactoryTrust almacenado coincide con el hash de uds_pubs, se confía en los dispositivos identificados por esas claves públicas de UDS.

Para garantizar que quienes solo tienen autorización para reemplazar piezas tampoco obtengan la autoridad para asignar la confianza del dispositivo, solo deben recibir dispositivos con un VVMFactoryTrust que no se pueda escribir. Sin esta precaución, un técnico del taller podría mezclar dispositivos auténticos y no auténticos durante un reemplazo completo de los dispositivos del vehículo.

La compatibilidad con este método de confianza de hardware es opcional y solo se debe implementar si no es posible aprovisionar certificados de UDS en la línea de montaje del vehículo (o antes).