Identidad del paquete de servicio

En el núcleo del SDV de AAOS se encuentra la arquitectura orientada a servicios (SOA), que proporciona modularidad al descomponer todo el sistema en componentes individuales llamados paquetes de servicios. Estos paquetes de servicios deben identificarse y autenticarse para garantizar el funcionamiento seguro del sistema distribuido.

El registro y el controlador de servicios automotrices nativos (agente de detección de servicios) son un sistema distribuido implementado en el perfil de AAOS SDV Core para facilitar los servicios con identificación y autenticación.

Un paquete de servicios puede tener varias instancias en una o más VMs. Cada instancia del paquete de servicios recibe una identidad única del vehículo del agente de Service Discovery.

Identificadores de instancias de paquetes de servicios

Una instancia en ejecución de un paquete de servicios, que es un proceso del SO, tiene dos identificadores únicos para todo el vehículo:

  • Nombre de instancia del paquete de servicio completamente calificado (FQIN)
  • Un número de ID (SID) de instancia de paquete de servicio

El FQIN sigue siendo el mismo en los reinicios del proceso del SO y del sistema. Es válido independientemente del estado del ciclo de vida de la instancia del paquete de servicios al que hace referencia.

El SID está vinculado al ciclo de vida del proceso del SO de la instancia del paquete de servicios. Por lo tanto, cada vez que se inicia (o reinicia) una instancia de paquete de servicios, el agente de Service Discovery le asigna un SID diferente. Es un valor opaco y no predecible. Al igual que un ID de proceso del SO, un SID deja de ser válido en cuanto se detiene el proceso del SO de la instancia del paquete de servicio al que hace referencia. Los dos identificadores no son equivalentes.

Dado que el SID es un identificador transitorio, en la mayoría de las situaciones en las que especificas una instancia de paquete de servicio, usa un FQIN.

Identificación local

Cuando se inicia una instancia del paquete de servicios, se registra con el agente local de Service Discovery, que es la autoridad local que asigna identidades de paquete de servicios (FQIN y SID) a los procesos del SO. El agente de Service Discovery reconoce una instancia local del paquete de servicios por su ID de usuario (UID) de Linux.

Identificación remota

Una instancia de paquete de servicio puede crear un par de claves asimétricas y asociar su clave pública con su FQIN en un certificado X.509. Para ello, envía una solicitud de firma de certificado a su agente de Service Discovery local, que es la autoridad certificadora de todas las instancias del paquete de servicios en una VM de SDV.

Junto con el certificado X.509 firmado por el agente de Service Discovery local, una instancia de paquete de servicio también recibe una lista de las claves públicas raíz de todos los agentes de Service Discovery del vehículo.

Con esta información, dos instancias de paquetes de servicios ubicadas en diferentes VMs de SDV pueden identificarse y autenticarse entre sí para establecer conexiones TLS seguras.