當ECU向該診斷工具提供信息時,該信息可能受到惡意攻擊。ECU通常彼此互連并且經(jīng)由車輛網(wǎng)絡(luò)(例如,使用控制器局域網(wǎng)(CAN)協(xié)議的總線)彼此通信。另外,ECU可以遵守并且/或者符合車輛診斷協(xié)議。最近,惡意攻擊者已經(jīng)確定如何竊聽或者攔截通過(一個或多個)ECU攜帶或者傳送的敏感信息。如下面將闡釋的,通過使用該敏感信息,惡意攻擊者可以擅自訪問車輛、擅自啟動車輛、擅自控制車輛移動、或者擅自訪問合法用戶的私人信息,僅略舉數(shù)例。
[0025]下面所描述的(一種或多種)方法更具體地涉及增強在向診斷工具傳輸敏感信息期間的安全性。例如,可以使用診斷工具進行以下操作:與車輛總線(有線或者無線)連接;試圖獲得授權(quán)或者訪問ECU ;從ECU接收挑戰(zhàn);準確地響應(yīng)挑戰(zhàn)并且接收訪問;向ECU查詢敏感信息或者機密信息;以及由于工具已授權(quán),所以接收所請求的敏感信息或者機密信息。當將該信息從ECU傳輸至診斷工具時,常規(guī)上講,該信息對于竊聽者是不安全的。由此,此時,惡意攻擊者可以獲取該信息并且不正當?shù)厥褂迷撔畔?。本文所論述?一種或多種)方法通過保全或者保護(例如,經(jīng)由加密)所傳輸?shù)拿舾行畔碓鰪娺@些類型的診斷會話的安全性。而且,加密信息不是存儲在執(zhí)行解密的診斷工具,而是存儲在工具中用于稍后傳送至遠程服務(wù)器進行解密和分析。這樣,解密密鑰不需要存儲在診斷工具處,以及在工具被偷或者泄漏的情況下,敏感信息依然受到加密保護并且攻擊者沒有對信息進行解密的解密密鑰。另外,本文所描述的(一種或多種)方法實現(xiàn)了將診斷讀數(shù)安全存儲在互聯(lián)網(wǎng)或者無線連接間斷或者不存在的遠程位置處。
[0026]圖1圖示了在其中具有通信系統(tǒng)12的車輛10。通信系統(tǒng)12可以經(jīng)由一個或多個車輛總線14實現(xiàn)有線通信;通過使用短距離無線通信(SRWC)芯片集16 (見圖2)實現(xiàn)SRWC ;或者通過使用蜂窩芯片集18 (見圖2)實現(xiàn)遠程蜂窩通信,僅略舉幾種可能性。(一條或多條)總線14和SRWC設(shè)備可以共同實施以實現(xiàn)車輛局域網(wǎng)(VLAN)。
[0027]—條或多條總線14可以包括(一條或多條)通信總線、(一條或多條)資訊娛樂總線、(一條或多條)娛樂總線等。如果一條或多條總線14合適地配置為攜帶存儲在ECU中的診斷信息,則它們還可以被認為是診斷總線,不論(一條或多條)總線是否還攜帶其他通信、資訊娛樂或者娛樂數(shù)據(jù)。圖1所示的總線直接和間接連接至多個裝置。例如,許多ECU(20)直接耦合至總線14,總線14又分別耦合至車輛系統(tǒng)模塊或者車輛模塊或者裝置22 (從而使EOT在總線14與裝置22之間建立連接)。(一條或多條)總線14和EOT 20 —起經(jīng)由一個或多個車輛網(wǎng)絡(luò)(例如,合適的網(wǎng)絡(luò)連接包括控制器局域網(wǎng)(CAN)、面向媒體的系統(tǒng)傳輸(MOST)、本地互連網(wǎng)絡(luò)(LIN)、局域網(wǎng)(LAN)以及其他適當?shù)倪B接,諸如,以太網(wǎng)或者符合已知的ISO、SAE和IEEE標準和規(guī)范的其他網(wǎng)絡(luò),僅略舉數(shù)例)通信。
[0028]每個EOT可以包括一個或多個處理裝置或者處理器30和存儲器或者存儲器裝置32 (見,例如,圖2)。每個處理器30可以是能夠處理電子指令的任何類型的裝置,包括:微處理器、微控制器、主處理器、控制器、車輛通信處理器和專用集成電路(ASIC)。其可以是僅用于各自的ECU (和/或其各自的車輛模塊22)的專用處理器,或者,其可以和其他車輛系統(tǒng)共享。處理器30執(zhí)行各種類型的數(shù)字存儲指令,諸如,存儲在存儲器32中的軟件或者固件程序,該數(shù)字存儲指令使車輛模塊22能夠提供各種服務(wù)。例如,處理器30可以執(zhí)行程序或者處理數(shù)據(jù),以實施本文所論述的方法的至少一部分。
[0029]存儲器32可以包括任何合適的計算機可用或者可讀介質(zhì),這種介質(zhì)包括一個或多個存儲裝置或者物品。示例性計算機可用存儲裝置包括常規(guī)的計算機系統(tǒng)RAM (隨機存取存儲器)、R0M (只讀存儲器)、EPR0M (可擦除可編程R0M)、EEPR0M (電可擦除可編程ROM)、以及磁盤或者光盤或者磁帶。
[0030]根據(jù)一個實施例,存儲器32可以分類為或者劃分為可識別片段,每個片段具有小區(qū)或者地址34 (見圖3)或者與小區(qū)或者地址34相關(guān)聯(lián)。圖3示出了具有多個地址34的存儲器32的至少一部分。僅出于圖示之目的,圖3示出了行(用字母表示,例如,A-AA)和列(用數(shù)字表示,例如,1-19)。行和列的這些數(shù)量僅為示例;還存在其他數(shù)量。而且,還存在對存儲器32進行尋址的其他裝置。如下面將更詳細闡釋的,存儲器32可以攜帶或者存儲敏感數(shù)據(jù)和非敏感數(shù)據(jù);例如,在圖3中,陰影地址(例如,H1、I1、J1、…、S1)可以攜帶敏感數(shù)據(jù),而非陰影地址(例如,所有列2、3、4和5)可以攜帶較不敏感的數(shù)據(jù)或者非敏感數(shù)據(jù)。
[0031]還應(yīng)該了解,處理器30和存儲器32可以通過使用硬件或者軟件來配置,以及本文所描述的(一種或多種)方法可以作為可由處理器30和/或車輛模塊22執(zhí)行的一個或多個計算機程序而執(zhí)行,以及各種與方法相關(guān)的數(shù)據(jù)可以存儲在任何合適的存儲器中。計算機程序可以多種方式存在,活躍的和非活躍的。例如,計算機程序可以作為由源代碼、目標代碼、可執(zhí)行代碼或者其他格式的程序指令組成的(一種或多種)軟件程序、(一種或多種)固件程序、或者硬件描述語言(HDL)文件而存在。上述任何一種程序都可以體現(xiàn)為計算機可用或可讀介質(zhì),這種介質(zhì)包括一個或多個存儲裝置或物品。因此,要理解,可以至少部分地由能夠執(zhí)行上面所描述的功能的任何(一種或多種)電子裝置來執(zhí)行這些方法。
[0032]車輛模塊22可以配置為執(zhí)行各種車輛服務(wù)。例如,一個模塊可以為發(fā)動機控制模塊;另一模塊可以為傳動系統(tǒng)控制模塊?;蛘?,例如,車輛模塊22的一個可以為遠程信息單元(如圖2所示),該遠程信息單元除了其他之外還具有之前所提及的SRWC和蜂窩芯片集16、18及其自身的處理器40、存儲器42和多用途(或者多頻帶)天線44。例如,通過使用SRWC芯片集16,遠程信息單元可以根據(jù)任何合適的、已知的協(xié)議(經(jīng)由VLAN)實施無線聯(lián)網(wǎng)。SRWC協(xié)議的非限制性示例包括W1-Fi標準(例如,IEEE 802.11), W1-Fi Direct標準、藍牙標準、WiMAX標準、ZigBee?標準、無線紅外傳輸標準、任何其他合適的標準、或者其各種組合。
[0033]當然,還可以根據(jù)任何合適的蜂窩標準進行通過遠程信息單元的無線聯(lián)網(wǎng)。例如,遠程信息單元可以經(jīng)由GSM、CDMA或者LTE標準進行通信,僅略舉幾例。蜂窩通信應(yīng)該被廣泛地解釋為包括語音呼叫、數(shù)據(jù)(或者分組)呼叫、或者其任何組合。
[0034]圖2所示的EOT 20耦合在總線14與遠程信息單元(其中一個模塊22)之間并且可以根據(jù)任何合適的標準進行配置,例如,常規(guī)配置的ECU;或者其可以為專用的、特別或者具體配置的ECU。由此,圖2所示的ECU 20圖示了在圖1中示出的任何或者所有ECU。應(yīng)該了解,ECU 20可以存儲與通過總線14進行的通信相關(guān)聯(lián)的敏感數(shù)據(jù)、或者與各自的模塊22 (例如,遠程信息單元)相關(guān)聯(lián)的敏感數(shù)據(jù)、或者兩者。例如,如下面將更詳細闡釋的,ECU20可以存儲和利用一個或多個加密密鑰并且將其用于安全總線通信或者用于在ECU 20與各自的模塊22之間的通信。而且,技術(shù)人員要了解,ECU 20的突破可以使攻擊者有合適的機會獲取存儲在模塊22內(nèi)的敏感數(shù)據(jù);使攻擊者能夠獲取對車輛的物理訪問;以及甚至危害車輛10的合法用戶。例如,圖2所示的ECU 20的突破可以使惡