一種提高嵌入式加密芯片通訊傳輸安全性的方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種提高嵌入式加密芯片通訊傳輸安全性的方法。所述方法包括:加密芯片和主控制器進(jìn)行會(huì)話(huà)密鑰協(xié)商;加密芯片使用會(huì)話(huà)密鑰加密內(nèi)部生成的隨機(jī)數(shù)通訊密鑰列表并將其上傳給主控制器;主控制器使用會(huì)話(huà)密鑰解密隨機(jī)數(shù)通訊密鑰列表密文得到列表副本;主控制器和加密芯片使用從列表中隨機(jī)選取的通訊密鑰加密下發(fā)的操作命令數(shù)據(jù)和應(yīng)答數(shù)據(jù),并通過(guò)通訊密鑰標(biāo)識(shí)符在隨機(jī)數(shù)通訊密鑰列表中提取密鑰解密數(shù)據(jù)。本發(fā)明實(shí)現(xiàn)了一種提高嵌入式加密芯片通訊傳輸安全性的方法,既提高了嵌入式加密芯片和主控制器之間通訊密鑰的隨機(jī)性和通訊傳輸?shù)陌踩?,又避免了每次通訊都需要進(jìn)行通訊密鑰協(xié)商從而影響通訊傳輸效率的問(wèn)題。
【專(zhuān)利說(shuō)明】一種提高嵌入式加密芯片通訊傳輸安全性的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通訊數(shù)據(jù)傳輸領(lǐng)域,特別涉及一種提高嵌入式加密芯片通訊傳輸安全性的方法。
【背景技術(shù)】
[0002]通訊數(shù)據(jù)傳輸?shù)陌踩詺v來(lái)是加密應(yīng)用首先需要考慮的問(wèn)題,在安全性要求較高的加密應(yīng)用中,為防止監(jiān)聽(tīng)通訊線(xiàn)路數(shù)據(jù),甚至需要頻繁的密鑰協(xié)商以更新通訊密鑰。
[0003]目前通用的密鑰協(xié)商算法,如EO)H(Elliptic Curves Diffie-Hellman)等(EO)H是基于 ECC(Elliptic Curve Cryptosystems,捕圓曲線(xiàn)密碼體制的 DH( Diffie-Hellman)密鑰交換算法,交換雙方可以在不共享任何秘密的情況下協(xié)商出一個(gè)密鑰)計(jì)算復(fù)雜,尤其在嵌入式加密芯片應(yīng)用中,因主控制器CPU運(yùn)算能力和RAM等資源有限,密鑰協(xié)商耗時(shí)較長(zhǎng),如果頻繁的進(jìn)行密鑰協(xié)商,消耗了較多的主控制器資源,不能滿(mǎn)足一些實(shí)時(shí)性較高的應(yīng)用場(chǎng)合。
【發(fā)明內(nèi)容】
[0004]為提高嵌入式加密芯片和主控制器之間通訊密鑰的隨機(jī)性和通訊傳輸?shù)陌踩裕瑫r(shí)避免每次通訊都需要進(jìn)行通訊密鑰協(xié)商從而影響通訊傳輸效率的問(wèn)題,本發(fā)明提供了一種提高嵌入式加密芯片通訊傳輸安全性的方法。所述方法具體步驟包括:
加密芯片和主控制器建立連接;
所述主控制器向所述加密芯片下發(fā)會(huì)話(huà)密鑰協(xié)商命令;
所述加密芯片接收所述主控制器下發(fā)的所述會(huì)話(huà)密鑰協(xié)商命令,執(zhí)行所述會(huì)話(huà)密鑰協(xié)商命令;
所述加密芯片向所述主控制器返回會(huì)話(huà)密鑰協(xié)商響應(yīng)數(shù)據(jù);
所述主控制器根據(jù)所述會(huì)話(huà)密鑰協(xié)商命令及所述會(huì)話(huà)密鑰協(xié)商響應(yīng)數(shù)據(jù),計(jì)算得到會(huì)話(huà)密鑰;
所述加密芯片根據(jù)所述會(huì)話(huà)密鑰協(xié)商命令及所述會(huì)話(huà)密鑰協(xié)商響應(yīng)數(shù)據(jù),計(jì)算得到所述會(huì)話(huà)密鑰;
所述加密芯片內(nèi)部通過(guò)隨機(jī)數(shù)發(fā)生器生成隨機(jī)數(shù)通訊密鑰列表;
其中,所述隨機(jī)數(shù)通訊密鑰列表是多個(gè)通訊密鑰標(biāo)識(shí)符和標(biāo)識(shí)符所對(duì)應(yīng)通訊密鑰的組
口 ο
[0005]所述加密芯片使用所述會(huì)話(huà)密鑰,加密所述隨機(jī)數(shù)通訊密鑰列表,得到隨機(jī)數(shù)通訊密鑰列表密文;
所述主控制器向所述加密芯片下發(fā)獲取通訊密鑰列表命令;
所述加密芯片接收所述主控制器下發(fā)的獲取通訊密鑰列表命令,向所述主控制器返回所述隨機(jī)數(shù)通訊密鑰列表密文;
所述主控制器使用所述會(huì)話(huà)密鑰,解密所述隨機(jī)數(shù)通訊密鑰列表密文,得到隨機(jī)數(shù)通訊密鑰列表明文;
所述主控制器從所述隨機(jī)數(shù)通訊密鑰列表中隨機(jī)選擇第一通訊密鑰,使用第一通訊密鑰加密下發(fā)的操作命令和數(shù)據(jù);
所述主控制器將第一通訊密鑰標(biāo)識(shí)符及所述第一通訊密鑰加密的操作命令和數(shù)據(jù)下發(fā)給所述加密芯片;
所述加密芯片接收下發(fā)的所述第一通訊密鑰標(biāo)識(shí)符及所述第一通訊密鑰加密的操作命令和數(shù)據(jù);所述加密芯片根據(jù)所述第一通訊密鑰標(biāo)識(shí)符,在所述隨機(jī)數(shù)通訊密鑰列表中提取所述第一通訊密鑰,并使用所述第一通訊密鑰,解密所述第一通訊密鑰加密的操作命令和數(shù)據(jù),得到操作命令和數(shù)據(jù)明文;
所述加密芯片執(zhí)行所述操作命令,得到操作命令響應(yīng)數(shù)據(jù);
所述加密芯片從所述隨機(jī)數(shù)通訊密鑰列表中隨機(jī)選擇第二通訊密鑰,使用第二通訊密鑰加密所述操作命令響應(yīng)數(shù)據(jù);
所述加密芯片向所述主控制器返回所述第二通訊密鑰標(biāo)識(shí)符和所述操作命令響應(yīng)數(shù)
據(jù);
所述主控制器接收第二通訊密鑰標(biāo)識(shí)符及所述操作命令響應(yīng)數(shù)據(jù);所述主控制器根據(jù)所述第二通訊密鑰標(biāo)識(shí)符,在所述隨機(jī)數(shù)通訊密鑰列表中提取所述第二通訊密鑰,并使用所述第二通訊密鑰解密所述第二通訊密鑰加密的所述操作命令響應(yīng)數(shù)據(jù),得到響應(yīng)數(shù)據(jù)明文;
其中,上述加密算法采用對(duì)稱(chēng)或非對(duì)稱(chēng)加密算法,根據(jù)一個(gè)【具體實(shí)施方式】,對(duì)稱(chēng)加密算法包括AES、DES、TDES;非對(duì)稱(chēng)加密算法包括RSA、ECC0
[0006]本發(fā)明提供的技術(shù)方法的有益效果是:
有效的提高了嵌入式加密芯片和主控制器之間通訊密鑰的隨機(jī)性和通訊傳輸?shù)陌踩?,又避免了每次通訊都需要進(jìn)行通訊密鑰協(xié)商從而影響通訊傳輸效率的問(wèn)題。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0007]圖1是本發(fā)明實(shí)施例1提供的提高嵌入式加密芯片通訊傳輸安全性的方法流程示意圖;
圖2是本發(fā)明實(shí)施例2提供的提高嵌入式加密芯片通訊傳輸安全性的方法加密芯片側(cè)流程示意圖;
圖3是本發(fā)明實(shí)施例2提供的提高嵌入式加密芯片通訊傳輸安全性的方法主控制器側(cè)流程示意圖。
【具體實(shí)施方式】
[0008]為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉實(shí)施例,對(duì)本發(fā)明進(jìn)一步詳細(xì)說(shuō)明。
[0009]實(shí)施例1
為了提高了嵌入式加密芯片和主控制器之間通訊密鑰的隨機(jī)性和通訊傳輸?shù)陌踩裕苊饷看瓮ㄓ嵍夹枰M(jìn)行通訊密鑰協(xié)商從而影響通訊傳輸效率的問(wèn)題,本發(fā)明提供了一種提高嵌入式加密芯片通訊傳輸安全性的方法,參見(jiàn)圖1,所述方法包括:Si:加密芯片和主控制器建立連接;
S2:主控制器向加密芯片下發(fā)會(huì)話(huà)密鑰協(xié)商命令;
S3:加密芯片接收主控制器下發(fā)的會(huì)話(huà)密鑰協(xié)商命令,執(zhí)行會(huì)話(huà)密鑰協(xié)商命令;其中,加密芯片按同主控制器約定的密鑰協(xié)商算法(如ECDH),計(jì)算得到會(huì)話(huà)密鑰,并返回會(huì)話(huà)密鑰協(xié)商響應(yīng)數(shù)據(jù)給主控制器;
根據(jù)本發(fā)明的一個(gè)實(shí)施方式,會(huì)話(huà)密鑰協(xié)商命令數(shù)據(jù)包具體數(shù)據(jù)傳輸格式為: usPLen + ucFlag + ucCls + uclns + usPl + usP2 + usDLen + Data + usCrc; usPLen:兩字節(jié)數(shù)據(jù)包長(zhǎng)度,數(shù)據(jù)包長(zhǎng)度(usLen)指usLen域之后所有數(shù)據(jù)的長(zhǎng)度; ucFlag: —字節(jié)通訊密鑰標(biāo)識(shí)符;
其中,ucFlag最高位(bit7)為I表示Data域數(shù)據(jù)已加密,為O表示Data域數(shù)據(jù)未加密。ucFlag次高位至最低位(bit6~bitO)為通訊密鑰標(biāo)識(shí)符。
[0010]ucCls: —字節(jié)命令類(lèi)別;
uclns:屬于ucCls命令類(lèi)別之下的具體操作命令,長(zhǎng)度為一字節(jié); usPl:兩字節(jié)參數(shù)I ; usP2:兩字節(jié)參數(shù)2 ;
usDLen:兩字節(jié)Data域有效數(shù)據(jù)長(zhǎng)度,因Data域數(shù)據(jù)長(zhǎng)度為適應(yīng)某些加密算法需補(bǔ)O對(duì)齊,usDLen為未補(bǔ)O前的有效數(shù)據(jù)長(zhǎng)度;
Data:進(jìn)行交互的數(shù) 據(jù);
usCrc:兩字節(jié)數(shù)據(jù)包CRC16校驗(yàn)和,指從usPLen域之后到usCrc域之前所有數(shù)據(jù)的校驗(yàn)和;
S4:加密芯片向主控制器返回會(huì)話(huà)密鑰協(xié)商響應(yīng)數(shù)據(jù);根據(jù)本發(fā)明的一個(gè)實(shí)施方式,所述響應(yīng)數(shù)據(jù)具體傳輸格式為:
usPLen + ucFlag + usDLen + Data + usCrc;
S5:主控制器根據(jù)下發(fā)的會(huì)話(huà)密鑰協(xié)商命令及加密芯片返回的會(huì)話(huà)密鑰協(xié)商響應(yīng)數(shù)據(jù),計(jì)算得到會(huì)話(huà)密鑰;根據(jù)本發(fā)明的一個(gè)實(shí)施方式,加密芯片按同主控制器約定的密鑰協(xié)商算法(如ECDH),計(jì)算得到會(huì)話(huà)密鑰;
加密芯片根據(jù)會(huì)話(huà)密鑰協(xié)商命令及會(huì)話(huà)密鑰協(xié)商響應(yīng)數(shù)據(jù),計(jì)算得到會(huì)話(huà)密鑰;根據(jù)本發(fā)明的一個(gè)實(shí)施方式,通過(guò)ECDH算法計(jì)算;
S6:加密芯片內(nèi)部通過(guò)隨機(jī)數(shù)發(fā)生器生成隨機(jī)數(shù)通訊密鑰列表;根據(jù)本發(fā)明的一個(gè)實(shí)施方式,
其中,隨機(jī)數(shù)通訊密鑰列表由若干個(gè)(取值I~127)子通訊密鑰元素組成。根據(jù)本發(fā)明的一個(gè)【具體實(shí)施方式】,子通訊密鑰元素結(jié)構(gòu)體變量描述如下:typedef struct
{
unsigned char ucFlag ;//當(dāng)前子通訊密鑰標(biāo)識(shí)符
unsigned char ucKeys [KEY—LENGTH] ; // 當(dāng)前子通訊密鑰 } CommKeyStructure;
S7:加密芯片使用會(huì)話(huà)密鑰,加密隨機(jī)數(shù)通訊密鑰列表,得到隨機(jī)數(shù)通訊密鑰列表密
文;S8:主控制器向加密芯片下發(fā)獲取通訊密鑰列表命令;
S9:加密芯片接收主控制器下發(fā)的獲取通訊密鑰列表命令,向主控制器返回隨機(jī)數(shù)通訊密鑰列表密文;
SlO:主控制器使用會(huì)話(huà)密鑰,解密隨機(jī)數(shù)通訊密鑰列表密文,得到隨機(jī)數(shù)通訊密鑰列表明文;
Sll:所述主控制器從所述隨機(jī)數(shù)通訊密鑰列表中隨機(jī)選擇第一通訊密鑰(其中,所述密鑰列表中含有多個(gè)通訊密鑰),使用第一通訊密鑰加密下發(fā)的操作命令和數(shù)據(jù)(包括芯片執(zhí)行過(guò)程中用到的數(shù)據(jù));
S12:主控制器將第一通訊密鑰標(biāo)識(shí)符及第一通訊密鑰加密的操作命令和數(shù)據(jù)下發(fā)給所述加?芯片;
S13:加密芯片接收下發(fā)的第一通訊密鑰標(biāo)識(shí)符及第一通訊密鑰加密的操作命令和數(shù)據(jù);加密芯片根據(jù)第一通訊密鑰標(biāo)識(shí)符,在隨機(jī)數(shù)通訊密鑰列表中提取第一通訊密鑰,并使用第一通訊密鑰解密第一通訊密鑰加密的操作命令和數(shù)據(jù),得到操作命令和數(shù)據(jù)明文;S14:加密芯片執(zhí)行操作命令,得到操作命令響應(yīng)數(shù)據(jù);
S15:加密芯片從隨機(jī)數(shù)通訊密鑰列表中隨機(jī)選擇第二通訊密鑰,使用第二通訊密鑰加密操作命令響應(yīng)數(shù)據(jù);
S16:主控制器向 加密芯片下發(fā)獲取響應(yīng)數(shù)據(jù)命令;
S17:加密芯片向主控制器返回第二通訊密鑰標(biāo)識(shí)符和操作命令響應(yīng)數(shù)據(jù);
S18:主控制器接收第二通訊密鑰標(biāo)識(shí)符及操作命令響應(yīng)數(shù)據(jù);主控制器根據(jù)第二通訊密鑰標(biāo)識(shí)符,在隨機(jī)數(shù)通訊密鑰列表中提取第二通訊密鑰,并使用第二通訊密鑰解密第二通訊密鑰加密的操作命令響應(yīng)數(shù)據(jù),得到響應(yīng)數(shù)據(jù)明文;
S19:若主控制器命令尚未全部下發(fā),則返回步驟Sll繼續(xù)執(zhí)行;如果已全部下發(fā),則主控制器繼續(xù)其他操作。
[0011]通過(guò)本發(fā)明實(shí)施例提供的方法,提高了嵌入式加密芯片和主控制器之間通訊密鑰的隨機(jī)性和通訊傳輸?shù)陌踩裕直苊饬嗣看瓮ㄓ嵍夹枰M(jìn)行通訊密鑰協(xié)商從而影響通訊傳輸效率的問(wèn)題。
[0012]為了對(duì)上述本發(fā)明實(shí)施例提供的方法進(jìn)行詳細(xì)說(shuō)明,請(qǐng)參見(jiàn)如下實(shí)施例:
實(shí)施例2
為了提高了嵌入式加密芯片和主控制器之間通訊密鑰的隨機(jī)性和通訊傳輸?shù)陌踩?,避免每次通訊都需要進(jìn)行通訊密鑰協(xié)商從而影響通訊傳輸效率的問(wèn)題,本發(fā)明提供了一種提高嵌入式加密芯片通訊傳輸安全性的方法,參見(jiàn)圖2。
[0013]本發(fā)明實(shí)施例提供的方法以加密芯片側(cè)和主控制器側(cè)在交互過(guò)程中所執(zhí)行的主要?jiǎng)幼鬟M(jìn)行說(shuō)明,內(nèi)容如下,
一、加密芯片側(cè):
步驟101:加密芯片與主控制器進(jìn)行連接;
步驟102:加密芯片接收主控制器下發(fā)的會(huì)話(huà)密鑰協(xié)商命令數(shù)據(jù)包;
其中,下發(fā)數(shù)據(jù)包具體數(shù)據(jù)傳輸格式為:
usPLen + ucFlag + ucCls + uclns + usPl + usP2 + usDLen + Data + usCrc;
相應(yīng)地,應(yīng)答數(shù)據(jù)包傳輸格式為:usPLen + ucFlag + usDLen + Data + usCrc;
usPLen:兩字節(jié)數(shù)據(jù)包長(zhǎng)度,數(shù)據(jù)包長(zhǎng)度(usLen)指usLen域之后所有數(shù)據(jù)的長(zhǎng)度; ucFlag: 一字節(jié)通訊密鑰標(biāo)識(shí)符;
其中,ucFlag最高位(bit7)為I表示Data域數(shù)據(jù)已加密,為O表示Data域數(shù)據(jù)未加密。ucFlag次高位至最低位(bit6~bitO)為通訊密鑰標(biāo)識(shí)符。
[0014]ucCls: 一字節(jié)命令類(lèi)別;
uclns:屬于ucCls命令類(lèi)別之下的具體操作命令,長(zhǎng)度為一字節(jié); usPl:兩字節(jié)參數(shù)I ; usP2:兩字節(jié)參數(shù)2 ;
usDLen:兩字節(jié)Data域有效數(shù)據(jù)長(zhǎng)度,因Data域數(shù)據(jù)長(zhǎng)度為適應(yīng)某些加密算法需補(bǔ)O對(duì)齊,usDLen為未補(bǔ)O前的有效數(shù)據(jù)長(zhǎng)度;
Data:進(jìn)行交互的數(shù)據(jù);
usCrc:兩字節(jié)數(shù)據(jù)包CRC16校驗(yàn)和,指從usPLen域之后到usCrc域之前所有數(shù)據(jù)的校驗(yàn)和;
步驟103:當(dāng)加密芯片接收數(shù)據(jù)包完畢后,按照協(xié)議對(duì)下發(fā)的數(shù)據(jù)包進(jìn)行解析得到會(huì)話(huà)密鑰協(xié)商命令;加密芯片按同主控制器約定的密鑰協(xié)商算法(如ECDH),計(jì)算得到會(huì)話(huà)密鑰,并返回會(huì)話(huà)密鑰協(xié)商響應(yīng)數(shù)據(jù)給主控制器;
步驟104:加密芯片生成隨機(jī)數(shù)通訊密鑰列表;
其中,隨機(jī)數(shù)通訊密鑰列表由若干個(gè)(取值I~127)子通訊密鑰元素組成。根據(jù)本發(fā)明的一個(gè)【具體實(shí)施方式】,子通訊密鑰元素結(jié)構(gòu)體變量描述如下:typedef struct
{
unsigned char ucFlag ;//當(dāng)前子通訊密鑰標(biāo)識(shí)符
unsigned char ucKeys [KEY_LENGTH] ; // 當(dāng)前子通訊密鑰 } CommKeyStructure;
步驟105:當(dāng)加密芯片接收到獲取隨機(jī)數(shù)通訊密鑰列表命令數(shù)據(jù)包后,返回主控制器使用會(huì)話(huà)密鑰加密后的隨機(jī)數(shù)通訊密鑰列表;
步驟106:當(dāng)加密芯片接收完主控制器下發(fā)的操作命令數(shù)據(jù)包后,解析ucFlag域,從隨機(jī)數(shù)通訊密鑰列表中提取對(duì)應(yīng)的通訊密鑰,解密操作命令數(shù)據(jù)包,執(zhí)行操作命令,得到應(yīng)答數(shù)據(jù)。
[0015]步驟107:加密芯片在隨機(jī)數(shù)通訊密鑰列表中隨機(jī)選取一通訊密鑰,加密應(yīng)答數(shù)據(jù),按照應(yīng)答數(shù)據(jù)包傳輸格式,將本次通訊密鑰的標(biāo)識(shí)符和加密數(shù)據(jù)組包,返回主控制器,轉(zhuǎn)至執(zhí)行步驟106;
本實(shí)施例對(duì)加密芯片和主控制器之間通訊的具體形式不做限制。
[0016]二、主控制器側(cè),詳見(jiàn)圖3:
步驟201:主控制器檢測(cè)到加密芯片接入,執(zhí)行步驟202。 [0017]步驟202:主控制器下發(fā)會(huì)話(huà)密鑰協(xié)商命令數(shù)據(jù)包;
步驟203:主控制器接收到會(huì)話(huà)密鑰協(xié)商響應(yīng)數(shù)據(jù)包,通過(guò)密鑰協(xié)商算法(如ECDH),計(jì)算得到會(huì)話(huà)密鑰; 步驟204:主控制器下發(fā)獲取隨機(jī)數(shù)通訊密鑰列表命令數(shù)據(jù)包;
步驟205:主控制器接收到隨機(jī)數(shù)通訊密鑰列表命令響應(yīng)數(shù)據(jù)包,使用會(huì)話(huà)密鑰解密隨機(jī)數(shù)通訊密鑰列表密文;
步驟206:主控制器在隨機(jī)數(shù)通訊密鑰列表中隨機(jī)選取一通訊密鑰,加密操作命令和數(shù)據(jù),按照數(shù)據(jù)包傳輸格式將本次通訊密鑰的標(biāo)識(shí)符和加密數(shù)據(jù)組包,下發(fā)給加密芯片;步驟207:主控制器接收完操作命令應(yīng)答數(shù)據(jù)包后,解析ucFlag域,從隨機(jī)數(shù)通訊密鑰列表中提取對(duì)應(yīng)的通訊密鑰,解密應(yīng)答數(shù)據(jù)包,得到應(yīng)答數(shù)據(jù)明文;
步驟208:判斷主控制器命令是否全部下發(fā),若主控制器未下發(fā)完命令,繼續(xù)重復(fù)執(zhí)行步驟206至步驟207的操作;
步驟209:主控制器繼續(xù)執(zhí)行其他操作。
[0018]綜上所述,本發(fā)明實(shí)施例提供的方法,提高了嵌入式加密芯片和主控制器之間通訊密鑰的隨機(jī)性和通訊傳輸?shù)陌踩?,又避免了每次通訊都需要進(jìn)行通訊密鑰協(xié)商從而影響通訊傳輸效率的問(wèn)題。
[0019]本領(lǐng)域技術(shù)人員可以理解附圖只是一個(gè)優(yōu)選實(shí)施例的示意圖,附圖中的模塊或流程并不一定是實(shí)施本發(fā)明所必須的。
[0020]以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換以及改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種提高嵌入式加密芯片通訊傳輸安全性的方法,其用于在加密芯片和主控制器間通訊,其特征在于,所述方法包括步驟: 加密芯片和主控制器建立連接; 所述主控制器向所述加密芯片下發(fā)會(huì)話(huà)密鑰協(xié)商命令; 所述加密芯片接收所述主控制器下發(fā)的所述會(huì)話(huà)密鑰協(xié)商命令,執(zhí)行所述會(huì)話(huà)密鑰協(xié)商命令; 所述加密芯片向所述主控制器返回會(huì)話(huà)密鑰協(xié)商響應(yīng)數(shù)據(jù); 所述主控制器根據(jù)所述會(huì)話(huà)密鑰協(xié)商命令及所述會(huì)話(huà)密鑰協(xié)商響應(yīng)數(shù)據(jù),計(jì)算得到會(huì)話(huà)密鑰; 所述加密芯片根據(jù)所述會(huì)話(huà)密鑰協(xié)商命令及所述會(huì)話(huà)密鑰協(xié)商響應(yīng)數(shù)據(jù),計(jì)算得到所述會(huì)話(huà)密鑰; 所述加密芯片內(nèi)部通過(guò)隨機(jī)數(shù)發(fā)生器生成隨機(jī)數(shù)通訊密鑰列表; 所述加密芯片使用所述會(huì)話(huà)密鑰,加密所述隨機(jī)數(shù)通訊密鑰列表,得到隨機(jī)數(shù)通訊密鑰列表密文; 所述主控制器向所述加密芯片下發(fā)獲取通訊密鑰列表命令; 所述加密芯片接收所述主控制器下發(fā)的獲取通訊密鑰列表命令,向所述主控制器返回所述隨機(jī)數(shù)通訊密鑰列表密文; 所述主控制器使用所述會(huì)話(huà)密鑰,解密所述隨機(jī)數(shù)通訊密鑰列表密文,得到隨機(jī)數(shù)通訊密鑰列表明文; 所述主控制器從所述隨機(jī)數(shù)通訊密鑰列表明文中隨機(jī)選擇第一通訊密鑰,使用第一通訊密鑰加密下發(fā)的操作命令和數(shù)據(jù); 所述主控制器將第一通訊密鑰標(biāo)識(shí)符及所述第一通訊密鑰加密的操作命令和數(shù)據(jù)下發(fā)給所述加密芯片; 所述加密芯片接收下發(fā)的所述第一通訊密鑰標(biāo)識(shí)符及所述第一通訊密鑰加密的操作命令和數(shù)據(jù);所述加密芯片根據(jù)所述第一通訊密鑰標(biāo)識(shí)符,在所述隨機(jī)數(shù)通訊密鑰列表中提取所述第一通訊密鑰,并使用所述第一通訊密鑰,解密所述第一通訊密鑰加密的操作命令和數(shù)據(jù),得到操作命令和數(shù)據(jù)明文; 所述加密芯片執(zhí)行所述操作命令,得到操作命令響應(yīng)數(shù)據(jù); 所述加密芯片從所述隨機(jī)數(shù)通訊密鑰列表中隨機(jī)選擇第二通訊密鑰,使用第二通訊密鑰加密所述操作命令響應(yīng)數(shù)據(jù); 所述加密芯片向所述主控制器返回所述第二通訊密鑰標(biāo)識(shí)符和所述操作命令響應(yīng)數(shù)據(jù); 所述主控制器接收第二通訊密鑰標(biāo)識(shí)符及所述操作命令響應(yīng)數(shù)據(jù);所述主控制器根據(jù)所述第二通訊密鑰標(biāo)識(shí)符,在所述隨機(jī)數(shù)通訊密鑰列表中提取所述第二通訊密鑰,并使用所述第二通訊密鑰解密所述第二通訊密鑰加密的所述操作命令響應(yīng)數(shù)據(jù),得到響應(yīng)數(shù)據(jù)明文。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,上述加密算法采用對(duì)稱(chēng)或非對(duì)稱(chēng)加密算法。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述對(duì)稱(chēng)加密算法包括AESjP/或DES、和/或TDES;非對(duì)稱(chēng)加密算法包括RSA和/或ECC。
4.根據(jù)權(quán)利要求1-3所述的方法,其特征在于,所述隨機(jī)數(shù)通訊密鑰列表是多個(gè)通訊密鑰標(biāo)識(shí)符和標(biāo)識(shí)符所對(duì)應(yīng)通訊密鑰的組合。
【文檔編號(hào)】H04L9/06GK103905183SQ201410078224
【公開(kāi)日】2014年7月2日 申請(qǐng)日期:2014年3月5日 優(yōu)先權(quán)日:2014年3月5日
【發(fā)明者】孫吉平, 韓勇 申請(qǐng)人:北京深思數(shù)盾科技有限公司