AAOS SDV의 핵심에는 서비스 지향 아키텍처 (SOA)가 있습니다. SOA는 전체 시스템을 서비스 번들이라는 개별 구성요소로 분해하여 모듈성을 제공합니다. 이러한 서비스 번들은 분산 시스템의 안전하고 보안한 작동을 보장하기 위해 식별되고 인증되어야 합니다.
기본 자동차 서비스 컨트롤러 및 레지스트리 (서비스 검색 에이전트)는 식별 및 인증을 통해 서비스를 지원하기 위해 AAOS SDV 핵심 프로필 내에 구현된 분산 시스템입니다.
서비스 번들은 하나의 VM에 여러 인스턴스가 있거나 VM을 이동할 수 있습니다. 각 서비스 번들 인스턴스는 서비스 검색 에이전트로부터 차량 고유 ID를 수신합니다.
서비스 번들 인스턴스 식별자
OS 프로세스인 서비스 번들의 실행 중인 인스턴스에는 다음과 같은 두 가지 차량 전체 고유 식별자가 있습니다.
- 정규화된 서비스 번들 인스턴스 이름 (FQIN)
- 서비스 번들 인스턴스 ID 번호 (SID)
FQIN은 OS 프로세스 다시 시작과 시스템 재부팅에서 동일하게 유지됩니다. 참조하는 서비스 번들 인스턴스의 수명 주기 상태와는 별개로 유효합니다.
SID는 서비스 번들 인스턴스의 OS 프로세스 수명에 연결됩니다. 따라서 서비스 번들 인스턴스가 시작 (또는 다시 시작)될 때마다 서비스 검색 에이전트가 다른 SID를 할당합니다. 예측할 수 없는 불투명한 값입니다. OS 프로세스 ID와 마찬가지로 SID는 참조하는 서비스 번들 인스턴스의 OS 프로세스가 중지되는 즉시 무효화됩니다. 두 식별자가 동일하지 않습니다.
SID는 일시적인 식별자이므로 서비스 번들 인스턴스를 지정하는 대부분의 상황에서 FQIN을 사용합니다.
지역 식별
서비스 번들 인스턴스가 시작되면 서비스 번들 ID (FQIN 및 SID)를 OS 프로세스에 할당하는 로컬 기관인 로컬 서비스 검색 에이전트에 등록됩니다. 서비스 검색 에이전트는 Linux 사용자 ID (UID)에서 로컬 서비스 번들 인스턴스를 인식합니다.
원격 식별
서비스 번들 인스턴스는 비대칭 키 쌍을 생성하고 X.509 인증서에서 공개 키를 FQIN과 연결할 수 있습니다. SDV VM의 모든 서비스 번들 인스턴스의 인증 기관인 로컬 서비스 검색 에이전트에 인증서 서명 요청을 전송하여 이를 수행합니다.
로컬 서비스 검색 에이전트에서 서명한 X.509 인증서와 함께 서비스 번들 인스턴스는 차량에 있는 모든 서비스 검색 에이전트의 루트 공개 키 목록도 수신합니다.
이 정보를 사용하면 서로 다른 SDV VM에 있는 두 서비스 번들 인스턴스가 서로를 식별하고 인증하여 보안 TLS 연결을 설정할 수 있습니다.