密鑰燒錄方法、裝置、電子設(shè)備及可讀存儲介質(zhì)與流程
1.本公開涉及密鑰安全存儲技術(shù)領(lǐng)域,具體涉及一種密鑰燒錄方法、裝置、電子設(shè)備及可讀存儲介質(zhì)。
背景技術(shù):
2.隨著通信技術(shù)發(fā)展,用戶可以利用計算機(jī)與其他設(shè)備、服務(wù)器等進(jìn)行數(shù)據(jù)傳輸。為了防止數(shù)據(jù)內(nèi)容泄露,需要使用密鑰對待傳輸數(shù)據(jù)進(jìn)行加密,從而使用加密后的數(shù)據(jù)進(jìn)行數(shù)據(jù)傳輸。在數(shù)據(jù)傳輸過程中,即使攻擊者可以獲得完整的數(shù)據(jù),只要攻擊者沒有密鑰,就無法解密密文,因此,密鑰的安全存儲尤為重要。
3.相關(guān)技術(shù)中,通常使用編譯器對包括密鑰值的程序源代碼進(jìn)行編譯得到二進(jìn)制機(jī)器碼,從而將源代碼中的密鑰值嵌入到編譯生成的二進(jìn)制機(jī)器碼中。
4.然而,采用上述嵌入密鑰值的方案量產(chǎn)燒錄密鑰時,通常只能使用已編譯好的程序固件,而對于每臺設(shè)備不同的密鑰需求,需要工作人員使用每臺設(shè)備的程序源代碼當(dāng)場編譯以得到程序固件,并將程序固件燒錄于對應(yīng)的設(shè)備,而通常工作人員重新編譯程序源代碼存在風(fēng)險,導(dǎo)致程序源代碼泄露的幾率較高。
技術(shù)實(shí)現(xiàn)要素:
5.為了解決相關(guān)技術(shù)中的問題,本公開實(shí)施例提供一種密鑰燒錄方法、裝置、電子設(shè)備及可讀存儲介質(zhì)。
6.第一方面,本公開實(shí)施例中提供了一種密鑰燒錄方法。
7.具體的,所述密鑰燒錄方法包括:獲取嵌入有預(yù)設(shè)密鑰值的第一機(jī)器碼;對所述第一機(jī)器碼進(jìn)行解析,得到多條數(shù)據(jù)傳送指令,所述多條數(shù)據(jù)傳送指令中每條數(shù)據(jù)傳送指令包括所述預(yù)設(shè)密鑰值中的至少部分預(yù)設(shè)密鑰值;將所述多條數(shù)據(jù)傳送指令中每條數(shù)據(jù)傳送指令中的所述至少部分預(yù)設(shè)密鑰值,替換為目標(biāo)密鑰值中對應(yīng)位置的密鑰值,得到第二機(jī)器碼;將所述第二機(jī)器碼燒錄至僅可執(zhí)行存儲器。
8.本公開實(shí)施例的一種實(shí)現(xiàn)方式中,所述第一機(jī)器碼包括第一定位標(biāo)記和第二定位標(biāo)記,所述第一定位標(biāo)記用于指示所述第一機(jī)器碼中包括預(yù)設(shè)密鑰值的第一條數(shù)據(jù)傳送指令,所述第二定位標(biāo)記用于指示所述第一機(jī)器碼中包括預(yù)設(shè)密鑰值的最后一條數(shù)據(jù)傳送指令的結(jié)束位置。
9.本公開實(shí)施例的一種實(shí)現(xiàn)方式中,所述對所述第一機(jī)器碼進(jìn)行解析,得到多條數(shù)據(jù)傳送指令,包括:獲取所述第一機(jī)器碼中位于所述第一定位標(biāo)記和所述第二定位標(biāo)記之間的多條機(jī)器碼;對所述第一機(jī)器碼中位于所述第一定位標(biāo)記和所述第二定位標(biāo)記之間的多條機(jī)
器碼進(jìn)行逐條解析,得到多條數(shù)據(jù)解析指令;將所述多條數(shù)據(jù)解析指令中均包括至少部分預(yù)設(shè)密鑰值的數(shù)據(jù)解析指令,確定為所述多條數(shù)據(jù)傳送指令。
10.本公開實(shí)施例的一種實(shí)現(xiàn)方式中,所述將所述第二機(jī)器碼燒錄至僅可執(zhí)行存儲器之后,所述方法還包括:執(zhí)行所述僅可執(zhí)行存儲器中的所述第二機(jī)器碼,以獲取所述目標(biāo)密鑰值,并將所述目標(biāo)密鑰值寫入緩沖區(qū)。
11.本公開實(shí)施例的一種實(shí)現(xiàn)方式中,所述第二機(jī)器碼包括第三定位標(biāo)記和第四定位標(biāo)記,所述第三定位標(biāo)記用于指示所述第二機(jī)器碼中包括目標(biāo)密鑰值的第一條數(shù)據(jù)傳送指令的起始位置,所述第四定位標(biāo)記用于指示所述第二機(jī)器碼中包括目標(biāo)密鑰值的最后一條數(shù)據(jù)傳送指令的結(jié)束位置。
12.本公開實(shí)施例的一種實(shí)現(xiàn)方式中,所述第一定位標(biāo)記、所述第二定位標(biāo)記、所述第三定位標(biāo)記和所述第四定位標(biāo)記分別為無用的、不產(chǎn)生任何副作用的指令。
13.本公開實(shí)施例的一種實(shí)現(xiàn)方式中,所述第二機(jī)器碼包括第三定位標(biāo)記和第四定位標(biāo)記;所述執(zhí)行所述僅可執(zhí)行存儲器中的所述第二機(jī)器碼,以獲取所述目標(biāo)密鑰值,并將所述目標(biāo)密鑰值寫入緩沖區(qū),包括:獲取所述第二機(jī)器碼中位于所述第三定位標(biāo)記和所述第四定位標(biāo)記之間的多條目標(biāo)機(jī)器碼;依次執(zhí)行所述多條目標(biāo)機(jī)器碼中的每條目標(biāo)機(jī)器碼,以獲取每條所述目標(biāo)機(jī)器碼的數(shù)據(jù)傳送指令中的目標(biāo)密鑰值;將每條所述目標(biāo)機(jī)器碼的數(shù)據(jù)傳送指令中的目標(biāo)密鑰值依次寫入所述緩沖區(qū)。
14.本公開實(shí)施例的一種實(shí)現(xiàn)方式中,所述第二機(jī)器碼還包括多條調(diào)用指令機(jī)器碼,一條調(diào)用指令機(jī)器碼與所述多條目標(biāo)機(jī)器碼中的一條目標(biāo)機(jī)器碼對應(yīng),每條調(diào)用指令機(jī)器碼為用于調(diào)用一條目標(biāo)機(jī)器碼的調(diào)用指令的機(jī)器碼。
15.本公開實(shí)施例的一種實(shí)現(xiàn)方式中,所述依次執(zhí)行所述多條目標(biāo)機(jī)器碼中的每條目標(biāo)機(jī)器碼,以獲取每條所述目標(biāo)機(jī)器碼的數(shù)據(jù)傳送指令中的部分目標(biāo)密鑰值之前,所述方法還包括:執(zhí)行所述多條調(diào)用指令機(jī)器碼中的第i條調(diào)用指令機(jī)器碼,以判斷所述調(diào)用指令的地址合法性;所述依次執(zhí)行所述多條目標(biāo)機(jī)器碼中的每條目標(biāo)機(jī)器碼,以獲取每條所述目標(biāo)機(jī)器碼的數(shù)據(jù)傳送指令中的部分目標(biāo)密鑰值,包括:在確定所述調(diào)用指令的地址合法的情況下,執(zhí)行與所述第i條調(diào)用指令機(jī)器碼對應(yīng)的所述多條目標(biāo)機(jī)器碼中的第i條目標(biāo)機(jī)器碼,以獲取所述第i條目標(biāo)機(jī)器碼的數(shù)據(jù)傳送指令中的目標(biāo)密鑰值。
16.本公開實(shí)施例的一種實(shí)現(xiàn)方式中,所述將所述目標(biāo)密鑰值寫入緩沖區(qū)之前,所述方法還包括:在內(nèi)存中設(shè)置所述緩沖區(qū),所述緩沖區(qū)的大小大于或等于所述目標(biāo)密鑰值的長度;
所述將所述目標(biāo)密鑰值寫入緩沖區(qū),包括:獲取第一參數(shù)和第二參數(shù),所述第一參數(shù)用于指示所述緩沖區(qū)的起始位置地址,所述第二參數(shù)用于指示所述緩沖區(qū)的大小;根據(jù)所述第一參數(shù)和所述第二參數(shù),將所述目標(biāo)密鑰值對應(yīng)寫入所述緩沖區(qū)。
17.本公開實(shí)施例的一種實(shí)現(xiàn)方式中,所述將所述目標(biāo)密鑰值寫入緩沖區(qū)之后,所述方法還包括:清空所述緩沖區(qū)中的所有數(shù)據(jù)。
18.本公開實(shí)施例的一種實(shí)現(xiàn)方式中,所述執(zhí)行所述僅可執(zhí)行存儲器中的所述第二機(jī)器碼,以獲取所述目標(biāo)密鑰值之后,所述方法還包括:根據(jù)所述目標(biāo)密鑰值,執(zhí)行目標(biāo)操作;其中,所述執(zhí)行目標(biāo)操作包括以下至少一項:分散密鑰、加密數(shù)據(jù)、解密數(shù)據(jù)。
19.第二方面,本公開實(shí)施例中提供了一種密鑰燒錄裝置。
20.具體的,所述密鑰燒錄裝置包括:第一獲取模塊,被配置為獲取嵌入有預(yù)設(shè)密鑰值的第一機(jī)器碼;第二獲取模塊,被配置為對所述第一機(jī)器碼進(jìn)行解析,得到多條數(shù)據(jù)傳送指令,所述多條數(shù)據(jù)傳送指令中每條數(shù)據(jù)傳送指令包括所述預(yù)設(shè)密鑰值中的至少部分預(yù)設(shè)密鑰值;替換模塊,被配置為將所述多條數(shù)據(jù)傳送指令中每條數(shù)據(jù)傳送指令中的所述至少部分預(yù)設(shè)密鑰值,替換為目標(biāo)密鑰值中對應(yīng)位置的密鑰值,得到第二機(jī)器碼;第一處理模塊,被配置為將所述第二機(jī)器碼燒錄至僅可執(zhí)行存儲器。
21.本公開實(shí)施例的一種實(shí)現(xiàn)方式中,所述第一機(jī)器碼包括第一定位標(biāo)記和第二定位標(biāo)記,所述第一定位標(biāo)記用于指示所述第一機(jī)器碼中包括預(yù)設(shè)密鑰值的第一條數(shù)據(jù)傳送指令,所述第二定位標(biāo)記用于指示所述第一機(jī)器碼中包括預(yù)設(shè)密鑰值的最后一條數(shù)據(jù)傳送指令的結(jié)束位置。
22.本公開實(shí)施例的一種實(shí)現(xiàn)方式中,所述第二獲取模塊被配置為:獲取所述第一機(jī)器碼中位于所述第一定位標(biāo)記和所述第二定位標(biāo)記之間的多條機(jī)器碼;對所述第一機(jī)器碼中位于所述第一定位標(biāo)記和所述第二定位標(biāo)記之間的多條機(jī)器碼進(jìn)行逐條解析,得到多條數(shù)據(jù)解析指令;將所述多條數(shù)據(jù)解析指令中均包括至少部分預(yù)設(shè)密鑰值的數(shù)據(jù)解析指令,確定為所述多條數(shù)據(jù)傳送指令。
23.本公開實(shí)施例的一種實(shí)現(xiàn)方式中,所述密鑰燒錄裝置還包括:第一執(zhí)行模塊,被配置為執(zhí)行所述僅可執(zhí)行存儲器中的所述第二機(jī)器碼,以獲取所述目標(biāo)密鑰值;第二處理模塊,被配置為將所述目標(biāo)密鑰值寫入緩沖區(qū)。
24.本公開實(shí)施例的一種實(shí)現(xiàn)方式中,所述第二機(jī)器碼包括第三定位標(biāo)記和第四定位標(biāo)記,所述第三定位標(biāo)記用于指示所述第二機(jī)器碼中包括目標(biāo)密鑰值的第一條數(shù)據(jù)傳送指令的起始位置,所述第四定位標(biāo)記用于指示所述第二機(jī)器碼中包括目標(biāo)密鑰值的最后一條數(shù)據(jù)傳送指令的結(jié)束位置。
25.本公開實(shí)施例的一種實(shí)現(xiàn)方式中,所述第一定位標(biāo)記、所述第二定位標(biāo)記、所述第
三定位標(biāo)記和所述第四定位標(biāo)記分別為無用的、不產(chǎn)生任何副作用的指令。
26.本公開實(shí)施例的一種實(shí)現(xiàn)方式中,所述第二機(jī)器碼包括第三定位標(biāo)記和第四定位標(biāo)記;所述第一執(zhí)行模塊,被配置為:獲取所述第二機(jī)器碼中位于所述第三定位標(biāo)記和所述第四定位標(biāo)記之間的多條目標(biāo)機(jī)器碼;依次執(zhí)行所述多條目標(biāo)機(jī)器碼中的每條目標(biāo)機(jī)器碼,以獲取每條所述目標(biāo)機(jī)器碼的數(shù)據(jù)傳送指令中的目標(biāo)密鑰值;所述第二處理模塊,被配置為:將每條所述目標(biāo)機(jī)器碼的數(shù)據(jù)傳送指令中的目標(biāo)密鑰值依次寫入所述緩沖區(qū)。
27.本公開實(shí)施例的一種實(shí)現(xiàn)方式中,所述第二機(jī)器碼還包括多條調(diào)用指令機(jī)器碼,一條調(diào)用指令機(jī)器碼與所述多條目標(biāo)機(jī)器碼中的一條目標(biāo)機(jī)器碼對應(yīng),每條調(diào)用指令機(jī)器碼為用于調(diào)用一條目標(biāo)機(jī)器碼的調(diào)用指令的機(jī)器碼。
28.本公開實(shí)施例的一種實(shí)現(xiàn)方式中,所述密鑰燒錄裝置還包括:第二執(zhí)行模塊,被配置為執(zhí)行所述多條調(diào)用指令機(jī)器碼中的第i條調(diào)用指令機(jī)器碼,以判斷所述調(diào)用指令的地址合法性;所述第一執(zhí)行模塊,被配置為:在確定所述調(diào)用指令的地址合法的情況下,執(zhí)行與所述第i條調(diào)用指令機(jī)器碼對應(yīng)的所述多條目標(biāo)機(jī)器碼中的第i條目標(biāo)機(jī)器碼,以獲取所述第i條目標(biāo)機(jī)器碼的數(shù)據(jù)傳送指令中的目標(biāo)密鑰值。
29.本公開實(shí)施例的一種實(shí)現(xiàn)方式中,所述密鑰燒錄裝置還包括:第三處理模塊,被配置為在內(nèi)存中設(shè)置所述緩沖區(qū),所述緩沖區(qū)的大小大于或等于所述目標(biāo)密鑰值的長度;所述第二處理模塊,具體被配置為:獲取第一參數(shù)和第二參數(shù),所述第一參數(shù)用于指示所述緩沖區(qū)的起始位置地址,所述第二參數(shù)用于指示所述緩沖區(qū)的大小;根據(jù)所述第一參數(shù)和所述第二參數(shù),將所述目標(biāo)密鑰值對應(yīng)寫入所述緩沖區(qū)。
30.本公開實(shí)施例的一種實(shí)現(xiàn)方式中,所述密鑰燒錄裝置還包括:第四處理模塊,被配置為清空所述緩沖區(qū)中的所有數(shù)據(jù)。
31.本公開實(shí)施例的一種實(shí)現(xiàn)方式中,所述密鑰燒錄裝置還包括:第三執(zhí)行模塊,被配置為根據(jù)所述目標(biāo)密鑰值,執(zhí)行目標(biāo)操作;其中,所述執(zhí)行目標(biāo)操作包括以下至少一項:分散密鑰、加密數(shù)據(jù)、解密數(shù)據(jù)。
32.第三方面,本公開實(shí)施例提供了一種電子設(shè)備,包括存儲器和處理器,其中,所述存儲器用于存儲一條或多條計算機(jī)指令,其中,所述一條或多條計算機(jī)指令被所述處理器執(zhí)行以實(shí)現(xiàn)如第一方面及所述第一方面的實(shí)現(xiàn)方式中任一項所述的方法。
33.第四方面,本公開實(shí)施例中提供了一種計算機(jī)可讀存儲介質(zhì),其上存儲有計算機(jī)指令,該計算機(jī)指令被處理器執(zhí)行時實(shí)現(xiàn)如第一方面及所述第一方面的實(shí)現(xiàn)方式中任一項所述的方法。
34.根據(jù)本公開實(shí)施例提供的技術(shù)方案,可以獲取嵌入有預(yù)設(shè)密鑰值的第一機(jī)器碼;并對所述第一機(jī)器碼進(jìn)行解析,得到多條數(shù)據(jù)傳送指令,所述n條數(shù)據(jù)傳送指令中每條數(shù)據(jù)傳送指令包括所述預(yù)設(shè)密鑰值中的至少部分預(yù)設(shè)密鑰值;以及將所述多條數(shù)據(jù)傳送指令中每條數(shù)據(jù)傳送指令中的預(yù)設(shè)密鑰值,替換為目標(biāo)密鑰值中對應(yīng)位置的密鑰值,得到第二機(jī)
器碼;將所述第二機(jī)器碼燒錄至僅可執(zhí)行存儲器。通過該技術(shù)方案,在無需編譯程序源代碼的前提下,可以直接將二進(jìn)制機(jī)器碼中已嵌入的預(yù)設(shè)密鑰值替換為不同設(shè)備的目標(biāo)密鑰值,即通過直接修改僅可執(zhí)行存儲器固件的二進(jìn)制數(shù)據(jù)的方式,確保滿足一機(jī)一密的需求,從而降低了程序源代碼的泄露風(fēng)險,提高了密鑰燒錄的安全性。
35.應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本公開。
附圖說明
36.結(jié)合附圖,通過以下非限制性實(shí)施方式的詳細(xì)描述,本公開的其它特征、目的和優(yōu)點(diǎn)將變得更加明顯。在附圖中。
37.圖1示出根據(jù)本公開實(shí)施例的密鑰燒錄方法的流程圖。
38.圖2示出根據(jù)本公開的實(shí)施例的數(shù)據(jù)傳送指令的結(jié)構(gòu)示意圖。
39.圖3示出根據(jù)本公開的實(shí)施例的密鑰燒錄裝置的結(jié)構(gòu)框圖。
40.圖4示出根據(jù)本公開的實(shí)施例的電子設(shè)備的結(jié)構(gòu)框圖。
41.圖5示出適于用來實(shí)現(xiàn)根據(jù)本公開實(shí)施例的方法的計算機(jī)系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
42.下文中,將參考附圖詳細(xì)描述本公開的示例性實(shí)施例,以使本領(lǐng)域技術(shù)人員可容易地實(shí)現(xiàn)它們。此外,為了清楚起見,在附圖中省略了與描述示例性實(shí)施例無關(guān)的部分。
43.在本公開中,應(yīng)理解,諸如“包括”或“具有”等的術(shù)語旨在指示本說明書中所公開的特征、數(shù)字、步驟、行為、部件、部分或其組合的存在,并且不欲排除一個或多個其他特征、數(shù)字、步驟、行為、部件、部分或其組合存在或被添加的可能性。
44.另外還需要說明的是,在不沖突的情況下,本公開中的實(shí)施例及實(shí)施例中的特征可以相互組合。下面將參考附圖并結(jié)合實(shí)施例來詳細(xì)說明本公開。
45.在本公開中,如涉及對用戶信息或用戶數(shù)據(jù)的獲取操作或向他人展示用戶信息或用戶數(shù)據(jù)的操作,則所述操作均為經(jīng)用戶授權(quán)、確認(rèn),或由用戶主動選擇的操作。
46.上文中提及,隨著通信技術(shù)發(fā)展,用戶可以利用計算機(jī)與其他設(shè)備、服務(wù)器等進(jìn)行數(shù)據(jù)傳輸。為了防止數(shù)據(jù)內(nèi)容泄露,需要使用密鑰對待傳輸數(shù)據(jù)進(jìn)行加密,從而使用加密后的數(shù)據(jù)進(jìn)行數(shù)據(jù)傳輸。在數(shù)據(jù)傳輸過程中,即使攻擊者可以獲得完整的數(shù)據(jù),只要攻擊者沒有密鑰,就無法解密密文,因此,密鑰的安全存儲尤為重要。
47.相關(guān)技術(shù)中,通常使用編譯器對包括密鑰值的程序源代碼進(jìn)行編譯得到二進(jìn)制機(jī)器碼,從而將源代碼中的密鑰值嵌入到編譯生成的二進(jìn)制機(jī)器碼中。
48.然而,采用上述嵌入密鑰值的方案量產(chǎn)燒錄密鑰時,通常只能使用已編譯好的程序固件,而在有一機(jī)一密要求的場景下,卻需要工作人員使用程序源代碼當(dāng)場編譯,而通常工作人員并沒有程序源代碼,且重新編譯程序源代碼存在風(fēng)險,從而使得嵌入密鑰值的方案不便于量產(chǎn),且使用不安全。
49.考慮到上述技術(shù)問題,本公開實(shí)施例中提供了一種密鑰燒錄方法,可以獲取嵌入有預(yù)設(shè)密鑰值的第一機(jī)器碼;并對所述第一機(jī)器碼進(jìn)行解析,得到多條數(shù)據(jù)傳送指令,所述n條數(shù)據(jù)傳送指令中每條數(shù)據(jù)傳送指令包括所述預(yù)設(shè)密鑰值中的至少部分預(yù)設(shè)密鑰值;以
及將所述多條數(shù)據(jù)傳送指令中每條數(shù)據(jù)傳送指令中的預(yù)設(shè)密鑰值,替換為目標(biāo)密鑰值中對應(yīng)位置的密鑰值,得到第二機(jī)器碼;將所述第二機(jī)器碼燒錄至僅可執(zhí)行存儲器。
50.根據(jù)本公開實(shí)施例提供的技術(shù)方案,在無需編譯程序源代碼的前提下,可以直接將二進(jìn)制機(jī)器碼中已嵌入的預(yù)設(shè)密鑰值替換為不同設(shè)備的目標(biāo)密鑰值,即通過直接修改僅可執(zhí)行存儲器固件的二進(jìn)制數(shù)據(jù)的方式,確保滿足一機(jī)一密的需求,從而降低了程序源代碼的泄露風(fēng)險,提高了密鑰燒錄的安全性。
51.圖1示出根據(jù)本公開的實(shí)施例的密鑰燒錄方法的流程圖。如圖1所示,所述密鑰燒錄方法包括以下步驟s101
???
s104:在步驟s101中,獲取嵌入有預(yù)設(shè)密鑰值的第一機(jī)器碼。
52.在步驟s102中,對所述第一機(jī)器碼進(jìn)行解析,得到多條數(shù)據(jù)傳送指令。
53.其中,所述多條數(shù)據(jù)傳送指令中每條數(shù)據(jù)傳送指令包括所述預(yù)設(shè)密鑰值中的至少部分預(yù)設(shè)密鑰值。
54.在步驟s103中,將所述多條數(shù)據(jù)傳送指令中每條數(shù)據(jù)傳送指令中的所述至少部分預(yù)設(shè)密鑰值,替換為目標(biāo)密鑰值中對應(yīng)位置的密鑰值,得到第二機(jī)器碼。
55.在步驟s104中,將所述第二機(jī)器碼燒錄至僅可執(zhí)行存儲器。
56.在本公開一實(shí)施方式中,所述密鑰燒錄方法可適用于對于密鑰進(jìn)行燒錄或存儲的計算機(jī)、計算設(shè)備、電子設(shè)備等。
57.在本公開一實(shí)施方式中,所述第一機(jī)器碼可以理解為是存儲在計算機(jī)中由開發(fā)人員直接編寫的一段機(jī)器碼,或者為程序源代碼通過編譯器生成的機(jī)器碼。具體根據(jù)實(shí)際使用情況確定,本公開實(shí)施例對此不作限定。
58.在本公開一實(shí)施方式中,所述第一機(jī)器碼可以理解為是由多條機(jī)器碼組成。其中,該多條機(jī)器碼可以包括嵌入有至少部分預(yù)設(shè)密鑰值的數(shù)據(jù)傳送指令的機(jī)器碼,還可以包括用于作為定位標(biāo)記的機(jī)器碼。對于所述第一機(jī)器碼的結(jié)構(gòu)可以參照下述對所述第二機(jī)器碼的詳細(xì)說明,本公開實(shí)施例在此不予贅述。
59.本公開一實(shí)施方式中,所述預(yù)設(shè)密鑰值可以為技術(shù)人員編寫程序代碼時自定義設(shè)置的。
60.在本公開一實(shí)施方式中,所述預(yù)設(shè)密鑰值中的至少部分密鑰值,可以以立即數(shù)的形式完全包含于所述多條數(shù)據(jù)傳送指令中的每條數(shù)據(jù)傳送指令中。當(dāng)然,所述預(yù)設(shè)密鑰值中的至少部分密鑰值,還可以以其他的形式存在于數(shù)據(jù)傳送指令中,本公開實(shí)施例對此不作限定。
61.在本公開一實(shí)施方式中,所述多條數(shù)據(jù)傳送指令的指令類型可以根據(jù)所用處理器架構(gòu)的不同而不同。例如,對于armv8-m架構(gòu)的處理器(如arm cortex-m23系列處理器),數(shù)據(jù)傳送指令可以為mov(immediate)或movt指令。
62.示例性地,對于armv8-m的處理器,數(shù)據(jù)傳送指令為mov (immediate)指令,其結(jié)構(gòu)如圖2所示,其中的imm8即為8位二進(jìn)制數(shù)據(jù)的立即數(shù),即預(yù)設(shè)密鑰值。
63.在本公開一實(shí)施方式中,將所述第二機(jī)器碼燒錄至僅可執(zhí)行存儲器,可以理解為是借助燒錄器將第二機(jī)器碼燒錄至處理器芯片的僅可執(zhí)行存儲器中。
64.在本公開一實(shí)施方式中,僅可執(zhí)行存儲器(execute only memory,xom)是一個安全的只讀存儲器rom區(qū)域,用于存儲二進(jìn)制機(jī)器碼的指令,這些指令所在的內(nèi)存地址禁止被
系統(tǒng)總線進(jìn)行任何數(shù)據(jù)存取,僅可被處理器執(zhí)行。用戶能夠使用標(biāo)準(zhǔn)程序內(nèi)存的程序指令進(jìn)行呼叫函數(shù) (apis)的動作,執(zhí)行xom區(qū)域中存儲的二進(jìn)制程序代碼,但無法透過任何的途徑得知其內(nèi)容,即xom通過使程序代碼不可讀來防止泄漏。如此,當(dāng)所述第二機(jī)器碼燒錄于僅可執(zhí)行存儲器之后,可以確保目標(biāo)密鑰值的安全存儲。
65.在本公開一實(shí)施方式中,所述第一機(jī)器碼包括第一定位標(biāo)記和第二定位標(biāo)記,所述第一定位標(biāo)記用于指示所述第一機(jī)器碼中包括預(yù)設(shè)密鑰值的第一條數(shù)據(jù)傳送指令,所述第二定位標(biāo)記用于指示所述第一機(jī)器碼中包括預(yù)設(shè)密鑰值的最后一條數(shù)據(jù)傳送指令的結(jié)束位置。
66.在本公開一實(shí)施方式中,所述第一定位標(biāo)記和所述第二定位標(biāo)記可以理解是一條或多條無用指令,執(zhí)行該無用指令是不會產(chǎn)生任何副作用的。
67.在該實(shí)施方式中,由于第一機(jī)器碼中存在所述第一定位標(biāo)記和第二定位標(biāo)記,因此使得可以更快地查詢到包含預(yù)設(shè)密鑰值的數(shù)據(jù)傳送指令,從而便于量產(chǎn)時修改密鑰值,實(shí)現(xiàn)一機(jī)一密。
68.在本公開一實(shí)施方式中,所述第一機(jī)器碼和所述第二機(jī)器碼可以理解為是一段函數(shù)代碼,且所述第一機(jī)器碼和所述第二機(jī)器碼均可以為二進(jìn)制機(jī)器碼。
69.在本公開一實(shí)施方式中,當(dāng)所述第一機(jī)器碼包括所述第一定位標(biāo)記和所述第二定位標(biāo)記時,上述步驟s102,即所述對所述第一機(jī)器碼進(jìn)行解析,得到多條數(shù)據(jù)傳送指令,具體可以包括下述步驟:獲取所述第一機(jī)器碼中位于所述第一定位標(biāo)記和所述第二定位標(biāo)記之間的多條機(jī)器碼;對所述第一機(jī)器碼中位于所述第一定位標(biāo)記和所述第二定位標(biāo)記之間的多條機(jī)器碼進(jìn)行逐條解析,得到多條數(shù)據(jù)解析指令;將所述多條數(shù)據(jù)解析指令中均包括至少部分預(yù)設(shè)密鑰值的數(shù)據(jù)解析指令,確定為所述多條數(shù)據(jù)傳送指令。
70.在本公開一實(shí)施方式中,所述多條數(shù)據(jù)解析指令中每條數(shù)據(jù)解析指令可以理解是對二進(jìn)制機(jī)器碼進(jìn)行解析后得到的數(shù)據(jù)指令。
71.在本公開一實(shí)施方式中,一種可能的情況,所述多條數(shù)據(jù)解析指令中的一部分?jǐn)?shù)據(jù)解析指令中包括至少部分預(yù)設(shè)密鑰值,且所述多條數(shù)據(jù)解析指令中的另一部分?jǐn)?shù)據(jù)解析指令中不包括至少部分預(yù)設(shè)密鑰值;另一種可能的情況,所述多條數(shù)據(jù)解析指令中每條數(shù)據(jù)解析指令均包括至少部分預(yù)設(shè)密鑰值。
72.在本公開一實(shí)施方式中,所述第一機(jī)器碼可以包括多條機(jī)器碼,在從所述第一機(jī)器碼中獲取到位于第一定位標(biāo)記和所述第二定位標(biāo)記之間的多條機(jī)器碼之后,可以對位于第一定位標(biāo)記和所述第二定位標(biāo)記之間的多條機(jī)器碼進(jìn)行逐條解析,得到與所述多條機(jī)器碼中每條機(jī)器碼對應(yīng)的數(shù)據(jù)解析指令,即所述多條數(shù)據(jù)解析指令。從所述多條數(shù)據(jù)解析指令中排除掉不包括密鑰值的數(shù)據(jù)解析指令,和所包括的密鑰值與所述預(yù)設(shè)密鑰值不同的數(shù)據(jù)解析指令,從而可以將所述多條數(shù)據(jù)解析指令中均包括至少部分預(yù)設(shè)密鑰值的數(shù)據(jù)解析指令,確定為所述多條數(shù)據(jù)傳送指令。
73.本公開實(shí)施例提供一種密鑰燒錄方法,在無需編譯程序源代碼的前提下,可以直接將二進(jìn)制機(jī)器碼中已嵌入的預(yù)設(shè)密鑰值替換為不同設(shè)備的目標(biāo)密鑰值,即通過直接修改
僅可執(zhí)行存儲器固件的二進(jìn)制數(shù)據(jù)的方式,確保滿足一機(jī)一密的需求,從而降低了程序源代碼的泄露風(fēng)險,提高了密鑰燒錄的安全性。
74.在本公開一實(shí)施方式中,所述步驟s104,即所述將所述第二機(jī)器碼燒錄至僅可執(zhí)行存儲器的步驟之后,所述方法還可包括下述步驟:執(zhí)行所述僅可執(zhí)行存儲器中的所述第二機(jī)器碼,以獲取所述目標(biāo)密鑰值,并將所述目標(biāo)密鑰值寫入緩沖區(qū)。
75.在本公開一實(shí)施方式中,執(zhí)行所述僅可執(zhí)行存儲器中的所述第二機(jī)器碼,即開始執(zhí)行函數(shù)代碼。當(dāng)執(zhí)行所述第二機(jī)器碼時,傳入?yún)?shù)可以包括緩沖區(qū)的起始位置地址和緩沖區(qū)的大小。
76.在本公開一實(shí)施例中,所述緩沖區(qū)可以用于存儲所述目標(biāo)密鑰值。
77.在本公開一實(shí)施方式中,所述將所述目標(biāo)密鑰值寫入緩沖區(qū)的步驟之前,本公開實(shí)施例提供的密鑰燒錄方法還可以包括:在內(nèi)存中設(shè)置緩沖區(qū)。其中,所述緩沖區(qū)的大小可以大于或等于所述目標(biāo)密鑰值的長度。
78.進(jìn)一步,所述將所述目標(biāo)密鑰值寫入緩沖區(qū)的步驟,具體可以通過下述步驟實(shí)現(xiàn):獲取第一參數(shù)和第二參數(shù),所述第一參數(shù)用于指示所述緩沖區(qū)的起始位置地址,所述第二參數(shù)用于指示所述緩沖區(qū)的大小;根據(jù)所述第一參數(shù)和所述第二參數(shù),將所述目標(biāo)密鑰值對應(yīng)寫入所述緩沖區(qū)。
79.在該實(shí)施方式中,預(yù)先在內(nèi)存中設(shè)置緩沖區(qū)之后,由于在執(zhí)行第二機(jī)器碼的過程中,可以獲取到第一參數(shù)和第二參數(shù),因此可以根據(jù)所述第一參數(shù)和所述第二參數(shù),將所述目標(biāo)密鑰值對應(yīng)寫入預(yù)先設(shè)置好的所述緩沖區(qū),從而避免目標(biāo)密鑰值暴露在其他內(nèi)存地址空間中。
80.在本公開一實(shí)施方式中,所述將所述目標(biāo)密鑰值寫入緩沖區(qū)的步驟之后,本公開實(shí)施例提供的密鑰燒錄方法還可以包括:清空所述緩沖區(qū)中的所有數(shù)據(jù)。如此,可以盡量減少密鑰值在內(nèi)存中存留的時間,防止所述密鑰值的泄露以確保其安全性。
81.在該實(shí)施方式中,只有通過處理器執(zhí)行僅可執(zhí)行存儲器中的所述第二機(jī)器碼,才可以獲取所述目標(biāo)密鑰值,從而防止所述目標(biāo)密鑰值的泄露。
82.在本公開一實(shí)施方式中,所述第二機(jī)器碼包括第三定位標(biāo)記和第四定位標(biāo)記,所述第三定位標(biāo)記用于指示所述第二機(jī)器碼中包括目標(biāo)密鑰值的第一條數(shù)據(jù)傳送指令的起始位置,所述第四定位標(biāo)記用于指示所述第二機(jī)器碼中包括目標(biāo)密鑰值的最后一條數(shù)據(jù)傳送指令的結(jié)束位置。
83.在本公開一實(shí)施方式中,所述第一定位標(biāo)記、所述第二定位標(biāo)記、所述第三定位標(biāo)記和所述第四定位標(biāo)記分別為無用的、不產(chǎn)生任何副作用的指令。即所述第一定位標(biāo)記、所述第二定位標(biāo)記、所述第三定位標(biāo)記和所述第四定位標(biāo)記可以理解成是一條或多條無用指令,執(zhí)行該無用指令是不會產(chǎn)生任何副作用的。如此,在執(zhí)行第二機(jī)器碼的過程中,所述第三定位標(biāo)記和所述第四定位標(biāo)記不對會獲取目標(biāo)密鑰值產(chǎn)生任何影響。
84.另外,所述第三定位標(biāo)記和所述第一定位標(biāo)記可以相同或不同,所述第四定位標(biāo)記和所述第二定位標(biāo)記可以相同或不同,具體根據(jù)實(shí)際使用情況確定,本公開實(shí)施例對此不作限定。
85.在該實(shí)施方式中,由于第二機(jī)器碼中存在所述第三定位標(biāo)記和所述第四定位標(biāo)
記,因此可以通過所述第三定位標(biāo)記和所述第四定位標(biāo)記,更快速地從第二機(jī)器碼中查到所有嵌入有部分目標(biāo)密鑰值的機(jī)器碼,以獲取到完整的所述目標(biāo)密鑰值,從而提高了效率。
86.在本公開一實(shí)施方式中,所述第二機(jī)器碼包括第三定位標(biāo)記和第四定位標(biāo)記;所述執(zhí)行所述僅可執(zhí)行存儲器中的所述第二機(jī)器碼,以獲取所述目標(biāo)密鑰值,并將所述目標(biāo)密鑰值寫入緩沖區(qū)的步驟,具體可以包括下述步驟:獲取所述第二機(jī)器碼中位于所述第三定位標(biāo)記和所述第四定位標(biāo)記之間的多條目標(biāo)機(jī)器碼;依次執(zhí)行所述多條目標(biāo)機(jī)器碼中的每條目標(biāo)機(jī)器碼,以獲取每條所述目標(biāo)機(jī)器碼的數(shù)據(jù)傳送指令中的部分目標(biāo)密鑰值;將每條所述目標(biāo)機(jī)器碼的數(shù)據(jù)傳送指令中的部分目標(biāo)密鑰值依次寫入所述緩沖區(qū)。
87.在本公開一實(shí)施方式中,依次執(zhí)行所述多條目標(biāo)機(jī)器碼中的每條目標(biāo)機(jī)器碼,以獲取每條所述目標(biāo)機(jī)器碼的數(shù)據(jù)傳送指令中的部分目標(biāo)密鑰值,即是每執(zhí)行一條目標(biāo)機(jī)器碼,就獲取該一條目標(biāo)機(jī)器碼的數(shù)據(jù)傳送指令中包括的部分目標(biāo)密鑰值,并將該目標(biāo)密鑰值寫入緩沖區(qū)中,如此循環(huán)執(zhí)行,以將完整的目標(biāo)密鑰值寫入緩沖區(qū)中。
88.在該實(shí)施方式中,由于第二機(jī)器碼中存在所述第三定位標(biāo)記和所述第四定位標(biāo)記,因此可以通過所述第三定位標(biāo)記和所述第四定位標(biāo)記,更快速地從第二機(jī)器碼中查到所有嵌入有部分目標(biāo)密鑰值的多條目標(biāo)機(jī)器碼,進(jìn)而依次執(zhí)行每條目標(biāo)機(jī)器碼,以獲取到完整的所述目標(biāo)密鑰值并寫入緩沖區(qū)中,從而既提高了效率,也確保了向緩沖區(qū)中寫入目標(biāo)密鑰值的安全性。
89.在本公開一實(shí)施方式中,所述第二機(jī)器碼可以理解為是由多條目標(biāo)機(jī)器碼組成。其中,該多條目標(biāo)機(jī)器碼中可以包括:用于作為定位標(biāo)記的機(jī)器碼、包括至少部分目標(biāo)密鑰值的數(shù)據(jù)傳送指令的機(jī)器碼。
90.在本公開一實(shí)施方式中,所述第二機(jī)器碼還包括多條調(diào)用指令機(jī)器碼,一條調(diào)用指令機(jī)器碼與所述多條目標(biāo)機(jī)器碼中的一條目標(biāo)機(jī)器碼對應(yīng),每條調(diào)用指令機(jī)器碼為用于調(diào)用一條目標(biāo)機(jī)器碼的調(diào)用指令的機(jī)器碼。如此,可以根據(jù)調(diào)用指令機(jī)器碼以判斷調(diào)用指令的地址合法性。
91.在本公開一實(shí)施方式中,在所述第二機(jī)器碼還包括多條調(diào)用指令機(jī)器碼的情況下,所述依次執(zhí)行所述多條目標(biāo)機(jī)器碼中的每條目標(biāo)機(jī)器碼,以獲取每條所述目標(biāo)機(jī)器碼的數(shù)據(jù)傳送指令中的部分目標(biāo)密鑰值的步驟之前,所述方法還可以包括下述步驟:執(zhí)行所述多條調(diào)用指令機(jī)器碼中的第i條調(diào)用指令機(jī)器碼,以判斷所述調(diào)用指令的地址合法性;所述依次執(zhí)行所述多條目標(biāo)機(jī)器碼中的每條目標(biāo)機(jī)器碼,以獲取每條所述目標(biāo)機(jī)器碼的數(shù)據(jù)傳送指令中的部分目標(biāo)密鑰值的步驟,具體可以包括如下步驟:在確定所述調(diào)用指令的地址合法的情況下,執(zhí)行與所述第i條調(diào)用指令機(jī)器碼對應(yīng)的所述多條目標(biāo)機(jī)器碼中的第i條目標(biāo)機(jī)器碼,以獲取所述第i條目標(biāo)機(jī)器碼的數(shù)據(jù)傳送指令中的目標(biāo)密鑰值。
92.示例性地,嵌入有目標(biāo)密鑰值的第二機(jī)器碼的組成結(jié)構(gòu)如下所示:
一條或多條無用指令的機(jī)器碼,即作為第三定位標(biāo)記(a1);檢查調(diào)用指令的地址是否合法的機(jī)器碼;嵌入有目標(biāo)密鑰值第1部分的第一條數(shù)據(jù)傳送指令的機(jī)器碼(b1)檢查調(diào)用指令的地址是否合法的機(jī)器碼;嵌入有目標(biāo)密鑰值第2部分的第二條數(shù)據(jù)傳送指令的機(jī)器碼(b2);
…
檢查調(diào)用指令的地址是否合法的機(jī)器碼;嵌入有目標(biāo)密鑰值最后一部分的最后一條數(shù)據(jù)傳送指令的機(jī)器碼(bn);一條或多條無用指令的機(jī)器碼,即作為第四定位標(biāo)記(a2)返回指令的機(jī)器碼。
93.執(zhí)行上述嵌入有目標(biāo)密鑰值的所述第二機(jī)器碼的步驟具體如下:(1)開始執(zhí)行所述第二機(jī)器碼(即函數(shù)代碼),傳入?yún)?shù):所述緩沖區(qū)的起始位置地址,所述緩沖區(qū)的大小。
94.(2)執(zhí)行不產(chǎn)生任何副作用的一條或多條無用指令a1。
95.(3)檢查調(diào)用方地址是否合法,即判斷調(diào)用所述第二機(jī)器碼的指令地址是否合法。如果合法,繼續(xù)執(zhí)行下述步驟(4);如果不合法,跳轉(zhuǎn)到步驟(8)。
96.(4)執(zhí)行嵌入有目標(biāo)密鑰值第1部分的第一條數(shù)據(jù)傳送指令的機(jī)器碼b1。在執(zhí)行b1之后,獲取到目標(biāo)密鑰值的第1部分,并向緩沖區(qū)中寫入目標(biāo)密鑰值的第1部分。
97.(5)檢查調(diào)用方地址是否合法。如果合法,繼續(xù)執(zhí)行下述步驟(6);如果不合法,跳轉(zhuǎn)到步驟(8)。該步驟(5)所執(zhí)行的操作和步驟(3)相同,通過多次、重復(fù)的判斷是為了避免有非法代碼跳轉(zhuǎn)到所述函數(shù)代碼的中間部分開始執(zhí)行,從而跳過起始位置的檢查。
98.(6)重復(fù)上述步驟(4)和(5)的內(nèi)容,以依次獲取到目標(biāo)密鑰值的第2部分、第3部分直到最后一部分,并分別向緩沖區(qū)中寫入目標(biāo)密鑰值的第2部分、第3部分直到最后一部分。
99.(7)執(zhí)行不產(chǎn)生任何副作用的一條或多條無用指令b2。
100.(8)所述第二機(jī)器碼執(zhí)行完成,返回值為密鑰值的長度。
101.在該實(shí)施方式中,在依次執(zhí)行所述多條目標(biāo)機(jī)器碼中的每條目標(biāo)機(jī)器碼,以獲取每條所述目標(biāo)機(jī)器碼的數(shù)據(jù)傳送指令中的部分目標(biāo)密鑰值之前,可以執(zhí)行所述調(diào)用指令機(jī)器碼,以判斷所述調(diào)用指令的地址合法性,并在確定所述調(diào)用指令的地址合法的情況下,才執(zhí)行與所述調(diào)用指令機(jī)器碼對應(yīng)的目標(biāo)機(jī)器碼,以獲取所述目標(biāo)機(jī)器碼的數(shù)據(jù)傳送指令中的目標(biāo)密鑰值,從而通過重復(fù)判斷調(diào)用指令的地址的合法性,可以避免有非法代碼跳過起始位置的檢查而直接跳轉(zhuǎn)到第二機(jī)器碼的中間部分開始執(zhí)行,即防止非法代碼調(diào)用第二機(jī)器碼。
102.本公開一實(shí)施方式中,在所述執(zhí)行所述僅可執(zhí)行存儲器中的所述第二機(jī)器碼,以獲取所述目標(biāo)密鑰值的步驟之后,所述方法還可包括下述步驟:根據(jù)所述目標(biāo)密鑰值,執(zhí)行目標(biāo)操作;其中,所述執(zhí)行目標(biāo)操作包括以下至少一項:分散密鑰、加密數(shù)據(jù)、解密數(shù)據(jù)。
103.需要說明的是,上述實(shí)施方式中所述執(zhí)行目標(biāo)操作包括的內(nèi)容僅為示例性的說明,當(dāng)然,還可以包括其他可能的操作,本公開實(shí)施例對此不作限定。
104.在該實(shí)施方式中,若根據(jù)目標(biāo)密鑰值,分散密鑰,則可以防止密鑰被破解,提高密
鑰存儲的安全性;若根據(jù)目標(biāo)密鑰值加密數(shù)據(jù),則可以提高數(shù)據(jù)傳輸?shù)陌踩裕乐构粽呓饷苊芪模_(dá)到保護(hù)數(shù)據(jù)不被非法竊取、閱讀的目的;若根據(jù)目標(biāo)密鑰值解密數(shù)據(jù),則可以完成安全認(rèn)證,將密文變成明文,便于被認(rèn)證用戶獲取數(shù)據(jù),使信息只對允許可讀的接收者可讀,以防止私有化信息在網(wǎng)絡(luò)中被攔截和竊取。
105.圖3示出根據(jù)本公開的實(shí)施例的密鑰燒錄裝置的結(jié)構(gòu)框圖。其中,該裝置可以通過軟件、硬件或者兩者的結(jié)合實(shí)現(xiàn)成為電子設(shè)備的部分或者全部。
106.如圖3所示,所述密鑰燒錄裝置200包括第一獲取模塊201、第二獲取模塊202、替換模塊203和第一處理模塊204。
107.所述第一獲取模塊201,被配置為獲取嵌入有預(yù)設(shè)密鑰值的第一機(jī)器碼;所述第二獲取模塊202,被配置為對所述第一機(jī)器碼進(jìn)行解析,得到多條數(shù)據(jù)傳送指令,所述多條數(shù)據(jù)傳送指令中每條數(shù)據(jù)傳送指令包括所述預(yù)設(shè)密鑰值中的至少部分預(yù)設(shè)密鑰值;所述替換模塊203,被配置為將所述多條數(shù)據(jù)傳送指令中每條數(shù)據(jù)傳送指令中的所述至少部分預(yù)設(shè)密鑰值,替換為目標(biāo)密鑰值中對應(yīng)位置的密鑰值,得到第二機(jī)器碼;所述第一處理模塊204,被配置為將所述第二機(jī)器碼燒錄至僅可執(zhí)行存儲器。
108.本公開實(shí)施例的一種實(shí)現(xiàn)方式中,所述第一機(jī)器碼包括第一定位標(biāo)記和第二定位標(biāo)記,所述第一定位標(biāo)記用于指示所述第一機(jī)器碼中包括預(yù)設(shè)密鑰值的第一條數(shù)據(jù)傳送指令,所述第二定位標(biāo)記用于指示所述第一機(jī)器碼中包括預(yù)設(shè)密鑰值的最后一條數(shù)據(jù)傳送指令的結(jié)束位置。
109.本公開實(shí)施例的一種實(shí)現(xiàn)方式中,所述第二獲取模塊202被配置為:獲取所述第一機(jī)器碼中位于所述第一定位標(biāo)記和所述第二定位標(biāo)記之間的多條機(jī)器碼;對所述第一機(jī)器碼中位于所述第一定位標(biāo)記和所述第二定位標(biāo)記之間的多條機(jī)器碼進(jìn)行逐條解析,得到多條數(shù)據(jù)解析指令;將所述多條數(shù)據(jù)解析指令中均包括至少部分預(yù)設(shè)密鑰值的數(shù)據(jù)解析指令,確定為所述多條數(shù)據(jù)傳送指令。
110.本公開實(shí)施例的一種實(shí)現(xiàn)方式中,所述密鑰燒錄裝置200還包括:第一執(zhí)行模塊,被配置為執(zhí)行所述僅可執(zhí)行存儲器中的所述第二機(jī)器碼,以獲取所述目標(biāo)密鑰值;第二處理模塊,被配置為將所述目標(biāo)密鑰值寫入緩沖區(qū)。
111.本公開實(shí)施例的一種實(shí)現(xiàn)方式中,所述第二機(jī)器碼包括第三定位標(biāo)記和第四定位標(biāo)記,所述第三定位標(biāo)記用于指示所述第二機(jī)器碼中包括目標(biāo)密鑰值的第一條數(shù)據(jù)傳送指令的起始位置,所述第四定位標(biāo)記用于指示所述第二機(jī)器碼中包括目標(biāo)密鑰值的最后一條數(shù)據(jù)傳送指令的結(jié)束位置。
112.本公開實(shí)施例的一種實(shí)現(xiàn)方式中,所述第一定位標(biāo)記、所述第二定位標(biāo)記、所述第三定位標(biāo)記和所述第四定位標(biāo)記分別為無用的、不產(chǎn)生任何副作用的指令。
113.本公開實(shí)施例的一種實(shí)現(xiàn)方式中,所述第二機(jī)器碼包括第三定位標(biāo)記和第四定位標(biāo)記;所述第一執(zhí)行模塊,被配置為:獲取所述第二機(jī)器碼中位于所述第三定位標(biāo)記和所述第四定位標(biāo)記之間的多條
目標(biāo)機(jī)器碼;依次執(zhí)行所述多條目標(biāo)機(jī)器碼中的每條目標(biāo)機(jī)器碼,以獲取每條所述目標(biāo)機(jī)器碼的數(shù)據(jù)傳送指令中的目標(biāo)密鑰值;所述第二處理模塊,被配置為:將每條所述目標(biāo)機(jī)器碼的數(shù)據(jù)傳送指令中的目標(biāo)密鑰值依次寫入所述緩沖區(qū)。
114.本公開實(shí)施例的一種實(shí)現(xiàn)方式中,所述第二機(jī)器碼還包括多條調(diào)用指令機(jī)器碼,一條調(diào)用指令機(jī)器碼與所述多條目標(biāo)機(jī)器碼中的一條目標(biāo)機(jī)器碼對應(yīng),每條調(diào)用指令機(jī)器碼為用于調(diào)用一條目標(biāo)機(jī)器碼的調(diào)用指令的機(jī)器碼。
115.本公開實(shí)施例的一種實(shí)現(xiàn)方式中,所述密鑰燒錄裝置200還包括:第二執(zhí)行模塊,被配置為執(zhí)行所述多條調(diào)用指令機(jī)器碼中的第i條調(diào)用指令機(jī)器碼,以判斷所述調(diào)用指令的地址合法性;所述第一執(zhí)行模塊,被配置為:在確定所述調(diào)用指令的地址合法的情況下,執(zhí)行與所述第i條調(diào)用指令機(jī)器碼對應(yīng)的所述多條目標(biāo)機(jī)器碼中的第i條目標(biāo)機(jī)器碼,以獲取所述第i條目標(biāo)機(jī)器碼的數(shù)據(jù)傳送指令中的目標(biāo)密鑰值。
116.本公開實(shí)施例的一種實(shí)現(xiàn)方式中,所述密鑰燒錄裝置200還包括:第三處理模塊,被配置為在內(nèi)存中設(shè)置所述緩沖區(qū),所述緩沖區(qū)的大小大于或等于所述目標(biāo)密鑰值的長度;所述第二處理模塊,具體被配置為:獲取第一參數(shù)和第二參數(shù),所述第一參數(shù)用于指示所述緩沖區(qū)的起始位置地址,所述第二參數(shù)用于指示所述緩沖區(qū)的大小;根據(jù)所述第一參數(shù)和所述第二參數(shù),將所述目標(biāo)密鑰值對應(yīng)寫入所述緩沖區(qū)。
117.本公開實(shí)施例的一種實(shí)現(xiàn)方式中,所述密鑰燒錄裝置200還包括:第四處理模塊,被配置為清空所述緩沖區(qū)中的所有數(shù)據(jù)。
118.本公開實(shí)施例的一種實(shí)現(xiàn)方式中,所述密鑰燒錄裝置200還包括:第三執(zhí)行模塊,被配置為根據(jù)所述目標(biāo)密鑰值,執(zhí)行目標(biāo)操作;其中,所述執(zhí)行目標(biāo)操作包括以下至少一項:分散密鑰、加密數(shù)據(jù)、解密數(shù)據(jù)。
119.本公開實(shí)施例提供一種密鑰燒錄裝置,在無需編譯程序源代碼的前提下,可以直接將二進(jìn)制機(jī)器碼中已嵌入的預(yù)設(shè)密鑰值替換為不同設(shè)備的目標(biāo)密鑰值,即通過直接修改僅可執(zhí)行存儲器固件的二進(jìn)制數(shù)據(jù)的方式,確保滿足一機(jī)一密的需求,從而降低了程序源代碼的泄露風(fēng)險,提高了密鑰燒錄的安全性。
120.本公開還公開了一種電子設(shè)備,圖4示出根據(jù)本公開的實(shí)施例的電子設(shè)備的結(jié)構(gòu)框圖。
121.如圖4所示,所述電子設(shè)備包括存儲器和處理器,其中,存儲器用于存儲一條或多條計算機(jī)指令,其中,所述一條或多條計算機(jī)指令被所述處理器執(zhí)行以實(shí)現(xiàn)根據(jù)本公開的實(shí)施例的方法。
122.圖5示出適于用來實(shí)現(xiàn)根據(jù)本公開實(shí)施例的方法的計算機(jī)系統(tǒng)的結(jié)構(gòu)示意圖。
123.如圖5所示,計算機(jī)系統(tǒng)包括處理單元,其可以根據(jù)存儲在只讀存儲器(rom)中的程序或者從存儲部分加載到隨機(jī)訪問存儲器(ram)中的程序而執(zhí)行上述實(shí)施例中的各種方法。在ram中,還存儲有計算機(jī)系統(tǒng)操作所需的各種程序和數(shù)據(jù)。處理單元、rom以及ram通過總線彼此相連。輸入/輸出(i/o)接口也連接至總線。
124.以下部件連接至i/o接口:包括鍵盤、鼠標(biāo)等的輸入部分;包括諸如陰極射線管(crt)、液晶顯示器(lcd)等以及揚(yáng)聲器等的輸出部分;包括硬盤等的存儲部分;以及包括諸如lan卡、調(diào)制解調(diào)器等的網(wǎng)絡(luò)接口卡的通信部分。通信部分經(jīng)由諸如因特網(wǎng)的網(wǎng)絡(luò)執(zhí)行通信過程。驅(qū)動器也根據(jù)需要連接至i/o接口。可拆卸介質(zhì),諸如磁盤、光盤、磁光盤、半導(dǎo)體存儲器等等,根據(jù)需要安裝在驅(qū)動器上,以便于從其上讀出的計算機(jī)程序根據(jù)需要被安裝入存儲部分。其中,所述處理單元可實(shí)現(xiàn)為cpu、gpu、tpu、fpga、npu等處理單元。
125.特別地,根據(jù)本公開的實(shí)施例,上文描述的方法可以被實(shí)現(xiàn)為計算機(jī)軟件程序。例如,本公開的實(shí)施例包括一種計算機(jī)程序產(chǎn)品,其包括有形地包含在機(jī)器可讀介質(zhì)上的計算機(jī)程序,所述計算機(jī)程序包含用于執(zhí)行上述方法的程序代碼。在這樣的實(shí)施例中,該計算機(jī)程序可以通過通信部分從網(wǎng)絡(luò)上被下載和安裝,和/或從可拆卸介質(zhì)被安裝。
126.附圖中的流程圖和框圖,圖示了按照本公開各種實(shí)施例的系統(tǒng)、方法和計算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個方框可以代表一個模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個或多個用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個接連地表示的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來實(shí)現(xiàn),或者可以用專用硬件與計算機(jī)指令的組合來實(shí)現(xiàn)。
127.描述于本公開實(shí)施例中所涉及到的單元或模塊可以通過軟件的方式實(shí)現(xiàn),也可以通過可編程硬件的方式來實(shí)現(xiàn)。所描述的單元或模塊也可以設(shè)置在處理器中,這些單元或模塊的名稱在某種情況下并不構(gòu)成對該單元或模塊本身的限定。
128.作為另一方面,本公開還提供了一種計算機(jī)可讀存儲介質(zhì),該計算機(jī)可讀存儲介質(zhì)可以是上述實(shí)施例中電子設(shè)備或計算機(jī)系統(tǒng)中所包含的計算機(jī)可讀存儲介質(zhì);也可以是單獨(dú)存在,未裝配入設(shè)備中的計算機(jī)可讀存儲介質(zhì)。計算機(jī)可讀存儲介質(zhì)存儲有一個或者一個以上程序,所述程序被一個或者一個以上的處理器用來執(zhí)行描述于本公開的方法。
129.以上描述僅為本公開的較佳實(shí)施例以及對所運(yùn)用技術(shù)原理的說明。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,本公開中所涉及的發(fā)明范圍,并不限于上述技術(shù)特征的特定組合而成的技術(shù)方案,同時也應(yīng)涵蓋在不脫離所述發(fā)明構(gòu)思的情況下,由上述技術(shù)特征或其等同特征進(jìn)行任意組合而形成的其它技術(shù)方案。例如上述特征與本公開中公開的(但不限于)具有類似功能的技術(shù)特征進(jìn)行互相替換而形成的技術(shù)方案。
技術(shù)特征:
1.一種密鑰燒錄方法,其特征在于,所述方法包括:獲取嵌入有預(yù)設(shè)密鑰值的第一機(jī)器碼;對所述第一機(jī)器碼進(jìn)行解析,得到多條數(shù)據(jù)傳送指令,所述多條數(shù)據(jù)傳送指令中每條數(shù)據(jù)傳送指令包括所述預(yù)設(shè)密鑰值中的至少部分預(yù)設(shè)密鑰值;將所述多條數(shù)據(jù)傳送指令中每條數(shù)據(jù)傳送指令中的所述至少部分預(yù)設(shè)密鑰值,替換為目標(biāo)密鑰值中對應(yīng)位置的密鑰值,得到第二機(jī)器碼;將所述第二機(jī)器碼燒錄至僅可執(zhí)行存儲器。2.根據(jù)權(quán)利要求1中所述的方法,其特征在于,所述第一機(jī)器碼包括第一定位標(biāo)記和第二定位標(biāo)記,所述第一定位標(biāo)記用于指示所述第一機(jī)器碼中包括預(yù)設(shè)密鑰值的第一條數(shù)據(jù)傳送指令,所述第二定位標(biāo)記用于指示所述第一機(jī)器碼中包括預(yù)設(shè)密鑰值的最后一條數(shù)據(jù)傳送指令的結(jié)束位置。3.根據(jù)權(quán)利要求2中所述的方法,其特征在于,所述對所述第一機(jī)器碼進(jìn)行解析,得到多條數(shù)據(jù)傳送指令,包括:獲取所述第一機(jī)器碼中位于所述第一定位標(biāo)記和所述第二定位標(biāo)記之間的多條機(jī)器碼;對所述第一機(jī)器碼中位于所述第一定位標(biāo)記和所述第二定位標(biāo)記之間的多條機(jī)器碼進(jìn)行逐條解析,得到多條數(shù)據(jù)解析指令;將所述多條數(shù)據(jù)解析指令中均包括至少部分預(yù)設(shè)密鑰值的數(shù)據(jù)解析指令,確定為所述多條數(shù)據(jù)傳送指令。4.根據(jù)權(quán)利要求1中所述的方法,其特征在于,所述將所述第二機(jī)器碼燒錄至僅可執(zhí)行存儲器之后,所述方法還包括:執(zhí)行所述僅可執(zhí)行存儲器中的所述第二機(jī)器碼,以獲取所述目標(biāo)密鑰值,并將所述目標(biāo)密鑰值寫入緩沖區(qū)。5.根據(jù)權(quán)利要求2中所述的方法,其特征在于,所述第二機(jī)器碼包括第三定位標(biāo)記和第四定位標(biāo)記,所述第三定位標(biāo)記用于指示所述第二機(jī)器碼中包括目標(biāo)密鑰值的第一條數(shù)據(jù)傳送指令的起始位置,所述第四定位標(biāo)記用于指示所述第二機(jī)器碼中包括目標(biāo)密鑰值的最后一條數(shù)據(jù)傳送指令的結(jié)束位置。6.根據(jù)權(quán)利要求5中所述的方法,其特征在于,所述第一定位標(biāo)記、所述第二定位標(biāo)記、所述第三定位標(biāo)記和所述第四定位標(biāo)記分別為無用的、不產(chǎn)生任何副作用的指令。7.根據(jù)權(quán)利要求4中所述的方法,其特征在于,所述第二機(jī)器碼包括第三定位標(biāo)記和第四定位標(biāo)記;所述執(zhí)行所述僅可執(zhí)行存儲器中的所述第二機(jī)器碼,以獲取所述目標(biāo)密鑰值,并將所述目標(biāo)密鑰值寫入緩沖區(qū),包括:獲取所述第二機(jī)器碼中位于所述第三定位標(biāo)記和所述第四定位標(biāo)記之間的多條目標(biāo)機(jī)器碼;依次執(zhí)行所述多條目標(biāo)機(jī)器碼中的每條目標(biāo)機(jī)器碼,以獲取每條所述目標(biāo)機(jī)器碼的數(shù)據(jù)傳送指令中的目標(biāo)密鑰值;將每條所述目標(biāo)機(jī)器碼的數(shù)據(jù)傳送指令中的目標(biāo)密鑰值依次寫入所述緩沖區(qū)。8.根據(jù)權(quán)利要求7中所述的方法,其特征在于,所述第二機(jī)器碼還包括多條調(diào)用指令機(jī)
器碼,一條調(diào)用指令機(jī)器碼與所述多條目標(biāo)機(jī)器碼中的一條目標(biāo)機(jī)器碼對應(yīng),每條調(diào)用指令機(jī)器碼為用于調(diào)用一條目標(biāo)機(jī)器碼的調(diào)用指令的機(jī)器碼。9.根據(jù)權(quán)利要求8中所述的方法,其特征在于,所述依次執(zhí)行所述多條目標(biāo)機(jī)器碼中的每條目標(biāo)機(jī)器碼,以獲取每條所述目標(biāo)機(jī)器碼的數(shù)據(jù)傳送指令中的部分目標(biāo)密鑰值之前,所述方法還包括:執(zhí)行所述多條調(diào)用指令機(jī)器碼中的第i條調(diào)用指令機(jī)器碼,以判斷所述調(diào)用指令的地址合法性;所述依次執(zhí)行所述多條目標(biāo)機(jī)器碼中的每條目標(biāo)機(jī)器碼,以獲取每條所述目標(biāo)機(jī)器碼的數(shù)據(jù)傳送指令中的部分目標(biāo)密鑰值,包括:在確定所述調(diào)用指令的地址合法的情況下,執(zhí)行與所述第i條調(diào)用指令機(jī)器碼對應(yīng)的所述多條目標(biāo)機(jī)器碼中的第i條目標(biāo)機(jī)器碼,以獲取所述第i條目標(biāo)機(jī)器碼的數(shù)據(jù)傳送指令中的目標(biāo)密鑰值。10.根據(jù)權(quán)利要求4中所述的方法,其特征在于,所述將所述目標(biāo)密鑰值寫入緩沖區(qū)之前,所述方法還包括:在內(nèi)存中設(shè)置所述緩沖區(qū),所述緩沖區(qū)的大小大于或等于所述目標(biāo)密鑰值的長度;所述將所述目標(biāo)密鑰值寫入緩沖區(qū),包括:獲取第一參數(shù)和第二參數(shù),所述第一參數(shù)用于指示所述緩沖區(qū)的起始位置地址,所述第二參數(shù)用于指示所述緩沖區(qū)的大小;根據(jù)所述第一參數(shù)和所述第二參數(shù),將所述目標(biāo)密鑰值對應(yīng)寫入所述緩沖區(qū)。11.根據(jù)權(quán)利要求4或10中所述的方法,其特征在于,所述將所述目標(biāo)密鑰值寫入緩沖區(qū)之后,所述方法還包括:清空所述緩沖區(qū)中的所有數(shù)據(jù)。12.根據(jù)權(quán)利要求4中所述的方法,其特征在于,所述執(zhí)行所述僅可執(zhí)行存儲器中的所述第二機(jī)器碼,以獲取所述目標(biāo)密鑰值之后,所述方法還包括:根據(jù)所述目標(biāo)密鑰值,執(zhí)行目標(biāo)操作;其中,所述執(zhí)行目標(biāo)操作包括以下至少一項:分散密鑰、加密數(shù)據(jù)、解密數(shù)據(jù)。13.一種密鑰燒錄裝置,其特征在于,所述密鑰燒錄裝置包括:第一獲取模塊,被配置為獲取嵌入有預(yù)設(shè)密鑰值的第一機(jī)器碼;第二獲取模塊,被配置為對所述第一機(jī)器碼進(jìn)行解析,得到多條數(shù)據(jù)傳送指令,所述多條數(shù)據(jù)傳送指令中每條數(shù)據(jù)傳送指令包括所述預(yù)設(shè)密鑰值中的至少部分預(yù)設(shè)密鑰值;替換模塊,被配置為將所述多條數(shù)據(jù)傳送指令中每條數(shù)據(jù)傳送指令中的所述至少部分預(yù)設(shè)密鑰值,替換為目標(biāo)密鑰值中對應(yīng)位置的密鑰值,得到第二機(jī)器碼;第一處理模塊,被配置為將所述第二機(jī)器碼燒錄至僅可執(zhí)行存儲器。14.根據(jù)權(quán)利要求13中所述的裝置,其特征在于,所述第一機(jī)器碼包括第一定位標(biāo)記和第二定位標(biāo)記,所述第一定位標(biāo)記用于指示所述第一機(jī)器碼中包括預(yù)設(shè)密鑰值的第一條數(shù)據(jù)傳送指令,所述第二定位標(biāo)記用于指示所述第一機(jī)器碼中包括預(yù)設(shè)密鑰值的最后一條數(shù)據(jù)傳送指令的結(jié)束位置。15.根據(jù)權(quán)利要求14中所述的裝置,其特征在于,所述第二獲取模塊被配置為:獲取所述第一機(jī)器碼中位于所述第一定位標(biāo)記和所述第二定位標(biāo)記之間的多條機(jī)器
碼;對所述第一機(jī)器碼中位于所述第一定位標(biāo)記和所述第二定位標(biāo)記之間的多條機(jī)器碼進(jìn)行逐條解析,得到多條數(shù)據(jù)解析指令;將所述多條數(shù)據(jù)解析指令中均包括至少部分預(yù)設(shè)密鑰值的數(shù)據(jù)解析指令,確定為所述多條數(shù)據(jù)傳送指令。16.根據(jù)權(quán)利要求13中所述的裝置,其特征在于,所述密鑰燒錄裝置還包括:第一執(zhí)行模塊,被配置為執(zhí)行所述僅可執(zhí)行存儲器中的所述第二機(jī)器碼,以獲取所述目標(biāo)密鑰值;第二處理模塊,被配置為將所述目標(biāo)密鑰值寫入緩沖區(qū)。17.根據(jù)權(quán)利要求14中所述的裝置,其特征在于,所述第二機(jī)器碼包括第三定位標(biāo)記和第四定位標(biāo)記,所述第三定位標(biāo)記用于指示所述第二機(jī)器碼中包括目標(biāo)密鑰值的第一條數(shù)據(jù)傳送指令的起始位置,所述第四定位標(biāo)記用于指示所述第二機(jī)器碼中包括目標(biāo)密鑰值的最后一條數(shù)據(jù)傳送指令的結(jié)束位置。18.根據(jù)權(quán)利要求17中所述的裝置,其特征在于,所述第一定位標(biāo)記、所述第二定位標(biāo)記、所述第三定位標(biāo)記和所述第四定位標(biāo)記分別為無用的、不產(chǎn)生任何副作用的指令。19.根據(jù)權(quán)利要求16中所述的裝置,其特征在于,所述第二機(jī)器碼包括第三定位標(biāo)記和第四定位標(biāo)記;所述第一執(zhí)行模塊,被配置為:獲取所述第二機(jī)器碼中位于所述第三定位標(biāo)記和所述第四定位標(biāo)記之間的多條目標(biāo)機(jī)器碼;依次執(zhí)行所述多條目標(biāo)機(jī)器碼中的每條目標(biāo)機(jī)器碼,以獲取每條所述目標(biāo)機(jī)器碼的數(shù)據(jù)傳送指令中的目標(biāo)密鑰值;所述第二處理模塊,被配置為:將每條所述目標(biāo)機(jī)器碼的數(shù)據(jù)傳送指令中的目標(biāo)密鑰值依次寫入所述緩沖區(qū)。20.根據(jù)權(quán)利要求19中所述的裝置,其特征在于,所述第二機(jī)器碼還包括多條調(diào)用指令機(jī)器碼,一條調(diào)用指令機(jī)器碼與所述多條目標(biāo)機(jī)器碼中的一條目標(biāo)機(jī)器碼對應(yīng),每條調(diào)用指令機(jī)器碼為用于調(diào)用一條目標(biāo)機(jī)器碼的調(diào)用指令的機(jī)器碼。21.根據(jù)權(quán)利要求20中所述的裝置,其特征在于,所述密鑰燒錄裝置還包括:第二執(zhí)行模塊,被配置為執(zhí)行所述多條調(diào)用指令機(jī)器碼中的第i條調(diào)用指令機(jī)器碼,以判斷所述調(diào)用指令的地址合法性;所述第一執(zhí)行模塊,被配置為:在確定所述調(diào)用指令的地址合法的情況下,執(zhí)行與所述第i條調(diào)用指令機(jī)器碼對應(yīng)的所述多條目標(biāo)機(jī)器碼中的第i條目標(biāo)機(jī)器碼,以獲取所述第i條目標(biāo)機(jī)器碼的數(shù)據(jù)傳送指令中的目標(biāo)密鑰值。22.根據(jù)權(quán)利要求16中所述的裝置,其特征在于,所述密鑰燒錄裝置還包括:第三處理模塊,被配置為在內(nèi)存中設(shè)置所述緩沖區(qū),所述緩沖區(qū)的大小大于或等于所述目標(biāo)密鑰值的長度;所述第二處理模塊,具體被配置為:獲取第一參數(shù)和第二參數(shù),所述第一參數(shù)用于指示所述緩沖區(qū)的起始位置地址,所述第二參數(shù)用于指示所述緩沖區(qū)的大小;根據(jù)所述第一參數(shù)和所述第二參數(shù),將所述目標(biāo)密鑰值對應(yīng)寫入所述緩沖區(qū)。23.根據(jù)權(quán)利要求16或22中所述的裝置,其特征在于,所述密鑰燒錄裝置還包括:
第四處理模塊,被配置為清空所述緩沖區(qū)中的所有數(shù)據(jù)。24.根據(jù)權(quán)利要求16中所述的裝置,其特征在于,所述密鑰燒錄裝置還包括:第三執(zhí)行模塊,被配置為根據(jù)所述目標(biāo)密鑰值,執(zhí)行目標(biāo)操作;其中,所述執(zhí)行目標(biāo)操作包括以下至少一項:分散密鑰、加密數(shù)據(jù)、解密數(shù)據(jù)。25.一種電子設(shè)備,其特征在于,包括存儲器和處理器;其中,所述存儲器用于存儲一條或多條計算機(jī)指令,其中,所述一條或多條計算機(jī)指令被所述處理器執(zhí)行以實(shí)現(xiàn)權(quán)利要求1至12中任一項所述的方法步驟。26.一種計算機(jī)可讀存儲介質(zhì),其上存儲有計算機(jī)指令,其特征在于,該計算機(jī)指令被處理器執(zhí)行時實(shí)現(xiàn)權(quán)利要求1至12中任一項所述的方法步驟。
技術(shù)總結(jié)
本公開涉及密鑰安全存儲技術(shù)領(lǐng)域,具體涉及一種密鑰燒錄方法、裝置、電子設(shè)備及可讀存儲介質(zhì),所述密鑰燒錄包括:獲取嵌入有預(yù)設(shè)密鑰值的第一機(jī)器碼;對所述第一機(jī)器碼進(jìn)行解析,得到多條數(shù)據(jù)傳送指令;將所述多條數(shù)據(jù)傳送指令中每條數(shù)據(jù)傳送指令中的至少部分預(yù)設(shè)密鑰值,替換為目標(biāo)密鑰值中對應(yīng)位置的密鑰值,得到第二機(jī)器碼;將所述第二機(jī)器碼燒錄至僅可執(zhí)行存儲器。該方案能夠在無需編譯程序源代碼的前提下,可以直接將二進(jìn)制機(jī)器碼中已嵌入的預(yù)設(shè)密鑰值替換為不同設(shè)備的目標(biāo)密鑰值,即通過直接修改僅可執(zhí)行存儲器固件的二進(jìn)制數(shù)據(jù)的方式,確保滿足一機(jī)一密的需求,從而降低了程序源代碼的泄露風(fēng)險,提高了密鑰燒錄的安全性。安全性。安全性。
