啟用安全電子控制單元的開(kāi)發(fā)模式的方法
【專利摘要】本發(fā)明涉及啟用安全電子控制單元的開(kāi)發(fā)模式的方法,具體提供一種用于在不需要軟件被適當(dāng)簽名的情況下將軟件安裝在安全控制器上的系統(tǒng)和方法。所述方法包括確定是否已在控制器中設(shè)定了繞過(guò)標(biāo)識(shí),該繞過(guò)標(biāo)識(shí)識(shí)別是否需要文件驗(yàn)證程序來(lái)安裝文件,該方法還包括執(zhí)行預(yù)檢驗(yàn)操作來(lái)確定文件的預(yù)定參數(shù)是否已被滿足。所述方法還包括如果預(yù)檢驗(yàn)操作已被滿足則將文件安裝到控制器中的存儲(chǔ)器內(nèi)。所述方法進(jìn)一步包括確定文件是否具有適當(dāng)簽名并且如果設(shè)定了繞過(guò)標(biāo)識(shí)且該文件不包括適當(dāng)?shù)暮灻椭甘舅龊灻沁m當(dāng)?shù)?,以及如果該簽名已被指示為適當(dāng)?shù)哪敲丛试S安裝所述文件。
【專利說(shuō)明】啟用安全電子控制單元的開(kāi)發(fā)模式的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明總體上涉及一種在控制器上安裝軟件而不需要所述軟件包括授權(quán)的安全碼的系統(tǒng)和方法,更具體地涉及一種用于在生產(chǎn)車輛電子控制單元(ECU)上安裝開(kāi)發(fā)軟件而不需要所述軟件被簽名的系統(tǒng)和方法。
【背景技術(shù)】
[0002]多數(shù)現(xiàn)代車輛包括控制車輛系統(tǒng)-例如動(dòng)力系、氣候控制系統(tǒng)、資訊娛樂(lè)系統(tǒng)、車體系統(tǒng)、底盤系統(tǒng)以及其他系統(tǒng)的操作的電子控制單元(ECU)或控制器。這種控制器需要為特定目的設(shè)計(jì)的軟件以便執(zhí)行控制功能。隨著這些控制器的數(shù)量和復(fù)雜性的增加以及由惡意軟件的開(kāi)發(fā)者造成的威脅的增長(zhǎng),認(rèn)證加載到汽車控制器上的二進(jìn)制文件的來(lái)源和內(nèi)容變得愈發(fā)重要。在車輛控制器中使用沒(méi)有適當(dāng)認(rèn)證或者(更糟糕的)惡意設(shè)計(jì)的軟件的后果包括:車輛或者其系統(tǒng)的非期望表現(xiàn)、車輛上防盜竊特征的喪失、諸如里程表的部件的潛在擅改以及其他車輛特征和功能的喪失。
[0003]一種公知的數(shù)字編碼技術(shù)被稱為非對(duì)稱密鑰加密術(shù),所述技術(shù)使用數(shù)字簽名來(lái)認(rèn)證編程到控制器中的文件。如將為所屬領(lǐng)域技術(shù)人員充分理解的,非對(duì)稱密鑰加密術(shù)使用稱為私有密鑰和公共密鑰的一對(duì)數(shù)學(xué)上相關(guān)的密鑰來(lái)為消息加密和解密。為了形成數(shù)字簽名,簽名者使用他的私有密鑰(只有他自己知道)來(lái)為消息加密。數(shù)字簽名可隨后被使用與簽名者的私有密鑰配對(duì)的公共密鑰的另一方解密。
[0004]快速安裝(flashing)是用于將軟件文件、校準(zhǔn)文件和/或其他應(yīng)用安裝到車輛ECU的閃存存儲(chǔ)器或其他可編程裝置中的眾所周知的過(guò)程。引導(dǎo)加載程序(bootloader)是加載到ECU上的嵌入軟件程序,所述引導(dǎo)加載程序在ECU與快速安裝文件的程序裝置之間提供接口。在允許ECU執(zhí)行軟件文件或校準(zhǔn)文件之前,所述引導(dǎo)加載程序可采用非對(duì)稱密鑰加密術(shù)并且存儲(chǔ)將程序裝置傳送的數(shù)字簽名解碼所必須使用的公共密鑰。
[0005]當(dāng)開(kāi)發(fā)和測(cè)試新版本的軟件和校準(zhǔn)文件時(shí),通常期望采用已快速安裝了現(xiàn)有文件的產(chǎn)品控制器來(lái)作為僅為了開(kāi)發(fā)目的而提供的專門控制器的成本較低的備選方案。當(dāng)在生產(chǎn)控制器中安裝開(kāi)發(fā)軟件文件時(shí),在ECU將允許文件安裝之前,文件必須被適當(dāng)?shù)睾灻蛘咭云渌绞秸J(rèn)證。要求授權(quán)使用者對(duì)開(kāi)發(fā)軟件文件和校準(zhǔn)文件簽名需要付出很多的精力、時(shí)間和資源。然而,如果能將開(kāi)發(fā)軟件文件相對(duì)容易地安裝到E⑶中一包括繞過(guò)認(rèn)證用于授權(quán)使用者的文件的簽名要求,那么黑客將ECU設(shè)置成不需要簽名的配置也會(huì)比較容易。因此,期望提供一種安全程序,其中被用于測(cè)試開(kāi)發(fā)軟件的生產(chǎn)控制器被指令不需要通過(guò)簽名來(lái)快速安裝軟件,但仍足夠安全以便防止?jié)撛诘暮诳蛨?zhí)行相同操作。
[0006]如果車輛上的特定模塊存在大量生產(chǎn)控制器并且開(kāi)發(fā)了一種為了測(cè)試和開(kāi)發(fā)目的而將開(kāi)發(fā)軟件快速安裝到那些控制器中的一個(gè)上的技術(shù),如果該技術(shù)曾在安全開(kāi)發(fā)環(huán)境之外釋放,那么所有那些產(chǎn)品控制器隨后可能都有容易受到攻擊的風(fēng)險(xiǎn)。因此,用于指令控制器接收對(duì)于一種類型的特定控制器未簽名的開(kāi)發(fā)軟件的技術(shù)需要足夠安全以便防止?jié)撛诘暮诳驮L問(wèn)該控制器,并且還需要足夠安全而當(dāng)潛在的黑客取得了用于控制器的該技術(shù)時(shí)所述技術(shù)將不能在相同類型的所有其他控制器上使用。
【發(fā)明內(nèi)容】
[0007]根據(jù)本發(fā)明的教導(dǎo),公開(kāi)了一種用于在不需要軟件被適當(dāng)簽名的情況下將軟件安裝在安全控制器上的系統(tǒng)和方法。所述方法包括使用控制器中的繞過(guò)標(biāo)識(shí),該繞過(guò)標(biāo)識(shí)識(shí)別安裝該文件是否需要文件驗(yàn)證程序。所述方法還包括執(zhí)行預(yù)檢驗(yàn)操作來(lái)確定文件的預(yù)定參數(shù)是否被滿足。所述方法還包括如果預(yù)檢驗(yàn)操作已滿足就將文件安裝到控制器中的存儲(chǔ)器內(nèi)。所述方法進(jìn)一步包括確定文件是否具有適當(dāng)簽名并且如果設(shè)定了繞過(guò)標(biāo)識(shí)則指示所述簽名是適當(dāng)?shù)?。如果簽名已指示為是適當(dāng)?shù)?,那么允許安裝所述文件。
[0008]方案1.一種用于將文件安全地安裝到控制器上的方法,所述方法包括:
確定是否已在控制器中設(shè)定了繞過(guò)標(biāo)識(shí),該繞過(guò)標(biāo)識(shí)確定是否需要文件驗(yàn)證程序來(lái)安裝文件;
執(zhí)行預(yù)檢驗(yàn)操作來(lái)確定文件的預(yù)定參數(shù)是否已滿足;
如果預(yù)檢驗(yàn)操作已滿足,則將文件安裝到控制器中的存儲(chǔ)器內(nèi);
確定文件是否具有授權(quán)的安全碼并且如果設(shè)定了繞過(guò)標(biāo)識(shí)且文件不包括授權(quán)的安全碼則指示安全碼是已授權(quán)的;以及
如果安全碼被指示為已授權(quán)的,則允許安裝文件。
[0009]方案2.如方案I所述的方法,其中執(zhí)行預(yù)檢驗(yàn)操作來(lái)確定文件的預(yù)定參數(shù)是否已滿足包括執(zhí)行預(yù)檢驗(yàn)操作-在該預(yù)檢驗(yàn)操作中設(shè)定了繞過(guò)標(biāo)識(shí)時(shí)將被滿足的參數(shù)的數(shù)量小于繞過(guò)標(biāo)記未被設(shè)定時(shí)將被滿足的預(yù)定參數(shù)的數(shù)量。
[0010]方案3.如方案I所述的方法,其中執(zhí)行預(yù)檢驗(yàn)操作來(lái)確定文件的預(yù)定參數(shù)是否已滿足包括執(zhí)行下述操作中的一個(gè)或多個(gè):核實(shí)標(biāo)題格式標(biāo)識(shí)、核實(shí)簽名版本、核實(shí)密鑰標(biāo)識(shí)和安全水平、核實(shí)存儲(chǔ)地址范圍、核實(shí)控制器標(biāo)識(shí)號(hào)、核實(shí)文件的安全水平、核實(shí)兼容標(biāo)識(shí)號(hào)是適當(dāng)?shù)?、識(shí)別將安裝的文件是否是用于控制器的以及核實(shí)文件的過(guò)期日。
[0011]方案4.如方案I所述的方法,其中確定文件是否具有授權(quán)的安全碼包括確定文件是否具有與采用數(shù)字簽名以及公共和私有密鑰的非對(duì)稱密鑰加密術(shù)編碼相關(guān)的有效簽名。
[0012]方案5.如方案I所述的方法,其中安裝文件到控制器中的存儲(chǔ)器內(nèi)包括擦除識(shí)別文件存在和有效的存在模式。
[0013]方案6.如方案I所述的方法,進(jìn)一步包括在將文件安裝到控制器的存儲(chǔ)器中之后但在確定文件是否具有授權(quán)的安全碼之前執(zhí)行校驗(yàn)和操作。
[0014]方案7.如方案I所述的方法,其中所述文件可以是軟件文件或校準(zhǔn)文件,并且其中確定是否已設(shè)定了繞過(guò)標(biāo)識(shí)包括確定是否已對(duì)軟件文件或校準(zhǔn)文件設(shè)定了獨(dú)立的繞過(guò)標(biāo)識(shí)。
[0015]方案8.如方案I所述的方法,其中設(shè)定繞過(guò)標(biāo)識(shí)來(lái)將開(kāi)發(fā)軟件安裝在生產(chǎn)控制器上而無(wú)需為文件授權(quán)。
[0016]方案9.如方案I所述的方法,其中所述控制器是車輛的電子控制單元(ECU)。
[0017]方案10.—種用于將軟件文件或校準(zhǔn)文件安全地安裝到車輛電子控制單元(ECT)上的方法,所述方法包括: 確定對(duì)軟件文件或校準(zhǔn)文件是否已在ECU中設(shè)定了繞過(guò)標(biāo)識(shí),該繞過(guò)標(biāo)識(shí)確定是否需要文件驗(yàn)證程序來(lái)安裝文件;
執(zhí)行預(yù)檢驗(yàn)操作來(lái)確定文件的預(yù)定參數(shù)是否已滿足,其中執(zhí)行預(yù)檢驗(yàn)包括執(zhí)行下述預(yù)檢驗(yàn)操作-在該預(yù)檢驗(yàn)操作中設(shè)定了繞過(guò)標(biāo)識(shí)時(shí)將被滿足的參數(shù)的數(shù)量小于繞過(guò)標(biāo)識(shí)未設(shè)定時(shí)將要滿足的預(yù)定參數(shù)的數(shù)量;
如果預(yù)檢驗(yàn)操作已被滿足,則將文件安裝到控制器中的存儲(chǔ)器內(nèi);
確定文件是否具有授權(quán)的簽名并且如果設(shè)定了繞過(guò)標(biāo)識(shí)并且文件不包括授權(quán)的簽名則指示簽名是已授權(quán)的;以及
如果簽名被指示為已授權(quán)的,則允許安裝文件。
[0018]方案11.如方案10所述的方法,其中安裝文件到控制器中的存儲(chǔ)器內(nèi)包括擦除識(shí)別文件存在和有效的存在模式。
[0019]方案12.—種用于將文件安全地安裝到控制器上的系統(tǒng),所述系統(tǒng)包括:
用于確定是否已在控制器中設(shè)定了繞過(guò)標(biāo)識(shí)從而確定是否需要文件驗(yàn)證程序來(lái)安裝
文件的裝置;
用于執(zhí)行預(yù)檢驗(yàn)操作來(lái)確定文件的預(yù)定參數(shù)是否已滿足的裝置;
如果預(yù)檢驗(yàn)操作已滿足就將文件安裝到控制器中的存儲(chǔ)器內(nèi)的裝置;
用于確定文件是否具有授權(quán)的安全碼并且如果設(shè)定了繞過(guò)標(biāo)識(shí)且文件不包括授權(quán)的安全碼就指示安全碼已授權(quán)的裝置;以及
如果安全碼被指示為已授權(quán)的就允許安裝文件的裝置。
[0020]方案13.如方案12所述的系統(tǒng),其中所述用于執(zhí)行預(yù)檢驗(yàn)操作的裝置執(zhí)行預(yù)檢驗(yàn)操作來(lái)確定文件的預(yù)定參數(shù)是否已滿足,包括執(zhí)行下述預(yù)檢驗(yàn)操作-在該預(yù)檢驗(yàn)操作中設(shè)定了繞過(guò)標(biāo)識(shí)時(shí)將要滿足的參數(shù)的數(shù)量小于繞過(guò)標(biāo)記未設(shè)定時(shí)將要滿足的預(yù)定參數(shù)的數(shù)量。
[0021]方案14.如方案12所述的系統(tǒng),其中所述用于執(zhí)行預(yù)檢驗(yàn)操作來(lái)確定文件的預(yù)定參數(shù)是否已滿足的裝置執(zhí)行下述操作中的一個(gè)或多個(gè):核實(shí)標(biāo)題格式標(biāo)識(shí)、核實(shí)簽名版本、核實(shí)密鑰標(biāo)識(shí)和安全水平、核實(shí)存儲(chǔ)地址范圍、核實(shí)控制器標(biāo)識(shí)號(hào)、核實(shí)文件的安全水平、核實(shí)兼容標(biāo)識(shí)號(hào)是適當(dāng)?shù)?、識(shí)別將安裝的文件是否是用于控制器的以及核實(shí)文件的過(guò)期日。
[0022]方案15.如方案12所述的系統(tǒng),其中所述用于確定文件是否具有授權(quán)的安全碼的裝置確定文件是否具有與采用數(shù)字簽名以及公共和私有密鑰的非對(duì)稱密鑰加密術(shù)編碼相關(guān)的有效簽名。
[0023]方案16.如方案12所述的系統(tǒng),其中所述用于安裝文件到控制器中的存儲(chǔ)器內(nèi)的裝置擦除識(shí)別文件存在和有效的存在模式。
[0024]方案17.如方案12所述的系統(tǒng),進(jìn)一步包括用于在將文件安裝到控制器的存儲(chǔ)器中之后但在確定文件是否具有授權(quán)的安全碼之前執(zhí)行校驗(yàn)和操作的裝置。
[0025]方案18.如方案12所述的系統(tǒng),其中所述文件可以是軟件文件或校準(zhǔn)文件,并且其中確定是否已設(shè)定了繞過(guò)標(biāo)識(shí)包括根據(jù)所述文件是軟件文件還是校準(zhǔn)文件來(lái)獨(dú)立地確定是否已設(shè)定了繞過(guò)文件。
[0026]方案19.如方案12所述的系統(tǒng),其中設(shè)定繞過(guò)標(biāo)識(shí)來(lái)將開(kāi)發(fā)軟件安裝在生產(chǎn)控制器上而無(wú)需為文件授權(quán)。
[0027]方案20.如方案12所述的系統(tǒng),其中所述控制器是車輛的電子控制單元(ECU)。
[0028]通過(guò)結(jié)合附圖來(lái)參閱下面的描述和所附權(quán)利要求,本發(fā)明的附加特征將變得清
/E.0
【專利附圖】
【附圖說(shuō)明】
[0029]圖1是示出了用于核實(shí)數(shù)字簽名的過(guò)程的示意方框圖;
圖2是一種使用數(shù)字簽名來(lái)簽名和核實(shí)電子內(nèi)容的方法的方框圖,該方法包括從程序源輸送內(nèi)容和簽名文件到執(zhí)行控制器;
圖3是示出了電子內(nèi)容和數(shù)字簽名如何物理地輸送到車輛中的控制器的示意圖;
圖4是示出了一種用于繞過(guò)生產(chǎn)控制器的安全碼的方法的方框流程圖;
圖5是控制器的存儲(chǔ)區(qū)段的方框圖;以及
圖6是示出了一種用于簽名的軟件部分的安全快速安裝程序的過(guò)程的流程圖。
【具體實(shí)施方式】
[0030]下面對(duì)涉及用于在無(wú)需軟件被簽名的情況下將軟件安裝在控制器上的系統(tǒng)和方法的本發(fā)明的實(shí)施方式的論述本質(zhì)上僅是示例性的,決非用于限制本發(fā)明、其應(yīng)用或用途。例如,本文論述的技術(shù)對(duì)于車輛ECU具有特定應(yīng)用。然而,如將為所屬領(lǐng)域技術(shù)人員理解的是,所述技術(shù)可應(yīng)用于其他控制器。
[0031]圖1是使用用于認(rèn)證編程到控制器中的文件的非對(duì)稱密鑰數(shù)字簽名的公知方法的方框圖。如將為所屬領(lǐng)域技術(shù)人員充分理解的,非對(duì)稱密鑰加密術(shù)使用稱為私有密鑰和公共密鑰的一對(duì)數(shù)學(xué)上相關(guān)的密鑰來(lái)為消息加密和解密。為了形成數(shù)字簽名,簽名者使用他的私有密鑰(只有他自己知道)來(lái)為數(shù)字消息加密。數(shù)字簽名可隨后被使用與簽名者的私有密鑰配對(duì)的公共密鑰的另一方解密從而認(rèn)證文件或消息。
[0032]在簽名步驟12,提供了內(nèi)容文件14,其中所述內(nèi)容文件14可以是一款軟件、校準(zhǔn)文件或者控制器中使用的其他“軟件部分”內(nèi)容。在內(nèi)容文件14上執(zhí)行散列計(jì)算來(lái)產(chǎn)生內(nèi)容文件14的散列值16。散列值16隨后通過(guò)簽名者的私有密鑰來(lái)加密從而產(chǎn)生數(shù)字簽名18,其中所述數(shù)字簽名18僅有益于該特定的內(nèi)容文件。
[0033]數(shù)字簽名18和內(nèi)容文件14隨后用于核實(shí)步驟20,將在本文論述的應(yīng)用中通過(guò)ECU中的引導(dǎo)加載程序執(zhí)行所述核實(shí)步驟20。使用簽名者的公共密鑰為數(shù)字簽名18解密從而產(chǎn)生解密散列值22。與此同時(shí),通過(guò)核實(shí)器在內(nèi)容文件14上執(zhí)行散列計(jì)算,來(lái)產(chǎn)生計(jì)算的散列值24。在方框26處,將解密的散列值22與計(jì)算的散列值24相比較。如果解密散列值22匹配計(jì)算的散列值24,那么在橢圓框28處發(fā)出有效確定,并且使用內(nèi)容文件14。如果解密散列值22不匹配計(jì)算的散列值24,那么在橢圓框30處發(fā)出無(wú)效確定,并且不使用內(nèi)容文件14。
[0034]圖2是示出了一種使用數(shù)字簽名來(lái)簽名和核實(shí)電子內(nèi)容的方法的方框圖40,包括從程序源輸送內(nèi)容和簽名文件到執(zhí)行控制器。文件庫(kù)42存儲(chǔ)統(tǒng)稱為內(nèi)容文件44的可執(zhí)行軟件、校準(zhǔn)文件或者其他“軟件部分”文件。內(nèi)容文件44通常是二進(jìn)制文件。期望獲得用于內(nèi)容文件44的數(shù)字簽名46。為了數(shù)字地對(duì)內(nèi)容文件44簽名,將所述內(nèi)容文件44提供給簽名服務(wù)器48。在簽名服務(wù)器48上,在內(nèi)容文件44上執(zhí)行散列計(jì)算以便產(chǎn)生散列值52。使用存儲(chǔ)在簽名服務(wù)器48上的私有密鑰為散列值52加密,其中所述加密產(chǎn)生數(shù)字簽名46。數(shù)字簽名46隨后被提供回到庫(kù)42。
[0035]此時(shí),內(nèi)容文件44和數(shù)字簽名46都存在于庫(kù)42中。隨后挑戰(zhàn)在于通過(guò)汽車制造商使用的各種業(yè)務(wù)系統(tǒng)輸送內(nèi)容文件44和數(shù)字簽名46,以及在車輛中的控制器上安裝并且驗(yàn)證內(nèi)容文件44。總體而言,汽車制造商將具有負(fù)責(zé)在車輛中的控制器上安裝軟件和校準(zhǔn)文件的至少兩個(gè)機(jī)構(gòu)或部門(即制造和服務(wù))。圖2示出了制造數(shù)據(jù)庫(kù)56,所述制造數(shù)據(jù)庫(kù)56由汽車制造商的制造部門用來(lái)管理在生產(chǎn)車輛時(shí)作為“零件”安裝的電子文件。圖2同時(shí)示出了服務(wù)數(shù)據(jù)庫(kù)62,所述服務(wù)數(shù)據(jù)庫(kù)62由汽車制造商的服務(wù)部門用來(lái)管理在服務(wù)設(shè)備中加工的在車輛中安裝為“服務(wù)零件”的電子文件。如圖2所示,制造數(shù)據(jù)庫(kù)56和服務(wù)數(shù)據(jù)庫(kù)62都接收用于制造和服務(wù)部門的相應(yīng)功能的內(nèi)容文件44和數(shù)字簽名46的副本。
[0036]為了將內(nèi)容文件44實(shí)際安裝在車輛中的控制器上,使用了程序工具68。如圖所示,程序工具68還接收內(nèi)容文件44和數(shù)字簽名46的副本。也就是說(shuō),制造部門可以從制造數(shù)據(jù)庫(kù)56提供內(nèi)容文件44和數(shù)字簽名46到程序工具68以便安裝在新生產(chǎn)的車輛上,或者服務(wù)部門可以從服務(wù)數(shù)據(jù)庫(kù)62提供內(nèi)容文件44和數(shù)字簽名46到程序工具68以便安裝在被保養(yǎng)的車輛上。
[0037]接下來(lái)的步驟是程序工具68將內(nèi)容文件44安裝在車輛中的控制器上。E⑶74是將實(shí)際使用內(nèi)容文件44的控制器。下面是E⑶74的配置的簡(jiǎn)述。E⑶74上的軟件包括引導(dǎo)加載程序、可執(zhí)行軟件以及一個(gè)或多個(gè)校準(zhǔn)文件。為了該論述的目的,ECU74被假定為具有單個(gè)中央處理器(CPU)。在實(shí)際車輛中,E⑶74可具有多個(gè)CPU,并且每個(gè)CPU都將具有引導(dǎo)加載程序、可執(zhí)行軟件以及一個(gè)或多個(gè)校準(zhǔn)文件。
[0038]ECU74中的引導(dǎo)加載程序負(fù)責(zé)驗(yàn)證和安裝新的軟件文件和校準(zhǔn)文件。因此,本段中描述的功能是通過(guò)ECU74中的引導(dǎo)加載程序來(lái)執(zhí)行的。程序工具68提供內(nèi)容文件44和數(shù)字簽名46到ECU74。數(shù)字簽名46是通過(guò)引導(dǎo)加載程序使用庫(kù)42的公共密鑰來(lái)解密的,以便生成解密散列值78。公共簽名密鑰可存留在ECU74中或者結(jié)合內(nèi)容文件44和數(shù)字簽名46提供給ECU74。與此同時(shí),通過(guò)引導(dǎo)加載程序在內(nèi)容文件44上執(zhí)行散列計(jì)算,來(lái)產(chǎn)生計(jì)算的散列值84。在方框80處,將解密散列值78與計(jì)算的散列值84相比較。如果解密散列值78匹配計(jì)算的散列值84,那么發(fā)出有效確定88,并且使用內(nèi)容文件44。如果使用的內(nèi)容文件44是可執(zhí)行軟件,那么引導(dǎo)加載程序?qū)⑺鳛樾碌目蓤?zhí)行軟件安裝在ECU74上。如果使用的內(nèi)容文件44是校準(zhǔn)文件,那么引導(dǎo)加載程序?qū)⑺鳛橐粋€(gè)或多個(gè)校準(zhǔn)文件中的一個(gè)安裝在E⑶74上。如果解密散列值78不匹配計(jì)算的散列值84,那么發(fā)出無(wú)效確定86,并且不在E⑶74上使用內(nèi)容文件44。
[0039]圖3是示出了電子內(nèi)容和數(shù)字簽名文件如何物理地輸送到車輛控制器的示意圖。車輛36包括圖2所示并且在上面論述的E⑶74。E⑶74可以控制發(fā)動(dòng)機(jī)、變速器、底盤、車體、資訊娛樂(lè)系統(tǒng)或車輛36上的其他系統(tǒng)36。內(nèi)容文件44和數(shù)字簽名46提供到在此示出為制造數(shù)據(jù)庫(kù)56的中心數(shù)據(jù)庫(kù)。內(nèi)容文件44和數(shù)字簽名46到制造數(shù)據(jù)庫(kù)56的傳送可以在公司網(wǎng)絡(luò)上進(jìn)行。制造數(shù)據(jù)庫(kù)56提供內(nèi)容文件44和數(shù)字簽名46到程序工具68,其中該傳送可以通過(guò)將所述程序工具68附接到已接入到數(shù)據(jù)庫(kù)56的計(jì)算機(jī)來(lái)實(shí)現(xiàn)。程序工具68通過(guò)可以是有線的或無(wú)線的連接38與E⑶74通訊。通過(guò)建立連接38,內(nèi)容文件44和數(shù)字簽名46可以從程序工具68下載到ECU74,其中弓I導(dǎo)加載程序可以執(zhí)行前面論述的安全核實(shí)功能。
[0040]本發(fā)明提出一種技術(shù),所述技術(shù)允許已快速安裝了現(xiàn)有文件的生產(chǎn)控制器為了測(cè)試、核實(shí)、分析等目的而快速安裝上開(kāi)發(fā)軟件和/或校準(zhǔn)文件而無(wú)需通過(guò)簽名或其他有效碼來(lái)簽名或以其他方式認(rèn)證開(kāi)發(fā)軟件文件和/或校準(zhǔn)文件,從而允許工程師和技術(shù)人員以更容易、節(jié)省成本和友好的方式使用生產(chǎn)控制器進(jìn)行產(chǎn)品開(kāi)發(fā)。如下面將要詳細(xì)論述的,所述技術(shù)被執(zhí)行以便僅允許單個(gè)特定實(shí)例控制器-而不是特定控制器類型的所有控制器在無(wú)需簽名的情況下快速安裝上開(kāi)發(fā)軟件。
[0041]圖4是其中從頂部到底部代表時(shí)間進(jìn)程的方框流程圖90,圖中示出了總體上在上面提及的技術(shù)的過(guò)程,并且該流程圖包括代表安全(即,僅接受簽名的軟件)車輛生產(chǎn)ECU或控制器的方框92、代表想要為產(chǎn)品開(kāi)發(fā)目的使用所述生產(chǎn)控制器92的工程師或技術(shù)人員的方框94-其中所述工程師94將使用上面提及的類型的程序工具來(lái)訪問(wèn)所述控制器92,還包括服務(wù)器96,所述服務(wù)器96代表用于特定機(jī)構(gòu)的已知、可信并且遠(yuǎn)程的數(shù)據(jù)庫(kù)或者“后臺(tái)”,所述特定機(jī)構(gòu)能夠?yàn)樘囟☉?yīng)用提供認(rèn)證、授權(quán)和稽核服務(wù)(AAA)。
[0042]當(dāng)工程師94希望使用控制器92 (例如,將未簽名的軟件和/或校準(zhǔn)文件編程到控制器中)時(shí),為了禁用或繞過(guò)簽名驗(yàn)證要求或者替換用于核實(shí)數(shù)字簽名的簽名密鑰的目的,工程師94將通過(guò)程序工具在線98上發(fā)送控制器信息的請(qǐng)求。當(dāng)控制器92在線98上接收請(qǐng)求時(shí),流程往下進(jìn)行來(lái)形成由線100代表的控制器信息標(biāo)簽,并且所述標(biāo)簽通過(guò)程序工具在線102上傳送給工程師94。信息標(biāo)簽是消息,所述消息可包括識(shí)別該特定E⑶的任何獨(dú)特信息-例如模塊ID號(hào)、部件序號(hào)或者制造可追溯性,并且如下面將更詳細(xì)論述的,可能包括必須確認(rèn)或回答來(lái)滿足控制器92以便超越或繞過(guò)簽名要求的挑戰(zhàn)或其他要求。
[0043]工程師94隨后登錄服務(wù)器96 (由線104代表)以便獲得服務(wù)器96驗(yàn)證和核準(zhǔn)控制器信息標(biāo)簽,其中工程師94和服務(wù)器96交換必要信息使得服務(wù)器96 了解工程師94是服務(wù)器96的授權(quán)使用者。服務(wù)器96將定位在遠(yuǎn)離工程師94和控制器92的安全設(shè)備處,其中工程師94以任何適當(dāng)方式-例如通過(guò)PC鍵盤、觸摸屏等訪問(wèn)服務(wù)器96,并且其中可以通過(guò)任何適當(dāng)?shù)陌踩B接-例如無(wú)線、安全可靠的電話線等連接到服務(wù)器96。一旦工程師94已登錄到服務(wù)器96,工程師94隨后通過(guò)與登錄相同的過(guò)程在線106上發(fā)送控制器信息標(biāo)簽到服務(wù)器96?;诳刂破餍畔?biāo)簽中提供的信息,服務(wù)器96形成授權(quán)標(biāo)簽(由線108代表),其中所述授權(quán)標(biāo)簽是通過(guò)服務(wù)器96簽名的并且可以是具有特定模塊ID的文件標(biāo)題。應(yīng)當(dāng)指出的是,服務(wù)器96必須了解該文件標(biāo)題的形式。
[0044]圖5是本文論述的那種類型的授權(quán)標(biāo)簽120的示意圖,所述授權(quán)標(biāo)簽允許控制器92驗(yàn)證工程師94為授權(quán)使用者。服務(wù)器96生成包括在區(qū)段122處的控制器信息的標(biāo)簽120,所述控制器信息識(shí)別控制器92并且包括對(duì)挑戰(zhàn)問(wèn)題的回答,使得授權(quán)標(biāo)簽120僅對(duì)單個(gè)特定控制器92有效。在區(qū)段124處,授權(quán)標(biāo)簽120可包括一種參數(shù),所述參數(shù)描述為什么工程師94想要更新控制器92的目的-例如繞過(guò)軟件文件和/或校準(zhǔn)部分的簽名驗(yàn)證、解鎖控制器92、替換簽名驗(yàn)證密鑰、更新特殊參數(shù)等。在區(qū)段126處,授權(quán)標(biāo)簽120可包括限定標(biāo)簽120的有效期-例如一次使用、點(diǎn)火循環(huán)等的驗(yàn)證碼。在區(qū)段128處,標(biāo)簽120可包括簽名信息-例如簽名值、簽名者ID等。
[0045]服務(wù)器96隨后在線110上通過(guò)已建立的連接發(fā)送授權(quán)標(biāo)簽120到工程師94,并且工程師94隨后通過(guò)程序工具在線112上發(fā)送授權(quán)標(biāo)簽120到控制器92,其中通過(guò)控制器92處理所述授權(quán)標(biāo)簽120 (以線114代表)??刂破?2處理授權(quán)標(biāo)簽120中的信息以便建立有效的授權(quán)標(biāo)簽,并且設(shè)定適當(dāng)標(biāo)識(shí)或者提供適當(dāng)啟用方案(例如,允許工程師94現(xiàn)在在控制器92上安裝未簽名的開(kāi)發(fā)軟件文件和/或校準(zhǔn)文件)。由服務(wù)器96生成的授權(quán)標(biāo)簽120告訴控制器92它需要知道什么類型的信息來(lái)核實(shí)標(biāo)簽并且更新控制器92??刂破?2考察授權(quán)標(biāo)簽120并且確定它是否具有具體用于控制器92的適當(dāng)簽名或者代碼和ID信肩、O
[0046]如上所述,由控制器92生成的控制器信息標(biāo)簽可包括包含在由服務(wù)器96生成的授權(quán)標(biāo)簽120中的某些類型的挑戰(zhàn)或者其他代碼,使得當(dāng)工程師94將授權(quán)標(biāo)簽120發(fā)回到控制器92時(shí)它需要包括該特定挑戰(zhàn)或代碼,以便控制器92知道它不是前面用于不同程序操作的授權(quán)標(biāo)簽。因此,每次工程師94想要將控制器92從生產(chǎn)模式轉(zhuǎn)換到開(kāi)發(fā)模式時(shí),他或她必須通過(guò)首先從控制器92獲得控制器信息標(biāo)簽來(lái)取得新的授權(quán)標(biāo)簽。服務(wù)器92使用控制器信息標(biāo)簽中的信息來(lái)形成具有適當(dāng)代碼的授權(quán)標(biāo)簽120,所述適當(dāng)代碼允許控制器92知道它已被適當(dāng)?shù)仳?yàn)證并且工程師94是授權(quán)使用者。因此,可能必須需要識(shí)別該控制器的信息、隨機(jī)數(shù)或其他挑戰(zhàn)識(shí)別器以及/或者控制器標(biāo)識(shí)號(hào)和隨機(jī)數(shù)兩者。僅使控制器ID獲得授權(quán)標(biāo)簽120的優(yōu)點(diǎn)是,工程師94僅需要訪問(wèn)服務(wù)器96—次來(lái)取得用于該特定控制器的授權(quán)標(biāo)簽。然而,如果控制器92轉(zhuǎn)換回到生產(chǎn)模式,那么沒(méi)有該挑戰(zhàn)的授權(quán)標(biāo)簽可能被誤用而將控制器92轉(zhuǎn)換回到生產(chǎn)模式。
[0047]上述用于超越快速安裝開(kāi)發(fā)軟件文件和/或校準(zhǔn)部分的簽名要求的過(guò)程可以在控制器92中設(shè)定簽名或授權(quán)繞過(guò)標(biāo)識(shí),以便允許開(kāi)發(fā)軟件文件快速安裝到控制器92中。備選地,上述用于超越簽名要求的過(guò)程可用于除了在生產(chǎn)控制器上快速安裝開(kāi)發(fā)軟件文件和/或校準(zhǔn)部分之外的其他目的。假定簽名繞過(guò)標(biāo)識(shí)已設(shè)定,本發(fā)明還提出一種技術(shù),所述技術(shù)是用于開(kāi)發(fā)軟件文件和/或校準(zhǔn)部分隨后如何快速安裝在控制器92中的過(guò)程。還應(yīng)當(dāng)指出的是,本文論述的簽名繞過(guò)標(biāo)識(shí)并非必須是用于繞過(guò)簽名要求的標(biāo)識(shí),而可以是被設(shè)定為用于繞過(guò)其他授權(quán)要求的標(biāo)識(shí)。
[0048]圖6是流程圖130,圖中示出了在簽名繞過(guò)標(biāo)識(shí)已設(shè)定或沒(méi)有設(shè)定的兩種情況下都允許軟件文件和/或校準(zhǔn)文件快速安裝在控制器92中的過(guò)程。流程圖130中描繪的算法可用于快速安裝軟件文件或校準(zhǔn)文件,其中軟件文件或校準(zhǔn)文件的快速安裝將彼此獨(dú)立。關(guān)于這點(diǎn),所述算法在方框132處首先確定將要快速安裝的文件是軟件文件還是校準(zhǔn)文件,并且隨后基于該確定往下進(jìn)行至菱形決策框134以便確定是否已設(shè)定軟件文件繞過(guò)標(biāo)識(shí)或校準(zhǔn)文件繞過(guò)標(biāo)識(shí)。如果用于軟件文件或者校準(zhǔn)文件的繞過(guò)標(biāo)識(shí)尚未設(shè)定,那么軟件文件或者校準(zhǔn)文件的快速安裝需要使用如上所述的簽名核實(shí)來(lái)驗(yàn)證。同樣地,如果繞過(guò)標(biāo)識(shí)已設(shè)定,那么軟件文件或校準(zhǔn)文件不需要如上所述被驗(yàn)證。
[0049]如果繞過(guò)標(biāo)識(shí)尚未設(shè)定,那么所述算法往下進(jìn)行至菱形決策框136來(lái)執(zhí)行一系列預(yù)檢驗(yàn),以便確定軟件文件或校準(zhǔn)文件是否具有適當(dāng)格式-例如標(biāo)題格式標(biāo)識(shí)、簽名版本、密鑰標(biāo)識(shí)、存儲(chǔ)地址范圍等。在預(yù)檢驗(yàn)操作中可以采用適用于特定軟件文件、校準(zhǔn)文件、控制器等的任何預(yù)檢驗(yàn)。適當(dāng)?shù)姆窍拗菩院藢?shí)示例包括:模塊ID檢驗(yàn),所述模塊ID檢驗(yàn)識(shí)別呈送給控制器的文件的類型-即校準(zhǔn)文件或軟件;控制器檢驗(yàn),所述控制器檢驗(yàn)確定將被編程的兼容地址范圍是否在與用于校準(zhǔn)文件或軟件文件的已知有效范圍關(guān)聯(lián)的范圍內(nèi),將用于計(jì)算待安裝的軟件文件或校準(zhǔn)文件的簽名的密鑰是否與控制器中的密鑰兼容,用于計(jì)算將被編程的軟件文件或校準(zhǔn)文件的簽名的密鑰的安全水平是否與存儲(chǔ)在控制器中的密鑰安全水平兼容,正被編程的軟件文件或校準(zhǔn)文件的安全水平是否與存儲(chǔ)在控制器中的軟件安全水平兼容,兼容性ID是否適于確定將快速安裝的軟件文件或校準(zhǔn)文件是否與控制器中的引導(dǎo)軟件兼容,呈送給控制器的文件內(nèi)的目標(biāo)名稱是否與控制器匹配-例如不適當(dāng)?shù)奈募赡鼙话l(fā)送到錯(cuò)誤的控制器,將快速安裝的文件的過(guò)期日等。
[0050]在菱形決策框136處的預(yù)檢驗(yàn)步驟中如果軟件文件或校準(zhǔn)文件不包括適當(dāng)?shù)念A(yù)檢驗(yàn)標(biāo)識(shí)等,那么所述算法往下進(jìn)行至方框138來(lái)報(bào)錯(cuò)并且保持在引導(dǎo)模式并且文件不被快速安裝。如果在菱形決策框136處軟件文件或校準(zhǔn)文件通過(guò)預(yù)檢驗(yàn)步驟,那么所述算法往下進(jìn)行至方框140,在所述方框140處軟件文件或校準(zhǔn)文件存儲(chǔ)在存儲(chǔ)器中同時(shí)所述軟件文件或校準(zhǔn)文件被認(rèn)證和驗(yàn)證。執(zhí)行對(duì)于該特定文件的快速安裝,并且所述快速安裝包括擦除軟件或校準(zhǔn)文件存在模式、擦除快速安裝區(qū)段、寫入文件來(lái)進(jìn)行快速安裝等,所有這些都將為所屬領(lǐng)域技術(shù)人員充分理解。因?yàn)樵诒疚恼撌龅挠糜谔幚砗灻⑿r?yàn)和等的控制器中的RAM存儲(chǔ)器限制,將要安裝的文件可以在它們被驗(yàn)證之前快速安裝到存儲(chǔ)器中。因此,引導(dǎo)加載程序?qū)④浖蛐?zhǔn)文件快速安裝到非易失存儲(chǔ)器中,并且如果確定它是有效的僅使用快速安裝的軟件或校準(zhǔn)文件,否則當(dāng)它不是有效的時(shí)候就擦除軟件或校準(zhǔn)文件。存在模式是核實(shí)軟件文件或校準(zhǔn)文件的眾所周知的數(shù)字消息。具體地,加載引導(dǎo)程序可以通過(guò)檢驗(yàn)特定數(shù)字模式的出現(xiàn)來(lái)確定軟件和/或校準(zhǔn)文件是存在和有效的,所述特定數(shù)字模式已知為軟件和/或校準(zhǔn)文件存儲(chǔ)塊內(nèi)的存在模式。可以在與軟件或校準(zhǔn)文件相關(guān)的存儲(chǔ)器區(qū)段中的任何適當(dāng)位置處并且通常在存儲(chǔ)區(qū)段的末端設(shè)置所述存在模式。
[0051]一旦執(zhí)行了快速安裝過(guò)程,所述算法在菱形決策框142處確定是否應(yīng)當(dāng)執(zhí)行或繞過(guò)校驗(yàn)和過(guò)程。如將為所屬領(lǐng)域技術(shù)人員充分理解的,校驗(yàn)和是高水平驗(yàn)證過(guò)程以便確??焖侔惭b過(guò)程沒(méi)有被濫用并且一切都正確安裝。如將為所屬領(lǐng)域技術(shù)人員充分理解的,為了驗(yàn)證的目的某些快速安裝過(guò)程可能想要采用校驗(yàn)和過(guò)程,而其他快速安裝過(guò)程可能不采用校驗(yàn)和過(guò)程。如果校驗(yàn)和過(guò)程將不被繞過(guò),那么所述算法確定校驗(yàn)和驗(yàn)證過(guò)程是否指示所述快速安裝過(guò)程是有效的,并且如果不是有效的,往下進(jìn)行至方框138來(lái)報(bào)錯(cuò)并且保持在引導(dǎo)模式。如果校驗(yàn)和過(guò)程在菱形決策框142處被繞過(guò)或者在菱形決策框146處是有效的,那么所述算法在方框144處驗(yàn)證諸如上述的快速安裝存儲(chǔ)上的簽名,以確定安裝的軟件文件或者校準(zhǔn)文件是否被認(rèn)證和驗(yàn)證。所述算法在菱形決策框148處確定簽名是否有效,并且如果不是有效的,往下進(jìn)行至方框138來(lái)報(bào)錯(cuò)并且保持在引導(dǎo)模式。否則,所述算法寫入軟件文件或校準(zhǔn)文件存在模式,如果在方框150處所有存在模式都是有效的,就報(bào)告快速安裝成功并且退出引導(dǎo)模式。
[0052]如果在菱形決策框134處設(shè)定了繞過(guò)標(biāo)識(shí),意味著將快速安裝的軟件文件或校準(zhǔn)文件不需要通過(guò)其簽名或其他安全碼來(lái)驗(yàn)證,那么所述算法在決策框152處仍執(zhí)行如上所述的預(yù)檢驗(yàn)過(guò)程,而如果預(yù)檢驗(yàn)未通過(guò),那么所述算法移動(dòng)至方框138來(lái)報(bào)錯(cuò)并且保持在引導(dǎo)模式。應(yīng)當(dāng)指出的是,基于繞過(guò)標(biāo)識(shí)是否設(shè)定,預(yù)檢驗(yàn)過(guò)程可以是不同的,其中如果設(shè)定了繞過(guò)標(biāo)識(shí),那么預(yù)檢驗(yàn)過(guò)程將可能不那么可靠。因此,如果在設(shè)定了繞過(guò)標(biāo)識(shí)時(shí)某些不是預(yù)檢驗(yàn)測(cè)試的一部分的預(yù)檢驗(yàn)操作沒(méi)有被滿足,那么所述算法將仍往下進(jìn)行至用于快速安裝軟件的方框154。[0053]如果在菱形決策框152處通過(guò)預(yù)檢驗(yàn)操作,那么所述算法:在方框154處以與在方框140處相同的方式擦除存在模式和快速安裝區(qū)段,在菱形決策框156處以與在菱形決策框142處相同的方式確定校驗(yàn)和是否應(yīng)被繞過(guò),以及在菱形決策框160處以與在菱形決策框146相同的方式確定校驗(yàn)和是否有效。在當(dāng)前繞過(guò)標(biāo)識(shí)已設(shè)定的情況下,所述算法仍通過(guò)該過(guò)程來(lái)在方框158處確定簽名是否有效,并且無(wú)論其是否有效,都向簽名有效菱形決策框148報(bào)告簽名有效。換句話說(shuō),即使設(shè)定了繞過(guò)標(biāo)識(shí),所述算法仍試圖認(rèn)證簽名并且報(bào)告它是有效的而無(wú)論已知它是否有效。主要由于時(shí)間原因-即簽名驗(yàn)證過(guò)程占用一定量的時(shí)間并且需要在開(kāi)發(fā)過(guò)程中重復(fù),所述算法計(jì)算當(dāng)它處于開(kāi)發(fā)繞過(guò)模式時(shí)該簽名是否有效。
[0054]如將為所屬領(lǐng)域技術(shù)人員充分理解的,本文論述的描述本發(fā)明的多個(gè)以及各種步驟和過(guò)程可意指操作,所述操作由計(jì)算機(jī)、使用電氣現(xiàn)象操縱和/或變換數(shù)據(jù)的處理器或者其他電子計(jì)算裝置來(lái)執(zhí)行。那些計(jì)算機(jī)和電子裝置可采用各種易失和/或非易失存儲(chǔ)器,所述存儲(chǔ)器包括具有存儲(chǔ)在其上的可執(zhí)行程序的非臨時(shí)計(jì)算機(jī)可讀介質(zhì),所述可執(zhí)行程序包括能夠由計(jì)算機(jī)或處理器執(zhí)行的各種代碼或可執(zhí)行指令,其中所述存儲(chǔ)器和/或計(jì)算機(jī)可讀介質(zhì)可包括所有形式和類型的存儲(chǔ)器和其他計(jì)算機(jī)可讀介質(zhì)。
[0055]前面的論述僅僅是對(duì)本發(fā)明的示例性實(shí)施方式的公開(kāi)和描述。通過(guò)這些論述以及附圖和權(quán)利要求,本領(lǐng)域技術(shù)人員將會(huì)容易地認(rèn)識(shí)到,在不偏離由所附權(quán)利要求限定的本發(fā)明的精神和范圍的情況下,可以對(duì)本發(fā)明做出各種改變、改型和變型。
【權(quán)利要求】
1.一種用于將文件安全地安裝到控制器上的方法,所述方法包括: 確定是否已在控制器中設(shè)定了繞過(guò)標(biāo)識(shí),該繞過(guò)標(biāo)識(shí)確定是否需要文件驗(yàn)證程序來(lái)安裝文件; 執(zhí)行預(yù)檢驗(yàn)操作來(lái)確定文件的預(yù)定參數(shù)是否已滿足; 如果預(yù)檢驗(yàn)操作已滿足,則將文件安裝到控制器中的存儲(chǔ)器內(nèi); 確定文件是否具有授權(quán)的安全碼并且如果設(shè)定了繞過(guò)標(biāo)識(shí)且文件不包括授權(quán)的安全碼則指示安全碼是已授權(quán)的;以及 如果安全碼被指示為已授權(quán)的,則允許安裝文件。
2.如權(quán)利要求1所述的方法,其中執(zhí)行預(yù)檢驗(yàn)操作來(lái)確定文件的預(yù)定參數(shù)是否已滿足包括執(zhí)行預(yù)檢驗(yàn)操作-在該預(yù)檢驗(yàn)操作中設(shè)定了繞過(guò)標(biāo)識(shí)時(shí)將被滿足的參數(shù)的數(shù)量小于繞過(guò)標(biāo)記未被設(shè)定時(shí)將被滿足的預(yù)定參數(shù)的數(shù)量。
3.如權(quán)利要求1所述的方法,其中執(zhí)行預(yù)檢驗(yàn)操作來(lái)確定文件的預(yù)定參數(shù)是否已滿足包括執(zhí)行下述操作中的一個(gè)或多個(gè):核實(shí)標(biāo)題格式標(biāo)識(shí)、核實(shí)簽名版本、核實(shí)密鑰標(biāo)識(shí)和安全水平、核實(shí)存儲(chǔ)地址范圍、核實(shí)控制器標(biāo)識(shí)號(hào)、核實(shí)文件的安全水平、核實(shí)兼容標(biāo)識(shí)號(hào)是適當(dāng)?shù)?、識(shí)別將安裝的文件是否是用于控制器的以及核實(shí)文件的過(guò)期日。
4.如權(quán)利要求1所述的方法,其中確定文件是否具有授權(quán)的安全碼包括確定文件是否具有與采用數(shù)字簽名以及公共和私有密鑰的非對(duì)稱密鑰加密術(shù)編碼相關(guān)的有效簽名。
5.如權(quán)利要求1所述的方法,其中安裝文件到控制器中的存儲(chǔ)器內(nèi)包括擦除識(shí)別文件存在和有效的存在模式。
6.如權(quán)利要求1所述的方 法,進(jìn)一步包括在將文件安裝到控制器的存儲(chǔ)器中之后但在確定文件是否具有授權(quán)的安全碼之前執(zhí)行校驗(yàn)和操作。
7.如權(quán)利要求1所述的方法,其中所述文件可以是軟件文件或校準(zhǔn)文件,并且其中確定是否已設(shè)定了繞過(guò)標(biāo)識(shí)包括確定是否已對(duì)軟件文件或校準(zhǔn)文件設(shè)定了獨(dú)立的繞過(guò)標(biāo)識(shí)。
8.如權(quán)利要求1所述的方法,其中設(shè)定繞過(guò)標(biāo)識(shí)來(lái)將開(kāi)發(fā)軟件安裝在生產(chǎn)控制器上而無(wú)需為文件授權(quán)。
9.一種用于將軟件文件或校準(zhǔn)文件安全地安裝到車輛電子控制單元(ECU)上的方法,所述方法包括: 確定對(duì)軟件文件或校準(zhǔn)文件是否已在ECU中設(shè)定了繞過(guò)標(biāo)識(shí),該繞過(guò)標(biāo)識(shí)確定是否需要文件驗(yàn)證程序來(lái)安裝文件; 執(zhí)行預(yù)檢驗(yàn)操作來(lái)確定文件的預(yù)定參數(shù)是否已滿足,其中執(zhí)行預(yù)檢驗(yàn)包括執(zhí)行下述預(yù)檢驗(yàn)操作-在該預(yù)檢驗(yàn)操作中設(shè)定了繞過(guò)標(biāo)識(shí)時(shí)將被滿足的參數(shù)的數(shù)量小于繞過(guò)標(biāo)識(shí)未設(shè)定時(shí)將要滿足的預(yù)定參數(shù)的數(shù)量; 如果預(yù)檢驗(yàn)操作已被滿足,則將文件安裝到控制器中的存儲(chǔ)器內(nèi); 確定文件是否具有授權(quán)的簽名并且如果設(shè)定了繞過(guò)標(biāo)識(shí)并且文件不包括授權(quán)的簽名則指示簽名是已授權(quán)的;以及 如果簽名被指示為已授權(quán)的,則允許安裝文件。
10.一種用于將文件安全地安裝到控制器上的系統(tǒng),所述系統(tǒng)包括: 用于確定是否已在控制器中設(shè)定了繞過(guò)標(biāo)識(shí)從而確定是否需要文件驗(yàn)證程序來(lái)安裝文件的裝置;用于執(zhí)行預(yù)檢驗(yàn)操作來(lái)確定文件的預(yù)定參數(shù)是否已滿足的裝置; 如果預(yù)檢驗(yàn)操作已滿足就將文件安裝到控制器中的存儲(chǔ)器內(nèi)的裝置; 用于確定文件是否具有授權(quán)的安全碼并且如果設(shè)定了繞過(guò)標(biāo)識(shí)且文件不包括授權(quán)的安全碼就指示安全碼已授權(quán)的裝置;以及 如果安全碼被指示為已授 權(quán)的就允許安裝文件的裝置。
【文檔編號(hào)】G06F21/51GK103679005SQ201310414715
【公開(kāi)日】2014年3月26日 申請(qǐng)日期:2013年9月12日 優(yōu)先權(quán)日:2012年9月12日
【發(fā)明者】K.M.貝爾茨, A.I.阿爾拉巴迪, T.M.富里斯特 申請(qǐng)人:通用汽車環(huán)球科技運(yùn)作有限責(zé)任公司