Identité du pack de services

L'élément central de l'AAOS SDV est l'architecture orientée services (SOA), qui offre une modularité en décomposant l'ensemble du système en composants individuels appelés packs de services. Ces packs de services doivent être identifiés et authentifiés pour garantir le fonctionnement sûr et sécurisé du système distribué.

Le contrôleur et le registre de services automobiles natifs (agent de découverte de services) sont un système distribué implémenté dans le profil AAOS SDV Core pour faciliter l'identification et l'authentification des services.

Un pack de services peut comporter plusieurs instances dans une ou plusieurs VM. Chaque instance de pack de services reçoit une identité unique du véhicule de l'agent de découverte de services.

Identifiants d'instance de pack de services

Une instance en cours d'exécution d'un pack de services, qui est un processus de système d'exploitation, possède deux identifiants uniques à l'échelle du véhicule :

  • Un nom d'instance de pack de services complet (FQIN)
  • Un numéro d'ID d'instance de pack de services (SID)

Le FQIN reste le même lors des redémarrages du processus de système d'exploitation et du système. Il est valide indépendamment de l'état du cycle de vie de l'instance de pack de services à laquelle il fait référence.

Le SID est lié à la durée de vie du processus de système d'exploitation de l'instance de pack de services. Par conséquent, chaque fois qu'une instance de pack de services est démarrée (ou redémarrée), l'agent de découverte de services lui attribue un SID différent. Il s'agit d'une valeur opaque et imprévisible. Comme un ID de processus de système d'exploitation, un SID devient invalide dès que le processus de système d'exploitation de l'instance de pack de services à laquelle il fait référence s'arrête. Les deux identifiants ne sont pas équivalents.

Étant donné que le SID est un identifiant temporaire, dans la plupart des cas où vous spécifiez une instance de pack de services, utilisez un FQIN.

Identification locale

Lorsqu'une instance de pack de services démarre, elle s'enregistre auprès de l'agent de découverte de services local, qui est l'autorité locale qui attribue des identités de pack de services (FQIN et SID) aux processus de système d'exploitation. L'agent de découverte de services reconnaît une instance de pack de services local à partir de son ID utilisateur Linux (UID).

Identification à distance

Une instance de pack de services peut créer une paire de clés asymétriques et associer sa clé publique à son FQIN dans un certificat X.509. Pour ce faire, elle envoie une demande de signature de certificat à son agent de découverte de services local, qui est l'autorité de certification pour toutes les instances de pack de services d'une VM SDV.

En plus du certificat X.509 signé par l'agent de découverte de services local, une instance de pack de services reçoit également une liste des clés publiques racines de tous les agents de découverte de services du véhicule.

Grâce à ces informations, deux instances de pack de services situées dans différentes VM SDV peuvent s'identifier et s'authentifier mutuellement pour établir des connexions TLS sécurisées.