В основе AAOS SDV лежит сервисно-ориентированная архитектура (SOA), которая обеспечивает модульность за счет декомпозиции всей системы на отдельные компоненты, называемые пакетами сервисов . Эти пакеты сервисов должны быть идентифицированы и аутентифицированы для обеспечения безопасной и надежной работы распределенной системы.
Встроенный контроллер и реестр автомобильных сервисов (агент обнаружения сервисов) представляет собой распределенную систему, реализованную в рамках профиля AAOS SDV Core для обеспечения идентификации и аутентификации сервисов.
Пакет служб может содержать несколько экземпляров в одной виртуальной машине или перемещаться между ними. Каждый экземпляр пакета служб получает уникальный идентификатор от агента обнаружения служб.
Идентификаторы экземпляров пакетов служб
Запущенный экземпляр пакета служб, являющийся процессом операционной системы, имеет два уникальных идентификатора, действующих на весь автомобиль:
- Полное имя экземпляра пакета служб (FQIN)
- Идентификационный номер экземпляра пакета услуг (SID)
FQIN остается неизменным при перезапуске процессов операционной системы и перезагрузке системы. Он действителен независимо от состояния жизненного цикла экземпляра пакета служб, на который он ссылается.
Идентификатор службы (SID) привязан к времени жизни процесса операционной системы, к которому относится экземпляр пакета служб. Поэтому каждый раз, когда экземпляр пакета служб запускается (или перезапускается), агент обнаружения служб присваивает ему другой SID. Это непредсказуемое, непрозрачное значение. Подобно идентификатору процесса операционной системы, SID становится недействительным, как только процесс операционной системы экземпляра пакета служб, на который он ссылается, останавливается. Эти два идентификатора не эквивалентны.
Поскольку SID является временным идентификатором, в большинстве случаев при указании экземпляра пакета служб используйте FQIN.
Локальная идентификация
Когда запускается экземпляр пакета служб, он регистрируется в локальном агенте обнаружения служб, который является локальным органом, присваивающим идентификаторы пакетов служб (FQIN и SID) процессам операционной системы. Агент обнаружения служб распознает локальный экземпляр пакета служб по его идентификатору пользователя Linux (UID).
Удалённая идентификация
Экземпляр пакета служб может создать асимметричную пару ключей и связать свой открытый ключ с квалифицированным целевым номером (FQIN) в сертификате X.509. Для этого он отправляет запрос на подписание сертификата своему локальному агенту обнаружения служб (Service Discovery Agent), который является центром сертификации для всех экземпляров пакетов служб в виртуальной машине SDV.
Вместе с сертификатом X.509, подписанным локальным агентом обнаружения служб, экземпляр пакета служб также получает список корневых открытых ключей всех агентов обнаружения служб в транспортном средстве.
Используя эту информацию, два экземпляра пакета услуг, расположенные в разных виртуальных машинах SDV, могут идентифицировать и аутентифицировать друг друга для установления защищенных TLS-соединений.