Tożsamość pakietu usług

U podstaw AAOS SDV leży architektura zorientowana na usługi (SOA), która zapewnia modułowość dzięki rozbiciu całego systemu na poszczególne komponenty nazywane pakietami usług. Te pakiety usług muszą być identyfikowane i uwierzytelniane, aby zapewnić bezpieczne działanie systemu rozproszonego.

Natywny kontroler usług motoryzacyjnych i rejestr (agent wykrywania usług) to system rozproszony zaimplementowany w profilu AAOS SDV Core, aby ułatwić identyfikację i uwierzytelnianie usług.

Pakiet usług może mieć wiele instancji na jednej lub kilku maszynach wirtualnych. Każda instancja pakietu usług otrzymuje od agenta wykrywania usług unikalną tożsamość pojazdu.

Identyfikatory instancji pakietu usług

Działająca instancja pakietu usług, która jest procesem systemu operacyjnego, ma 2 unikalne identyfikatory w całym pojeździe:

  • pełna i jednoznaczna nazwa instancji pakietu usług (FQIN);
  • identyfikator instancji pakietu usług (SID).

FQIN pozostaje taki sam po ponownym uruchomieniu procesu systemu operacyjnego i ponownym uruchomieniu systemu. Jest on ważny niezależnie od stanu cyklu życia instancji pakietu usług, do której się odnosi.

SID jest powiązany z czasem życia procesu systemu operacyjnego instancji pakietu usług. Dlatego za każdym razem, gdy instancja pakietu usług jest uruchamiana (lub ponownie uruchamiana), agent wykrywania usług przypisuje jej inny SID. Jest to nieprzewidywalna, nieprzezroczysta wartość. Podobnie jak identyfikator procesu systemu operacyjnego, SID staje się nieprawidłowy, gdy tylko proces systemu operacyjnego instancji pakietu usług, do której się odnosi, zostanie zatrzymany. Te 2 identyfikatory nie są równoważne.

Ponieważ SID jest identyfikatorem tymczasowym, w większości sytuacji, w których określasz instancję pakietu usług, używaj FQIN.

Identyfikacja lokalna

Gdy instancja pakietu usług zostanie uruchomiona, rejestruje się w lokalnym agencie wykrywania usług, który jest lokalnym organem przypisującym tożsamości pakietu usług (FQIN i SID) do procesów systemu operacyjnego. Agent wykrywania usług rozpoznaje lokalną instancję pakietu usług na podstawie jej identyfikatora użytkownika systemu Linux (UID).

Identyfikacja zdalna

Instancja pakietu usług może utworzyć parę kluczy asymetrycznych i powiązać swój klucz publiczny z FQIN w certyfikacie X.509. W tym celu wysyła żądanie podpisania certyfikatu do lokalnego agenta wykrywania usług, który jest urzędem certyfikacji dla wszystkich instancji pakietu usług na maszynie wirtualnej SDV.

Oprócz certyfikatu X.509 podpisanego przez lokalnego agenta wykrywania usług instancja pakietu usług otrzymuje też listę głównych kluczy publicznych wszystkich agentów wykrywania usług w pojeździe.

Dzięki tym informacjom 2 instancje pakietu usług znajdujące się na różnych maszynach wirtualnych SDV mogą się identyfikować i uwierzytelniać, aby nawiązywać bezpieczne połączenia TLS.