楊震宇,羅 峰,王子通,任 毅,張曉先
(1. 同濟大學汽車學院,上海 201804;2. 普華基礎軟件股份有限公司,上海 200125)
近年來,智能網聯汽車已經得到了世界各國政府、組織和研究機構的廣泛關注。智能網聯汽車承載環境感知、智能決策規劃、控制執行、車載網絡通信和V2X 通信等技術,并以此提高駕駛的舒適性和安全性,最終達到L5 級的自動駕駛。這些技術在車載的應用對智能網聯汽車的電子電氣架構提出了高算力、高帶寬、高速率和高安全性的新需求。為此傳統以CAN(FD)為主干網絡的汽車分布式電子電氣架構正朝著以車載以太網為骨干網絡的域集中式電子電氣架構發展[1]。面向服務的架構在傳統領域被證明是高效的,為了使汽車更好地成為萬物互聯的一部分,基于服務的設計理念正在逐步取代傳統的設計方式。為此,汽車開放系統架構(AUTOSAR)創建了基于因特網協議的可擴展面向服務通信中間件(scalable service-oriented middleware over IP, SOME/IP)。SOME/IP 是一個應用層協議,并作用于TCP/UDP 協議簇之上。在SOME/IP 的作用下,車載網絡中原本基于信號的通信方式向基于服務的通信模式轉變。車載網絡中數據的交互通過服務的發布和訂閱來發起。
與此同時,基于服務的多域電子電氣架構不斷增加的對外接口使其更容易受到網絡攻擊的影響[2]。物理診斷OBD 接口、遠程通信接口,如藍牙、蜂窩網絡和空中下載(over-the-air, OTA)都可以成為攻擊者的攻擊目標,并逐層滲透到電子電氣架構內部,引起信息和物理上的安全問題。在計算機領域,訪問控制技術已被廣泛用于防止計算機網絡、數據庫和操作系統被非法訪問。目前,最常用的訪問控制模型是自主訪問控制(discretionary access control, DAC)、強 制 訪 問 控 制(mandatory access control, MAC)和基于角色的訪問控制(role-based access control, RBAC)[3]。隨著物聯網的發展,傳統的訪問控制模型很難適應新的計算環境?;趯傩缘脑L問控制(attribute-based access control, ABAC)模型是以主體和客體的屬性為基本決策元素,靈活利用請求者所擁有的屬性集,實現細粒度的訪問控制。ABAC 模型在改進現有的訪問控制方面有很大的潛力,特別是在分布式和快速變化的環境中[4]。在汽車領域,訪問控制的研究重點主要在外界對車內資源的訪問。Zrelli等[5]提出了一種智能交通系統的安全和訪問控制框架,它可以防止惡意實體干擾車輛和路側單元提供的服務。Subke 等[6]提出了幾種防止外部診斷系統未經授權訪問車載電子電氣架構的措施?;诎踩碗[私的訪問控制模型通過權限的概念擴展了RBAC 模型[7]。為了防止車內ECU的惡意訪問提出一個V2N 頭部單元的訪問控制架構,該架構使用訪問控制規則表來限制應用程序(如信息娛樂應用)對SocketCAN的訪問[8]。在面向車載域控制器的訪問控制研究中,Wang 等[9]提出了一個新的解決方案,即一個基于ABAC 的多領域訪問控制模型,其中考慮到不同領域的各種需求,如動力系統、底盤、車身和信息娛樂系統,然而只是做了初步描述。ABAC 模型被引入到AUTOSAR 框架下,然而機制的實現是基于CAN 總線的[10]。Li 等[11]設計了安全SOME/IP 通信流程,并在此基礎上實現了基于屬性的訪問控制,但是系統并沒有在車載硬件上進行性能驗證。上述研究都沒有解決訪問過程中的持續授權和撤權問題。這是由于傳統的ABAC 模型不具備過程檢測模塊,對訪問控制的決策只能在訪問開始前進行。在重新發起訪問控制或在超過訪問持續時間之前,訪問客體會維持上次的訪問控制決定,持續向訪問主體提供相應資源,而無法在過程中對權限重新判定。
基于以上分析,本文提出一種適用于資源受限的車載域控制器的安全訪問控制機制。
本文的主要貢獻總結為以下幾點。
(1) 提出了一個參考的基于服務的多域電子電氣架構,并對其通信模式和機制進行了說明,最后提出了其對訪問控制的安全需求。
(2) 改進的ABAC 模型被用來實現靈活和細粒度的訪問控制,高效地解決了訪問控制過程中的持續授權和撤銷。
(3) 設計基于哈希的策略評估引擎,以適應資源受限的車載環境。
(4) 設計安全訪問序列以保證訪問控制過程中的安全屬性,并通過Proverif進行了形式化驗證。
(5) 提出的安全訪問控制機制在域控制器中通過軟件和HSM同時實現并驗證了其功能和性能。
智能網聯汽車的電子電氣架構相比于傳統汽車發生有較大變革,進而與外界產生更多的信息交互并產生越來越多的風險點。在本節中,首先給出一個基于服務的多域電子電氣架構,然后分析其通信模式,最后總結其安全威脅和需求。
參考的多域電子電氣架構如圖1 所示,按照車身布局分為前后左右4 個區域控制器、一個中央計算平臺和一個智能座艙控制器。4 個區域控制器通過不同車載通信方式如CAN(FD)、LIN 或車載以太網連接執行器和傳感器等電子單元。中央計算平臺除了負責傳感器數據融合、路徑規劃等高算力需求應用外,還兼任中央網關的職責負責整體系統的服務管理和數據路由。智能座艙控制器同樣是一個高度集成的SoC,除了負責智能座艙應用還具有豐富的對外通信模組,承擔所有的對外通信職責。主干網絡采用星型的車載以太網拓撲結構。這種結構最大程度上減少了網絡中數據傳輸的平均跳數,方便了通信和服務方案的部署,同時也有利于信息安全縱深防御的部署。主干網絡的數據鏈路層運行時間敏感網絡(time sensitive network, TSN),以確保網絡中的高精度時間同步和數據的確定性傳輸。

圖1 車載區域電子電器架構
在上述電子電氣架構下,SOA 通信適配器通過SOME/IP 協議可以實現域控制器之間基于服務的通信。而外部實體如車輛、手機、路邊單元和云端等向車載遠程信息控制單元發起服務請求后,通過SOA通信適配器將外部服務協議轉換成基于SOME/IP的通信格式,下發中央網關進行服務管理、轉發或響應。
傳統車載網絡的通信沒有訪問控制的概念,因為數據總是以信號的形式按照確定的通信矩陣周期性地在網絡中傳輸。而在基于服務的通信模式中,服務的訂閱可以被認為是客戶希望訪問服務方的某一資源,這就引出了車載網絡中訪問控制的概念。對于智能網聯汽車,安全訪問控制是保證車輛穩定運行的重要措施。否則車輛的隱私信息將被惡意人員竊取,或者一些關鍵部件被攻擊者遠程訪問(如發動機、轉向器、制動器等)。認證和授權是訪問控制技術所保證的兩個最重要的安全屬性[12]。認證是指根據訪客的獨特身份信息,如身份證、語音、指紋等,確認其在車內資源中的身份。授權是指資源所有者允許訪問者在指定范圍內訪問車內資源,以便訪問者能夠從資源中獲得想要的信息。同時,安全機制的部署不能破壞車輛的實時通信功能,也就是說,安全機制造成的通信延遲應該在可接受的范圍內。安全訪問控制的要求總結如下。
(1)靈活和細粒度的授權策略 車輛上運行著各種不同功能的服務,且服務的數量逐漸增加。因此,訪問控制策略應該能夠在不斷變化的環境下維持有效。此外,為了應對復雜的場景,訪問控制策略的實施應該足夠細化。
(2)授權和認證 當車輛與外部實體進行信息交互時,由于車輛處于一個不斷變化的環境中,故需要相互認證和授權的外部實體總是在變化。而對于車載網絡中的域控制器,雖然連接關系固定但也需要周期性授權與認證來確保節點的合法性。
(3)最小特權原則 每個主體(如APP、用戶、云服務器或其他載體)對其訪問行為只能有一套最小的權限。這一原則可以大大減少惡意訪問者對受保護資源造成的危害。
(4)輕量級安全算法 大多數車載控制器的計算和存儲能力有限。較強的加密算法(如RSA、ECC)通常要消耗大量的計算能力和內存存儲空間。對于車輛,需要在安全等級和資源消耗之間取得平衡。
(5)保密性 當外部實體訪問車輛的內部資源時,應保證請求和響應信息的保密性。
(6)不可抵賴性 不可抵賴性指訪問主體或客體不能否認自己做出的行為。訪問主體的訪問行為和訪問發生的時間是不可抵賴的。同樣,訪問客體同樣不能否認自己對訪問的響應。不可抵賴性幫助系統獲得擁有授權實體的惡意行為的證據。
(7)屬性可變性和訪問連續性 無論是外界對車內的訪問,還是車內控制器間的相互訪問,主體和客體的屬性都是可變的,訪問在大多數情況下都是連續的。完善的訪問控制機制需要在過程中進行權限的維持和撤銷。
(8)輕區域重中央的部署形式 車載服務分布在各個車載控制器中,輕區域指在區域控制器中都需要部署訪問控制機制,但是輕量化是第一指標;重中央是指中央網關與遠程信息控制單元面臨最大的安全威脅,在資源充足的情況下應當實現更完善的訪問控制機制。
本文所提出的安全訪問控制的原理,包含系統框架、在SOME/IP 通信模型下的ABAC 數學描述、基于哈希的策略評估引擎、安全訪問序列及其形式化證明等。
安全訪問控制系統框架如圖2 所示,主要包括安全模塊和訪問控制模塊。其中安全模塊分為會話建立模塊和安全通信模塊。會話建立模塊用于實現訪問控制主體和客體間的身份認證,保證所有訪問都是授權的。安全通信模塊是在訪問控制主體和客體完成身份認證后,實現雙方的加密通信,由此確保訪問控制過程中消息的機密性和完整性。訪問控制模塊以傳統ABAC 框架為基礎,增加了一個在線檢測模塊,以解決訪問過程中的權限維持和撤銷問題。訪問控制模塊主要包括策略轉換模塊、策略執行點(policy enforcement point, PEP)、策略決定點(policy decision point, PDP)、策略信息點(policy information point, PIP)、策略訪問點(policy access point, PAP)和在線檢測模塊。PAP是一個負責創建和管理訪問控制策略的組件,PIP收集主體、資源和環境的屬性,PDP是系統中做授權決定的單元。授權決定是根據PAP 中預先定義的訪問控制策略和PIP 中存儲的屬性做出的。PEP 是一個在特定環境條件下執行PDP的訪問控制決定的組件。其中PIP,PDP和PAP被聯合稱為策略評估引擎。針對車載環境特殊設計的基于哈希的方法被用于實現策略評估引擎。

圖2 安全訪問控制系統架構
訪問控制客體的主要流程如下(訪問控制主體由于是發起請求,所以不會經過訪問控制模塊,只通過安全模塊來進行身份認證、訪問請求的加密發送和訪問決策或資源的接收解密)。
(1) 網絡中的SOME/IP 報文首先進入會話建立模塊,會話建立模塊判斷該訪問請求是否來自已認證的實體。若是,則進入安全通信模塊;若否,則觸發會話建立流程,進行身份認證和秘鑰協商。
(2) 安全通信模塊按照會話建立模塊中協商的秘鑰對報文的負載字段進行解密,并發送給策略轉換模塊。
(3) 策略轉換模塊將報文換成訪問控制請求發送給PEP。
(4) PEP 將訪問請求轉發給PDP,PDP 做出的決策也會交給PEP進行執行。
(5) PDP從PAP加載預先存儲的政策。
(6) PIP 加載預先存儲的屬性信息,并匯集給PDP,由PDP做出綜合的授權決定。
(7) PEP執行訪問響應(即拒絕或允許)。
(8) 在線檢測模塊在訪問的過程中使用基于逐流過濾與監測的方法執行屬性的在線檢測,由此決定是否在訪問過程中維持或撤銷授權。
(9) 策略轉換模塊將做出的訪問決策或資源轉換成SOME/IP報文格式,并發送給安全通信模塊。
(10) 安全通信模塊將報文加密后送入SOME/IP網絡。
在線檢測模塊是對基于屬性的訪問控制的擴展, 其檢測算法不被限制,可以是多樣化的。但是在資源受限的域控制器中部署時,應在不增加系統額外負荷或開發量的同時有效地檢測出訪問過程中的異常。為了保證通信的同步、可靠性和實時性,車載以太網通信采用時間敏感網絡, 在實際應用時通過TSN交換機來實現其各種機制。逐流過濾與監測(per-stream filtering and policing, PSFP)是TSN 中的一種機制,能快速有效地監測鏈路的網絡狀態。利用交換機中PSFP的機制可以實現有效的在線監測。協議規定PSFP 由流過濾器、流門控和流量計組成,并通過令牌桶機制實現流量的過濾和監測。IEEE802.1Q 協議規定表1 所示的參數在機制運行過程中必須能被存儲。而每個流都會對應一組表1中的參數,這滿足了細粒度的檢測需求。

表1 在線檢測參數
在線檢測的流程如圖3 所示,首先PDP 告知在線檢測模塊是否運行。然后模塊周期性獲取待檢測資源的鏈路參數,一般來說在實現PSFP 的交換機中,可通過操作串行管理接口(SMI)或者交換機內核的接口讀取表1 中定義的參數。這些參數反映了鏈路中的網絡狀態以及包含所訪問資源的流量特征。通過與預設閾值的比較來決定訪問過程中權限的維持和撤銷。 若符合閾值則靜默處理并繼續監檢測,否則反饋PDP,由PDP做出撤權決定。

圖3 在線檢測模塊流程
為了實現訪問控制的在線檢測,需要正確配置交換機PSFP 參數并將需要檢測的資源在通信上映射到所配置的流(軟件操作),在交換機的內核中周期調用指定API 讀出相應參數,并通過縮減的千兆位媒體獨立接口(reduced gigabit media independent interface,RGMII)發送給域控制器主控芯片。以SJA1110 中的PSFP 配置(如圖4 所示)為例,這條配置表示當被訪問資源映射到優先級為5 的流時,若資源反饋速率大于200 Mb/s或者資源數據長度大于500 B 時,會被在線檢測系統認定為異常,并執行權限撤銷決定。

圖4 TSN交換機實現在線檢測模塊示例
為了能夠更準確地對訪問過程中的權限進行判定,在線檢測方法有必要是融合且系統是特定的。本文提出的在線檢測方法主要考慮了資源在傳輸路徑和網絡中的狀態,且應用了TSN的車載網絡,故基本不會對系統增加額外的開銷。
ABAC 中的實體主要包括主體、客體、行動和環境。汽車工業中的主體指的是訪問由車載ECU 提供的內部數據或服務的實體。 在數學上,SOME/IP的通信模型下的ABAC 系統被定義為一個五元組,其中:E={S,O,C} 是參與訪問控制活動的所有實體的集合,S是主體的集合,O是客體(也稱為資源)的集合,C是情境(也稱為環境)的集合;A是一個主體的行動集合s∈S,可以應用于一個客體的行動集合o∈O;P:E×A→RS是策略集,是實體和行動到決策反應的映射,RS={p,d,n},其中p表示允許,d表示拒絕,n表示不適用;RQ:S×O→A是請求的集合,它是主體和客體到行動的映射。簡單地說,它意味著主體對目標資源適用什么樣的行動。
ABAC 使用屬性來描述不同的實體,而一個實體可以有一個或多個屬性。例如,一個主體可以用屬性來描述,如身份(指紋、鑰匙)、類型(用戶、車輛、智能手機、路邊裝置和云服務器)和IP 地址(如192.168.0.1)。把描述主體的屬性集合表示為ATTRS,那么對一個主體的描述可以被形式化為s={(attr1,val1),…,(attri,vali)},attri∈ATTRS。類似地,客體、行動和環境也可以用同樣的形式來表達,它們的屬性集分別表示為ATTRO、ATTRA和ATTRC??腕w指的是由基于SOME/IP的車載應用程序提供的所有服務。根據SOME/IP 中面向服務的應用定義,每個服務可以由幾個屬性來描述,如服務ID、實例ID、端口號和在SOME/IP 配置文件中定義的IP 地址。SOME/IP 中的可用操作包括查找服務、訂閱事件、獲取字段、設置字段、訂閱字段和RPC(請求/響應)。環境指服務或部署服務的控制器的參數變量可以是軟件的系統變量,也可以用車速、天氣、溫度等外界屬性來描述。
可擴展訪問控制標記語言(extensible access control markup language, XACML)定義了一種標準化的、細粒度的、基于屬性的訪問控制策略語言,它是一種描述策略的標準化方式,在計算機網絡領域被廣泛使用。在傳統的訪問控制系統中,訪問者為訪問請求生成一個XACML 文件并將其發送給服務器。服務器收到該文件并解析它,然后檢索預先存儲的策略文件,看是否有匹配的規則。最后,根據策略評估的結果生成一個響應的XACML 文件并返回給請求者。然而,由于車載域控制器間會發生頻繁的資源和數據訪問,區域控制器中無法承受頻繁大量的字符串操作,同時XACML的傳輸會對車載網絡造成一定程度的額外負載。所以本文提出一種基于哈希思想的XACML 文件壓縮和查找方法來實現策略評估引擎。本方法分為離線和在線兩個步驟,其流程如圖5所示。

圖5 基于哈希的策略評估流程
在離線環節中,首先提取XACML文件中的有效字符串,即主體、客體和環境的所有屬性和對應值,并拼接成一個新的縮減的字符串。然后通過SHA256對字符串進行壓縮,壓縮后的字節取后12 b作為數組的下標,而在該下標對應的位置儲存著決策結果。當所有XACML 文件在離線環節中都轉換完成后,會得到一個儲存有訪問控制決策結果的數組,而每個數組元素的下標則與訪問控制規則互相映射。這個數組在離線環節被燒錄在芯片的Flash中。
在線環節中,策略轉換模塊將收到的SOME/IP報文轉換成與離線環節組裝順序相同的字符串,然后同樣的進行一次哈希運算并取后12 b作為上述數組的索引。而訪問控制的決策結果就是該數組中對應索引位置的值。
圖6 更直觀地描述了哈希數組的建立過程,圖中的XACML 可以提取并拼接成如下“Serviceid1111 servicediagnosisipaddress19216801actionrpc”。將 字符串做一次哈希后取后12 b D05,然后在D05 為下標的數組里儲存了訪問控制的結果“Permit”,實際以二進制1或0表示。

圖6 哈希數組建立流程
這種方法以離線的準備時間和靈活性為代價,使在線環節中規則匹配的時間復雜度為O(1),即整個策略評估的時間基本上是一個定值,由規則拼接,一次哈希運算和一次數組索引組成。
安全訪問序列可以分為會話建立和安全通信兩個階段。在會話建立階段,通信雙方進行相互認證并協商安全通信階段的會話秘鑰?;谧C書的認證方式在傳統領域被證明是有效且安全的。但是完整的TLS 握手過程被證明仍然具有較高的時間消耗[13],為此本文中重新設計了握手過程。首先需要假設在域控制器的安全存儲區域存放著用于整車證書認證的根證書和自身證書的私鑰??紤]到有限的存儲資源,域控制器中不存儲完整的證書,但是證書中必須包含自身證書的公鑰和根證書對公鑰的簽名。由于會話建立過程中使用橢圓曲線密碼(ECC),所以證書類型為ECC 證書,即根證書對下級證書的簽名使用ECC 算法。這片安全存儲區域是無法被攻擊者入侵且篡改的,否則任何基于密碼學的安全機制都會失去意義。安全序列中用到的符號含義解釋如表2所示。

表2 符號描述
認證過程由一個認證中心同時向4 個區域控制器發起,這與提出的電子電氣架構不沖突,高性能計算平臺可以作為認證中心。
區域控制器A 和認證中心G 的認證流程如算法1 和算法2 所示。首先由認證中心發起認證請求。區域控制器A 收到請求后,先生成一次隨機數N,并和自己的證書CertA打包發送給認證中心。認證中心收到消息后,通過根證書CertR驗證CertA,若驗證通過,認證中心首先對隨機生成的128 b會話秘鑰加密得到加密的會話秘鑰Enckey。然后對N、自身證書CertG和Enckey 組成的消息進行簽名后一起發送給區域控制器A。同樣,在區域控制器A 中對N、數字簽名sign 和CertG驗證通過后,使用自身的私鑰skA解密獲得當前協商的會話秘鑰Kcurrent。
安全通信階段使用認證過程中協商的會話秘鑰,通過AES-128 對訪問過程進行加密并附加消息認證碼(CMAC)。為了避免安全通信過程中的重放攻擊,負載字段中選取4 B 用于存放當前時間戳,這在TSN同步網絡中是容易實現的。為了進一步提高其安全性,在安全通信過程中需要進行秘鑰更新。為了減少秘鑰分配過程中的泄露風險,采用基于AES的本地秘鑰更新方法。由于主干網絡中的各域控制器間在時間敏感網絡的作用下完成了時間同步,各域控制器間以約定的周期同步更新會話秘鑰。秘鑰更新流程如算法3所示。
首先將128 b IV 的低24 b置0,加上一個24 b的計數器得到CTR。然后以當前會話秘鑰使用AES算法對CTR進行加密,將加密的結果與當前秘鑰再進行按位異或運算后得到更新的秘鑰Kupdate。隨后更新計數器,等待下次秘鑰更新。秘鑰更新通過硬件同步指示信號PPS 上升沿觸發,域控制器對PPS 的跳變進行計數,根據實際需求周期性地在具有相同PPS 跳變次數的上升沿進行密鑰更新。按照TSN 標準規定,時間同步精度在7 跳內應當小于1 μs,完全滿足秘鑰更新的同步需求。

算法1:認證中心G認證過程send(Auth_Request)loop Receive(ResponseA)N, CertA = Extract(ResponseA)If Verify(CertA,CertR) == TRUE Kcurrent = rnd(128)Enckey = EECC(pkA, KCurrent)sign = ERSA(skreg,N || CertG || Enckey)ResponseG = N || CertG || Enckey || sign Send(ResponseG)Else Return End loop算法2:區域控制A認證過程Receive(Auth_Request)N=nonce()Send(ResponseA = N||CertA)Receive(ResponseG)N′, CertG, Enckey,sign = Extract(ResponseG)If Verify(CertG,CertR) == TRUE and N′ == N If Verify(sign,pkG) == TRUE Kcurrent = D(skA,Enckey)Else Return算法3:密鑰更新流程CTR =(IV & 0xFF..FF000000) + Counter If PPS_Count() == Period Kupdate = EAES(Kcurrent,CTR)⊕Kcurrent CTR = CTR + 1 Kcurrent = Kupdate
Proverif 是一個基于Dolev-Yao 形式化建模技術的自動化密碼學協議驗證器。加密算法通過重寫規則和方程來定義。安全協議的流程則通過應用PI演算語言描述并輸入Proverif。安全特征,例如保密性和認證則通過事件和查詢的組合來證明[14]。
本文通過設計如表3 所示的4 個事件和詢問來對安全訪問流程中的4個安全屬性進行驗證。

表3 事件與詢問定義
(1)當前會話秘鑰的機密性:用于安全通信的對稱秘鑰不能被攻擊者獲取或推導。
(2)安全通信過程中消息的機密性:安全通信過程中的消息明文不能被攻擊者獲取或推導。
(3)域控制器A 的認證:攻擊者不能在不被認證中心G 發現的情況下冒充域控制器A。即在發生事件(域控制器認證結束)前,事件(域控制器認證開始)必須已經被執行。
(4)認證中心G 的認證:攻擊者不能在不被域控制器A 發現的情況下冒充認證中心G。即在發生事件(認證中心認證結束)前,事件(認證中心認證開始)必須已經被執行。
Proverif 的驗證總結輸出顯示,4 個詢問結果都為真,故本文提出的安全序列可以滿足通信過程中的安全性。
本節詳細描述本文提出的安全訪問控制機制在實物系統下的實現和驗證。
在硬件方面,實物板卡是基于英飛凌TC397 與恩智浦交換機SJA1110 為核心組件開發的域控制器。TC397 具有6個最大頻率為300 MHz 的CPU,并且具備硬件安全模塊(hardware security module,HSM)。SJA1110 不僅支持除異步流量整形和搶占的TSN 功能,還向用戶開放了其內核并提供了集成開發環境,方便用戶進行二次開發。域控制器具有3 路基于邁威88Q2112 的千兆以太網通信接口和6路集成的百兆以太網通信接口。
軟件架構如圖7 所示,通用設備驅動用來保證硬件的正常運行并初始化HSM 模塊。IEEE 802.1AS 同步協議棧和逐流過濾與監測模塊是為了實現安全序列中的密鑰更新與訪問控制的在線檢測。同步協議按照TSN 標準開發并部署在TC397中,而逐流過濾與監測模塊已經集成在交換機中。簡化的SOME/IP 協議在TC397 中被開發并運行在輕量化TCP/IP協議棧上。

圖7 軟件架構
基于WolfSSL 和HSM 的方法同時被用來實現本文提出的安全訪問控制系統。WolfSSL 是適用于嵌入式系統的TLS 協議棧,集成了涵蓋本文需求的對稱加密、非對稱加密和哈希算法接口。本文通過調用和組合WolfSSL 中的密碼學接口來實現安全訪問序列。HSM模塊能夠使用對應接口實現對AES128、ECC256 和SHA256 的硬件加速,可以極大地提升系統的性能?;赥asking 編譯器和勞德巴赫調試器的工具鏈被用來進行HSM 功能的開發。驗證交互模塊則是為了方便功能驗證與性能測試而開發的響應上位機指令的交互模塊。
測試環境如圖8 所示,Vector VN5650 的Ethernet1被配置成Link模式,通過1000base-t1與域控制器A 和認證中心G 串聯在一起。這條串聯鏈路是為了觀察兩個節點間通信的報文,監控節點間的訪問控制過程,并在實驗過程中充當中間人實施抗攻擊測試。VN5650 的Ethernet 2 被配置成Switch 模式與域控制器A 和認證中心G 的另外兩條以太網鏈路連接,并借此對實物系統進行控制并獲取功能測試的結果反饋。通過在Trace 窗口觀察狀態反饋標志位和報文可以判斷系統功能是否正常。在性能測試時,指定任務完成后實物板卡被編程產生TTL 信號跳變,通過示波器與實物板卡連接可以測出完成指定任務所需的時間。

圖8 實物測試環境
安全訪問控制系統中各模塊的時間消耗與文獻[13]中的性能在如表4所示。在不使用HSM加速的情況下,本文提出的會話建立流程需要829.387 ms。雖然這仍然是個較大的耗時,但是相比于文獻[13]中基于標準TLS 的會話建立,在性能上仍有至少50%的性能提升。而在使用HSM 硬件加速的情況下,會話建立的時間消耗僅為89.058 ms,相比軟件實現性能提升了將近10 倍。這是由于TC397 的HSM支持對非對稱加密算法ECC加速的結果。

表4 安全訪問控制時間消耗
在安全通信中,當資源字節較大(例如攝像頭數據)時,僅使用軟件實現一次安全通信的時間為2.611 ms,而在資源字節較少時需要0.384 ms。這與文獻[13]中的性能幾乎相同,這是由于本文與文獻[13]都使用了WolfSSL 嵌入式密碼學庫和算力相同的英飛凌TC 系列硬件。而當使用HSM 加速時,完成512 B 數據的安全通信只需要27.648 μs,同時64 B 數據的安全通信時間被縮短至5.096 μs。由于密鑰更新過程的明文只有16 B, 加上一次異或操作,在HSM 加速的情況下,一次更新的時間被縮短成11.779 μs。由于在策略評估引擎使用了SHA256算法,故在使用HSM 加速的情況下,性能同樣被顯著提升,且基本不隨策略條數的增加而增加。在訪問策略條數不斷增加的情況下,這是一個相當優秀的特性。但由于哈希表的特點,存儲空間的利用率是一個問題,例如取12 b長度作為數組索引時,需要開辟一個3 KB 的數組,且數組中的元素不連續存儲,當數組不斷被填滿時發生哈希沖突的概率就越大。在線檢測由于布置在SJA1110 內核中并行運行,同時使用千兆以太網傳輸結果,耗時幾乎忽略不計。
綜上所述,本文提出的安全訪問控制方法在使用HSM 加速的情況下,具有良好的性能且滿足車載通信的實時性要求。其中會話建立所需時間相對較長,這是由于該過程包含了6 次ECC 非對稱密碼的執行時間,握手報文在以太網鏈路的傳播時間,驅動收發和軟件處理時間。但是會話建立過程只發生在車輛啟動或訪問控制開始前,在重新發起訪問請求前,不再需要重新身份認證和秘鑰協商。所以89 ms左右的延時是可以被接受的。
隨著智能網聯汽車的發展,基于服務的區域電子電氣架構已經成為未來發展的必然趨勢。本文提出了一種基于屬性的安全訪問控制機制:首先,著重關注區域控制器之間的訪問控制,該訪問控制機制考慮了實際的電子電氣架構特點,增加了基于逐流過濾與檢測的在線檢測模塊;其次,設計了基于哈希的策略評估引擎,并且在訪問控制開始前進行身份認證;然后,使用對稱加密的方式確保訪問控制過程的機密性和完整性;最后,在實物系統中通過軟件和HSM 進行了實現,并對其進行了功能驗證和性能評估。結果顯示,本文提出的安全訪問控制機器在滿足車載實時性要求的同時,能夠有效檢測出未經授權的訪問,且在過程中保證了通信的機密性,完整性和可認證性。
然而本文僅關注了區域控制器間的訪問控制,在未來的電子電氣架構中,遠程信息處理單元作為車內外的信息樞紐,將面臨比車內區域控制器更嚴峻的安全挑戰。大量外界實體將通過TCU 對車內資源進行頻繁和動態的訪問。在資源更充沛的車載計算機中訪問控制將更有應用潛力,外部實體對車載資源的訪問控制將是今后的研究重點。