Al centro di AAOS SDV si trova l'architettura orientata ai servizi (SOA), che fornisce modularità decomponendo l'intero sistema in singoli componenti chiamati pacchetti di servizi. Questi pacchetti di servizi devono essere identificati e autenticati per garantire il funzionamento sicuro del sistema distribuito.
Il controller e il registro dei servizi automobilistici nativi (Service Discovery Agent) è un sistema distribuito implementato all'interno del profilo AAOS SDV Core per facilitare l'identificazione e l'autenticazione dei servizi.
Un pacchetto di servizi può avere più istanze in una o più VM. Ogni istanza del pacchetto di servizi riceve un'identità univoca del veicolo da Service Discovery Agent.
Identificatori delle istanze dei pacchetti di servizi
Un'istanza in esecuzione di un pacchetto di servizi, ovvero un processo del sistema operativo, ha due identificatori univoci a livello di veicolo:
- Un nome completo dell'istanza del pacchetto di servizi (FQIN)
- Un numero ID dell'istanza del pacchetto di servizi (SID)
Il FQIN rimane lo stesso durante i riavvii dei processi del sistema operativo e i riavvii del sistema. È valido indipendentemente dallo stato del ciclo di vita dell'istanza del pacchetto di servizi a cui fa riferimento.
Il SID è legato alla durata del processo del sistema operativo dell'istanza del pacchetto di servizi. Pertanto, ogni volta che viene avviata (o riavviata) un'istanza del pacchetto di servizi, Service Discovery Agent le assegna un SID diverso. È un valore opaco e imprevedibile. Analogamente a un ID di processo del sistema operativo, un SID diventa non valido non appena il processo del sistema operativo dell'istanza del pacchetto di servizi a cui fa riferimento si arresta. I due identificatori non sono equivalenti.
Poiché il SID è un identificatore temporaneo, nella maggior parte delle situazioni in cui specifichi un'istanza del pacchetto di servizi, utilizza un FQIN.
Identificazione locale
Quando viene avviata un'istanza del pacchetto di servizi, questa si registra con Service Discovery Agent locale, ovvero l'autorità locale che assegna le identità dei pacchetti di servizi (FQIN e SID) ai processi del sistema operativo. Service Discovery Agent riconosce un'istanza del pacchetto di servizi locale dal suo ID utente Linux (UID).
Telecomando
Un'istanza del pacchetto di servizi può creare una coppia di chiavi asimmetriche e associare la sua chiave pubblica al suo FQIN in un certificato X.509. A questo scopo, invia una richiesta di firma del certificato a Service Discovery Agent locale, che è l'autorità di certificazione per tutte le istanze dei pacchetti di servizi in una VM SDV.
Oltre al certificato X.509 firmato da Service Discovery Agent locale, un'istanza del pacchetto di servizi riceve anche un elenco delle chiavi pubbliche radice di tutti gli agenti di rilevamento dei servizi nel veicolo.
Con queste informazioni, due istanze di pacchetti di servizi situate in VM SDV diverse possono identificarsi e autenticarsi a vicenda per stabilire connessioni TLS sicure.