本發(fā)明涉及固件升級技術(shù)領(lǐng)域,并且更具體地,本發(fā)明涉及一種用于固件升級的數(shù)據(jù)安全傳輸系統(tǒng)及方法。
背景技術(shù):
現(xiàn)如今汽車里一般都包含了很多的ECU(Electronic Control Unit,電子控制單元)。當(dāng)這些ECU出現(xiàn)故障或功能需要完善時,需要對這些ECU進行固件升級,且現(xiàn)在已可以使用FOTA(Firmware Over The Air,空中固件升級)完成遠程固件升級,即車輛無需開到4S店進行升級,通過FOTA即可以很方便的進行遠程固件升級。然而,空中固件升級雖然可以很方便地完成ECU的固件升級,但由于其使用的無線傳輸?shù)拈_放性,也容易導(dǎo)致固件升級的不安全性。因此有必要提高空中固件升級中數(shù)據(jù)傳輸?shù)陌踩浴?/p>
技術(shù)實現(xiàn)要素:
為了解決現(xiàn)有技術(shù)中的上述問題,即為了提高空中固件升級中數(shù)據(jù)傳輸?shù)陌踩?。本發(fā)明提出了一種用于固件升級的數(shù)據(jù)安全傳輸系統(tǒng),該系統(tǒng)包括:認證中心、固件分發(fā)單元、固件接收單元。
認證中心,配置為基于各單元的身份識別碼、公鑰,生成對應(yīng)單元的公鑰認證信息,并發(fā)送給對應(yīng)的單元;固件分發(fā)單元,配置為將所選定的固件升級信息作為傳送數(shù)據(jù)文件,基于固件接收單元的公鑰認證信息生成加密數(shù)據(jù)文件,并發(fā)送至對應(yīng)的固件接收單元;固件接收單元,配置為接收固件分發(fā)單元發(fā)送的加密數(shù)據(jù)文件并解密,獲取固件升級信息。
優(yōu)選地,該系統(tǒng)還包括固件供應(yīng)單元,該單元配置為將新的固件升級信息作為傳送數(shù)據(jù)文件,基于固件分發(fā)單元的公鑰認證信息生成加密數(shù)據(jù)文件,并發(fā)送至固件分發(fā)單元;固件分發(fā)單元,還配置為接收固件供應(yīng)單元發(fā)送的加密數(shù)據(jù)文件并解密,獲取固件升級信息。
優(yōu)選地,系統(tǒng)還包括固件存儲單元,該單元配置為存儲固件分發(fā)單元發(fā)送的固件升級信息,并發(fā)送固件分發(fā)單元所調(diào)取的固件升級信息;固件存儲單元的固件升級信息加密、解密配置方法與固件分發(fā)單元一致。
優(yōu)選地,固件接收單元包括生產(chǎn)車間接收單元、4S店接收單元以及車載接收單元;生產(chǎn)車間接收單元,配置為對在生產(chǎn)車間的車輛進行固件升級;4S店接收單元,配置為對來店車輛進行固件升級;車載接收單元,配置為對其所裝載的車輛進行固件升級。
優(yōu)選地,固件分發(fā)單元還配置為基于其他各單元的公鑰認證信息獲取對應(yīng)單元的公鑰,并生成固件分發(fā)單元與其他各單元之間的會話密鑰和信息認證碼,通過接收單元的公鑰加密后發(fā)送給對應(yīng)單元;系統(tǒng)中各單元之間的固件升級信息的加密傳輸包括:
發(fā)送方基于其自身與接收方之間的會話密鑰對固件升級信息加密發(fā)送,同時基于其自身與發(fā)送方之間的信息認證碼得到固件升級信息的認證碼信息,并將該認證碼信息通過接收方的公鑰加密后發(fā)送;接收方基于其自身的私鑰對加密數(shù)據(jù)文件進行解密獲取對應(yīng)的認證碼信息,并對認證碼信息進行認證,認證通過后基于其自身與發(fā)送方之間的會話密鑰對加密數(shù)據(jù)文件進行解密獲取固件升級信息。
相應(yīng)地,為解決現(xiàn)有技術(shù)中的上述問題,本發(fā)明還提出了一種用于固件升級的數(shù)據(jù)安全傳輸方法,該方法基于上述的用于固件升級的數(shù)據(jù)安全傳輸系統(tǒng),該方法包括:
通過認證中心基于其他各單元的身份識別碼、公鑰,生成對應(yīng)單元的公鑰認證信息,并發(fā)送給對應(yīng)的單元;通過固件分發(fā)單元將所選定的固件升級信息作為傳送數(shù)據(jù)文件,基于固件接收單元的公鑰認證信息生成加密數(shù)據(jù)文件,并發(fā)送至對應(yīng)的固件接收單元;通過固件接收單元接收固件分發(fā)單元發(fā)送的加密數(shù)據(jù)文件并解密,獲取固件升級信息。
優(yōu)選地,該方法還包括:通過固件供應(yīng)單元將新的固件升級信息作為傳送數(shù)據(jù)文件,基于固件分發(fā)單元的公鑰驗證信息生成加密數(shù)據(jù)文件,并發(fā)送至固件分發(fā)單元;通過固件分發(fā)單元接收固件供應(yīng)單元發(fā)送的加密數(shù)據(jù)文件并解密,獲取固件升級信息。
優(yōu)選地,該方法還包括:通過固件存儲單元存儲固件分發(fā)單元發(fā)送的固件升級信息,并發(fā)送固件分發(fā)單元所調(diào)取的固件升級信息;固件存儲單元的固件升級信息加密、解密配置方法與固件分發(fā)單元一致。
優(yōu)選地,該方法還包括:通過固件分發(fā)單元基于其他各單元的公鑰認證信息獲取其他各單元的公鑰,并生成固件分發(fā)單元與其他各單元之間的會話密鑰和信息認證碼,通過接收單元的公鑰加密后發(fā)送給對應(yīng)單元;各單元之間的固件升級信息的加密傳輸包括:
發(fā)送方基于其自身與接收方之間的會話密鑰對固件升級信息加密發(fā)送,同時基于其自身與發(fā)送方之間的信息認證碼得到固件升級信息的認證碼信息,并將該認證碼信息通過接收方的公鑰加密后發(fā)送;接收方基于其自身的私鑰對加密數(shù)據(jù)文件進行解密獲取對應(yīng)的認證碼信息,并對認證碼信息進行認證,認證通過后基于其自身與發(fā)送方之間的會話密鑰對加密數(shù)據(jù)文件進行解密獲取固件升級信息。
優(yōu)選地,固件供應(yīng)單元以下列方式將固件升級信息發(fā)送到固件分發(fā)單元:
X1=E[PRVFM,C(KMVFM,F)||IDV||IDECU||IDU||TS1]
E[KSVFM,F||E(PUFDM,X1)]
其中,E表示加密,PRVFM為固件供應(yīng)單元私鑰,KMVFM為固件供應(yīng)單元和固件分發(fā)單元之間的信息認證碼,F(xiàn)表示固件升級信息,C(KMVFM,F)表示對固件進行信息認證碼處理,IDV為固件供應(yīng)商ID,IDECU為升級中受影響元件的ID,IDU是待升級元件的ID,TS1是時間戳,KSVFM為固件供應(yīng)單元和固件分發(fā)單元之間的會話密鑰,PUFDM為固件分發(fā)單元公鑰。
優(yōu)選地,固件分發(fā)單元以下列方式將固件升級信息發(fā)送到固件存儲單元:
X2=E[PRFDM,C(KMFS,F)||Info||IDU||TS2];
E[KSFS,F||E(PUFS,X2)]
其中,PRFDM為固件分發(fā)單元私鑰,KMFS為固件分發(fā)單元和固件存儲單元之間的信息認證碼,Info代表附加信息,所述附件信息包括升級版本、待升級元件的ID、供應(yīng)商ID、供應(yīng)商名字以及升級類型,TS2為時間戳,KSFS為固件分發(fā)單元和固件存儲單元之間的會話密鑰,PUFS為固件存儲單元公鑰。
優(yōu)選地,固件分發(fā)單元以下列方式將固件升級信息發(fā)送到固件接收單元:
X3=E[PRFDM,C(KMM,F)||IDECU||IDU||TS3]
E[KSVFM,F||E(PUM,X3)]
其中,KMM為固件分發(fā)單元和固件接收單元之間的信息認證碼,TS3是時間戳,PUM為固件接收單元公鑰。
優(yōu)選地,固件存儲單元以下列方式將固件升級信息發(fā)送到固件分發(fā)單元:
X4=E[PRFS,C(KMFS,F)||IDECU||IDU||TS4]
E[KSFS,F||E(PUFDM,X4)]
其中,PRFS為固件存儲單元私鑰,KMFS為固件分發(fā)單元和固件存儲單元之間的信息認證碼,TS6是時間戳,KSFS為固件分發(fā)單元和固件存儲單元之間的會話密鑰,PUFDM為固件分發(fā)單元公鑰。
優(yōu)選地,該方法還包括:通過固件分發(fā)單元發(fā)現(xiàn)固件有漏洞或需要進行修復(fù)時,將固件的修復(fù)升級包發(fā)送到固件供應(yīng)單元。
優(yōu)選地,固件分發(fā)單元通過式(1)或式(2)的方式將固件的修復(fù)升級包發(fā)送給固件供應(yīng)單元:
X5=E[PUVFM,B||E(PRFDM,H(B)||IDV||IDECU||TS5] (1)
X6=E[PUVFM,I||E(PRFDM,H(I)||IDV||IDECU||TS6] (2)
其中,PUVFM為固件供應(yīng)單元公鑰,PRFDM為固件分發(fā)單元私鑰,IDV為供應(yīng)商ID,IDECU為有漏洞或需要修復(fù)的元件的ID,TS5和TS6為時間戳,B代表漏洞的詳細信息,I代表修復(fù)的詳細信息,H(B)代表B的散列值,H(I)代表I的散列值。
優(yōu)選地,該方法還包括:固件接收單元在固件升級完成后發(fā)送升級成功信息和完成升級的車輛的VIN碼列表到固件分發(fā)單元。
優(yōu)選地,固件接收單元以下列方式將升級成功信息發(fā)送到固件分發(fā)單元:
X7=E[PRM||IDECU||IDU||VIN||TS7]
E(PUFDM,X7)
其中,E表示加密,PRM為固件接收單元私鑰,IDECU為升級中受影響元件的ID,IDU是升級的元件的ID,VIN為完成固件升級的車輛的VIN碼,TS7為時間戳,PUFDM為固件分發(fā)單元公鑰。
優(yōu)選地,固件接收單元以下列方式將完成固件升級的車輛的VIN列表發(fā)送給固件分發(fā)單元:
X8=E[PRM,C(KMM,L)||UID||TS8]
E[KSM,L||E(PUFDM,X8)]
其中,E表示加密,L為完成固件升級的車輛的VIN列表,PRM為固件接收單元私鑰,KMM為固件接收單元和固件分發(fā)單元之間的信息認證碼,C(KMM,L)表示對L進行信息認證碼處理,UID為升級元件的ID,KSM是固件分發(fā)單元和固件接收單元之間的會話密鑰,TS8是時間戳,PUFDM為固件分發(fā)單元公鑰。
優(yōu)選地,各單元的公鑰認證信息如下:
E[PRCA,(PUX||IDX||T1||T2)];
其中PRCA為認證中心私鑰,PUX為對應(yīng)單元的公鑰,IDX為對應(yīng)單元的身份識別碼,T1是時間戳,T2是公鑰認證信息有效期。
本發(fā)明提出的用于固件升級的數(shù)據(jù)安全傳輸系統(tǒng)及方法,通過認證中心基于其他各單元的身份識別碼、公鑰,生成對應(yīng)單元的公鑰認證信息,并發(fā)送給對應(yīng)的單元;通過固件分發(fā)單元將所選定的固件升級信息作為傳送數(shù)據(jù)文件,基于固件接收單元的公鑰認證信息生成加密數(shù)據(jù)文件,并發(fā)送至對應(yīng)的固件接收單元;通過固件接收單元接收固件分發(fā)單元發(fā)送的加密數(shù)據(jù)文件并解密,獲取固件升級信息。從而充分保證了固件升級過程中數(shù)據(jù)的安全傳輸。
方案1、一種用于固件升級的數(shù)據(jù)安全傳輸系統(tǒng),其特征在于,所述系統(tǒng)包括認證中心、固件分發(fā)單元、固件接收單元;
所述認證中心,配置為基于各單元的身份識別碼、公鑰,生成對應(yīng)單元的公鑰認證信息,并發(fā)送給對應(yīng)的單元;
所述固件分發(fā)單元,配置為將所選定的固件升級信息作為傳送數(shù)據(jù)文件,基于固件接收單元的公鑰認證信息生成加密數(shù)據(jù)文件,并發(fā)送至對應(yīng)的固件接收單元;
所述固件接收單元,配置為接收固件分發(fā)單元發(fā)送的加密數(shù)據(jù)文件并解密,獲取固件升級信息。
方案2、根據(jù)方案1所述的傳輸系統(tǒng),其特征在于,該系統(tǒng)還包括固件供應(yīng)單元,該單元配置為將新的固件升級信息作為傳送數(shù)據(jù)文件,基于固件分發(fā)單元的公鑰認證信息生成加密數(shù)據(jù)文件,并發(fā)送至固件分發(fā)單元;
所述固件分發(fā)單元,還配置為接收固件供應(yīng)單元發(fā)送的加密數(shù)據(jù)文件并解密,獲取固件升級信息。
方案3、根據(jù)方案2所述的傳輸系統(tǒng),其特征在于,所述系統(tǒng)還包括固件存儲單元,該單元配置為存儲固件分發(fā)單元發(fā)送的固件升級信息,并發(fā)送固件分發(fā)單元所調(diào)取的固件升級信息;固件存儲單元的固件升級信息加密、解密配置方法與固件分發(fā)單元一致。
方案4、根據(jù)方案3所述的傳輸系統(tǒng),其特征在于,所述固件接收單元包括生產(chǎn)車間接收單元、4S店接收單元以及車載接收單元;
所述生產(chǎn)車間接收單元,配置為對在生產(chǎn)車間的車輛進行固件升級;
所述4S店接收單元,配置為對來店車輛進行固件升級;
所述車載接收單元,配置為對其所裝載的車輛進行固件升級。
方案5、根據(jù)方案1~4中任一項所述的傳輸系統(tǒng),其特征在于,所述固件分發(fā)單元還配置為基于其他各單元的公鑰認證信息獲取對應(yīng)單元的公鑰,并生成固件分發(fā)單元與其他各單元之間的會話密鑰和信息認證碼,通過接收單元的公鑰加密后發(fā)送給對應(yīng)單元;
所述系統(tǒng)中各單元之間的固件升級信息的加密傳輸包括:
發(fā)送方基于其自身與接收方之間的會話密鑰對固件升級信息加密發(fā)送,同時基于其自身與發(fā)送方之間的信息認證碼得到固件升級信息的認證碼信息,并將該認證碼信息通過接收方的公鑰加密后發(fā)送;
接收方基于其自身的私鑰對加密數(shù)據(jù)文件進行解密獲取對應(yīng)的認證碼信息,并對認證碼信息進行認證,認證通過后基于其自身與發(fā)送方之間的會話密鑰對加密數(shù)據(jù)文件進行解密獲取固件升級信息。
方案6、一種用于固件升級的數(shù)據(jù)安全傳輸方法,其特征在于,基于方案1~5任一項所述的用于固件升級的數(shù)據(jù)安全傳輸系統(tǒng),所述方法包括:
通過認證中心基于其他各單元的身份識別碼、公鑰,生成對應(yīng)單元的公鑰認證信息,并發(fā)送給對應(yīng)的單元;
通過固件分發(fā)單元將所選定的固件升級信息作為傳送數(shù)據(jù)文件,基于固件接收單元的公鑰認證信息生成加密數(shù)據(jù)文件,并發(fā)送至對應(yīng)的固件接收單元;
通過固件接收單元接收固件分發(fā)單元發(fā)送的加密數(shù)據(jù)文件并解密,獲取固件升級信息。
方案7、根據(jù)方案6所述的傳輸方法,其特征在于,所述方法還包括:
通過固件供應(yīng)單元將新的固件升級信息作為傳送數(shù)據(jù)文件,基于固件分發(fā)單元的公鑰驗證信息生成加密數(shù)據(jù)文件,并發(fā)送至固件分發(fā)單元;
通過固件分發(fā)單元接收固件供應(yīng)單元發(fā)送的加密數(shù)據(jù)文件并解密,獲取固件升級信息。
方案8、根據(jù)方案7所述的傳輸方法,其特征在于,所述方法還包括:
通過固件存儲單元存儲固件分發(fā)單元發(fā)送的固件升級信息,并發(fā)送固件分發(fā)單元所調(diào)取的固件升級信息;固件存儲單元的固件升級信息加密、解密配置方法與固件分發(fā)單元一致。
方案9、根據(jù)方案6~8中任一項所述的傳輸方法,其特征在于,所述方法還包括:
通過固件分發(fā)單元基于其他各單元的公鑰認證信息獲取其他各單元的公鑰,并生成固件分發(fā)單元與其他各單元之間的會話密鑰和信息認證碼,通過接收單元的公鑰加密后發(fā)送給對應(yīng)單元;
各單元之間的固件升級信息的加密傳輸包括:
發(fā)送方基于其自身與接收方之間的會話密鑰對固件升級信息加密發(fā)送,同時基于其自身與發(fā)送方之間的信息認證碼得到固件升級信息的認證碼信息,并將該認證碼信息通過接收方的公鑰加密后發(fā)送;
接收方基于其自身的私鑰對加密數(shù)據(jù)文件進行解密獲取對應(yīng)的認證碼信息,并對認證碼信息進行認證,認證通過后基于其自身與發(fā)送方之間的會話密鑰對加密數(shù)據(jù)文件進行解密獲取固件升級信息。
方案10、根據(jù)方案9所述的傳輸方法,其特征在于,固件供應(yīng)單元以下列方式將固件升級信息發(fā)送到固件分發(fā)單元:
X1=E[PRVFM,C(KMVFM,F)||IDV||IDECU||IDU||TS1]
E[KSVFM,F||E(PUFDM,X1)]
其中,E表示加密,PRVFM為固件供應(yīng)單元私鑰,KMVFM為固件供應(yīng)單元和固件分發(fā)單元之間的信息認證碼,F(xiàn)表示固件升級信息,C(KMVFM,F)表示對固件進行信息認證碼處理,IDV為固件供應(yīng)商ID,IDECU為升級中受影響元件的ID,IDU是待升級元件的ID,TS1是時間戳,KSVFM為固件供應(yīng)單元和固件分發(fā)單元之間的會話密鑰,PUFDM為固件分發(fā)單元公鑰。
方案11、根據(jù)方案10所述的傳輸方法,其特征在于,固件分發(fā)單元以下列方式將固件升級信息發(fā)送到固件存儲單元:
X2=E[PRFDM,C(KMFS,F)||Info||IDU||TS2];
E[KSFS,F||E(PUFS,X2)]
其中,PRFDM為固件分發(fā)單元私鑰,KMFS為固件分發(fā)單元和固件存儲單元之間的信息認證碼,Info代表附加信息,所述附件信息包括升級版本、待升級元件的ID、供應(yīng)商ID、供應(yīng)商名字以及升級類型,TS2為時間戳,KSFS為固件分發(fā)單元和固件存儲單元之間的會話密鑰,PUFS為固件存儲單元公鑰。
方案12、根據(jù)方案11所述的傳輸方法,其特征在于,固件分發(fā)單元以下列方式將固件升級信息發(fā)送到固件接收單元:
X3=E[PRFDM,C(KMM,F)||IDECU||IDU||TS3]
E[KSVFM,F||E(PUM,X3)]
其中,KMM為固件分發(fā)單元和固件接收單元之間的信息認證碼,TS3是時間戳,PUM為固件接收單元公鑰。
方案13、根據(jù)方案12所述的傳輸方法,其特征在于,固件存儲單元以下列方式將固件升級信息發(fā)送到固件分發(fā)單元:
X4=E[PRFS,C(KMFS,F)||IDECU||IDU||TS4]
E[KSFS,F||E(PUFDM,X4)]
其中,PRFS為固件存儲單元私鑰,KMFS為固件分發(fā)單元和固件存儲單元之間的信息認證碼,TS6是時間戳,KSFS為固件分發(fā)單元和固件存儲單元之間的會話密鑰,PUFDM為固件分發(fā)單元公鑰。
方案14、根據(jù)方案9所述的傳輸方法,其特征在于,所述方法還包括:通過固件分發(fā)單元發(fā)現(xiàn)固件有漏洞或需要進行修復(fù)時,將固件的修復(fù)升級包發(fā)送到固件供應(yīng)單元。
方案15、根據(jù)方案14所述的傳輸方法,其特征在于,固件分發(fā)單元通過式(1)或式(2)的方式將固件的修復(fù)升級包發(fā)送給固件供應(yīng)單元:
X5=E[PUVFM,B||E(PRFDM,H(B)||IDV||IDECU||TS5](1)
X6=E[PUVFM,I||E(PRFDM,H(I)||IDV||IDECU||TS6](2)
其中,PUVFM為固件供應(yīng)單元公鑰,PRFDM為固件分發(fā)單元私鑰,IDV為供應(yīng)商ID,IDECU為有漏洞或需要修復(fù)的元件的ID,TS5和TS6為時間戳,B代表漏洞的詳細信息,I代表修復(fù)的詳細信息,H(B)代表B的散列值,H(I)代表I的散列值。
方案16、根據(jù)方案9所述的傳輸方法,其特征在于,所述方法還包括:固件接收單元在固件升級完成后發(fā)送升級成功信息和完成升級的車輛的VIN碼列表到固件分發(fā)單元。
方案17、根據(jù)方案16所述的傳輸方法,其特征在于,固件接收單元以下列方式將升級成功信息發(fā)送到固件分發(fā)單元:
X7=E[PRM||IDECU||IDU||VIN||TS7]
E(PUFDM,X7)
其中,E表示加密,PRM為固件接收單元私鑰,IDECU為升級中受影響元件的ID,IDU是升級的元件的ID,VIN為完成固件升級的車輛的VIN碼,TS7為時間戳,PUFDM為固件分發(fā)單元公鑰。
方案18、根據(jù)方案16所述的傳輸方法,其特征在于,固件接收單元以下列方式將完成固件升級的車輛的VIN列表發(fā)送給固件分發(fā)單元:
X8=E[PRM,C(KMM,L)||UID||TS8]
E[KSM,L||E(PUFDM,X8)]
其中,E表示加密,L為完成固件升級的車輛的VIN列表,PRM為固件接收單元私鑰,KMM為固件接收單元和固件分發(fā)單元之間的信息認證碼,C(KMM,L)表示對L進行信息認證碼處理,UID為升級元件的ID,KSM是固件分發(fā)單元和固件接收單元之間的會話密鑰,TS8是時間戳,PUFDM為固件分發(fā)單元公鑰。
方案19、根據(jù)方案6所述的傳輸方法,其特征在于,各單元的公鑰認證信息如下:E[PRCA,(PUX||IDX||T1||T2)];
其中PRCA為認證中心私鑰,PUX為對應(yīng)單元的公鑰,IDX為對應(yīng)單元的身份識別碼,T1是時間戳,T2是公鑰認證信息有效期。
附圖說明
圖1為本發(fā)明第一實施例中的用于固件升級的數(shù)據(jù)安全傳輸系統(tǒng)的結(jié)構(gòu)示意圖;
圖2為本發(fā)明第二實施例中的用于固件升級的數(shù)據(jù)安全傳輸方法的流程示意圖。
具體實施方式
下面參照附圖來描述本發(fā)明的優(yōu)選實施方式。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解的是,這些實施方式僅僅用于解釋本發(fā)明的技術(shù)原理,并非旨在限制本發(fā)明的保護范圍。
第一實施例
請參閱圖1,圖1示出了本發(fā)明的第一實施例中的用于固件升級的數(shù)據(jù)安全傳輸系統(tǒng)的結(jié)構(gòu)示意圖,具體結(jié)構(gòu)包括:
認證中心101,配置為基于各單元的身份識別碼、公鑰,生成對應(yīng)單元的公鑰認證信息,并通過對應(yīng)單元的公鑰加密后發(fā)送給對應(yīng)的單元。經(jīng)過認證中心101的認證后,各單元間才可以基于公鑰認證信息進行安全的數(shù)據(jù)傳輸。具體地,在本實施例中,各單元將各自的身份識別碼以及公鑰通過認證中心101的公鑰加密后發(fā)送給認證中心101,認證中心101生成如下公鑰認證信息:
E[PRCA,(PUX||IDX||T1||T2)];
其中PRCA為認證中心101私鑰,PUX為對應(yīng)單元的公鑰,IDX為對應(yīng)單元的身份識別碼,T1是時間戳,T2是公鑰認證信息有效期。公鑰認證信息通過對應(yīng)單元的公鑰加密發(fā)送可以保證只有特定的單元才可以獲取相應(yīng)的公鑰認證信息。
固件分發(fā)單元102,配置為將所選定的固件升級信息作為傳送數(shù)據(jù)文件,基于固件接收單元的公鑰認證信息生成加密數(shù)據(jù)文件,并發(fā)送至對應(yīng)的固件接收單元。此外,固件分發(fā)單元102還配置為從固件供應(yīng)單元104處獲取新的固件升級信息。并且固件分發(fā)單元102在發(fā)現(xiàn)固件存在漏洞或需要進行修復(fù)時,會主動將固件升級修復(fù)包加密后發(fā)送給固件供應(yīng)單元104,固件供應(yīng)單元104在接收到固件升級修復(fù)包后會準備新的固件升級信息并加密后發(fā)送至固件分發(fā)單元102。現(xiàn)實情況中需要與多個固件供應(yīng)商打交道,圖1中僅用一個固件供應(yīng)單元以作示意。
此外,為了固件傳輸過程中的加密,固件分發(fā)單元102還配置為基于其他各單元的公鑰認證信息獲取對應(yīng)單元的公鑰,并生成固件分發(fā)單元102與其他各單元之間的會話密鑰和信息認證碼,通過接收單元的公鑰加密后發(fā)送給對應(yīng)單元。
固件接收單元103,配置為接收固件分發(fā)單元發(fā)送的加密數(shù)據(jù)文件并解密,獲取固件升級信息。并且在固件完成升級后,固件接收單元103會發(fā)送升級成功信息和完成升級的車輛的VIN碼列表到固件分發(fā)單元102。具體地,在本實施例中,固件接收單元103包括生產(chǎn)車間接收單元1032、4S店接收單元1031以及車載接收單元1033;生產(chǎn)車間接收單元1032,配置為對在生產(chǎn)車間的車輛進行固件升級;4S店接收單元1031,配置為對來店車輛進行固件升級;車載接收單元1033,配置為對其所裝載的車輛進行固件升級。
此外,為了完成固件的存儲,該系統(tǒng)還包括固件存儲單元105,該單元配置為存儲固件分發(fā)單元102發(fā)送的固件升級信息,并在接收到固件分發(fā)單元102的調(diào)取指令后,依據(jù)調(diào)取指令將固件發(fā)送至固件分發(fā)單元102。固件存儲單元105的固件升級信息加密、解密配置方法與固件分發(fā)單元102一致。
上述系統(tǒng)中各單元之間的固件升級信息的加密傳輸包括:發(fā)送方基于其自身與接收方之間的會話密鑰對固件升級信息加密發(fā)送,同時基于其自身與發(fā)送方之間的信息認證碼得到固件升級信息的認證碼信息,并將該認證碼信息通過接收方的公鑰加密后發(fā)送;接收方基于其自身的私鑰對加密數(shù)據(jù)文件進行解密獲取對應(yīng)的認證碼信息,并對認證碼信息進行認證,認證通過后基于其自身與發(fā)送方之間的會話密鑰對加密數(shù)據(jù)文件進行解密獲取固件升級信息。
本實施例中的用于固件升級的數(shù)據(jù)安全傳輸系統(tǒng),通過將認證中心配置為基于各單元的身份識別碼、公鑰,生成對應(yīng)單元的公鑰認證信息,并發(fā)送給對應(yīng)的單元;固件分發(fā)單元配置為將所選定的固件升級信息作為傳送數(shù)據(jù)文件,基于固件接收單元的公鑰認證信息生成加密數(shù)據(jù)文件,并發(fā)送至對應(yīng)的固件接收單元;固件接收單元配置為接收固件分發(fā)單元發(fā)送的加密數(shù)據(jù)文件并解密,獲取固件升級信息。從而充分保證了固件升級過程中數(shù)據(jù)的安全傳輸。
第二實施例
請參閱圖2,圖2示出了本發(fā)明的第二實施例中的用于固件升級的數(shù)據(jù)安全傳輸系統(tǒng)的流程示意圖,具體步驟如下:
S201,通過認證中心基于其他各單元的身份識別碼、公鑰,生成對應(yīng)單元的公鑰認證信息,并發(fā)送給對應(yīng)的單元。
具體地,在本實施例中,認證中心生成各單元公鑰認證信息的過程如下:
認證中心將自身的公鑰PUCA發(fā)送給各單元,各單元在接收到PUCA后將自身的公鑰PUX以及身份識別碼IDX通過PUCA加密后發(fā)送給認證中心,認證中心通過自身的私鑰PRCA對信息解密后獲取PUX及IDX后生成如下公鑰認證信息:
E[PRCA,(PUX||IDX||T1||T2)];
其中PUX為對應(yīng)單元的公鑰,IDX為對應(yīng)單元的身份識別碼,T1是時間戳,T2是公鑰認證信息有效期。時間戳可以防止重放和中繼攻擊。上述公鑰認證信息通過對應(yīng)單元的公鑰加密后發(fā)送給對應(yīng)單元,從而保證只有特定的單元才可以獲取對應(yīng)公鑰認證信息。
在各單元得到自身的公鑰認證信息后,固件分發(fā)單元通過將自身的公鑰認證信息與其他單元進行交換獲取其他各單元的公鑰,并生成固件分發(fā)單元與其他各單元之間的會話密鑰和信息認證碼,通過接收單元的公鑰加密后發(fā)送給對應(yīng)單元。會話密鑰主要用于在固件傳輸過程中對固件進行加密,因為固件一般為大文件,因此通過這種對稱加密的方式,可以在解密時加快解密速度。而信息認證碼則用于在固件傳輸過程中判斷傳輸源以及數(shù)據(jù)的完整性。
具體地,在本實施例中各單元的數(shù)據(jù)傳輸基于以下方式:
發(fā)送方基于其自身與接收方之間的會話密鑰對固件升級信息加密發(fā)送,同時基于其自身與發(fā)送方之間的信息認證碼得到固件升級信息的認證碼信息,并將該認證碼信息通過接收方的公鑰加密后發(fā)送;接收方基于其自身的私鑰對加密數(shù)據(jù)文件進行解密獲取對應(yīng)的認證碼信息,并對認證碼信息進行認證,認證通過后基于其自身與發(fā)送方之間的會話密鑰對加密數(shù)據(jù)文件進行解密獲取固件升級信息。
S202,將固件升級信息基于固件接收單元的公鑰認證信息生成加密數(shù)據(jù)文件,并發(fā)送至對應(yīng)的固件接收單元。
固件升級信息為用于固件升級的一系列數(shù)據(jù),該固件升級信息由固件供應(yīng)單元發(fā)送至固件分發(fā)單元,并由固件分發(fā)單元根據(jù)該固件升級信息的具體內(nèi)容發(fā)送至對應(yīng)的固件接收單元。此外,除了固件供應(yīng)單元主動向固件分發(fā)單元發(fā)送新的固件外,固件分發(fā)單元在發(fā)現(xiàn)固件存在漏洞或需要升級時,會將固件的升級修復(fù)包發(fā)送至固件供應(yīng)單元。
固件分發(fā)單元在獲取到新的固件時,除將固件發(fā)送至對應(yīng)的固件接收單元外,還會將固件發(fā)送至固件存儲單元進行存儲,并在需要固件時從固件存儲單元中調(diào)取對應(yīng)固件。
具體地,固件供應(yīng)單元以下列方式將固件升級信息發(fā)送到固件分發(fā)單元:
X1=E[PRVFM,C(KMVFM,F)||IDV||IDECU||IDU||TS1]
E[KSVFM,F||E(PUFDM,X1)]
其中,PRVFM為固件供應(yīng)單元私鑰,KMVFM為固件供應(yīng)單元和固件分發(fā)單元之間的信息認證碼,F(xiàn)表示固件升級信息,C(KMVFM,F)表示對固件進行信息認證碼處理,IDV為固件供應(yīng)商ID,IDECU為升級中受影響元件的ID,IDU是待升級元件的ID,TS1是時間戳,KSVFM為固件供應(yīng)單元和固件分發(fā)單元之間的會話密鑰,PUFDM為固件分發(fā)單元公鑰。
上述方式中同時用到了對稱和非對稱加密方法。對稱加密方法主要應(yīng)用于大文件,這里的對象是固件。非對稱加密方法主要應(yīng)用密鑰的傳遞和身份的認證。固件供應(yīng)單元使用了PRVFM對MAC進行了簽名。X1使用了PUFDM進行加密,保證了只有固件分發(fā)單元使用其私鑰才能將其解開。
類似地,固件分發(fā)單元以下列方式將固件升級信息發(fā)送到固件存儲單元:
X2=E[PRFDM,C(KMFS,F)||Info||IDU||TS2];
E[KSFS,F||E(PUFS,X2)]
其中,PRFDM為固件分發(fā)單元私鑰,KMFS為固件分發(fā)單元和固件存儲單元之間的信息認證碼,Info代表附加信息,所述附件信息包括升級版本、待升級元件的ID、供應(yīng)商ID、供應(yīng)商名字以及升級類型,TS2為時間戳,KSFS為固件分發(fā)單元和固件存儲單元之間的會話密鑰,PUFS為固件存儲單元公鑰。
固件分發(fā)單元以下列方式將固件升級信息發(fā)送到固件接收單元:
X3=E[PRFDM,C(KMM,F)||IDECU||IDU||TS3]
E[KSVFM,F||E(PUM,X3)]
其中,KMM為固件分發(fā)單元和固件接收單元之間的信息認證碼,TS3是時間戳,PUM為固件接收單元公鑰。
固件存儲單元以下列方式將固件升級信息發(fā)送到固件分發(fā)單元:
X4=E[PRFS,C(KMFS,F)||IDECU||IDU||TS4]
E[KSFS,F||E(PUFDM,X4)]
其中,PRFS為固件存儲單元私鑰,KMFS為固件分發(fā)單元和固件存儲單元之間的信息認證碼,TS6是時間戳,KSFS為固件分發(fā)單元和固件存儲單元之間的會話密鑰,PUFDM為固件分發(fā)單元公鑰。
此外,固件分發(fā)單元通過式(1)或式(2)的方式將固件的修復(fù)升級包發(fā)送給固件供應(yīng)單元:
X5=E[PUVFM,B||E(PRFDM,H(B)||IDV||IDECU||TS5] (1)
X6=E[PUVFM,I||E(PRFDM,H(I)||IDV||IDECU||TS6] (2)
其中,PUVFM為固件供應(yīng)單元公鑰,PRFDM為固件分發(fā)單元私鑰,IDV為供應(yīng)商ID,IDECU為有漏洞或需要修復(fù)的元件的ID,TS5和TS6為時間戳,B代表漏洞的詳細信息,I代表修復(fù)的詳細信息,H(B)代表B的散列值,H(I)代表I的散列值。
由于消息X5和X6并不大,因此上述方式中只采用了非對稱加密。固件供應(yīng)單元接收到消息后進行散列值比較,如果驗證通過,則升級流程開始。
S203,通過固件接收單元接收固件分發(fā)單元發(fā)送的加密數(shù)據(jù)文件并解密,獲取固件升級信息。
固件接收單元在獲取到固件升級信息后,可以依據(jù)固件升級信息對相應(yīng)的固件進行升級,并在固件升級完成后發(fā)送升級成功信息和完成升級的車輛的VIN碼列表到固件分發(fā)單元。
具體地,本實施例中,固件接收單元以下列方式將升級成功信息發(fā)送到固件分發(fā)單元:
X7=E[PRM||IDECU||IDU||VIN||TS7]
E(PUFDM,X7)
其中,E表示加密,PRM為固件接收單元私鑰,IDECU為升級中受影響元件的ID,IDU是升級的元件的ID,VIN為完成固件升級的車輛的VIN碼,TS7為時間戳,PUFDM為固件分發(fā)單元公鑰。
以下列方式將完成固件升級的車輛的VIN列表發(fā)送給固件分發(fā)單元:
X8=E[PRM,C(KMM,L)||UID||TS8]
E[KSM,L||E(PUFDM,X8)]
其中,E表示加密,L為完成固件升級的車輛的VIN列表,PRM為固件接收單元私鑰,KMM為固件接收單元和固件分發(fā)單元之間的信息認證碼,C(KMM,L)表示對L進行信息認證碼處理,UID為升級元件的ID,KSM是固件分發(fā)單元和固件接收單元之間的會話密鑰,TS8是時間戳,PUFDM為固件分發(fā)單元公鑰。
此外,本實施例中的固件接收單元包括生產(chǎn)車間接收單元、4S店接收單元以及車載接收單元。生產(chǎn)車間接收單元,配置為對在生產(chǎn)車間的車輛進行固件升級;4S店接收單元,配置為對來店車輛進行固件升級;車載接收單元,配置為對其所裝載的車輛進行固件升級。
本實施例中的用于固件升級的數(shù)據(jù)安全傳輸方法,通過認證中心基于其他各單元的身份識別碼、公鑰,生成對應(yīng)單元的公鑰認證信息,并發(fā)送給對應(yīng)的單元;通過固件分發(fā)單元將所選定的固件升級信息作為傳送數(shù)據(jù)文件,基于固件接收單元的公鑰認證信息生成加密數(shù)據(jù)文件,并發(fā)送至對應(yīng)的固件接收單元;通過固件接收單元接收固件分發(fā)單元發(fā)送的加密數(shù)據(jù)文件并解密,獲取固件升級信息。從而充分保證了固件升級過程中數(shù)據(jù)的安全傳輸。
至此,已經(jīng)結(jié)合附圖所示的優(yōu)選實施方式描述了本發(fā)明的技術(shù)方案,但是,本領(lǐng)域技術(shù)人員容易理解的是,本發(fā)明的保護范圍顯然不局限于這些具體實施方式。在不偏離本發(fā)明的原理的前提下,本領(lǐng)域技術(shù)人員可以對相關(guān)技術(shù)特征作出等同的更改或替換,這些更改或替換之后的技術(shù)方案都將落入本發(fā)明的保護范圍之內(nèi)。