本公開一般地涉及支持具有不等能力的設備(例如,車載電子傳感器和設備、諸如工業地板和家庭自動化設備之類的自動化設備、以及具有不同的通信和處理功能的任意其它聯網的電子設備)的互操作性的系統。
背景技術:
諸如汽車和卡車之類的現代車輛通常使用許多聯網的電子設備(其范圍從生成不同反饋信號的簡單傳感器、到由微控制器和微型計算機組成的更復雜的電子控制單元(ECU))用于控制車輛系統和操作,從而支持車輛與該車輛外部的系統之間的通信,并且向用戶提供應用。安全能力對于這些設備保護車內消息完整性和機密性、防止消息回復攻擊、以及設備認證是重要的。當車內設備與車輛外部的認證服務器(例如外部診斷設備、預置設備、以及遠程遙測系統)進行通信時,這些相同的安全能力也是重要的。車輛上的原設備通常在設備或車輛制造過程期間被認證或被假設為可信的。然而,在車輛離開生產廠之后,沒有用于進一步設備認證或用于進一步安全密鑰導出或分發的規定。
支持跨異構網絡中廣泛多樣的車內設備的車內設備認證系統是難以獲得的。例如,由于控制器區域網絡(CAN)總線不提供設備認證機制,諸如種子密鑰方法之類的應用層認證機制已被用來控制從外部診斷工具到ECU固件的訪問以用于ECU固件更新。然而這些應用層認證機制不能支持對所有類型的車內網絡進行認證,特別是對于只發送但不接收數據的設備(例如,傳感器)、以及不能執行復雜的加密操作的設備。用于車內以太網絡的各種認證工具被限制為支持以太網MAC層處的設備認證。因此,應用層和特定于網絡的認證和安全密鑰生成和分發協議無法為具有各種不同通信和處理能力的車內電子設備提供認證。
附圖說明
并入本文并形成說明書的一部分的附圖示出了示例性實施例。
圖1是示出了用于認證和支持異構電子設備(例如,具有不同的通信和處理功能的車內電子設備)之間的安全通信的系統的簡化框圖。
圖2a是示出了圖1的第一組車內設備的通信和處理能力的能力框的圖示。
圖2b是示出了圖1的第二組車內設備的通信和處理能力的能力框的圖示。
圖2c是示出了圖1的第三組車內設備的通信和處理能力的能力框的圖示。
圖3是示出了相關聯的車輛內具有若干不同的物理子網的網絡、以及使用由該網絡形成的一組安全通信群的簡化配置的示意圖。
圖4是示出了圖1的車內設備的安全密鑰層級的簡化框圖。
圖5是示出了圖1的系統中具有雙向通信能力的選定設備的認證和安全密鑰分發的示例過程的流程圖。
圖6是示出了圖5的流程圖中與具有雙向通信能力的設備相關的部分的簡化流程圖。
圖7是示出了圖1的系統中僅具有單向通信能力的選定設備的認證和安全密鑰分發的示例過程的流程圖。
圖8是示出了使用安全通信群會話密鑰對消息進行安全通信的功能框圖。
圖9是示出了其上可以實現示例性實施例的計算機系統的示例的框圖。
圖10a是示出了使用鄰居到鄰居安全通信模式的、經由圖1的系統的內部交換機和網關的電子設備之間的安全消息交換的流程圖。
圖10b是示出了使用終端到終端安全通信模式的、經由圖1的系統的內部交換機和網關的電子設備之間的安全消息交換的流程圖。
圖11a是示出了使用鄰居到鄰居或跳到跳安全通信模式的、圖1的系統的車內設備與相關聯的外部設備之間的安全消息交換的流程圖。
圖11b是示出了使用終端到終端安全通信模式的、圖1的系統的車內設備與相關聯的外部設備之間的安全消息交換的流程圖。
圖11c是示出了使用具有可選的加密的終端到終端安全通信模式的、圖1的系統的車內設備與相關聯的外部設備之間的安全消息交換的流程圖。
具體實施方式
概述
下文呈現了對示例性實施例的簡化概述,以提供對示例性實施例的一些方面的基本理解。這種概述不是對示例性實施例的外延性綜述。它既不旨在標識示例性實施例的關鍵或重要元素,也不描繪所附權利要求的范圍。其唯一的目的是提出示例性實施例的一些概念,以簡化的形式作為稍后呈現的更詳細描述的前序。
總體而言,根據本文實施例的實施例,裝置、方法和編碼在一個或多個有形非暫態計算機可讀介質中用于由處理器執行的邏輯,并且當被處理器執行時,邏輯、裝置和方法可操作以對車內設備(其具有不同(潛在地很大不同)的計算和通信能力)進行本地認證和協調安全密鑰的分發,從而支持包括具有相異能力的設備(例如,僅能執行對稱密鑰加密操作而不能執行公鑰算法的設備、僅能發送但不能接收數據的設備、不支持互聯網協議(IP)的設備、以及支持復雜的安全算法和基于IP的安全協議的設備)的網絡。本文的實施例允許車內設備使用與其本身的具體能力相匹配的不同個性化認證和安全通信方法,此外本文的實施例還支持附接到不同類型的車載和/或非車載網絡(例如CAN、LIN、MOST和以太網)的設備。
根據本文示例性實施例,裝置、方法和編碼在一個或多個有形非暫態計算機可讀介質中用于由處理器執行的邏輯,并且當被處理器執行時,邏輯、裝置和方法可操作來通過網關裝置的通信端口經由第一網絡類型的相關聯的第一通信網絡與具有第一安全通信能力的第一相關聯的設備進行通信,并且通過網關裝置的通信端口經由第二網絡類型的相關聯的第二通信網絡與具有第二安全通信能力的第二相關聯的設備進行通信,其中第二網絡類型不同于第一網絡類型并且述第二安全通信能力不同于第一安全通信能力。由網關邏輯選擇性地將第一相關聯的設備認證為第一安全通信群(SCG)的群成員。由網關邏輯選擇性地將第二相關聯的設備認證為第一SCG的群成員。由網關邏輯選擇性地將安全通信群密鑰(SCGK)傳輸到具有第一安全通信能力的第一相關聯的設備、以及傳輸到具有第二安全通信能力的第二相關聯的設備,以用于由第一相關聯的設備和第二相關聯的設備根據第一SCG中第一相關聯的設備和第二相關聯的設備的群成員身份生成會話密鑰用于彼此的安全通信。
仍進一步地,根據本文的示例性實施例,網關設備支持異構電子設備之間差異化的安全通信。網關裝置包括:第一通信端口、以及與第一通信端口操作地耦接的網關邏輯。第一通信端口被配置為通過第一網絡類型的相關聯的第一通信網絡與具有第一安全通信能力的第一相關聯的設備進行通信。第一通信端口還被配置為通過第二網絡類型的相關聯的第二通信網絡與具有第二安全通信能力的第二相關聯的設備進行通信,其中第二網絡類型不同于第一網絡類型并且第二安全通信能力不同于第一安全通信能力。網關邏輯選擇性地將所述第一相關聯的設備認證為第一安全通信群(SCG)的群成員,并且還選擇性地將第二相關聯的設備認證為第一SCG的群成員。網關邏輯選擇性地將安全通信群密鑰(SCGK)傳輸到具有第一安全通信能力的第一相關聯的設備、以及傳輸到具有第二安全通信能力的第二相關聯的設備,以用于由第一相關聯的設備和第二相關聯的設備根據第一SCG中第一相關聯的設備和第二相關聯的設備的群成員身份生成會話密鑰用于彼此的安全通信。
具體實施方式的詳細描述
本說明書提供并不旨在限制所附權利要求的范圍的示例。附圖通常指示示例的特性,其中應理解和明白的是,相同標號用于指代相同元件。說明書中對“一個實施例”或“實施例”或“示例性實施例”的提及意味著所描述的特定特征、結構或特性被包括在本文所描述的至少一個實施例中,并且不意味著該特征、結構或特性存在于本文所述的所有實施例中。
與現在參照附圖,其中圖示是出于說明示例性實施例的目的,而不是出于對其進行限制的目的。圖1示出了布置在相關車輛10中的裝置100,該裝置100用于支持具有不等的通信能力的多個相關聯的網絡設備150之間差異化的安全通信。在示例性實施例中,裝置100包括:第一通信端口110,被配置為經由相關聯的通信網絡140與多個相關聯的網絡設備150進行通信;第二通信端口120,被配置為經由相關聯的認證網絡142與相關聯的認證處理器190進行通信;以及通信網關和認證代理邏輯130,可操作地與第一和第二通信端口110、120耦接。如本文所使用的“邏輯”和/或“模塊”,包括但不限于硬件、固件、軟件和/或每個的組合,以執行(一個或多個)功能或(一個或多個)動作,和/或引起來自另一組件的功能或動作。例如,基于所期望的應用或需要,邏輯可以包括軟件控制的微處理器、諸如專用集成電路(“ASIC”)之類的離散邏輯、片上系統(“SoC”)、片上可編程系統(“PSoC”)、可編程/編程邏輯器件、包含指令的存儲器設備或類似設備、或體現在硬件上的組合邏輯。邏輯也可以完全體現為存儲在非暫態有形介質上的軟件,當由處理器執行時其執行所描述的功能。邏輯可適當地包括一個或多個模塊,被配置為執行一個或多個功能。
根據本文的實施例,裝置100被配置為本地認證并且選擇性地分發安全通信密鑰給具有很大不同的計算和通信能力的車內設備152。車內設備152包括:諸如簡單傳感器或類似設備之類的只能發送但不能接收的設備、僅能夠執行對稱密鑰加密操作而不能執行公鑰算法的設備、不支持IP協議的設備、支持復雜的安全算法和基于IP的安全協議的設備。此外,裝置100被配置為使用與各種設備152的相應功能相匹配的不同認證方法來本地認證車內設備。再進一步地,裝置100被配置為本地認證并且選擇性地分發安全通信密鑰給能夠接收信息并且可附接到不同物理類型的網絡(包括相關聯的通信網絡140,例如CAN、LIN、MOST和以太網)的車內設備152。根據示例性實施例,對車內設備152進行分類以允許具有不同能力的設備基于其通信和加密處理能力來使用不同的認證以及通信密鑰使用和分發程序,如圖1所示。
示例性實施例中的第一組相關聯的網絡設備160(“B型”設備)具有第一認證和安全通信能力,其中第一組160的車內電子設備具有雙向通信能力且僅能夠支持對稱密鑰加密。裝置100使用相關聯的通信網絡140經由第一通信端口110與第一組設備160進行可操作地通信。類似地,示例性實施例中的第二組相關聯的網絡設備170(“C型”設備)具有第二認證和安全通信能力,其中第二組170的車內電子設備可以發送但不能接收消息且僅能夠支持對稱密鑰加密。裝置100使用相關聯的通信網絡140經由第一通信端口110與第二組設備170進行可操作地通信。在示例性實施例中,第二組相關聯的網絡設備(C型)的設備是,例如簡單電子傳感器設備或類似設備,僅能夠傳輸代表所感測的參數的度量的加密消息。包含測量或其它數據的消息可以出于安全或其它原因,在使用數字簽名等等發送消息之前,由第二組相關聯的網絡設備170的設備來簽署。最后在示例性實施例中,第三組相關聯的網絡設備180(“A型”設備)具有第三認證和安全通信能力,其中第三組180的車內電子設備具有雙向通信能力且能夠支持公開密鑰和對稱密鑰密碼兩者。裝置100使用相關聯的通信網絡140經由第一通信端口110與第三組設備180進行可操作地通信。
總體上,第一通信端口110從一個或多個網絡設備152接收包括認證請求數據146的信號144,該認證請求數據146代表對認證的請求。信號還可以包括安全密鑰,該安全密鑰從一個或多個車內設備152傳輸,以用于由網關邏輯130選擇性地分發給其他車內設備152。認證代理和網關邏輯130基于根據相關聯的請求設備的認證能力的認證請求數據來選擇性地對網絡設備152進行認證。一旦通過認證,設備就能夠與其它認證設備共享安全密鑰,并且還可以從網關邏輯接收其它先前認證設備的安全密鑰。認證代理邏輯根據認證-請求設備的特定通信和處理能力來對其認證和密鑰分配響應進行調適。對于一些設備(例如僅能夠傳輸經簽名或以其它方式加密的代表所感測的參數的度量的消息的第二組(C型)相關聯的網絡設備),例如如果設備尚未經認證,則認證代理邏輯截取消息并將其作為認證請求來解釋。響應于認證代理邏輯基于根據請求設備的特定認證能力的認證請求數據對網絡設備進行認證,認證代理和網關邏輯選擇性地生成加密密鑰集。此后,認證代理邏輯將加密密鑰集選擇性地分發到選定的一個或多個網絡設備。
除上述以外,在示例性實施例中,響應于認證代理邏輯130未能對與認證-請求相關聯的網絡設備進行本地認證,認證代理邏輯130一般選擇性地通過第二通信端口120經由相關聯的認證網絡142將認證請求數據146轉發到相關聯的認證處理器190。響應于相關聯的認證處理器190對與認證-請求相關聯的網絡設備進行認證,認證代理邏輯130選擇性地通過第二通信端口120經由相關聯的認證網絡142接收第一加密密鑰集148。此后,認證代理邏輯130選擇性地將第一加密密鑰集148分發到適當的一個或多個相關聯的車內網絡設備150。
在特定示例性實施例中,繼續參考圖1,第一通信端口110從具有第一認證和安全通信能力的第一組網絡設備160中的至少一個166接收第一信號162,并且從具有第二認證和安全通信能力(其不同于第一認證和安全通信能力)的第二組網絡設備170中的至少一個176接收第二信號172,第一信號162包括代表對認證的請求的第一認證請求數據164并且第二信號172包括代表對認證的請求的第二認證請求數據174。認證代理邏輯130基于根據第一認證和安全通信能力的第一認證請求數據164來選擇性地認證第一組網絡設備160中的至少一個166,并且基于根據第二認證和安全通信能力(其不同于第一認證和安全通信能力)的第二認證請求數據174來選擇性地認證第二組網絡設備170中的至少一個176。
在示例性實施例中,由于第二組網絡設備170僅能夠發送但無法接收消息但能夠支持對稱密鑰加密,示例性實施例的認證代理和網關邏輯130選擇性地將第一加密密鑰集168分發給第一組網絡設備160,并且還選擇性地將第二加密密鑰集178分發給第一組網絡設備160。由于第一和第二加密密鑰集168、178對第三組網絡設備180與第一和第二組網絡設備160、170進行通信可能是必要的或期望的,示例性實施例的認證代理邏輯130還選擇性地將述第一和第二加密密鑰集168、178分發給第三組網絡設備180。在示例性實施例中,認證代理和網關邏輯130將第一和第二加密密鑰集168、178存儲在非暫態存儲器中(圖9)。
除了上述之外,在示例性實施例中,響應于認證代理邏輯130未能基于根據第一認證和安全通信能力的第一認證請求數據164來本地認證第一組網絡設備160中的至少一個166,認證代理邏輯130選擇性地通過第二通信端口120經由相關聯的認證網絡142將第一認證請求數據164轉發到相關聯的認證處理器190。響應于相關聯的認證處理器190基于第一認證請求數據164認證第一組網絡設備160中的至少一個166,認證代理邏輯130選擇性地通過第二通信端口120經由相關聯的認證網絡142接收第一加密密鑰集168′。此后,認證代理邏輯130選擇性地將所接收的第一加密密鑰集168′分發給第一組網絡設備160。
除了上述之外,進一步地,在示例性實施例中,響應于認證代理邏輯130未能基于根據第二認證和安全通信能力的第二認證請求數據174來本地認證第二組網絡設備170中的至少一個176,認證代理邏輯130選擇性地通過第二通信端口120經由相關聯的認證網絡142將第二認證請求數據174轉發到相關聯的認證處理器190。響應于相關聯的認證處理器190基于第二認證請求數據174認證第二組網絡設備170中的至少一個176,認證代理邏輯130選擇性地通過第二通信端口120經由相關聯的認證網絡142接收第二加密密鑰集178′。此后,認證代理邏輯130選擇性地將所接收的第二加密密鑰集178′分發給第一組網絡設備160。第二加密密鑰集178′是不分發給第二組網絡設備170,這是因為如上所述的,在示例性實施例中,第二組網絡設備170都僅能夠發送但不接收消息。在示例性實施例中,由于第二加密密鑰集178′對第三組網絡設備180與第一和第二組網絡設備160、170進行通信可能是必要的或期望的,認證代理邏輯130也可選擇性地將第二加密密鑰集178′分發給第三組網絡設備180。
如上所述,示例性實施例中的第一組(B型)相關聯的網絡設備的160全部具有第一認證能力,其中的第一組160的車內電子設備具有雙向通信功能并且僅能夠支持對稱密鑰加密。圖2a示出了定義第一組設備160的能力(例如,處理和通信能力)的第一組設備160的能力框210。第一組設備160的能力框210包括處理和通信能力的第一層集合220,以及處理和通信能力的第二層集合230。在示例性實施例中,處理和通信能力的第一層集合220包括消息完整性以及機密性保護處理和通信能力222。另外在實施例中,能力的第二層集合230包括:用于使用預配置的私鑰232與其它設備進行認證的處理和通信能力、用于建立與其它設備234的對稱的完整性和機密性密鑰的處理和通信能力、以及用于執行虛擬局域網(VLAN)功能236的處理和通信能力。
類似地,示例性實施例中的第二組(C型)相關聯的網絡設備170全部具有第二認證和安全的通信能力,其中第二組170的車內電子設備可以發送但不能接收消息并且僅能夠支持對稱密鑰加密。在示例性實施例中,第二組(C型)相關聯的網絡設備170可以是簡單傳感器設備或類似設備,其能夠例如傳輸代表對所感測的參數(例如,車輛速度、加速度或高度)的度量的加密消息。圖2b示出了定義第二組設備170的能力(例如,處理和通信能力)的第二組設備170的能力框240。第二組設備170的能力框240包括第一組設備160的處理和通信能力的第一層集合220。在示例性實施例中,處理和通信能力的第一層集合220包括消息完整性以及機密性保護處理和通信能力222。盡管在示例性實施例中處理和通信能力的第一層集合220在第一和第二組網絡設備160、170之間是相同的,但是在其它實施例中它們可以是不同的。
最后,示例性實施例中的第三組(A型)相關聯的網絡設備180全部具有第三認證和安全的通信能力,其中第三組180的車內電子設備可以具有雙向通信功能且能夠支持公開密鑰和對稱密鑰加密兩者。如圖2c所示,示出了定義第三組設備180的能力(例如,處理和通信能力)的第三組設備180的能力框250。第三組設備180的能力框250包括:第一和第二組網絡設備160、170的處理和通信能力的第一層集合220,第二組網絡設備170的設備的處理和通信能力的第二層集合230(對第一組網絡設備160不可用),以及對第一和第二組網絡設備160、170不可用的處理和通信能力的第三層集合260。在示例性實施例中,處理和通信能力的第三層集合260包括:使用數字證書進行認證的處理和通信能力262、訪問控制處理和通信能力264、威脅防御處理和通信能力的266、車載認證處理和通信能力268、以及車載密鑰服務器處理和通信能力270。盡管在示例性實施例中處理和通信能力的第一、第二層集合220和230在第二和第三組網絡設備170、180之間是相同的,但是在其它實施例中它們可以是不同的。
圖3是示出了在車輛內具有若干子網302、304、306和308的網絡300的簡化配置的示意性圖示,其中第三組網絡設備180中選定的一個310在功能上可根據上文結合圖1描述的裝置100(圖1)的能力來進行操作,以用于認證具有不等通信能力的多個相關聯的網絡設備。所示出的實施例展示了示出這樣的方式的示例:以這種方式,相關聯的車輛10內的不同的電子設備可以被實現為用于提供對具有不同通信和處理能力的車內網絡設備的認證的不同類型的車載網絡設備。特別地,在所示的示例中,第三組網絡設備180中選定的一個310在功能上可根據上文結合圖1描述為連接的車輛網關的裝置100的能力來進行操作,以用于對具有不等通信和安全通信能力的多個相關聯的網絡設備進行認證,以及選擇性地將網絡安全密鑰分發給需要或期望支持具有不等通信能力的多個相關聯的網絡設備150之間差異化的安全通信的設備。在示出的示例性實施例中,第一子網302是局部同構的,并且包括相關聯的車輛10的電子控制單元(ECU)320,其中ECU 320與所連接的車輛網關設備310可操作地通信,并且其中網絡設備310是第三組網絡設備180中的一員。第二、第三和第四子網304、306和308可操作地與所連接的車輛網關網絡設備310耦接,并且每個分別包括內部交換機或網關設備330、340和350。但應理解,根據示例,內部交換機或網關設備330、340和350可以被實現為從第一或第三組網絡設備160或180中選擇的一個或多個設備。此外,相關聯的車輛10內的每個子系統或網絡域302、304、306和308可以包含從第一、第二或第三組網絡設備160、170或180中選擇的設備的任意組合。
在圖3所示的示例性實施例中,第二子網304是局部同構的CAN、LIN或其它網絡,并且包括具有第三組網絡設備180的通信和處理能力的第一ECU 332、具有第一組網絡設備160的通信和處理能力的第二ECU334、以及具有第一組網絡設備160的通信和處理能力的第三ECU 336。類似地,第三子網306是局部同構的CAN、LIN或其它網絡,并且包括具有第一組網絡設備160的通信和處理能力的第一ECU 342、具有第二組網絡設備170的通信和處理能力的第二ECU 344、以及具有第二組網絡設備170的通信和處理能力的第三ECU 346。最后,在圖3所示的示例性實施例中,第四子網308是以太網網絡,并且包括具有第三組網絡設備180的通信和處理能力的第一ECU 352、具有第二組網絡設備170的通信和處理能力的第二ECU 354、以及具有第二組網絡設備170的通信和處理能力的第三ECU 356。
根據本文的實施例,關于安全密鑰管理,會話密鑰的集合被開發并被存儲在網關設備310的非暫態存儲器中,并且由網關設備選擇性地分發給相關聯的網絡設備150。用于保護要從x型設備傳輸到y型設備的數據的會話密鑰在本文將稱為“X到Y會話密鑰”或“X到Y密鑰。X到Y密鑰可被允許不同于Y到X密鑰。例如,較大的密鑰可以用于第三組網絡設備180(A型)中的設備之間,而不是第一組網絡設備160(B型)中的設備之間。在一個實施例中,某些B型設備的B到A會話密鑰可以比其它B型設備的B到A會話密鑰更大,以允許來自選定的B型設備的消息相較來自其它B型設備的消息具有更高的保護級別。
在示例性實施例中,每個設備預配置有用來引導其安全操作的一組永久密鑰。這些永久密鑰可以是,例如針對第三組(A型)網絡設備180的一組公-私密鑰對和它們的證書、以及針對其它類型的設備的一組專用主私鑰。在實施例中,每個設備還可以配備有認證令牌,其中在示例性實施例中,認證令牌是設備可以用來向車載認證代理邏輯130認證其自身的加密的數據對象。
根據本文的實施例,多個車內設備選擇性地形成一個或多個安全通信群,并使用一個或多個對應群密鑰的公共集來生成其用于確保每個相應安全通信群內的通信的安全的會話密鑰。第三組(A型)網絡設備180中的設備的群密鑰包含用于生成A到A、A到B、B到A、和C到A密鑰的密鑰。第一組(B型)網絡設備160中的設備的群密鑰包含用于生成B到A、A到B、和B到B密鑰的密鑰。最后,第二組(C型)網絡設備170中的設備包含用于生成C到A、和C到B會話密鑰的密鑰。
根據本文的實施例,作為成功的設備認證的結果,設備建立各自的群密鑰。不同類型的設備可以使用不同的方法來建立根據設備的能力的群密鑰。例如,第三組(A型)網絡設備180中的設備可以使用基于密鑰建立協議的公共密鑰。第一組(B型)網絡設備160中的設備可以使用預配置的私鑰和對稱密鑰加密來建立群密鑰,或者它們可以由所連接的車輛網關網絡設備310的車載密鑰服務器部分100給予群密鑰。最后,第二組(C型)網絡設備170中的設備可以預配置有群密鑰。
為了建立安全通信,每個設備需要獲知其每個通信對象的會話密鑰。根據本文的示例性實施例,消除了對明確的對象發現協議的需求,并且消除了設備執行與每個單獨通信對象的密鑰建立的要求;而不是每個設備首先發現其通信對象,并且隨后執行與每個對象的密鑰一致性協議以建立會話密鑰(其要求每個設備實現對象發現協議,并且執行與每個對象的密鑰建立協議,這對于具有受到較高限制的計算和通信能力的許多車內設備是不可實現的)。相反,根據本文的示例性實施例,作為用所連接的車輛網關網絡設備310的車載密鑰服務器部分100進行認證的結果,每個設備建立群密鑰并且使用群密鑰來本地生成和更新其會話密鑰。所連接的車輛網關網絡設備310的車載密鑰服務器部分100從一個或多個非車載認證服務器190獲得C到B會話密鑰和C到A會話密鑰,并且將這些密鑰分發給需要從第二組(C型)相關聯的網絡設備170接收消息的相關聯的網絡設備180、160。
根據本文的實施例,首先通過對具有不等能力(例如,具有不同的通信和處理能力)的車內設備進行認證,來提供異構電子設備之間差異化的安全通信。在示例性實施例中,所連接的車輛網關設備310可操作以用作車載認證代理邏輯130(圖1)并且包括用于認證其它車內設備的車載密鑰服務器邏輯,并且充當車輛與外部網絡的接口。車輛上原始連接的車輛網關由設備或車輛制造商在設備或車輛制造過程中認證。安裝在車輛上新連接的車輛網關設備310可以或者是預認證的、或者是當其能訪問非車載認證服務器時由該非車載認證服務器認證的。作為成功認證的結果,所連接的車輛網關設備310獲取它將需要用來與其它車內設備進行通信的以及提供車載認證代理和車載密鑰服務器功能的所有安全材料。
根據本文的實施例,屬于第三組(A型)網絡設備180的設備由所連接的車輛網關設備310上的車載認證代理進行認證。針對第三組(A型)網絡設備180的安全通信密鑰存儲在所連接的車輛網關設備310的非暫態存儲器中。由于相較第一和第二組網絡設備160、170,屬于第三組(A型)網絡設備180的設備是強大的設備,它們可以根據需要或期望來使用任何標準認證協議和算法與所連接的車輛的網關設備310進行認證。
根據本文的實施例,建立一個或多個SCG 360從而允許具有各異的處理和通信能力的設備以不同的安全水平和風險水平彼此安全地通信。
總體而言,本文的實施例提供了一種使得一群或多群不同類型的設備(包括僅發送但不接收消息的設備、不運行IP協議的設備)能夠使用不同的認證機制來對它們自身進行認證,并且依據每個相應設備的認證和安全通信能力使用不同尺寸和/或復雜性的密鑰來對在彼此之間傳輸的消息進行加密。在本文的實施例中,為了使得每個設備的加密密鑰流量不需要源自中央密鑰服務器(這由此要求中央密鑰服務器總是可用的),一旦其認證成功就在每個設備上建立中間群密鑰或“網絡不可知安全通信群密鑰”(NA-SCGK)。由此被建立的NA-SCGK隨后由設備用來生成其各自的個體臨時完整性和機密性密鑰,以用于對來自設備的出站流量進行簽名和加密。這確保了整個系統100的安全措施將繼續保持有效,即使當車載密鑰服務器310不可用時也是如此。
參考圖3,如所指出的,示出的網絡300在相關聯的車輛10內具有一些分離的同構子網302、304、306和308,其中第三組網絡設備180中選定的一個310在功能上可根據上文結合圖1描述的裝置100(圖1)的能力來進行操作,以用于認證具有不等通信能力的多個相關聯的網絡設備。所示出的實施例展示了示出這樣的方式的示例:以這種方式,建立一個或多個SCG 360從而允許具有各異的處理和通信能力的設備以不同的安全水平和風險水平彼此安全地通信。特別地,一個或多個SCG 360包括:跨第二局域同構子網304、網關設備310、和外部相關聯的設備301的第一SCG 362;跨第四局域同構子網308、網關設備310、和第二局域同構子網304的內部交換機或網關設備330的第二SCG 364;以及跨第二局域同構子網304的內部交換機或網關設備330、網關設備310、和第四局域同構子網308的內部交換機或網關設備350的第三SCG 366。
根據本文的實施例,SCG 360中的每個包括經驗證并被授權以彼此安全地通信的相關聯的網絡設備。此外,SCG 360以導向有益性質(例如,每個SCG 362、364、366可包含下述設備的任意組合:第一組(B型)相關聯的網絡設備160的設備、第二組(C型)相關聯的網絡設備170的設備、和/或第三組(A型)相關聯的網絡設備180的設備)的方式起作用。除了上述以外,SCG 360基于這些設備固有的強通信和處理能力,通常包括來自第三組(A型)相關聯的網絡設備180的至少一個設備。
此外,任意SCG 360可以包含相對于相關聯的車輛10的車載相關聯的網絡設備,以及相對于相關聯的車輛10的非車載相關聯的網絡設備。例如,第一SCG 362跨第二子網304、網關設備310和外部相關聯的設備301。
再進一步地,任意單個SCG 360內的相關聯的網絡設備選擇性地與彼此進行通信,而無論相關聯的網絡設備是第一組相關聯的網絡設備160的、第二組相關聯的網絡設備170的、還是第三組180相關聯的網絡設備的設備。此外,根據實施例,任意單個SCG 360內的相關聯的網絡設備使用不同水平的安全保護選擇性地與彼此進行通信,而無論相關聯的網絡設備是第一組相關聯的網絡設備160的、第二組相關聯的網絡設備170的、還是第三組180相關聯的網絡設備的設備。
更進一步地,根據本文的實施例,SCG 360獨立于底層網絡類型和配置。在這點上,如上文在圖3所示的實施例中所說明的,第二SCG 364跨第二子網304(其在示例中作為CAN、LIN、或其它網絡類型來配置)、第四子網308(其在示例中作為以太網絡來配置)。因此總體上,相同SCG 360中的相關聯的電子設備可以在不同的物理網絡上或在不同的物理網絡中、或者可以在異構物理網絡上或在異構物理網絡中。
更進一步地,根據本文的實施例,SCG 360許可或以其它方式使得每個相關聯的電子設備152能夠成為多個SCG 360的成員。例如,當相關聯的電子設備152是橋接多個SCG 360之間的流量的網關時、或者當諸如設備上的不同軟件模塊之類的不同應用需要與不同SCG 360中的應用(或軟件模塊)通信時(即使當該設備不是網關時也是如此),相關聯的電子設備152可以是多個SCG 360的成員。
更進一步地,根據本文的實施例,并非相同SCG 360中所有相關聯的電子設備152(例如,第一SCG 362中的設備332、334、336)都需要彼此通信。例如,具有傳感器的ECU 332可被允許向許多其它ECU 334、336廣播數據,而僅有選定的ECU 336將被允許將命令發送到裝配有致動器的ECU 334。
更進一步地,根據本文的實施例,不同SCG 360可以有不同的安全水平。例如,第一SCG 362可以被分配或以其它方式實現第一安全水平,第二SCG 364可以被分配或以其它方式實現不同于第一安全水平的第二安全水平,并且第三SCG 366可以被分配或以其它方式實現不同于第一和第二安全水平的第三安全水平。
更進一步地,根據本文的實施例,每個SCG 362、364、366由唯一的安全通信群標識符(SCG ID)所標識。優選地,相對于相關聯的車輛10形成的一個或多個SCG 360在呈現主題裝置100的設計或制造階段被確定和固定到相關聯的車輛10。
繼續參考圖3,示出了SCG 360的一些示例,其中所示出的實施例的每個SCG 362、364、366由具有顯著不同的通信和處理能力的設備組成。在一個示例中,第一SCG 362(其示出了(相對于相關聯的車輛10)由車載和非車載設備兩者組成SCG的方式)可操作用于約束可由外部系統訪問的車內網絡和設備的子集。此外,圖3示出了根據實施例的SCG的另一示例特征,其中任意相關聯的網絡設備150可參與多個SCG,例如交換機設備330是第一SCG 362的成員也是第三SCG 366的成員。此外,圖3示出了根據實施例的SCG的另一示例特征,其中SCG完全由內部交換機和網關設備形成,例如第三SCG 366由主連接車輛網關設備310、第二和第四交換機或網關設備330和350組成,由此消息可以經由第三SCG 366在這些設備之間安全地通信。
除了以上所述,根據本文的實施例,物理局域網(LAN,例如圖3中示出的以太網絡308)是SCG的特殊情形,其中SCG中的所有設備350-356在相同的物理LAN上、使用相同的鏈路層安全協議、并且具有相同水平的鏈路層安全保護。
根據本文的進一步的實施例,虛擬局域網(VLAN)也是SCG的特殊情形,其中VLAN SCG中的所有設備都在相同的VLAN上、使用相同的鏈路層安全協議、并且具有相同水平的鏈路層安全保護。
根據本文的實施例,廣義而言,所描述的SCG使得不同類型的相關聯的網絡設備150(其具有很大不同的通信和安全處理能力、并且附接到不同類型的物理和/或虛擬網絡)仍能夠使用協議彼此通信,并且實現與其能力和風險狀況相匹配的保護水平。
圖4是示出了針對圖1中示出的系統中的相關聯的車內電子設備150的安全密鑰層級400的簡化框圖。參考該附圖,每個相關聯的網絡設備150被預配置有第一數據集410,包括例如代表主私鑰412的數據、代表證書414的數據、和代表安全系統參數416的數據。使用在線或離線資源等來將第一數據集410預配置在相關聯的電子設備150中。在示例性實施例中,第一數據集410是用作根證書來引導其安全操作的一組永久密鑰。這些可以是,例如針對第三組設備180的A型設備的一組公-私密鑰對和它們的證書,以及針對第一和第二組設備160、170中的任何其它類型的設備的一組私人主私鑰。每個設備還可以配備有認證令牌,認證令牌優選地是設備可用來向車載認證代理邏輯130(圖1)認證自己的加密數據對象的形式。更具體地,第一數據集410用于優選地根據上文所述的過程的認證,并且用于一旦設備認證440成功就生成第二數據集420,第二數據集420包括在示例性實施例中并且如上文所述的網絡不可知安全群通信密鑰(SCGK)422。
根據示例性實施例,SCGK 422是由設備用來生成用于每個SCG 360的會話密鑰的密鑰。新的設備可以建立針對其SCG 360的SCGK 422,以作為成功設備認證過程的一部分。替代地,車載網關鍵服務器130可以將SCGK 422分發給每個新的經認證的設備。在示例性實施例中,某些設備(例如第二組170的設備)被預配置有其將需要用來生成或已經用來生成安全通信所需的完整性和機密性密鑰的所有SCGK 422。
在本文的實施例中,為了確保安全的通信,每個裝置需要獲知用于與SCG 360內其每個通信對象進行通信的話密鑰432。在本文的實施例中,每個設備不需要首先發現其通信對象并且隨后與每個對象執行密鑰一致性協議以建立會話密鑰。這些在本文中的示例性實施例不必要的步驟要求每個設備實現對象發現協議,并且與每個對象執行密鑰建立協議,這對于具有受到較高限制的計算和通信能力的許多車內設備是不可實現的。相反,在本文的實施例中消除了明確的對象發現協議。本文的實施例有利地不需要設備與每個通信對象執行密鑰建立。相反,作為與車載密鑰服務器130成功認證的結果,每個設備建立SCGK 422并且使用SCGK 422來本地生成450其會話密鑰432。優選的是,會話密鑰432在設備操作進行安全通信之前生成450,并且在此后周期性地生成。
圖5是示出了圖1的系統的具有雙向通信能力的選定設備的認證和安全密鑰分發的示例過程500的流程圖。最初在510,第一數據集410被存儲在或以其它方式提供到每個相關聯的電子設備150。所存儲的第一數據集410包括例如代表主私鑰412的數據、代表證書414的數據、和代表安全系統參數416的數據。如上所述,第一數據集410被使用在線或離線資源等預配置在相關聯的電子設備150中。先進的設備(例如第三組(A型)相關聯的設備)可以被提供有相比于較不先進的設備(例如第二組(C型)相關聯的設備)較不復雜或詳細的初始密鑰或PIN號碼信息。在這方面,將會理解第三組(A型)相關聯的設備能夠執行與第三組(A型)的其它設備的雙向通信,以彼此協商用于可操作與SCG 360中的其它設備進行通信的必需安全密鑰。然而,諸如第二組(C型)相關聯的設備之類的設備不具有相同的協商能力,由此被提供有可以存儲在設備上的非暫態存儲器中的會話密鑰432。
在步驟520,每個相關聯的設備150向網關設備130進行認證、或嘗試向網關設備130進行認證。如果認證在530被判定為不成功,則認證和安全密鑰分發過程500返回用于再次嘗試認證相關設備的步驟。然而,如果認證在530被判定為成功,則認證和安全密鑰分發過程500繼續進行至步驟540,能夠接收數據的每個設備動態地獲取或以其它方式接收其相應的SCGK 422。在實施例中,能夠接收數據的設備從網關設備310動態地獲取或以其它方式接收其相應的SCGK 422。
在實施例的其它方面中,可由設備協商的所有SCGK 422由網關設備310收集并且存儲在其中,用于稍后到其它設備的選擇性分發(其可能是必須的或期待的)。在這方面,圖5的SCGK獲取和分發步驟540相對于第一和第三組相關聯的設備160、180在圖6中更詳細地示出。圖6是示出了圖5中與具有雙向通信能力的設備相關的流程圖的一部分的簡化流程圖。如圖所示,每個具有雙向通信能力的設備選擇性地在610接收第三組180(A型)設備的SCGK。類似地,每個具有雙向通信能力的設備選擇性地在620接收第一組160(B型)設備的SCGK。此外,每個具有雙向通信能力的設備選擇性地在630接收第二組170(C型)設備的SCGK。
再次參考圖5示出的認證和安全密鑰分發過程500,在SCGK獲取和分發之后、并且在設備可操作地在SCG 360中進行安全通信450(圖4)之前,在步驟560,設備在本地編譯和生成各自的會話密鑰432。同樣,應當理解,僅由具有雙向通信能力的設備接收或以其它方式協作確定其各自的會話密鑰432,并且根據示例性實施例,簡單的設備(例如,第二組(C型)設備170)在制造、初始編程、或者設備安裝到相關聯的通信網絡140(圖1)期間被提供有一個或多個會話密鑰。網關設備310收集預先配置在簡單的設備(例如,第二組(C型)設備170)上的會話密鑰,并且隨后將會話密鑰分發給具有雙向通信能力的一個或多個其它設備(例如,第一和第二組160、180(B&C型)的那些設備)。
圖7是示出了針對圖1的系統的僅具有單向通信能力的選定設備的認證和安全密鑰分發的示例過程700的流程圖。最初在710,第一數據集410被存儲在或以其它方式提供到僅具有單向通信能力的每個相關聯的電子設備150。所存儲的第一數據集410包括例如代表用于認證僅具有單向通信能力的設備的會話密鑰和信息的數據。第一數據集410使用在線或離線資源等預配置在相關聯的電子設備150中,或者存儲在非暫態存儲器或類似設備中。
在步驟720,僅具有單向通信能力的選定設備使用第一數據集410來與網關設備310進行認證。此后,僅具有單向通信能力的設備將第一數據集410用作會話密鑰,以用于一個或多個SCG 360內的安全通信。
但應理解,在示例性實施例中,會話密鑰432被用來確保SCG內的成員設備之間的安全通信,其中會話密鑰432由設備用來簽名或以其它方式加密消息。在這方面,圖8是示出了使用安全通信群會話密鑰對消息進行安全通信的功能流程800的功能框圖。一般而言,開放的、或以其它方式不安全的或不加密的消息810由網關設備310的加密邏輯820使用選定會話密鑰432來簽名或加密,如上所述。更具體地,第一和第三組(B&A型)設備160、180可以使用雙向通信彼此協商SCGK密鑰,或者它們可以從網關設備310接收SCGK,其中SCGK由第一和第三組(B&A型)設備160、180的設備用來本地且動態地建立其各自的會話密鑰。此外,根據本文的實施例,第二組(C型)設備170的單向通信設備被預配置有認證數據和會話密鑰432。在所示的實施例中,加密邏輯820為開放非安全的消息810簽名,從而形成能夠在相關聯的通信網絡140(圖1)內安全地傳輸的加密的消息830。以這種方式,由第一SCG的設備成員所加密的消息僅能夠由同樣是第一SCG的成員的設備進行解密。此外,以這種方式,消息可以安全地在異構設備之間傳輸。
圖9是示出了其上可以實現示例性實施例的計算機系統900的示例的框圖。一般而言,可以采用計算機系統900來實現裝置100中的認證代理邏輯130、以及一個或多個相關的車輛10的所連接的車載網關設備310的功能。
計算機系統900包括用于傳遞信息的總線902或其它通信機構、以及與總線902耦接用于處理信息的處理器904。計算機系統900還包括非暫態主存儲器906,例如耦接到總線902用于存儲要由處理器904執行的指令和信息的隨機存取存儲器(RAM)或其它動態存儲設備。主存儲器906也可用于在由處理器904執行的指令的執行期間存儲臨時變量或其它中間信息。計算機系統900還包括耦接至總線902用于存儲處理器904的靜態信息和指令的只讀存儲器(ROM)或其它靜態存儲設備。非暫態存儲裝置910(例如,磁盤、光盤、和/或閃存存儲器)被提供并耦接到總線902用于存儲信息和指令。
示例實施例的一個方面涉及使用計算機系統900來認證具有不等能力的設備。示例實施例的進一步的方面涉及使用計算機系統900來認證具有不等能力的設備,例如具有非常不同的通信和處理功能的車內電子設備。根據示例性實施例,這些功能是由計算機系統900響應于處理器904執行包含在非暫態主存儲器906中的一個或多個指令的一個或多個序列而提供的。這樣的指令可從另一計算機可讀介質(例如存儲設備910)讀入主存儲器906。對包含在主存儲器906中的指令序列的執行使得處理器904執行本文描述的處理步驟。多處理布置中的一個或多個處理器也可以被用來執行包含在主存儲器906中的指令序列。在替代的實施例中,硬連線電路可代替軟件指令、或與軟件指令結合使用來實現示例性實施例。因此,本文描述的實施例不限于硬件電路的任何特定組合、或具有軟件的硬件電路的任何特定組合。
如本文所用的術語“計算機可讀介質”指的是參與提供指令給處理器904用于執行的任何非暫態介質。這樣的介質可以采取許多形式,包括但不限于非易失性介質和易失性介質。非易失性介質包括例如諸如存儲設備910之類的光盤或磁盤。易失性介質包括諸如主存儲器906之類的動態非暫態存儲器。如本文中所使用的,有形介質可包括任何非暫時性介質,例如易失性和非易失性介質。計算機可讀介質的常見形式包括例如軟盤、柔性盤、硬盤、磁卡、紙帶、具有孔圖案的任何其它物理介質、RAM、PROM、EPROM、FLASHPROM、CD、DVD、或任何其它存儲器芯片或盒、或計算機可從其進行讀取的任何其它介質。
將一個或多個指令的一個或多個序列承載到處理器904以用于執行可能涉及各種形式的計算機可讀介質。例如,指令最初可以由遠程計算機的磁盤上承載。遠程計算機可以將指令加載到其動態存儲器中并且使用調制解調器通過電話線發送指令。計算機系統900的本地調制解調器可以接收電話線上的數據,并使用紅外發射器將數據轉換為紅外信號。耦接到總線902的紅外檢測器可以接收承載于紅外信號中的數據,并將數據置于總線902上。總線902承載數據到主存儲器906,處理器904從主存儲器906檢索并執行指令。由主存儲器606接收的指令可選地或者在由處理器904執行之前、或者在由處理器904執行之后被存儲在存儲設備910上。
計算機系統900還包括可操作地與總線902耦接的第一通信接口920。通信接口920提供雙向數據通信,將計算機系統900與通信鏈路930耦接。例如,通信接口920可以是局域網(LAN)卡,用于提供到兼容LAN(例如控制器區域網絡(CAN)網絡)的數據通信連接。作為另一示例,通信接口920可以是綜合業務數字網(ISDN)卡或調制解調器,用于提供到相應類型的電話線的數據通信連接。也可以實現無線鏈路。在任何這種實現方式中,通信接口920發送和接收電、電磁、或光信號,該電、電磁、或光信號承載代表各種類型的信息的數字數據流。
鑒于前述結構和功能特征,參考圖10a-圖11c將更好地理解根據本文的示例性實施例的方法。同時,出于簡化解釋的目的,這些圖將方法示出和描述為連續執行的,但是應理解和明白,示例性實施例并不由所示的順序限制,因為一些方面可以以不同的順序發生和/或與來自本文所示和描述的其它方面一起發生。此外,并非所有示出的特征都被要求來實現根據示例性實施例的方面的方法。本文所描述的方法適當地適于在硬件、軟件、或其組合中實現。
總體而言,示例性實施例的SCG 360有效地使在不同網絡上的兩個或更多設備能夠經由一個或多個內部交換機通過或者鄰居到鄰居、或者終端到終端安全保護來容易地進行安全通信。在這方面,首先參考圖10a,將描述示出了用于安全的鄰居到鄰居的通信的示例過程1000的流程圖。所示出的實施例提供了使用鄰居到鄰居的安全通信拓撲的、通過圖1的系統的內部交換機和網關的具有不等的通信能力的電子設備之間的安全消息交換。
為了說明示例性實施例的一般功能(相對于使用鄰居到鄰居的機密性保護的、通過內部交換機和網關的車內設備之間的安全消息交換),圖10a所示的所有組件都被假定為駐留在相關聯的通信網絡140內。此外,所有的設備都是SCG 1000的成員。在示例中,組件包括例如第一設備1010,第一設備1010經由內部交換機或網關設備1030與第二設備1020可操作地通信。此外,第二設備1020經由第二內部交換機或網關設備1050與第三設備1040可操作地通信。進一步地,在示例中出于描述實施例的目的,第一設備1010在諸如以太網絡之類的第一網絡中,第二設備1020在諸如CAN網絡之類的第二網絡中,并且第三設備1040在諸如LIN網絡之類的第三網絡中。然而重申,在示例性實施例中所有的設備都是共同的第一SCG 1000的成員。
有了鄰居到鄰居的消息安全性(如圖10a所示),源設備簽名并加密其消息到最近的交換機,交換機驗證或解密消息,隨后使用自己的密鑰簽名和加密消息到下一跳模式。這意味著,內部交換機需要知曉鄰居設備的會話密鑰,并且進一步地需要實現對稱密鑰的完整性和/或機密性保護功能。據此,來自第三設備1040的第一消息1041以第三設備1040的會話密鑰簽名,并且第二交換機設備1050使用第二交換機設備1050的會話密鑰來解密消息。類似地,在第一設備1010和第一交換機1030之間交換的消息首先以傳輸設備的SCG會話密鑰來簽名。本質上,消息1041、1051、1021、1031、1011和1032中的每個在跳之間都被簽名或以其它方式加密。
圖10b是示出了使用終端到終端安全通信模型的、通過圖l的系統的內部交換機和網關的電子設備之間的安全消息交換的流程圖。有了終端到終端安全通信模型(如圖10b所示),安全設備簽名/或加密其消息到目的地設備。中間交換機不驗證或解密這些消息,因此不需要知曉鄰居設備的會話密鑰并且進一步地不需要實現加密功能。
為了說明一般功能(相對于使用終端到終端機密性保護的、通過如圖10b所示的內部交換機和網關的車內設備之間的安全消息交換),所有組件都被假定為駐留在相關聯的通信網絡140內。此外,所有的設備都是SCG 1000的成員。在示例中新組件包括經由內部交換機或網關設備1030′與第二設備1020′可操作地通信的第一設備1010′。此外,第二設備1020′經由第二內部交換機或網關設備1050′與第三設備1040′可操作地通信。此外,在示例中出于描述實施例的目的,第一設備1010′在諸如以太網絡之類的第一網絡中,第二設備1020′在諸如CAN網絡之類的第二網絡中,并且第三設備1040′在諸如LIN網絡之類的第三網絡中。然而重申,所有設備都是共同的第一SCG 1000′的成員。
因此,來自第三設備1040′的第一消息1041′以第三設備的會話密鑰簽名并且經由第二交換機設備1050′、第二設備1020′和第一交換機設備1030′傳輸到第一設備1010′,本質上不存在解密或任何其它材料修改。更具體地,在所示的實施例中,設備1050′、1020′和1030′可操作以僅對消息1041執行交換功能而沒有加密或安全功能。
在第一設備1010′接收使用第三設備1040′的會話密鑰加密的消息1041′之后,其使用第一設備1010′的會話密鑰進行解密。
示例性實施例的SCG可以支持用于控制由外部設備向車內設備的訪問的多種方法,如圖11a、圖11b和圖11c所例舉的。圖11a是示出了使用鄰居到鄰居安全通信模型或跳到跳安全通信模型的、圖1的系統的車內設備與相關聯的外部設備之間的安全消息傳輸的流程圖。
圖11表明外部的A型、B型或C型設備可以與SCV網關進行認證。作為成功認證的一部分,外部設備和SCV網關將建立用于確保其間交換的數據的安全的會話密鑰。外部設備隨后簽名和/或加密其數據到SCV網關。SCV網關驗證和解密的數據,隨后上傳以它自己的會話密鑰保護的數據到目的地的ECU。
在圖11a所示的實施例的系統中,網絡設備1100和網關設備1110被布置在相關聯的車輛10內,并且外部設備1120被布置在相關聯的車輛10之外、或從相關聯的車輛10中移除。為示例起見,假設外部設備1120先前已由可信方授權或以其它方式提供了證書。
在1122,外部設備1120和車內網關1110認證設備1120,并且建立一組安全通信密鑰。隨后外部設備1120使用該組安全通信密鑰來將在1124發送的數據簽名或以其它方式加密到車內網關1110。
車內網關1110接收加密的數據消息1124,并且對其進行解密來認驗證消息不包含惡意軟件或類似物。一旦經解密的消息的完整性得以認證,網關設備1110就使用網關設備的加密密鑰來加密消息,用于以加密的消息1112的加密形式遞送到車內設備1100。
在圖11b所示的實施例的系統中,網絡設備1100和網關設備1110被布置在相關聯的車輛10內,并且外部設備1120被布置在相關聯的車輛10之外、或從相關聯的車輛10中移除。為示例起見,假設外部設備1120先前已由可信方授權或以其它方式提供了證書。
在1122,外部設備1120和車內網關1110認證設備1120,并且建立一組安全通信密鑰。隨后外部設備1120使用該組安全通信密鑰來將在1124發送的數據簽名或以其它方式加密到車內網關1110。
車內網關1110接收加密的數據消息1124,并且將其直接傳送至車內設備1100。車載網關1100也在1114處將在1122處建立的外部設備1120的安全通信密鑰傳送至車內設備1100。以這種方式,網關設備1110不再擔負解密隨后重新加密來自外部設備1120的數據的負擔。
在圖11c所示的實施例的系統中,網絡設備1100和網關設備1110被布置在相關聯的車輛10內,并且外部設備1120被布置在從相關聯的車輛10之外、或從相關聯的車輛10中移除。為示例起見,假設外部設備1120先前已由可信方授權或以其它方式提供了證書。
在1122,外部設備1120和車內網關1110認證設備1120,并且建立一組安全通信密鑰。隨后外部設備1120使用該組安全通信密鑰來將在1124發送的數據簽名或以其它方式加密到車內網關1110。
在此示例中,認證訪問控制與數據相結合。本質上,與網關設備1110的明確認證在實施例中得以消除。因此,外部設備1120被允許通過網關1110將數據消息簡單地始發到車內設備1100,而無需明確認證。在示例中,網關通過檢查數據執行隱式認證。例如,一個示例中的網關設備1110直接驗證消息1124上數據的簽名。當簽名通過網關設備1110的驗證,系統暗示對簽名的驗證來自授權方。換言之,當消息1124的簽名由網關設備1110驗證通過時,發送方(即外部設備1120)被推定為經授權的。
一旦簽名得以驗證,就i)在1112處,加密的消息可以直接轉發到車內設備1100,或ii)在1112處,數據被解密隨后被發送到車內設備1100。
在下述情況時,新的安全密鑰管理和安全通信方法可以確保具有很大不同的通信和處理能力的車內設備之間的通信的安全:1)一些設備只能發送但不能接收消息,一些設備只能執行對稱密鑰加密操作但不能執行公鑰算法,并且許多設備不支持IP協議時;2)相異的設備也在不同類型的車載網絡(例如CAN、LIN、MOST和以太網)上時;以及3)車輛不具有到外部安全系統的網絡連接性時。示例性實施例還解決了外部設備如何能安全地與連接到相同或不同網絡的車內設備進行通信的問題。
總體而言,實施例使得不同類型的網絡上具有相異能力的設備能夠安全地彼此通信,同時允許每個設備的安全保護水平和安全處理負擔與其能力和風險狀況相匹配。本文的實施例提為針對具體類型的網絡或應用提供安全性的系統提供了顯著改善,其中實施例支持所有類型的車內網絡的安全通信。在實施例中,沒有在相同的物理或虛擬LAN上的設備需要使用相同安全協議(因而也具有相同的安全水平,而無論設備的能力如何)的要求。相反在本文的實施例中,每個設備的安全水平基于該設備的通信和處理能力。
又更進一步地,實施例允許車內網絡的安全能力輕松地生長和擴展,而不改變安全架構或協議。例如,在較新的車型或改裝現有車輛(不改變安全系統和方法或改變其它設備)中,B型設備可以以A型設備來代替,C型設備可以以B型或A型設備來代替。升級物理或虛擬局域網上的安全水平不需要升級相同網絡上的所有設備的安全能力。仍另外地,實施例允許在車內設備與預先認證的外部設備之間的安全通信。
上文描述了示例性實施例。它當然不可能描述組件或方法的每一可想到的組合,但本領域的普通技術人員將認識到示例性實施例的許多進一步的組合和排列是可能的。因此,本申請旨在涵蓋落入所附權利要求的精神和范圍(其覆蓋面根據它們公平、合法和公正地賦予的含義來解釋)內的所有這樣的更改、修改和變化。