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