用于車輛控制模塊的安全軟件文件傳輸系統(tǒng)和方法相關申請的交叉引用本申請要求于2012年4月6日提交的美國臨時專利申請第61/621,238號的權益。上述申請的全部公開內(nèi)容以參考的方式并入本文中。技術領域本公開涉及用于傳輸車輛文件的安全文件傳輸系統(tǒng)。
背景技術:此文所提供的背景技術說明是以總的介紹本公開的背景為目的。目前署名的發(fā)明人的工作,就在此背景技術部分中所描述的程度,以及說明書中可能尚未構成提交時的現(xiàn)有技術的方面,無論是以明確或隱含的方式均不被視為針對于本公開的現(xiàn)有技術。車輛包括各種車輛控制模塊,諸如發(fā)動機控制模塊、變速器控制模塊、空調(diào)控制模塊、信息娛樂控制模塊、車體控制模塊等。這些車輛控制模塊執(zhí)行軟件和/或固件文件以便完成各自的功能。汽車工業(yè)不斷地把方便性提升的特征加到車輛中并因此加到車輛控制模塊中。把可移動裝置連接到車輛系統(tǒng),用以傳輸各種類型的音頻和視頻數(shù)據(jù)、以及車輛診斷和狀態(tài)數(shù)據(jù)。可通過可移動裝置來遙控車輛中的各特征。因此,把惡意軟件下載入車輛控制模塊中的威脅性增加。因為車輛越來越多地數(shù)字地連接到外部計算裝置,所以暴露于攻擊的機會增加。各種類型攻擊的例子可包括:潛入車輛電子和/或軟件系統(tǒng)、對車輛控制模塊進行重新編程,包括車輛數(shù)據(jù)的未授權外漏,以及/或者涉及未授權的車輛跟蹤的攻擊。在執(zhí)行文件之前,可進行文件的鑒別來驗證文件的來源和/或內(nèi)容。進行鑒別來防止惡意文件的下載和/或執(zhí)行并且/或者防止對文件的惡意和/或未授權的更改。執(zhí)行無效文件的后果可以包括意外的車輛系統(tǒng)行為、車輛部件使用壽命減小、車輛防盜特征的喪失、對車輛部件的潛在竄改、車輛文件的更改、和/或車輛特征和/或功能的喪失。無效文件的執(zhí)行也會導致車輛保修無效。用于防止無效文件執(zhí)行的一種安全技術被稱為非對稱密鑰密碼術。非對稱密鑰密碼術包括利用編程入控制模塊中的數(shù)字簽名來驗證文件。利用包括私鑰和公鑰的一對密鑰對數(shù)字簽名進行加密和解密。私鑰僅對于被傳輸文件的來源是可獲得的。文件源可利用私鑰對數(shù)字簽名進行加密。經(jīng)加密的數(shù)字簽名可從文件源被傳輸至控制模塊。然后,控制模塊可利用公鑰對經(jīng)加密的數(shù)字簽名進行解密。控制模塊可對簽名加以驗證并基于此驗證來例如下載、存儲和/或執(zhí)行文件。
技術實現(xiàn)要素:提供一種服務器,其包括輸入模塊,所述輸入模塊接收來自設計網(wǎng)絡的第一內(nèi)容文件和第一指令文件。第一指令文件包含第一組參數(shù)。作業(yè)請求模塊基于第一指令參數(shù)集來確定第二參數(shù)集并且生成包含第二參數(shù)集的第二指令文件。作業(yè)請求模塊把第一內(nèi)容文件和第二參數(shù)集傳輸至簽名服務器。輸出模塊接收來自簽名服務器的簽名文件。簽名服務器基于第二指令文件生成簽名文件。輸出模塊把簽名整合入第一內(nèi)容文件以生成第二內(nèi)容文件,并且把第二內(nèi)容文件下載到維護服務器、制造服務器、和供應商網(wǎng)絡中的至少一個。在其它特征中,提供一種方法,該方法包括:接收來自設計網(wǎng)絡的第一內(nèi)容文件和第一指令文件。第一指令文件包含第一組參數(shù)。基于第一指令參數(shù)集確定第二參數(shù)集并且生成包含第二參數(shù)集的第二指令文件。將第一內(nèi)容文件和第二參數(shù)集傳輸至簽名服務器。從簽名服務器接收簽名文件。簽名服務器基于第二指令文件生成簽名文件。把簽名整合入第一內(nèi)容文件以生成第二內(nèi)容文件。把第二內(nèi)容文件下載到維護服務器、制造服務器、和供應商網(wǎng)絡中的至少一個。本發(fā)明提供以下技術方案:1.一種服務器,包括:輸入模塊,所述輸入模塊接收來自設計網(wǎng)絡的第一內(nèi)容文件和第一指令文件,其中,所述第一指令文件包含第一組參數(shù);作業(yè)請求模塊,所述作業(yè)請求模塊基于所述第一指令參數(shù)集確定第二參數(shù)集并且生成包括所述第二參數(shù)集的第二指令文件,其中,所述作業(yè)請求模塊把所述第一內(nèi)容文件和所述第二參數(shù)集傳輸至簽名服務器;以及輸出模塊,所述輸出模塊接收來自所述簽名服務器的簽名文件,其中,所述簽名服務器基于所述第二指令文件而生成所述簽名文件,并且其中,所述輸出模塊把所述簽名整合入所述第一內(nèi)容文件以生成第二內(nèi)容文件,并且把所述第二內(nèi)容文件下載到維護服務器、制造服務器、和供應商網(wǎng)絡中的至少一個。2.如方案1所述的服務器,其中:所述第一組參數(shù)包含密鑰標識;所述第二組參數(shù)包含所述密鑰標識;并且所述輸出模塊基于所述密鑰標識而生成所述簽名。3.如方案1所述的服務器,其中,所述第一指令文件、所述第二指令文件、和所述第二內(nèi)容文件每個是可擴展置標語言文件。4.如方案1所述的服務器,其中,所述第一參數(shù)集包括所述簽名的第一地址和簽名算法的第二地址;并且當基于所述第一地址和所述第二地址生成所述第二內(nèi)容文件時,所述輸出模塊存儲所述簽名。5.如方案1所述的服務器,其中:所述第一參數(shù)集包括密鑰的地址;并且所述輸出模塊基于所述地址把所述密鑰嵌入引導文件并且輸出所述引導文件用于由車輛控制模塊所使用,其中,所述引導文件包含指令,所述指令當被所述車輛控制模塊執(zhí)行時基于所述密鑰驗證所述簽名。6.如方案1所述的服務器,其中,所述第一參數(shù)集包括:所述第一內(nèi)容文件的軟件部分數(shù)量,軟件部分使用值,以及所述第一內(nèi)容文件的軟件部分類型;所述作業(yè)請求模塊基于所述軟件部分使用值來判斷目標車輛控制模塊是否允許所述服務器選擇簽名密鑰;所述作業(yè)請求模塊基于所述軟件部分類型來判斷所述第一內(nèi)容文件是否為校準文件、軟件文件、固件文件、引導文件、密鑰更換文件、和許可證文件中的一種;并且所述作業(yè)請求模塊基于所述軟件部分數(shù)量、所述軟件部分使用值、和所述軟件部分類型而生成所述第二指令文件。7.如方案1所述的服務器,其中,所述第一參數(shù)集包括:創(chuàng)建者標識符,所述創(chuàng)建者標識符指示創(chuàng)建所述第一內(nèi)容文件的個人,以及證書,所述證書指示用以驗證所述簽名的密鑰以及使用所述第二內(nèi)容文件的車輛控制模塊;所述作業(yè)請求模塊基于所述創(chuàng)建者標識符和所述證書而生成所述第二指令文件;并且所述輸出模塊基于所述證書而生成所述第二內(nèi)容文件。8.如方案1所述的服務器,其中,所述第二參數(shù)集包括:作業(yè)標識符,所述作業(yè)標識符指示包含所述第一內(nèi)容文件和所述第二指令集的許多作業(yè)請求;密鑰標識,所述密鑰標識指示所述簽名服務器所使用的用來生成所述簽名的密鑰;以及簽名算法標識,所述簽名算法標識指示由所述簽名服務器所使用的用來生成所述簽名的簽名算法。9.如方案1所述的服務器,其中,所述第三參數(shù)集包括:作業(yè)標識符,所述作業(yè)標識符指示包含所述第一內(nèi)容文件和所述第二指令集的許多作業(yè)請求;以及所述簽名。10.一種文件下載系統(tǒng),包括:如方案1所述的服務器;所述維護服務器;以及所述制造服務器。11.如方案10所述的文件下載系統(tǒng),還包括所述設計網(wǎng)絡。12.如方案10所述的文件下載系統(tǒng),其中以下的至少一個:所述維護服務器把所述第二內(nèi)容文件下載到服務控制模塊,其中,所述服務控制模塊把所述第二內(nèi)容文件下載到車輛中的車輛控制模塊;以及所述制造服務器把所述第二內(nèi)容文件下載到制造控制模塊,其中,所述制造控制模塊把所述第二內(nèi)容文件下載到車輛中的車輛控制模塊。13.一種方法,包括:接收來自設計網(wǎng)絡的第一內(nèi)容文件和第一指令文件,其中,所述第一指令文件包含第一組參數(shù);基于所述第一指令參數(shù)集而確定第二參數(shù)集,并且生成包括所述第二參數(shù)集的第二指令文件;把所述第一內(nèi)容文件和所述第二參數(shù)集傳輸至簽名服務器;接收來自所述簽名服務器的簽名文件,其中,所述簽名服務器基于所述第二指令文件而生成所述簽名文件;把所述簽名整合入所述第一內(nèi)容文件以生成第二內(nèi)容文件;以及把所述第二內(nèi)容文件下載到維護服務器、制造服務器、和供應商網(wǎng)絡中的至少一個。14.如方案13所述的方法,還包括:基于所述密鑰標識而生成所述簽名,其中,所述第一組參數(shù)包含所述密鑰標識;并且所述第二組參數(shù)包含所述密鑰標識。15.如方案13所述的方法,其中,所述第一指令文件、所述第二指令文件、和所述第二內(nèi)容文件每個是可擴展置標語言文件。16.如方案13所述的方法,還包括:當基于第一地址和第二地址生成所述第二內(nèi)容文件時存儲所述簽名,其中,所述第一參數(shù)集包括:所述簽名的第一地址;以及所述簽名算法的第二地址。17.如方案13所述的方法,還包括:基于地址把密鑰嵌入引導文件中;以及輸出由車輛控制模塊所使用的所述引導文件,其中,所述第一參數(shù)集包括所述密鑰的地址,并且其中,所述引導文件包含指令,所述指令當被所述車輛控制模塊執(zhí)行時基于所述密鑰驗證所述簽名。18.如方案13所述的方法,還包括:基于軟件部分使用值來判斷目標車輛控制模塊是否允許所述服務器選擇簽名密鑰;基于軟件部分類型來判斷所述第一內(nèi)容文件是否為校準文件、軟件文件、固件文件、引導文件、密鑰更換文件、和許可證文件中的一種文件;以及基于所述軟件部分數(shù)量、所述軟件部分使用值、和所述軟件部分類型而生成所述第二指令文件,其中,所述第一參數(shù)集包括:所述第一內(nèi)容文件的軟件部分數(shù)量,所述軟件部分使用值,以及所述第一內(nèi)容文件的軟件部分類型。19.如方案13所述的方法,還包括:基于創(chuàng)建者標識符和證書生成所述第二指令文件;以及基于所述證書生成所述第二內(nèi)容文件,其中,所述第一參數(shù)集包括:指示創(chuàng)建所述第一內(nèi)容文件的個人的所述創(chuàng)建者標識符,以及指示用于驗證所述簽名的密鑰以及使用所述第二內(nèi)容文件的車輛控制模塊的所述證書。20.如方案13所述的方法,其中,所述第二參數(shù)集包括:作業(yè)標識符,所述作業(yè)標識符指示包含所述第一內(nèi)容文件和所述第二指令集的許多作業(yè)請求,密鑰標識,所述密鑰標識指示所述簽名服務器使用的用來生成所述簽名的密鑰,以及簽名算法標識,所述簽名算法標識指示所述簽名服務器所使用的用來生成所述簽名的簽名算法;并且所述第三參數(shù)集包括:作業(yè)標識符,所述作業(yè)標識符指示包含所述第一內(nèi)容文件和所述第二指令集的許多作業(yè)請求;以及所述簽名。從下文中所提供的詳細說明,本公開的進一步的應用范圍將變得顯而易見。應當理解的是,詳細說明和具體實例的意圖僅以說明為目的而并非意圖限制本公開的范圍。附圖說明從詳細說明和附圖將更充分地理解本公開,其中:圖1是根據(jù)本公開的包括原始設備制造商(OEM)下載網(wǎng)絡的文件下載系統(tǒng)的功能方框圖。圖2是圖1的OEM下載網(wǎng)絡的功能方框圖。圖3是文件下載系統(tǒng)的一部分的功能方框圖,該圖說明了根據(jù)本公開的示例內(nèi)容文件下載步驟。圖4示出了根據(jù)本公開的操作文件下載系統(tǒng)的方法。具體實施方式服務器可生成用于使在OEM網(wǎng)絡的各網(wǎng)絡設備之間、在OEM網(wǎng)絡的網(wǎng)絡設備與OEM網(wǎng)絡外部的網(wǎng)絡設備之間、以及/或者在OEM網(wǎng)絡外部的各網(wǎng)絡設備之間所傳輸?shù)膬?nèi)容文件變安全的簽名。該簽名可以是用于確保消息或文件完整性以及/或者文件源一致性的數(shù)字簽名。網(wǎng)絡設備可以指例如服務器、計算機、在車輛外部或內(nèi)部的控制模塊、工作站、終端等。OEM網(wǎng)絡可以是例如車輛制造商的網(wǎng)絡。本文中公開的技術是用來解決:如何生成、嵌入和使用簽名;用戶如何與OEM網(wǎng)絡內(nèi)部和外部的設備交換和/或下載信息、內(nèi)容、文件和/或程序;以及OEM網(wǎng)絡內(nèi)的各設備如何交換和/或下載信息、內(nèi)容、文件和/或程序。在圖1中示出了文件下載系統(tǒng)10,該系統(tǒng)提供用于信息、內(nèi)容文件和/或簽名的傳輸、生成和/或整合的文件交換拓撲學。文件下載系統(tǒng)10包括OEM下載網(wǎng)絡12。OEM下載網(wǎng)絡12包括:OEM設計(或工程)網(wǎng)絡14、軟件部分(或內(nèi)容文件)服務器16、簽名服務器18、維護服務器20、和制造服務器22。OEM設計網(wǎng)絡14包括網(wǎng)絡設備24,每個服務器16-22包含各自的內(nèi)容存儲器、簽名存儲器、維護存儲器、和制造存儲器26-32。OEM設計網(wǎng)絡14可包括由用戶輸入數(shù)據(jù)的網(wǎng)絡設備。用戶可在網(wǎng)絡設備中建立軟件部分(或內(nèi)容文件)并且把該軟件部分下載到軟件部分服務器16。軟件部分(softpart)可包括例如:軟件程序和/或固件程序、校準信息、引導程序、密鑰更換信息、清單(即記錄、表格、或列表)、許可證文件等。軟件部分服務器16把軟件部分存儲于內(nèi)容存儲器26中并且命令簽名服務器18如何生成簽名。簽名服務器18基于來自軟件部分服務器16的指令而生成簽名。然后,軟件部分服務器16可把簽名的內(nèi)容文件下載到維護服務器20和制造服務器22中的至少一個。文件下載系統(tǒng)10還可包括供應商設計網(wǎng)絡34和供應商制造網(wǎng)絡36。供應商設計網(wǎng)絡34可生成類似于OEM設計網(wǎng)絡14的軟件部分并且把該軟件部分下載到軟件部分服務器16。供應商制造網(wǎng)絡36可接收來自軟件部分服務器16的簽名內(nèi)容文件。軟件部分可由OEM設計網(wǎng)絡14和/或供應商設計網(wǎng)絡34最初生成。文件下載系統(tǒng)10還可以包括:OEM維護網(wǎng)絡40、第三方服務網(wǎng)絡42、和OEM制造網(wǎng)絡44。OEM維護網(wǎng)絡40可包括例如服務中心和/或車輛經(jīng)銷商,服務中心和/或車輛經(jīng)銷商分別具有各自的服務控制模塊(被稱為工具)。圖示了單個服務控制模塊(工具1)46。服務控制模塊可以是例如:用于把信息編程并且/或者下載到車輛控制模塊48中的計算機。OEM服務網(wǎng)絡40可借助于這些工具把簽名內(nèi)容文件下載到車輛中的車輛控制模塊。這些工具可從維護服務器20中獲取簽名內(nèi)容文件。舉例來說,一個工具可向車輛查詢車輛的一個或多個車輛控制模塊上的軟件部分數(shù)。然后,該工具可確定哪個軟件部分應當在各自的車輛控制模塊上,然后對適當?shù)暮灻麅?nèi)容文件進行重新編程、更新并且/或者下載到所選的車輛控制模塊。第三方服務網(wǎng)絡42可包括例如一個或多個服務中心,各服務中心具有各自的服務控制模塊。圖示了單個服務控制模塊(工具2)50。服務控制模塊50包括車輛控制模塊54。第三方服務網(wǎng)絡42可通過所述工具把簽名內(nèi)容文件下載到車輛中的車輛控制模塊。所述工具可從維護服務器20中獲取簽名內(nèi)容文件并且把這些文件下載到車輛控制模塊。OEM服務制造網(wǎng)絡44可包括一個或多個制造設施,在這些制造設施處例如制造車輛系統(tǒng)和/或車輛。每個設施也可包括用于下載簽名內(nèi)容文件的工具。圖示了一個示例制造控制模塊(工具3)52。制造控制模塊52包括車輛控制模塊56。這些設施可從制造服務器22中下載簽名內(nèi)容文件。可基于例如制造訂單下載簽名內(nèi)容文件。然后,這些工具可把簽名的內(nèi)容文件下載到系統(tǒng)和/或車輛中的車輛控制模塊。車輛控制模塊48、50、52可包括各自的安全控制模塊60、62、64,這些模塊授權并驗證從維護服務器20和制造服務器22接收的內(nèi)容文件的簽名、內(nèi)容和/或來源。在接收簽名內(nèi)容文件之后,車輛控制模塊60-64可執(zhí)行授權和驗證步驟以驗證簽名內(nèi)容文件的簽名、內(nèi)容和/或來源??刹捎酶鞣N授權和驗證步驟。舉例來說,車輛控制模塊可從內(nèi)容文件中分離出簽名,利用公鑰對這些簽名進行解密以生成第一散列值,基于簽名內(nèi)容文件的軟件部分生成第二散列值,并且將第一散列值與第二散列值進行比較。如果第一散列值與第二散列值匹配,那么可認為相應的簽名內(nèi)容文件是有效的,否則可認為簽名內(nèi)容文件是無效的。當最初形成時,公鑰可對應于由設計網(wǎng)絡所使用的用來加密軟件部分中數(shù)據(jù)的私鑰。現(xiàn)在也參照圖2,圖中示出了OEM下載網(wǎng)絡12。OEM下載網(wǎng)絡12包括:設計網(wǎng)絡14、軟件部分服務器16、和簽名服務器18。設計網(wǎng)絡14包括:設計控制模塊100和設計存儲器102。設計存儲器102可存儲軟件部分104和相應的第一組參數(shù)106。設計控制模塊100可生成軟件部分104和第一組參數(shù)106。表1中列出了第一組參數(shù)106的各參數(shù)中所提供的示例參數(shù)。表1:第一指令文件中的示例參數(shù)參數(shù)描述內(nèi)容存儲器26中存儲軟件部分內(nèi)的簽名的地址。是由軟件部分服務器16把簽名嵌入軟件部分中的地址。內(nèi)容存儲器26中存儲軟件部分的簽名算法的描述的地址。是由軟件部分服務器16所使用的以將簽名嵌入軟件部分中的簽名算法的地址。該地址是指作為軟件部分的一部分存儲簽名算法的位置。內(nèi)容存儲器26中也存儲簽名算法的描述的地址。是由軟件部分服務器16所使用的以將簽名嵌入軟件部分中的簽名算法的地址。該地址是指作為引導加載程序文件的一部分(或引導部分)存儲簽名算法的位置。車輛控制模塊通過執(zhí)行引導加載程序文件來驗證內(nèi)容文件的簽名。內(nèi)容存儲器26中存儲用于簽名軟件部分的密鑰標識(ID)的地址。是由軟件部分服務器16使用的把密鑰ID嵌入軟件部分中的地址。內(nèi)容存儲器26中的用引導加載程序文件也存儲密鑰ID的地址。是由軟件部分服務器16使用的把密鑰ID嵌入引導加載程序文件的地址。當執(zhí)行引導加載程序文件時利用密鑰ID來檢查車輛控制模塊與軟件部分的兼容性。內(nèi)容存儲器26中的用引導加載程序文件存儲密鑰的地址。是軟件部分服務器16所使用的把密鑰嵌入引導加載程序文件中的地址。內(nèi)容存儲器26中存儲簽名旁路標志的地址。是軟件部分服務器16所使用的把簽名旁路標志嵌入引導加載程序文件中的地址。字節(jié)數(shù)從設計網(wǎng)絡下載到軟件部分服務器16中的軟件部分長度。安全等級軟件部分的安全等級。當執(zhí)行引導加載程序文件時可利用該安全等級來防止具有無效安全等級的軟件部分被編程入車輛控制模塊。該安全等級可以是例如軟件內(nèi)容文件。控制模塊ID唯一地識別車輛控制模塊的信息。這允許把作為一個或多個軟件部分所提供的編程包目標對準單獨的車輛控制模塊。完整性檢查描述和值確認用于檢查從設計網(wǎng)絡中下載至軟件部分服務器16中的軟件部分的有效性的完整性方案??梢杂糜谌绻暾詸z查失敗則防止該軟件部分的處理。軟件部分數(shù)軟件部分的數(shù)量。軟件部分類型表明例如:軟件部分是否為軟件文件、固件文件、校準文件、引導加載程序文件、密鑰更換文件、清單、許可證文件等。軟件部分使用值表明例如:軟件部分的目標車輛控制模塊是否允許軟件部分服務器16選擇用于簽名軟件部分的合適密鑰。創(chuàng)建者ID確認軟件部分的創(chuàng)建者(個人和/或網(wǎng)絡設備)。證書可表明簽名證書是否作為重編程包的一部分被傳輸至目標車輛控制模塊。該證書可用于驗證網(wǎng)址并且可提供有關于軟件部分的容許使用的信息。該證書可顯示用于驗證簽名的密鑰,該軟件部分是使用于哪些產(chǎn)品(例如,車輛),以及/或者該軟件部分是使用于哪些車輛控制模塊。第一組參數(shù)106可包含表1中未包含的參數(shù),例如簽名版本。簽名版本可確認加密版本??苫诎踩燃壎褂貌煌募用馨姹?。具有較大的所生成的加密文件的加密版本可用于較高安全等級,其中具有較短加密文件的加密版本可用于較低安全等級。第一組參數(shù)106也可以包括簽名整合參數(shù),這些參數(shù)表明在何處把簽名嵌入軟件部分。第一組參數(shù)106中的一個參數(shù)可以在第一指令文件XML1中被提供并且伴隨軟件部分(或第一內(nèi)容文件)PART,共同地為信號108。軟件部分PART和第一指令文件XML1可從設計網(wǎng)絡14下載到軟件部分服務器16。或者,可從例如圖1的供應商設計網(wǎng)絡34中接收軟件部分PART和第一指令文件XML1。軟件部分服務器16包括:內(nèi)容存儲器26、輸入模塊110、作業(yè)請求模塊112、和輸出模塊114。輸入模塊110接收來自一個或多個設計網(wǎng)絡以及相應網(wǎng)絡設備的軟件部分和指令文件對(例如,信號108)。輸入模塊110可把軟件部分109和指令文件111存儲于內(nèi)容存儲器26中。指令文件111可以是例如可擴展置標語言(XML)文件和/或其它置標、編程、和/或內(nèi)容語言文件。作業(yè)請求模塊112基于從設計網(wǎng)絡接收的軟件部分109和指令文件111而生成作業(yè)請求。作業(yè)請求可包括接收的軟件部分PART和第二指令文件XML2(共同地為信號116)中的一個。當生成用于軟件部分的簽名時,每個第二指令文件113提供采用由簽名服務器18所使用的第二組參數(shù)的形式的信息。將第二組參數(shù)118存儲于內(nèi)容存儲器26中。表2中列出了可包含在每個第二組參數(shù)118中的示例參數(shù)。表2:第二指令文件中的示例參數(shù)參數(shù)描述作業(yè)ID是由軟件部分服務器16所指定的用于確認作業(yè)(或簽名)請求的以便由軟件部分服務器16將適當?shù)能浖糠峙c簽名相結合的唯一作業(yè)或事務標識符。這發(fā)生在把包含簽名的信息從簽名服務器18傳輸至軟件部分服務器16之后。密鑰ID是由簽名服務器18所使用的用來生成簽名的密鑰的標識,該標識是用來對軟件部分進行簽名。簽名算法ID當生成簽名時,確認被使用的多種簽名算法中所選擇的一種算法。第二組參數(shù)118可包含表2中不包含的參數(shù),例如第二組參數(shù)118可包含簽名版本。第二組參數(shù)118可包含簽名整合參數(shù),該參數(shù)表明在何處把簽名嵌入軟件部分。作業(yè)請求模塊112可把第二指令文件113存儲于內(nèi)容存儲器26中。第二指令文件113可以是例如XML文件和/或其它標記、編程、和/或內(nèi)容語言文件。作業(yè)請求模塊112把軟件部分109和相應的第二指令文件113傳輸至簽名服務器18,用于簽名的生成。輸出模塊114接收來自簽名服務器18的第三指令文件119中的簽名。第三指令文件119可包含第三組參數(shù),該組參數(shù)可包含例如簽名、作業(yè)ID(描述于表2)、或其它參數(shù)。把第三組參數(shù)120存儲于內(nèi)容存儲器26中。輸出模塊114可把簽名嵌入軟件部分109中的合適軟件部分中以生成第二內(nèi)容文件??砂训诙?nèi)容文件傳輸至圖1中的維護服務器20、制造服務器22、或供應商制造網(wǎng)絡36。簽名服務器18可包括簽名存儲器28和簽名控制模塊130。簽名控制模塊130可接收軟件部分109和伴隨的第二指令文件,并且基于它們生成第三指令文件119。可作為信號XML3132把第三指令文件119發(fā)送至軟件部分服務器16??砂衍浖糠?09、第二指令文件113、第三指令文件119、和第三組參數(shù)120存儲于簽名存儲器28中。輸出模塊114也可把用于解密內(nèi)容文件和/或內(nèi)容文件的某些內(nèi)容的密鑰和/或密鑰ID嵌入引導加載程序文件中。密鑰和/或密鑰ID可提供作為第一組參數(shù)、第二組參數(shù)、和/或第三組參數(shù)的參數(shù)??赏ㄟ^例如服務器20、22和網(wǎng)絡40、42、44把引導加載程序文件從輸出模塊114下載到車輛控制模塊。引導加載程序文件可包含當由車輛控制模塊執(zhí)行時基于密鑰和/或密鑰ID來驗證簽名、軟件部分、以及/或者簽名和/或軟件部分的來源的指令。引導加載程序文件也可包含啟動車輛控制模塊的指令。在圖3中示出了文件下載系統(tǒng)10的部分150,該部分150說明了示例的內(nèi)容文件下載步驟。部分150包括軟件部分服務器16、簽名服務器18、維護服務器20、服務控制模塊152(例如,控制模塊46、50中的一個)、以及車輛控制模塊154。軟件部分服務器16包括:內(nèi)容存儲器26、輸入模塊110、作業(yè)請求模塊112、和輸出模塊114。作業(yè)請求模塊112把各軟件部分和第二指令信號(例如,116)傳輸至簽名服務器18。內(nèi)容存儲器26存儲軟件部分109、指令文件111、113、119和第二組參數(shù)118。簽名服務器18包括簽名控制模塊130和簽名存儲器28。簽名存儲器28存儲軟件部分109、指令文件113、119、和第三組參數(shù)118。簽名控制模塊130可包括:第一密碼模塊156、加密模塊158、和指令模塊160。密碼模塊156可接收軟件部分PART162并且生成第一散列值HASH1164。加密模塊158可利用私鑰對第一散列值HASH1164加密以生成簽名SIG166。指令模塊160可基于簽名166生成第三指令信號XML3132。第一密碼模塊156、加密模塊158、指令模塊160的操作以及/或者第一散列值HASH1164、簽名SIG166和/或第三指令信號XML3132的生成可以基于信號116的第二指令文件中的一個或多個參數(shù)。輸出模塊114接收來自簽名服務器18的第三指令信號132并且把第三指令信號132的簽名SIG166嵌入相應的軟件部分以生成第二內(nèi)容文件。輸出模塊把第二內(nèi)容文件下載到維護服務器20。然后,維護服務器20當向服務控制模塊152請求時可下載第二內(nèi)容文件。然后,服務控制模塊152可對車輛控制模塊154的存儲器170中的第二內(nèi)容文件進行flash編程、重編程、更新、和/或存儲。車輛控制模塊154可包括安全模塊172。安全模塊172可包括解密模塊174、第二密碼模塊176、和散列值比較模塊178。解密模塊174利用與私鑰相對應的公鑰PUB180對簽名SIG166解密以生成第二散列值HASH2182。第二密碼模塊176基于軟件部分PART162生成第三散列值HASH3184。散列值比較模塊178將第二散列值HASH2與第三散列值HASH3184進行比較。如果第二散列值HASH2182與第三散列值HASH3184匹配,那么該簽名是有效的,否則該簽名是無效的。這可以通過驗證信號VAL186來表明??衫迷S多方法來操作文件下載系統(tǒng)10,圖4的方法提供一種示例方法。在圖4中示出了操作文件下載系統(tǒng)的方法。盡管主要參考圖1-圖3的實施例描述了以下任務,但這些任務可被簡單的修改而適用于本公開的其它實施例。這些任務可反復地執(zhí)行。所述方法可開始于200。在202,經(jīng)由設計網(wǎng)絡的設計控制模塊(例如,OEM設計網(wǎng)絡14或供應商設計網(wǎng)絡54)生成軟件部分(或第一內(nèi)容文件)。在204,設計控制模塊可確定第一組參數(shù)(示例參數(shù)列于上面的表1)并且生成第一指令文件XML1。軟件部分服務器16利用第一指令文件XML1來正確地簽名并存儲軟件部分,如關于以下任務進一步描述的。僅僅是舉例,可利用私鑰對第一內(nèi)容文件加密,如上所述。在206,輸入模塊110接收來自設計網(wǎng)絡的軟件部分和第一指令文件。在208,作業(yè)請求模塊112確定第二組參數(shù)(示例參數(shù)列于上面的表2),并且基于第一指令文件生成第二指令文件XML2。第二組參數(shù)可以是第一組參數(shù)的子集,并且/或者可包含不同于第一組參數(shù)的參數(shù)。在210,作業(yè)請求模塊112把包含軟件部分和第二指令文件XML2的作業(yè)(或簽名)請求傳輸至簽名服務器18。第二指令文件XML2把軟件部分附加到簽名服務器18并且可告知簽名服務器18應當如何生成簽名。在212,簽名控制模塊130確定第三組參數(shù)并且基于第二指令文件中的第二組參數(shù)而生成簽名文件。簽名文件可以是XML文件和/或其它標記、編程、和/或內(nèi)容語言文件。第三組參數(shù)可以是第二組參數(shù)的子集并且/或者包含不同于第二組參數(shù)的參數(shù)。上面參照圖2描述了可包含在第三組參數(shù)中的示例參數(shù)。簽名模塊18把包含第三組參數(shù)的簽名文件傳輸至軟件部分服務器16。在214,輸出模塊114接收簽名文件。在216,輸出模塊114把簽名文件中的簽名整合入軟件部分以生成簽名的(或第二)內(nèi)容文件。在218,輸出模塊114把第二內(nèi)容文件下載到供應商、維護、和制造網(wǎng)絡36、40、42中的至少一個并且/或者下載到供應商、維護、和制造網(wǎng)絡36、40、42中的控制模塊和/或網(wǎng)絡設備。在220,供應商、維護、和制造網(wǎng)絡36、40、42的一個或多個控制模塊可把第二內(nèi)容文件下載到車輛中的車輛控制模塊。作為示例提供以下任務222-234并且可以不執(zhí)行這些任務??蓤?zhí)行替代的授權和驗證任務,來代替任務222-234。在222,車輛控制模塊中的一個模塊可從第二內(nèi)容文件中分離出第二內(nèi)容文件中的簽名。在224,可利用公鑰對該簽名解密以生成第一散列值。在226,可把第二內(nèi)容文件的軟件部分存儲在或者閃存至車輛的存儲器中。在227,車輛控制模塊可基于該軟件部分而計算第二散列值。在228,車輛控制模塊可將第一散列值與第二散列值比較以判斷簽名、軟件部分、以及/或者軟件部分和/或簽名的來源是否有效。在230,如果第一散列值與第二散列值匹配,在232判定簽名、軟件部分和/或來源為有效的。如果第一散列值與第二散列值不匹配,在234判定簽名、軟件部分和/或來源為無效的。在232,車輛控制模塊可執(zhí)行軟件部分和/或軟件部分中使用的信息以完成車輛中的任務。在234,車輛控制模塊可制止執(zhí)行軟件部分,不使用軟件部分中的信息,并且/或者刪除軟件部分。所述方法可結束于236。上述任務意圖是說明性例子;可以根據(jù)用途順序地、同步地、同時地、連續(xù)地、在重疊時間段內(nèi)、或者按不同順序執(zhí)行這些任務。另外,可基于事件的實施和/或順序而不執(zhí)行或跳過任何任務。上述實施包括指令文件和簽名文件(可以是XML文件)的傳輸。XML文件便于簽名的生成。XML文件的使用允許服務器、工具、和/或其它網(wǎng)絡設備以可預測、自動的方式讀出信息,同時消除參數(shù)的人工輸入。如上所述的文件傳輸也支持車輛控制模塊的安全flash編程,以防止把惡意內(nèi)容文件編程入車輛控制模塊。前面的描述在本質(zhì)上只是說明性的而決不是意圖限制本公開、其應用或使用??梢杂枚喾N形態(tài)實施本公開的廣泛教導。因此,雖然本公開包括具體實例,但本公開的真實范圍不應受如此限制,因為在研究了附圖、說明書和所附權利要求之后其它修改將變得顯而易見。為清楚起見,附圖中將用相同的附圖標記來標示類似的元件。本文中使用的短語“A、B和C中的至少一個”應當被理解成利用非排他性邏輯“或”來表示邏輯(A或B或C)。應當理解的是,在不改變本公開原理的情況下,方法中的一個或多個步驟可按照不同順序(或同時地)執(zhí)行。本文中使用的術語“模塊”可以指下列部件中的一部分、或者包括下列部件:專用集成電路(ASIC);分立電路;集成電路;組合邏輯電路;現(xiàn)場可編程門陣列(FPGA);執(zhí)行代碼的處理器(共享處理器、專用處理器、或者組處理器);提供所述功能的其它適當?shù)挠布考?;或者部分或全部上述部件的組合,例如在芯片上系統(tǒng)中。術語“模塊”可包括存儲由處理器所執(zhí)行的代碼的存儲器(共享存儲器、專用存儲器、或組存儲器)。上面使用的術語“代碼”可包括:軟件、固件和/或微代碼,并且可指程序、例行程序、函數(shù)、類、和/或?qū)ο?。上面使用的術語“共享的”表示可利用單個(共享)處理器執(zhí)行來自多個模塊的部分或所有代碼。另外,可利用單個(共享)存儲器存儲來自多個模塊的部分或所有代碼。上面使用的術語“組”表示可利用一組處理器執(zhí)行來自單個模塊的部分或所有代碼。另外,可利用一組存儲器存儲來自單個模塊的部分或所有代碼??衫糜梢粋€或多個處理器所執(zhí)行的一個或多個計算機程序部分或完全地實施本文中所述的裝置和方法。計算機程序包含存儲在至少一個非暫時性有形計算機可讀介質(zhì)上的處理器可執(zhí)行指令。計算機程序也可包含并且/或者依賴于存儲的數(shù)據(jù)。非暫時性有形計算機可讀介質(zhì)的非限制性例子包括:非易失性存儲器、易失性存儲器、磁存儲器、和光存儲器。