用于汽車電子控制單元的安全訪問方法
【專利摘要】本發明涉及一種用于采用機制來解鎖車輛ECU的系統和方法。ECU存儲識別特定的ECU的獨特的ECU識別值,安全服務器存儲ECU識別值和獨特的ECU安全密鑰值,其中,識別值識別服務器中的安全密鑰值,并且,安全服務器存儲對于很多ECU來說獨特的ECU識別值和獨特的安全密鑰值。希望訪問ECU以便軟件重新編程或維護的維護工具從ECU請求ECU識別值和詢問,并將ECU識別值和詢問發送給安全服務器,然后,安全服務器識別與ECU識別值相關聯的安全密鑰值和詢問的響應。然后,安全服務器將響應發送給維護工具,維護工具將其提供給ECU以便解鎖ECU來編程。
【專利說明】用于汽車電子控制單元的安全訪問方法
【技術領域】
[0001]本發明總體涉及一種用于安全訪問或解鎖車輛上的電子控制單元(ECU)的系統和方法,更具體而言,涉及一種用于安全訪問或解鎖車輛上的ECU的系統和方法,其中,該系統包括從ECU接收ECU識別值和安全詢問的遠程安全服務器,并且該服務器使用ECU識別值來識別用于ECU的ECU安全密鑰值,以便提供對詢問的響應。
【背景技術】
[0002]很多現代車輛包括電子控制單元(ECU),或控制器,其控制車輛系統的操作,諸如動力系、氣候控制系統、信息娛樂系統、車身系統、底盤系統、以及其它系統。這種控制器需要為特殊目的設計的軟件,以便執行控制功能。隨著這些控制器的數量以及復雜性增加,以及惡意軟件開發者所帶來的增長的威脅,現在比以往更重要的是認證安裝在汽車控制器上的軟件文件的來源和內容。在車輛控制器中使用未經適當證實的軟件或者更糟的是惡意設計的軟件的后果包括車輛或其系統的未曾預料的行為,失去車輛上的防盜特征,對諸如里程表等構件的潛在篡改,以及失去其它車輛特征和功能。
[0003]由于各種原因,車輛上的ECU必須偶爾進行維護或更新,其中,維護設施需要訪問ECU,下載診斷故障代碼或其它錯誤、對ECU重新編程,或者執行一些其它操作以便處理車輛問題。然而,為了安全,重要的是,僅認證的人員能夠訪問車輛上的ECU來執行維護操作,因為未經認證的使用者可能執行惡意或不當的活動,其不利地影響車輛操作。換句話說,重要的是,未經認證的使用者不能夠訪問車輛ECU來以可能是惡意的或損害車輛的軟件來對E⑶進行編程。因此,需要具有安全的技術來解鎖E⑶,以便編程、維護和其它操作。
[0004]使用某種類型的詢問/響應機制,可以使車輛ECU解鎖,用于安全敏感的診斷操作,詢問/響應機制有時稱為‘種子和密鑰’,其中,種子代表詢問,密鑰代表響應。例如,試圖訪問ECU的維護工具將造成ECU發出詢問消息,諸如某種類型的問題,其被預編程在ECU上,工具必須以適當的響應來回答該詢問,該適當的響應也被預編程在ECU上,如果回答正確將使得ECU允許工具訪問它。診斷標準識別該過程如何實施。例如,IS014229限定了允許使用詢問/響應機制解鎖設備的安全訪問服務。
[0005]以上所述類型的詢問/響應機制通常有兩個分類。第一分類包括固定的詢問,其中詢問以及因此其期望的響應都是固定的。在這種實施方式中,E⑶簡單地存儲詢問和響應,其中,不需要設備自身能夠計算對于給定詢問的響應。這種系統的一個缺點在于一旦響應被知道,則其永遠被知道,今天解鎖E⑶的相同響應在明天也將解鎖相同的E⑶。因此,由這種類型的詢問/響應機制所提供的安全是有限的。
[0006]第二分類包括可變的響應,其中,每個E⑶解鎖操作造成E⑶發出不同的詢問。這通常通過使要解鎖的設備具有計算所給詢問的響應的能力而實現。在很多實施方式中,其采用允許計算所給詢問的響應的保密算法的形式。其優點在于防止響應在稍晚的時間被使用,但缺點在于,系統的安全依賴于算法的保密性。如果所有的設備使用相同的算法,則必須嵌入每個ECU中的算法的暴露將降低系統的整體安全性。
【發明內容】
[0007]根據本發明的教導,公開了用于解鎖車輛ECU以便允許文件安裝到ECU上的系統和方法。ECU存儲識別特定的ECU的獨特的ECU識別值,安全服務器存儲ECU識別值和獨特的ECU安全密鑰值,其中,識別值識別服務器中的安全密鑰值,并且,安全服務器存儲對于很多E⑶來說獨特的E⑶識別值和獨特的安全密鑰值。希望訪問E⑶以便軟件重新編程或維護的維護工具從ECU請求ECU識別值和詢問,并將ECU識別值和詢問發送給安全服務器,然后,安全服務器識別與ECU識別值相關聯的安全密鑰值和詢問的響應。然后,安全服務器將響應發送給維護工具,維護工具將其提供給ECU以便解鎖ECU來編程。下一次ECU被維護時,其提供安全服務器將能夠正確地響應的不同的詢問,因為它知道ECU安全密鑰值。
[0008]此外,本發明還涉及以下技術方案。
[0009]1.一種允許訪問車輛上的電子控制單元(E⑶)的方法,所述方法包括:
在ECU的存儲器中存儲識別ECU的ECU識別值;
在遠程安全數據庫中存儲所述ECU識別值以及與所述ECU識別值相關聯的ECU安全密鑰值;
由維護工具從ECU請求所述ECU識別值;
響應于所述請求,在ECU中產生詢問;
從ECU向所述維護工具發送所述ECU識別值和所述詢問; 從所述維護工具向所述安全數據庫發送所述E⑶識別值和所述詢問;
識別對應于所述ECU識別值的EUC安全密鑰值;
基于所述ECU安全密鑰值在所述數據庫中產生消息,該消息包括對所述詢問的響應; 從所述數據庫向所述維護工具發送所述消息;
從所述維護工具向所述ECU發送所述消息;以及 如果所述詢問的響應被ECU所接受,則允許訪問ECU。
[0010]2.如技術方案I所述的方法,其中,在所述數據庫中產生消息包括使用對所述ECU安全密鑰值進行加密的安全消息認證碼來提供認證器。
[0011]3.如技術方案I所述的方法,其中,除了所述ECU識別值被用于識別所述ECU安全密鑰值之外,在所述ECU識別值和所述ECU安全密鑰值之間沒有其它關系。
[0012]4.如技術方案I所述的方法,其中,所述E⑶識別值和所述E⑶安全密鑰值通過保密密鑰來關聯,其中,所述ECU安全密鑰值使用所述ECU識別值和所述保密密鑰來計算。
[0013]5.如技術方案4所述的方法,其中,所述ECU安全密鑰使用安全加密消息認證碼來計算。
[0014]6.如技術方案4所述的方法,其中,所述ECU安全密鑰值在預配服務器處進行計
笪
ο
[0015]7.如技術方案I所述的方法,其中,將所述ECU識別值和所述詢問發送給所述安全數據庫以及將所述ECU識別值和所述詢問從所述維護工具發送給所述安全數據庫包括使用通信鏈路,該通信鏈路選自短消息、因特網、網頁訪問、SMS文本消息、智能手機、電子郵件、語音響應系統和電話連接。
[0016]8.如技術方案I所述的方法,其中,在ECU中產生詢問包括計算隨機或偽隨機的比特值。
[0017]9.如技術方案I所述的方法,其中,在E⑶中產生詢問包括每次所述E⑶識別值被請求時產生不同的詢問。
[0018]10.一種允許訪問控制器的方法,所述方法包括:
在控制器的存儲器中存儲識別控制器的控制器識別值;
在遠程安全數據庫中存儲所述控制器識別值以及與所述控制器識別值相關聯的控制器安全密鑰值;
由維護工具從控制器請求所述控制器識別值和詢問;
響應于所述請求,在控制器中產生詢問,其中,在控制器中產生詢問包括每次所述控制器識別值被請求時產生不同的詢問,并且其中,在控制器中產生詢問包括計算隨機或偽隨機的比特值;
從控制器向所述維護工具發送所述控制器識別值和所述詢問;
從所述維護工具向所述安全數據庫發送所述控制器識別值和所述詢問;
識別對應于所述控制器識別值的控制器安全密鑰值;
基于所述控制器安全密鑰值在所述數據庫中產生消息,該消息包括對所述詢問的響
應;
從所述數據庫向所述維護工具發送所述消息;
從所述維護工具向所述控制器發送所述消息;以及 如果所述詢問的響應被控制器所接受,則允許訪問控制器。
[0019]11.如技術方案10所述的方法,其中,在所述數據庫中產生消息包括使用對所述控制器安全密鑰值進行加密的安全消息認證碼來提供認證器。
[0020]12.如技術方案10所述的方法,其中,除了所述控制器識別值被用于識別所述控制器安全密鑰值之外,在所述控制器識別值和所述控制器安全密鑰值之間沒有其它關系。
[0021]13.如技術方案10所述的方法,其中,所述控制器識別值和所述控制器安全密鑰值通過保密密鑰來關聯,其中,所述控制器安全密鑰值使用所述控制器識別值和所述安全密鑰來計算。
[0022]14.一種允許訪問控制器的系統,所述系統包括:
在控制器的存儲器中存儲識別控制器的控制器識別值的裝置;
在遠程安全數據庫中存儲所述控制器識別值以及與所述控制器識別值相關聯的控制器安全密鑰值的裝置;
由維護工具從控制器請求所述控制器識別值和詢問的裝置;
響應于所述請求在控制器中產生詢問的裝置;
從控制器向所述維護工具發送所述控制器識別值和所述詢問的裝置;
從所述維護工具向所述安全數據庫發送所述控制器識別值和所述詢問的裝置;
識別對應于所述控制器識別值的控制器安全密鑰值的裝置;
基于所述控制器安全密鑰值在所述數據庫中產生消息的裝置,該消息包括對所述詢問的回答;
從所述數據庫向所述維護工具發送所述消息的裝置;
從所述維護工具向所述控制器發送所述消息裝置;以及 如果所述詢問的響應被控制器所接受則允許訪問控制器的裝置。
[0023]15.如技術方案14所述的系統,其中,在所述數據庫中產生消息的裝置使用對所述控制器安全密鑰值進行加密的安全消息認證碼來提供認證器。
[0024]16.如技術方案14所述的系統,其中,除了所述控制器識別值被用于識別所述控制器安全密鑰值之外,在所述控制器識別值和所述控制器安全密鑰值之間沒有其它關系。
[0025]17.如技術方案14所述的系統,其中,所述控制器識別值和所述控制器安全密鑰值通過保密密鑰來關聯,其中,所述控制器安全密鑰值使用所述控制器識別值和所述安全密鑰來計算。
[0026]18.如技術方案14所述的系統,其中,在ECU中產生詢問的裝置計算隨機或偽隨機的比特值。
[0027]19.如技術方案14所述的系統,其中,在E⑶中產生詢問的裝置在每次所述E⑶識別值被請求時產生不同的詢問。
[0028]本發明的其它特征將從結合附圖的以下描述和權利要求變得清楚。
【專利附圖】
【附圖說明】
[0029]圖1是包括車輛E⑶的車輛的示意圖;以及 圖2是使用遠程安全數據庫來解鎖ECU的流程圖。
【具體實施方式】
[0030]以下描述的本發明的實施例涉及用于解鎖或訪問安全車輛ECU的系統和方法,其在本質上僅為示例性的,絕非意圖限制本發明或其應用或用途。例如,本發明具有訪問車輛ECU的具體應用。然而,本領域技術人員應當理解的是,本發明的技術可具有訪問其它控制器的應用。
[0031]本發明提出允許安全訪問車輛ECU以便安裝軟件的方法。該方法與相關國際標準中限定的安全訪問方法兼容,諸如IS014229,并且比已經提出的其它方法提供更好的安全性。本發明的總體思想是提供ECU專用的安全密鑰,ECU和制造商都知道該安全密鑰。該安全密鑰用于加密的認證算法,例如消息認證碼(MAC),以產生詢問/響應系統。要解鎖的ECU提供獨特的ID,該獨特的ID用于在限定的數據庫中查詢安全密鑰,該限定的數據庫例如由車輛制造商所提供,并且制造商能夠使用該密鑰產生對于ECU所提供的詢問的有效響應。ECU內的加密算法可以被公開而不會降低系統的安全性,因為安全性依賴于安全密鑰,而該安全密鑰對于各個ECU是不同的。
[0032]試圖解鎖E⑶的維護設施需要與遠程位置的安全服務器通信。該通信可以通過直接連接到因特網來實現,或者通過各種其它通信機制,諸如短消息、網頁訪問、SMS文本消息、電話語音響應系統等。需要在ECU和安全服務器之間交換的較小量的信息使該通信變得容易。所提出的改進利用第二加密算法從ECU的獨特識別信息而得到ECU專用的安全密鑰,從而使得實現數據庫的功能更簡單,該第二加密算法將安全密鑰與ID直接關聯,S卩,密鑰是ID的加密函數,不需要產生安全密鑰數據庫。
[0033]圖1是車輛10的示意圖,該車輛10包括E⑶12,其用于表示車輛10上的一個或多個ECU,不限制車輛的類型、ECU12的類型、ECU12的目的等。如以下所討論的,本發明描述了一種解鎖ECU12的技術,使得能夠通過利用維護工具14的維護設施進行編程或維護軟件文件的安裝。根據本發明,相同車輛上的每個ECU或不同車輛上的每個ECU將具有其自身的ECU識別值和安全碼或密鑰。如以下詳細所述,維護工具14從ECU12獲得ECU識別值和詢問,并將它們發送給遠程的設施或安全服務器16,該遠程的設施或安全服務器16還存儲系統中的所有ECU的識別值和安全密鑰。服務器16從工具14接收ECU識別值和詢問,從識別值識別ECU安全密鑰,并且從安全密鑰識別存儲在服務器16上的對詢問的響應。服務器16將響應發送給工具14,工具14將其提供給E⑶12,如果正確,則允許工具14訪問E⑶12。
[0034]為了解鎖車輛ECU所提出的詢問響應機制沒有以上所述的缺點。基本上,車輛10中的每個不同的ECU使用不同的算法。結果,一個ECU或其它設備的成功的反向工程僅影響該設備的安全性,而不影響系統中的其它設備。然而,該過程已經被修改,更符合為了診斷操作而安全解鎖的要求。
[0035]如所述的,用于解鎖ECU而使用詢問/響應機制要求能夠認證操作的實體,即,安全服務器16。安全服務器16擁有認證所有的ECU所需要的所有信息,因此,安全服務器16的安全性(物理上和信息技術上)對于系統是非常重要的。在理想的實施方式中,安全服務器16將定位在安全數據中心,并且訪問服務器16需要通過非常小心地控制的網絡連接。存在“便攜”安全服務器,即使僅用于開發或維護操作,也將使安全服務器16及因此系統整體的安全性受到威脅,因此應該避免。
[0036]每個E⑶12具有E⑶專用的識別值IDrcu,該值對于E⑶12是獨特的,即,相同類型的ECU中的任何兩個不同的ECU將具有不同的IDku值。存儲該值的存儲器不需要被保護而不能夠診斷讀取,但應該被保護而不能夠診斷寫入。應該存在一機制允許當ECU12處于鎖定的安全狀態時該信息可以從ECU12獲取,例如使用IS014229的ReadDataByIdentifier服務通過非安全的DID讀取來獲取。應該注意,很多的ECU已經提供通過DID可跟蹤的信息,包括序列號信息。如果對于每個ECU12是獨特的,則可跟蹤信息可以用于該IDku值。
[0037]每個E⑶12還具有E⑶專用的保密密鑰值KEeu,該值對于每個E⑶12是專用的,SP,相同類型的ECU12中的任何兩個不同的ECU將具有不同的Kku值。存儲Kku值的存儲器必須被保護不能進行讀取或寫入存儲器的診斷操作,并且應該不具有允許該信息被讀取或更改的診斷服務。
[0038]操作系統的實體對于每個產生的E⑶12保持IDKU、Kecu值對的數據庫。該數據庫必須以安全的方式實現,因為數據庫的暴露將損害系統的安全性。該數據庫必須支持查詢功能,即,給定IDku值,則返回相應的ECU專用值Kku。
[0039]IDecu和Krcu值都是在完成車輛制造之前被編程到E⑶12中,例如,通過E⑶制造商或作為ECU12所安裝的車輛的組裝操作的一部分。結果,要裝配的每個ECU12將具有獨特的一組IDKU、Kecu值,并且安全服務器16必須支持對于所有裝配車輛的IDku和Kku值的查詢。
[0040]圖2是示出了用于以上所述方式解鎖E⑶12的一個過程的流程圖40。過程的一些步驟由E⑶12執行,一些由維護技術人員所使用的工具14來執行,一些由可訪問IDKU、Kecu對數據庫的安全服務器16來執行。
[0041]在框42中,工具14利用例如IS014229的ReadDataByIdentifier服務來查詢E⑶12,以便獲得E⑶專用的IDrcu值,E⑶12通過提供其IDrcu值來響應查詢。然后,在框44,通過從E⑶12請求所希望解鎖的源類型的種子,例如編程或I/O控制,工具14開始IS014229的SecurityAccess服務請求。這可以通過使用EQJ12中的RequestSeed或RequestSeed_IO_Control 子函數來是實現。
[0042]在框46,ECU12計算隨機或偽隨機的32比特值Ci,作為IS014229的SecurityAccess過程中的種子。應該注意,選擇32比特值作為種子是一種非限制性示例,可以采用任何適當的種子。如果Kku值被調節以產生不可預測的偽隨機值,則每次過程被初始化,該值必須被改變,不應該是可以預測的,并且必須不能夠泄露任何關于Kku值的任何有用信息。存在很多已知技術來產生這種隨機值,并且在汽車領域其被很好地實踐,因為其用作防盜系統中的詢問。2006年4月25日授權給Forest等人的題目為“Motor VehicleEngine Immobilizer Security System and Method” 的美國專利 7034654 公開了技術的一個示例,其將偽隨機和真隨機信息組合以產生用于Ci的值,該專利受讓給本申請的受讓人,并且通過引用而結合在本文中。然后,在框48,ECU12響應IS014229的SecurityAccessRequestSeed請求,在IS014229的SecurityAccess的響應消息中將Ci值作為種子值提供給工具14。
[0043]然后,在框50,工具14準備好包含IDku和Ci值的消息,并且將其發送給服務器16。然后,在框52,服務器16使用對安全數據庫的訪問來查詢對應于所提供的IDku值的Kku值。注意,Kku值永遠不離開安全服務器16。然后,在框54,如果需要的話,服務器16產生消息MSGi,該消息包括連結了其它預先限定的填充數據PAD以及連結了 IDku值的Ci值。換句話說:
MSGi = Ci I IDecu I PAD(I)
在框56,服務器16使用本領域技術人員熟知的由Kku值加密的安全消息認證碼(MAC)來計算認證器Ai,如下:
Ai = MAC (MSGi, Kecu)(2)
認證器Ai (其大小由MAC算法的細節來決定)的長度被減小到32比特,例如通過僅保留認證器Ai的最不重要的32比特。減小的長度值作為響應,記為Ri,如下:
Ri= Reduce_to_32_bits (Ai)(3)
然后,在框58,服務器16準備好包含響應Ri的消息,并且將其發送給工具14,如下所述。在框60,通過利用子函數SendKey將另一 SecurityAccess消息發送給EOJ12,使用響應Ri作為SecurityAccess過程所要求的32比特密鑰,工具14繼續IS014229過程。在框62,E⑶12從工具14接收IS014229密鑰值,并且執行與服務器16所進行的計算類似的計算,以便計算出Ri值,如下:
MSGi = Ci I IDecu I PAD(4)
Ai = MAC (MSGi, Kecu)(5)
Ri= Reduce_to_32_bits (Ai)(6)
在判決框64中,ECU12將在IS014229安全訪問過程中接收到的密鑰與所計算出的Ri值進行比較。如果兩個值精確地匹配,則在框66,ECU12執行安全解鎖操作。如果兩個值有任何的不同,則在框68,E⑶12將不執行安全解鎖。在框70中,取決于比較的結果,E⑶12還發送適當的IS014229響應消息。
[0044]在框50和58的過程要求工具14和服務器16之間的通信,其可以是任何適當的通信。例如,最方便的機制可以是,工具14和服務器16可以都直接地連接到網絡,諸如通過因特網。可以使用若干其它更間接的通信方法。由于在框50和58中的過程中發送的信息是相對緊湊的,即,其大小可以由人工以較低的錯誤可能性來較容易地處理,因此,如果直接的連接不可行,則也可以使用多種間接的機制。一些示例可以包括將信息顯示在工具14上,然后允許技術人員將顯示的數據輸入到基于網絡的至服務器16的接口中,其中,月艮務器16將所得到的Ri值顯示在網頁上,并且技術人員將響應鍵入工具14中。該過程的變型可以包括使用語音響應系統,使用SMS消息,使用在類似智能電話設備上的應用,使用電子郵件等等。
[0045]不管機制如何,假定與服務器16的交互具有某種類型的有效訪問控制機制,即,限制誰能夠獲得解鎖的能力。由于提供這種服務的公司可能將對于提供訪問收費,因此,也可能的是,這種機制已經在使用了。此外,重要的是,服務器16保持處理的安全日志,S卩,誰執行了處理,它們什么時候被執行的,目標ECU等。這些日志可以用于檢測破壞系統的企圖,并且如果破壞確實發生了,用于識別誰或者什么受到了影響。
[0046]以上所述的安全服務器16的更為困難的方面之一是保持IDEa1、KEai對的數據庫并且提供快速訪問來查詢由IDecu值索引的Kecu值。在之前的描述中,在IDecu值和Kecu值之間沒有關系,即,它們可以各被視為隨機數。然而,從操作角度來看,如果在Kku值和IDku值之間具有固定的關系,該關系允許從ID確定密鑰,則可以省去對數據庫的需要。這可以有很多方式來實現。一個非限制性示例的實施方式可以是,通過加密操作將兩個值關聯起來,其允許擁有密鑰的某個人在給定IDku值的情況下確定Kku值。這可以使用安全加密MAC函數來實現,該函數利用單獨的保密密鑰Kmanuf來加密,其將用于對給定的IDrcu值產生Krcu值,其方式類似于以下:
MSGecu = ( IDecu I PAD )(7)
Kecu = MAC (MSGecu, Kmanuf)(8)
此處,PAD代表預先限定的填充數據,如果需要滿足MAC函數的輸入要求的話。并且,注意,保密密鑰Kmanuf不同于系統中的每個Kku值,并且沒有要求將保密密鑰Kmanuf放置在任何E⑶12或維護工具14中,即,當被預配時,E⑶12簡單地設置有利用保密密鑰Kmanuf所產生的 IDEeu、Kecu 對。
[0047]以上所述的機制將對于每個IDku值計算獨特的Kku值,并且加密MAC的安全性使得不具有保密密鑰Kmanuf的黑客難以確定給定的IDku值的Kku值。當這種關系存在于Krcu和IDecu值之間時,將IDecu和Kecu對關聯起來的數據庫可以被使用由安全服務器16所提供的IDku值進行的Kku值的在線計算取代。
[0048]重要的是要認識到,這種系統的安全性很大程度上依賴于保密密鑰Kmanuf的安全性。理想的是,保密密鑰Kmanuf將永不離開安全服務器16,并且安全服務器16將被用于產生預配E⑶所需要的IDEaj、Keqj對的序列。如果需要,可以具有預配服務器(provisioningserver,未示出),該預配服務器產生初始預配E⑶以便與安全服務器16分開所需要的對,該安全服務器16重新獲得給定IDku值的Kku值。這可以允許例如將預配服務器放置在制造地點,以及將安全服務器16放置在安全數據中心。
[0049]還應該注意,不需要要求所有的E⑶使用相同的保密密鑰Kmanuf值來建立起IDecu、Kecu對之間的關系。對于不同的ECU類型使用不同的Kmanuf值將允許例如產生僅能夠預配單個類型的ECU12的預配服務器。對于預配服務器的損害將僅損害該類型的ECU,S卩,將不會允許解鎖使用不同的保密密鑰Kmanuf值的其它ECU。清楚的是,這種實施方式還將要求一些其它信息,例如,ECU類型,以便允許安全服務器16確定用來重新獲得該ECU類型的Kku值的保密密鑰Kmanuf的正確值。
[0050]本領域技術人員很容易理解,為描述本發明而在此處討論的若干和各種步驟和過程可能涉及通過計算機、處理器或使用電現象操縱和/或轉換數據的其他電子計算設備執行的操作。那些計算機和電子設備可采用各種易失的和/或非易失的內存,該內存包括其上存有可執行程序的非臨時性計算機可讀介質,該程序包括能夠由計算機或處理器執行的各種代碼和可執行指令,在這里內存和/或計算機可讀介質可以包括所有形式和類型的內存和其它計算機可讀介質。
[0051]前述論述僅公開和描述了本發明的示例性實施例。本發明技術人員將從該論述以及附圖和權利要求容易地懂得,在不偏離以下權利要求限定的本發明的精神和范圍的情況下,可以做出各種改變,變換和變形。
【權利要求】
1.一種允許訪問車輛上的電子控制單元(EOT)的方法,所述方法包括: 在ECU的存儲器中存儲識別ECU的ECU識別值; 在遠程安全數據庫中存儲所述ECU識別值以及與所述ECU識別值相關聯的ECU安全密鑰值; 由維護工具從ECU請求所述ECU識別值; 響應于所述請求,在ECU中產生詢問; 從ECU向所述維護工具發送所述ECU識別值和所述詢問; 從所述維護工具向所述安全數據庫發送所述E⑶識別值和所述詢問; 識別對應于所述ECU識別值的EUC安全密鑰值; 基于所述ECU安全密鑰值在所述數據庫中產生消息,該消息包括對所述詢問的響應; 從所述數據庫向所述維護工具發送所述消息; 從所述維護工具向所述ECU發送所述消息;以及 如果所述詢問的響應被ECU所接受,則允許訪問ECU。
2.如權利要求1所述的方法,其中,在所述數據庫中產生消息包括使用對所述ECU安全密鑰值進行加密的安全消息認證碼來提供認證器。
3.如權利要求1所述的方法,其中,除了所述ECU識別值被用于識別所述ECU安全密鑰值之外,在所述ECU識別值`和所述ECU安全密鑰值之間沒有其它關系。
4.如權利要求1所述的方法,其中,所述ECU識別值和所述ECU安全密鑰值通過保密密鑰來關聯,其中,所述ECU安全密鑰值使用所述ECU識別值和所述保密密鑰來計算。
5.如權利要求4所述的方法,其中,所述ECU安全密鑰使用安全加密消息認證碼來計笪
ο
6.如權利要求4所述的方法,其中,所述ECU安全密鑰值在預配服務器處進行計算。
7.如權利要求1所述的方法,其中,將所述ECU識別值和所述詢問發送給所述安全數據庫以及將所述E⑶識別值和所述詢問從所述維護工具發送給所述安全數據庫包括使用通信鏈路,該通信鏈路選自短消息、因特網、網頁訪問、SMS文本消息、智能手機、電子郵件、語音響應系統和電話連接。
8.如權利要求1所述的方法,其中,在ECU中產生詢問包括計算隨機或偽隨機的比特值。
9.一種允許訪問控制器的方法,所述方法包括: 在控制器的存儲器中存儲識別控制器的控制器識別值; 在遠程安全數據庫中存儲所述控制器識別值以及與所述控制器識別值相關聯的控制器安全密鑰值; 由維護工具從控制器請求所述控制器識別值和詢問; 響應于所述請求,在控制器中產生詢問,其中,在控制器中產生詢問包括每次所述控制器識別值被請求時產生不同的詢問,并且其中,在控制器中產生詢問包括計算隨機或偽隨機的比特值; 從控制器向所述維護工具發送所述控制器識別值和所述詢問; 從所述維護工具向所述安全數據庫發送所述控制器識別值和所述詢問; 識別對應于所述控制器識別值的控制器安全密鑰值;基于所述控制器安全密鑰值在所述數據庫中產生消息,該消息包括對所述詢問的響應; 從所述數據庫向所述維護工具發送所述消息; 從所述維護工具向所述控制器發送所述消息;以及 如果所述詢問的響應被控制器所接受,則允許訪問控制器。
10.一種允許訪問控制器的系統,所述系統包括: 在控制器的存儲器中存儲識別控制器的控制器識別值的裝置; 在遠程安全數據庫中存儲所述控制器識別值以及與所述控制器識別值相關聯的控制器安全密鑰值的裝置; 由維護工具從控制器請求所述控制器識別值和詢問的裝置; 響應于所述請求在控制器中產生詢問的裝置; 從控制器向所述維護工具發送所述控制器識別值和所述詢問的裝置; 從所述維護工具向所述安全數據庫發送所述控制器識別值和所述詢問的裝置; 識別對應于所述控制器識別值的控制器安全密鑰值的裝置; 基于所述控制器安全密鑰值在所述數據庫中產生消息的裝置,該消息包括對所述詢問的回答; 從所述數據庫向所述維護工具發送所述消息的裝置; 從所述維護工具向所述控制器發送所述消息裝置;以及 如果所述詢問的響應被控制器所接受則允許訪問控制器的裝置。
【文檔編號】H04L29/06GK103685214SQ201210446257
【公開日】2014年3月26日 申請日期:2012年11月9日 優先權日:2011年10月28日
【發明者】T.M.富里斯特 申請人:通用汽車環球科技運作有限責任公司