AAOS SDV 的核心是服務導向架構 (SOA),可將整個系統分解為稱為「服務套件」的個別元件,提供模組化功能。這些服務套件必須經過識別和驗證,才能確保分散式系統安全無虞地運作。
原生車輛服務控制器和登錄檔 (服務探索代理程式) 是在 AAOS SDV Core 設定檔中實作的分散式系統,可協助服務進行識別和驗證。
服務組合可以在一或多個 VM 中有多個執行個體。每個服務套件執行個體都會從服務探索代理程式接收車輛專屬 ID。
服務套裝組合執行個體 ID
服務套件的執行中執行個體 (OS 程序) 有兩個車輛專屬的唯一 ID:
- 服務套件執行個體的完整名稱 (FQIN)
- 服務組合執行個體 ID 編號 (SID)
在 OS 程序重新啟動和系統重新啟動期間,FQIN 保持不變。即使所參照的服務套件執行個體處於生命週期狀態,這項權杖仍有效。
SID 會與服務套件例項的 OS 程序生命週期繫結。因此,每次啟動 (或重新啟動) 服務套件例項時,服務探索代理程式都會指派不同的 SID。這是不透明的不可預測值。與 OS 程序 ID 類似,只要 SID 參照的服務套件例項 OS 程序停止,SID 就會失效。這兩個 ID 並不相等。
由於 SID 是暫時性 ID,因此在大多數指定服務套件執行個體的情況下,請使用 FQIN。
當地身分證件
服務套件執行個體啟動時,會向本機服務探索代理程式註冊,這個代理程式是本機授權單位,負責將服務套件 ID (FQIN 和 SID) 指派給 OS 程序。服務探索代理程式會根據 Linux 使用者 ID (UID) 辨識本機服務套件執行個體。
遙控器識別
服務套件執行個體可以建立非對稱金鑰組,並在 X.509 憑證中將公開金鑰與 FQIN 建立關聯。方法是將憑證簽署要求傳送至本機服務探索代理程式,該代理程式是 SDV VM 中所有服務套件執行個體的憑證授權單位。
除了由本機服務探索代理程式簽署的 X.509 憑證外,服務套件例項也會收到車輛中所有服務探索代理程式的根公開金鑰清單。
有了這項資訊,位於不同 SDV VM 的兩個服務套件執行個體就能互相識別及驗證,以建立安全的 TLS 連線。