最新的毛片基地免费,国产国语一级毛片,免费国产成人高清在线电影,中天堂国产日韩欧美,中国国产aa一级毛片,国产va欧美va在线观看,成人不卡在线

一種芯片密鑰的寫入方法及裝置與流程

文檔序號:12467840閱讀:533來源:國知局
一種芯片密鑰的寫入方法及裝置與流程

本發(fā)明涉及芯片安全技術(shù)領(lǐng)域,特別涉及一種芯片密鑰的寫入方法及裝置。



背景技術(shù):

隨著科技的不斷進步,芯片已經(jīng)廣泛應(yīng)用到各個領(lǐng)域,如:電力、金融、交通、社保、環(huán)保等多個行業(yè)。無論應(yīng)用于哪個行業(yè),對芯片的安全、速度要求卻是共同的。如何保證芯片應(yīng)用的安全性,這里面有一整套的安全機制,其中涉及到的一部分即是芯片中密鑰的寫入,包括密鑰的裝載及更新。同時,在安全的情況下,如何快速的裝載密鑰、更新密鑰也是信息化社會提高用戶體驗的不得不解決的問題。

現(xiàn)有技術(shù)中一般芯片應(yīng)用開發(fā)商,是直接在指令中給出密鑰值,沒有相關(guān)密鑰值是否完整性的保護,且在執(zhí)行操作時每次僅能裝載、或更新一條密鑰。大大降低了密鑰裝載及更新的速度。不能廣泛應(yīng)用于對密鑰安全性要求高、執(zhí)行速度快的場合。



技術(shù)實現(xiàn)要素:

本發(fā)明提供一種芯片密鑰的寫入方法及裝置,用于解決現(xiàn)有技術(shù)中向芯片內(nèi)寫入密鑰的方案無法保證裝載及更新密鑰的完整性和快速性的技術(shù)問題。

本發(fā)明實施例提供一種芯片密鑰的寫入方法,包括:

輸入芯片密鑰裝載及更新指令,所述指令中包含校驗碼MAC值,所述指令指示對所述芯片裝載或更新N條密鑰,所述N為大于等于1的整數(shù);

根據(jù)所述指令中的預(yù)設(shè)個數(shù)字節(jié)的命令頭和所述N條密鑰的密鑰密文獲取數(shù)據(jù)完整性校驗值;

根據(jù)所述數(shù)據(jù)完整性校驗值和所述MAC值確定寫入所述芯片的密鑰的完整性。

本發(fā)明實施例提供的方法中,通過采用輸入芯片密鑰裝載及更新指令,所述指令中包含校驗碼MAC值,所述指令指示對所述芯片裝載或更新N條密鑰,所述N為大于等于1的整數(shù);根據(jù)所述指令中的預(yù)設(shè)個數(shù)字節(jié)的命令頭和所述N條密鑰的密鑰密文獲取數(shù)據(jù)完整性校驗值;根據(jù)所述數(shù)據(jù)完整性校驗值和所述MAC值確定寫入所述芯片的密鑰的完整性的技術(shù)手段,解決了現(xiàn)有技術(shù)中向芯片中更新或裝載密鑰時,無法對密鑰值的完整性進行驗證,并且每次僅能寫入一條密鑰,效率較低的技術(shù)問題,進而實現(xiàn)了一方面保證了寫入密鑰的完整性,另一方面,加快了密鑰裝載及更新處理的數(shù)量,有效加快芯片的密鑰處理能力技術(shù)效果,并且是一種新型的密鑰信息基于MAC校驗方式的可同時裝載及更新多條密鑰的解決方案。

可選的,在確定寫入所述芯片的密鑰有完整性之后,該方法還包括:

根據(jù)所述指令中包含的解密參數(shù),對所述N個密鑰密文解密得到相應(yīng)的密鑰明文;

根據(jù)所述指令中包含的指示裝載或更新的參數(shù),從所述密鑰明文中解析出需要寫入的密鑰內(nèi)容;

根據(jù)所述指令中包含的密鑰個數(shù)參數(shù)確定N的數(shù)值;

將確定的N的數(shù)值個所述密鑰內(nèi)容寫入所述芯片,進行密鑰裝載或更新。

可選的,所述N個密鑰密文和所述MAC值位于所述指令的數(shù)據(jù)域中。

可選的,每條密鑰密文包括密鑰明文,與裝載或更新參數(shù)相關(guān)的密文填充字節(jié)和密文參數(shù);

每條密鑰明文包括:8字節(jié)密鑰屬性和16字節(jié)密鑰內(nèi)容。

可選的,所述指令中的預(yù)設(shè)個數(shù)字節(jié)的命令頭和所述N條密鑰的密鑰密文獲取數(shù)據(jù)完整性校驗值,具體包括:

在所述指令中的預(yù)設(shè)個數(shù)字節(jié)的命令頭和所述N條密鑰的密鑰密文后填充校驗填充字節(jié),并進行MAC計算,得到數(shù)據(jù)完整性校驗值;

所述根據(jù)所述數(shù)據(jù)完整性校驗值和所述MAC值確定寫入所述芯片的密鑰的完整性,具體包括:

比較所述數(shù)據(jù)完整性校驗值與所述MAC值是否一致,若一致,則確定寫入所述芯片的密鑰具有完整性;若不一致,則返回校驗出錯信息。

基于同樣的發(fā)明構(gòu)思,本發(fā)明實施例繼續(xù)提供一種芯片密鑰的寫入裝置,包括:

接收模塊,用于接收輸入的芯片密鑰裝載及更新指令,所述指令中包含校驗碼MAC值,所述指令指示對所述芯片裝載或更新N條密鑰,所述N為大于等于1的整數(shù);

校驗?zāi)K,用于根據(jù)所述指令中的預(yù)設(shè)個數(shù)字節(jié)的命令頭和所述N條密鑰的密鑰密文獲取數(shù)據(jù)完整性校驗值;

完整確定模塊,用于根據(jù)所述數(shù)據(jù)完整性校驗值和所述MAC值確定寫入所述芯片的密鑰的完整性。

本發(fā)明實施例提供的裝置,具有基于MAC校驗方式的可同時裝載及更新多條密鑰的功能。具有接收輸入的芯片密鑰裝載及更新指令,所述指令中包含校驗碼MAC值,所述指令指示對所述芯片裝載或更新N條密鑰,所述N為大于等于1的整數(shù);根據(jù)所述指令中的預(yù)設(shè)個數(shù)字節(jié)的命令頭和所述N條密鑰的密鑰密文獲取數(shù)據(jù)完整性校驗值;根據(jù)所述數(shù)據(jù)完整性校驗值和所述MAC值確定寫入所述芯片的密鑰的完整性的功能,解決了現(xiàn)有技術(shù)中向芯片中更新或裝載密鑰時,無法對密鑰值的完整性進行驗證,并且每次僅能寫入一條密鑰,效率較低的技術(shù)問題,進而實現(xiàn)了一方面保證了寫入密鑰的完整性,另一方面,加快了密鑰裝載及更新處理的數(shù)量,有效加快芯片的密鑰處理能力技術(shù)效果。

可選的,該裝置還包括:

解密模塊,用于在完整確定模塊確定寫入所述芯片的密鑰有完整性之后,根據(jù)所述指令中包含的解密參數(shù),對所述N個密鑰密文解密得到相應(yīng)的密鑰明文;

解析模塊,用于根據(jù)所述指令中包含的指示裝載或更新的參數(shù),從所述密鑰明文中解析出需要寫入的密鑰內(nèi)容;

數(shù)量確定模塊,用于根據(jù)所述指令中包含的密鑰個數(shù)參數(shù)確定N的數(shù)值;

寫入模塊,用于將確定的N的數(shù)值個所述密鑰內(nèi)容寫入所述芯片,進行密鑰裝載或更新。

可選的,所述N個密鑰密文和所述MAC值位于所述指令的數(shù)據(jù)域中。

可選的,每條密鑰密文包括密鑰明文,與裝載或更新參數(shù)相關(guān)的密文填充字節(jié)和密文參數(shù);

每條密鑰明文包括:8字節(jié)密鑰屬性和16字節(jié)密鑰內(nèi)容。

可選的,所述校驗?zāi)K,具體用于在所述指令中的預(yù)設(shè)個數(shù)字節(jié)的命令頭和所述N條密鑰的密鑰密文后填充校驗填充字節(jié),并進行MAC計算,得到數(shù)據(jù)完整性校驗值;

所述完整確定模塊,具體用于比較所述數(shù)據(jù)完整性校驗值與所述MAC值是否一致,若一致,則確定寫入所述芯片的密鑰具有完整性;若不一致,則返回校驗出錯信息。

本發(fā)明的其它特征和優(yōu)點將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在所寫的說明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。

下面通過附圖和實施例,對本發(fā)明的技術(shù)方案做進一步的詳細(xì)描述。

附圖說明

附圖用來提供對本發(fā)明的進一步理解,并且構(gòu)成說明書的一部分,與本發(fā)明的實施例一起用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的限制。在附圖中:

圖1為本發(fā)明實施例一中提供的一種芯片密鑰的寫入方法的流程圖;

圖2為本發(fā)明實施例二中提供的一種芯片密鑰的寫入方法的流程圖;

圖3為本發(fā)明實施例三中提供的一種芯片密鑰的寫入裝置的結(jié)構(gòu)示意圖。

具體實施方式

以下結(jié)合附圖對本發(fā)明的優(yōu)選實施例進行說明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。

實施例一

本發(fā)明實施例提供一種芯片密鑰的寫入方法,該方法適合部署在對芯片更新或裝載密鑰的裝載或設(shè)備上。如圖1所示,該方法包括:

101,輸入芯片密鑰裝載及更新指令,所述指令中包含校驗碼MAC值,所述指令指示對所述芯片裝載或更新N條密鑰,所述N為大于等于1的整數(shù);

其中,本實施例及下述實施例中提到的指令均是指芯片密鑰裝載及更新指令。提到的寫入密鑰包括更新密鑰或裝載密鑰。

其中,N代表可寫入一條密鑰,也可以同時寫入多條密鑰,即寫入多條密鑰內(nèi)容。

102,根據(jù)所述指令中的預(yù)設(shè)個數(shù)字節(jié)的命令頭和所述N條密鑰的密鑰密文獲取數(shù)據(jù)完整性校驗值;

可選的,102可具體包括:在所述指令中的預(yù)設(shè)個數(shù)字節(jié)的命令頭和所述N條密鑰的密鑰密文后填充校驗填充字節(jié),并進行MAC計算,得到數(shù)據(jù)完整性校驗值。

其中,預(yù)設(shè)個數(shù)字節(jié)的命令頭可以為5字節(jié)的命令頭。校驗填充字節(jié)可以為為800000。

可選的,每條密鑰密文包括密鑰明文,與裝載或更新參數(shù)相關(guān)的密文填充字節(jié)(8000000000000000或80000000000000000000000000000000)和密文參數(shù)L;

每條密鑰明文包括:8字節(jié)密鑰屬性和16字節(jié)密鑰內(nèi)容。

103,根據(jù)所述數(shù)據(jù)完整性校驗值和所述MAC值確定寫入所述芯片的密鑰的完整性。

可選的,103可具體包括:比較所述數(shù)據(jù)完整性校驗值與所述MAC值是否一致,若一致,則確定寫入所述芯片的密鑰具有完整性;若不一致,則返回校驗出錯信息。

本發(fā)明實施例提供的方法中,通過采用輸入芯片密鑰裝載及更新指令,所述指令中包含校驗碼MAC值,所述指令指示對所述芯片裝載或更新N條密鑰,所述N為大于等于1的整數(shù);根據(jù)所述指令中的預(yù)設(shè)個數(shù)字節(jié)的命令頭和所述N條密鑰的密鑰密文獲取數(shù)據(jù)完整性校驗值;根據(jù)所述數(shù)據(jù)完整性校驗值和所述MAC值確定寫入所述芯片的密鑰的完整性的技術(shù)手段,解決了現(xiàn)有技術(shù)中向芯片中更新或裝載密鑰時,無法對密鑰值的完整性進行驗證,并且每次僅能寫入一條密鑰,效率較低的技術(shù)問題,進而實現(xiàn)了一方面保證了寫入密鑰的完整性,另一方面,加快了密鑰裝載及更新處理的數(shù)量,有效加快芯片的密鑰處理能力技術(shù)效果,并且是一種新型的密鑰信息基于MAC校驗方式的可同時裝載及更新多條密鑰的解決方案。

可選的,在確定寫入所述芯片的密鑰有完整性之后,該方法還包括:

根據(jù)所述指令中包含的解密參數(shù)(例如P2的數(shù)值KID),對所述N個密鑰密文解密得到相應(yīng)的密鑰明文;

根據(jù)所述指令中包含的指示裝載或更新的參數(shù)(例如P1),從所述密鑰明文中解析出需要寫入的密鑰內(nèi)容;

根據(jù)所述指令中包含的密鑰個數(shù)參數(shù)(例如Lc)確定N的具體數(shù)值;

將確定的N的數(shù)值個所述密鑰內(nèi)容寫入所述芯片,進行密鑰裝載或更新。

可選的,所述N個密鑰密文和所述MAC值位于所述指令的數(shù)據(jù)域中。

根據(jù)上述內(nèi)容,本實施例的密鑰裝載及更新指令的格式可具體如下表一所示:例如CLA INS P1 P2 Lc Data。其中,

表一

其中,CLA代表指令類別;INS代表指令碼;P1、P2為參數(shù);Lc代表Data域的數(shù)據(jù)長度。

本發(fā)明實施例中的密鑰明文結(jié)構(gòu)為:8字節(jié)密鑰屬性+16字節(jié)密鑰內(nèi)容。

單條密鑰密文計算方式為:密鑰明文前加L,加填充字節(jié)進行加密,得到單條密鑰的密文內(nèi)容。當(dāng)P1=00時,L=18H,填充字節(jié)為8000000000000000;當(dāng)P1=01時,L=13H,填充字節(jié)為80000000000000000000000000000000。

當(dāng)有N條密鑰需要裝載或更新時,數(shù)據(jù)域內(nèi)容中密鑰密文為:N個單條密鑰密文的結(jié)合。

實施例二

本發(fā)明實施例具體以表一所示的指令為例,提供一種芯片密鑰的寫入方法,如圖2所示,該方法包括:

200,輸入芯片密鑰裝載及更新指令,開始密鑰裝載及更新;

該指令格式可參照上表一,其中,包括4字節(jié)MAC值。

201,在所述指令中的預(yù)設(shè)個數(shù)字節(jié)(如5字節(jié))的命令頭和所述N條密鑰的密鑰密文后填充校驗填充字節(jié),并進行MAC計算,得到數(shù)據(jù)完整性校驗值。

例如:對指令中的“5字節(jié)命令頭+密鑰密文”填充800000,進行MAC計算,得到數(shù)據(jù)完整性校驗值;5字節(jié)命令頭是指CLA,INS,P 1,P2,Lc。

MAC計算的方式:5字節(jié)命令頭+密鑰密文,后面填充800000,用填充后的數(shù)據(jù)整體進行MAC計算,得到數(shù)據(jù)完整性校驗值。

202,比較所述數(shù)據(jù)完整性校驗值與所述MAC值是否一致,若一致,則確定寫入所述芯片的密鑰具有完整性,執(zhí)行204;若不一致,則執(zhí)行203;

例如:比對202計算出來的MAC值與命令中傳輸?shù)腗AC值,如果一致,則繼續(xù)204。否則,執(zhí)行203。

203,返回校驗出錯信息;

例如:返回“MAC校驗出錯”。

204,根據(jù)所述指令中包含的解密參數(shù)(例如P2的數(shù)值KID),對所述N個密鑰密文解密得到相應(yīng)的密鑰明文;

例如:根據(jù)P2指定的解密參數(shù)KID對數(shù)據(jù)域中的密鑰密文進行解密,得到明文信息:L+密鑰內(nèi)容+填充內(nèi)容。

205,根據(jù)所述指令中包含的指示裝載或更新的參數(shù)(例如P1),判斷是要裝載密鑰還是更新密鑰;若是裝載密鑰,則執(zhí)行206;若是更新密鑰,則執(zhí)行207;

206,從密鑰明文中解析出需要裝載的密鑰內(nèi)容,并執(zhí)行208;

207,從密鑰明文中解析出需要更新的密鑰內(nèi)容;

例如上述205-207:根據(jù)P1是否為00來判斷解密的密鑰內(nèi)容是裝載還是更新。如果是裝載密鑰,去掉7字節(jié)填充8000000000000000,剩下的為密鑰內(nèi)容;如果是更新密鑰,去掉12字節(jié)填充80000000000000000000000000,剩下的為密鑰內(nèi)容。

可選的,還可以在得到密鑰內(nèi)容后,確定密鑰格式是否正確,若正確,則執(zhí)行下述208;否則可返回數(shù)據(jù)域錯誤信息。

208,根據(jù)所述指令中包含的密鑰個數(shù)參數(shù)(例如Lc)確定N的具體數(shù)值;

例如:計算出需要裝載、更新密鑰的條數(shù)N=(Lc-4)/32。

209,將確定的N的數(shù)值個所述密鑰內(nèi)容寫入所述芯片,進行密鑰裝載或更新。

例如:將N條密鑰內(nèi)容寫到相應(yīng)的芯片中。

本發(fā)明實施例提供的方法在進行密鑰裝載、及更新時,可以同時對多條密鑰進行操作。并且在對命令進行完整性校驗時,采用密文+MAC校驗方式,而傳統(tǒng)方式僅采用密文方式,或明文MAC方式。此為,在計算MAC的過程中,將命令頭加到計算MAC的過程中,相對于現(xiàn)有僅對數(shù)據(jù)進行MAC計算的方式更加可靠;同時由于可操作的密鑰條數(shù)增加,所以可以有效提高密鑰的裝載、或更新的速度。

實施例三

為了便于上述實施例一、二中的方法實現(xiàn),本發(fā)明實施例繼續(xù)提供一種芯片密鑰的寫入裝置,如圖3所示,包括:

接收模塊31,用于接收輸入的芯片密鑰裝載及更新指令,所述指令中包含校驗碼MAC值,所述指令指示對所述芯片裝載或更新N條密鑰,所述N為大于等于1的整數(shù);

校驗?zāi)K32,用于根據(jù)所述指令中的預(yù)設(shè)個數(shù)字節(jié)的命令頭和所述N條密鑰的密鑰密文獲取數(shù)據(jù)完整性校驗值;

完整確定模塊33,用于根據(jù)所述數(shù)據(jù)完整性校驗值和所述MAC值確定寫入所述芯片的密鑰的完整性。

可選的,該裝置還包括:

解密模塊,用于在完整確定模塊確定寫入所述芯片的密鑰有完整性之后,根據(jù)所述指令中包含的解密參數(shù),對所述N個密鑰密文解密得到相應(yīng)的密鑰明文;

解析模塊,用于根據(jù)所述指令中包含的指示裝載或更新的參數(shù),從所述密鑰明文中解析出需要寫入的密鑰內(nèi)容;

數(shù)量確定模塊,用于根據(jù)所述指令中包含的密鑰個數(shù)參數(shù)確定N的數(shù)值;

寫入模塊,用于將確定的N的數(shù)值個所述密鑰內(nèi)容寫入所述芯片,進行密鑰裝載或更新。

可選的,所述N個密鑰密文和所述MAC值位于所述指令的數(shù)據(jù)域中。

可選的,每條密鑰密文包括密鑰明文,與裝載或更新參數(shù)相關(guān)的密文填充字節(jié)和密文參數(shù);

每條密鑰明文包括:8字節(jié)密鑰屬性和16字節(jié)密鑰內(nèi)容。

可選的,所述校驗?zāi)K,具體用于在所述指令中的預(yù)設(shè)個數(shù)字節(jié)的命令頭和所述N條密鑰的密鑰密文后填充校驗填充字節(jié),并進行MAC計算,得到數(shù)據(jù)完整性校驗值;

所述完整確定模塊,具體用于比較所述數(shù)據(jù)完整性校驗值與所述MAC值是否一致,若一致,則確定寫入所述芯片的密鑰具有完整性;若不一致,則返回校驗出錯信息。

本發(fā)明實施例提供的裝置,具有基于MAC校驗方式的可同時裝載及更新多條密鑰的功能。具有接收輸入的芯片密鑰裝載及更新指令,所述指令中包含校驗碼MAC值,所述指令指示對所述芯片裝載或更新N條密鑰,所述N為大于等于1的整數(shù);根據(jù)所述指令中的預(yù)設(shè)個數(shù)字節(jié)的命令頭和所述N條密鑰的密鑰密文獲取數(shù)據(jù)完整性校驗值;根據(jù)所述數(shù)據(jù)完整性校驗值和所述MAC值確定寫入所述芯片的密鑰的完整性的功能,解決了現(xiàn)有技術(shù)中向芯片中更新或裝載密鑰時,無法對密鑰值的完整性進行驗證,并且每次僅能寫入一條密鑰,效率較低的技術(shù)問題,進而實現(xiàn)了一方面保證了寫入密鑰的完整性,另一方面,加快了密鑰裝載及更新處理的數(shù)量,有效加快芯片的密鑰處理能力技術(shù)效果。

本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器和光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。

本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。

這些計算機程序指令也可存儲在能引導(dǎo)計算機或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。

這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。

顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1