本發(fā)明涉及信息安全,具體涉及一種可執(zhí)行文件的加密、解密方法、刷寫設備及控制器。
背景技術:
1、目前,新能源汽車的電氣特性越來越復雜,相應各個功能模塊的安全要求越來越高。在域控制器開發(fā)的過程中,難免遇到控制器程序需要進行更新,需將編譯后的可執(zhí)行文件刷寫進控制器中進行域控功能的實現(xiàn)。
2、相關技術一般是通過手動添加校驗信息以及更改校驗數(shù)據(jù)至源代碼,并進行加密,然后再將加密之后的源代碼文件編譯成可執(zhí)行文件,以此來提高源代碼的安全性。
3、然而相關技術僅通過對源代碼進行加密,然后生成可執(zhí)行文件的方式,可執(zhí)行文件中的數(shù)據(jù)很容易被逆向工程反編譯和分析出來,造成數(shù)據(jù)的泄露及破壞,安全性較好,且通過手動添加校驗信息以及更改校驗數(shù)據(jù),存在效率低等問題。
技術實現(xiàn)思路
1、本發(fā)明的目的之一在于提供一種可執(zhí)行文件的加密方法,以解決現(xiàn)有技術可執(zhí)行文件中的數(shù)據(jù)容易被逆向工程反編譯和分析出來,安全性差,且通過手動添加校驗信息以及更改校驗數(shù)據(jù),存在效率低的問題;目的之二在于提供一種可執(zhí)行文件的解密方法;目的之三在于提供一種刷寫設備;目的之四在于提供一種控制器。
2、為了實現(xiàn)上述目的,本發(fā)明采用的技術方案如下:
3、一種可執(zhí)行文件的加密方法,所述方法應用于刷寫設備,其中,所述方法包括以下步驟:獲取待加密的可執(zhí)行文件;提取所述可執(zhí)行文件中需要校驗的地址信息和所述地址信息對應的校驗數(shù)據(jù),加密所述地址信息和所述校驗數(shù)據(jù)得到校驗信息;將所述校驗信息填充至所述可執(zhí)行文件的預設位置得到攜帶有校驗信息的新可執(zhí)行文件。
4、根據(jù)上述技術手段,本申請實施例通過對可執(zhí)行文件中需要校驗的地址信息和地址信息對應的校驗數(shù)據(jù)進行加密,安全性高,加密后生成與控制器程序內對應的校驗信息,將校驗信息填充至可執(zhí)行文件中得到攜帶有校驗信息的新可執(zhí)行文件,保證新的可執(zhí)行文件能夠通過控制器程序的安全檢查,提高了加密效率。
5、進一步,所述加密所述地址信息和所述校驗數(shù)據(jù)得到校驗信息,包括:對所述地址信息進行一次加密得到加密地址信息;對所述校驗數(shù)據(jù)進行二次加密得到校驗值;根據(jù)所述加密地址信息、所述校驗值生成所述校驗信息。
6、根據(jù)上述技術手段,本申請實施例可以加密地址信息和校驗數(shù)據(jù),安全性高,以防可執(zhí)行文件被篡改和刪除內容。
7、進一步,所述對所述地址信息進行一次加密得到加密信息,包括:對所述地址信息進行分組加密得到所述加密地址信息。
8、根據(jù)上述技術手段,本申請實施例可以對地址信息進行分組加密,安全性高。
9、進一步,所述對所述校驗數(shù)據(jù)進行二次加密得到校驗值,包括:對所述校驗數(shù)據(jù)進行哈希加密得到消息摘要;對所述消息摘要進行分組加密得到所述校驗值。
10、根據(jù)上述技術手段,本申請實施例可以對校驗數(shù)據(jù)進行二次加密得到校驗值,用于和控制器程序對比校驗。
11、進一步,對所述校驗數(shù)據(jù)進行哈希加密得到消息摘要,包括:過濾所述校驗數(shù)據(jù)得到數(shù)據(jù)行;將所述數(shù)據(jù)行存儲于緩存中的多個分區(qū);利用哈希算法加密每個分區(qū)的數(shù)據(jù)得到每個分區(qū)的消息摘要,整合所述每個分區(qū)的消息摘要得到最終摘要信息。
12、進一步,所述將所述校驗信息填充至所述可執(zhí)行文件的預設位置得到攜帶有校驗信息的新可執(zhí)行文件,包括:在所述預設位置的第一行填充所述加密地址信息;在所述第一行之后依次填充所述校驗值和所述可執(zhí)行文件的校驗和;在填充完成后生成攜帶有校驗信息的新可執(zhí)行文件。
13、根據(jù)上述技術手段,本申請實施例可以將校驗數(shù)據(jù)填充至可執(zhí)行文件中,使新的可執(zhí)行文件能夠通過控制器內部的安全校驗。
14、進一步,在對所述校驗數(shù)據(jù)進行二次加密得到校驗值之后,還包括:利用公鑰對所述校驗值進行非對稱加密得到加密后的校驗值,其中,所述控制器利用私鑰解密所述加密后的校驗值。
15、根據(jù)上述技術手段,本申請實施例可以通過非對稱加密算法對校驗值做公鑰加密后存儲,使得在控制器內部使用私鑰進行解密,以便確認刷寫的可執(zhí)行文件的身份。
16、一種可執(zhí)行文件的解密方法,所述方法應用于控制器,其中,所述方法包括以下步驟:獲取刷寫設備寫入的攜帶有校驗信息的新可執(zhí)行文件,其中,所述校驗信息包括校驗值、地址加密信息和校驗和;解密所述地址加密信息和校驗值,并根據(jù)所述校驗和生成需要校驗的地址信息,并提取所述新可執(zhí)行文件中所述地址信息對應的校驗數(shù)據(jù);加密所述校驗數(shù)據(jù)得到加密值,若所述加密值和所述解密后的校驗值一致,則判斷所述新可執(zhí)行文件校驗通過。
17、一種刷寫設備,包括:存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的計算機程序,所述處理器執(zhí)行所述程序,以實現(xiàn)如上述實施例任一項所述的可執(zhí)行文件的加密方法。
18、一種控制器,包括:存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的計算機程序,所述處理器執(zhí)行所述程序,以實現(xiàn)如上述實施例所述的可執(zhí)行文件的解密方法。
19、本發(fā)明的有益效果:
20、(1)本申請實施例通過對可執(zhí)行文件中需要校驗的地址信息和地址信息對應的校驗數(shù)據(jù)進行加密,安全性高,加密后生成與控制器程序內對應的校驗信息,將校驗信息填充至可執(zhí)行文件中得到攜帶有校驗信息的新可執(zhí)行文件,保證新的可執(zhí)行文件能夠通過控制器程序的安全檢查,提高了加密效率。
21、(2)本申請實施例可以加密地址信息和校驗數(shù)據(jù),安全性高,以防可執(zhí)行文件被篡改和刪除內容。
22、(3)本申請實施例可以對地址信息進行分組加密,安全性高。
23、(4)本申請實施例可以對校驗數(shù)據(jù)進行二次加密得到校驗值,用于和控制器程序對比校驗。
24、(5)本申請實施例可以將校驗數(shù)據(jù)填充至可執(zhí)行文件中,使新的可執(zhí)行文件能夠通過控制器內部的安全校驗。
25、(6)本申請實施例可以通過非對稱加密算法對校驗值做公鑰加密后存儲,使得在控制器內部使用私鑰進行解密,以便確認刷寫的可執(zhí)行文件的身份。
1.一種可執(zhí)行文件的加密方法,其特征在于,所述方法應用于刷寫設備,其中,所述方法包括以下步驟:
2.根據(jù)權利要求1所述的可執(zhí)行文件的加密方法,其特征在于,所述加密所述地址信息和所述校驗數(shù)據(jù)得到校驗信息,包括:
3.根據(jù)權利要求2所述的可執(zhí)行文件的加密方法,其特征在于,所述對所述地址信息進行一次加密得到加密信息,包括:
4.根據(jù)權利要求2所述的可執(zhí)行文件的加密方法,其特征在于,所述對所述校驗數(shù)據(jù)進行二次加密得到校驗值,包括:
5.根據(jù)權利要求4所述的可執(zhí)行文件的加密方法,其特征在于,對所述校驗數(shù)據(jù)進行哈希加密得到消息摘要,包括:
6.根據(jù)權利要求1所述的可執(zhí)行文件的加密方法,其特征在于,所述將所述校驗信息填充至所述可執(zhí)行文件的預設位置得到攜帶有校驗信息的新可執(zhí)行文件,包括:
7.根據(jù)權利要求2所述的可執(zhí)行文件的加密方法,其特征在于,在對所述校驗數(shù)據(jù)進行二次加密得到校驗值之后,還包括:
8.一種可執(zhí)行文件的解密方法,其特征在于,所述方法應用于控制器,其中,所述方法包括以下步驟:
9.一種刷寫設備,其特征在于,包括:存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的計算機程序,所述處理器執(zhí)行所述程序,以實現(xiàn)如權利要求1-7任一項所述的可執(zhí)行文件的加密方法。
10.一種控制器,其特征在于,包括:存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的計算機程序,所述處理器執(zhí)行所述程序,以實現(xiàn)如權利要求8所述的可執(zhí)行文件的解密方法。