午夜毛片免费看,老师老少妇黄色网站,久久本道综合久久伊人,伊人黄片子

一種128位對稱密鑰生成及保護(hù)裝置的制造方法

文檔序號:10538506閱讀:420來源:國知局
一種128位對稱密鑰生成及保護(hù)裝置的制造方法
【專利摘要】本發(fā)明公開了一種128位對稱密鑰生成及保護(hù)裝置,其特征在于,設(shè)存儲于裝置中的種子密鑰為A段密鑰,由主機(jī)下發(fā)的種子密鑰為B段密鑰,合成的結(jié)果為密鑰,裝置包括以下模塊:至少一個(gè)A段密鑰管理模塊;至少一個(gè)B段密鑰管理模塊;至少一個(gè)MD5算法模塊;至少一個(gè)SHA1算法模塊;至少一個(gè)密鑰合成管理模塊;至少一個(gè)密鑰存儲模塊。本發(fā)明避免了A段密鑰的暴露,從而使本裝置具有抵抗軟件惡意攻擊的能力,本發(fā)明中一旦設(shè)備脫離主機(jī)環(huán)境,那么B段密鑰與生成后的密鑰將自動(dòng)銷毀,從而使本裝置具有抵抗硬件惡意攻擊的能力,進(jìn)一步提升了密鑰的安全性。
【專利說明】
一種128位對稱密鑰生成及保護(hù)裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及信息安全技術(shù)領(lǐng)域中的密鑰生成及保護(hù)方法,尤其涉及一種128位對稱密鑰生成及保護(hù)裝置。
【背景技術(shù)】
[0002]密鑰是一種參數(shù),它是在明文轉(zhuǎn)換為密文或?qū)⒚芪霓D(zhuǎn)換為明文的算法中輸入的參數(shù)。密鑰分為對稱密鑰與非對稱密鑰。
[0003]隨著信息技術(shù)的高速發(fā)展,大數(shù)據(jù)時(shí)代的來臨,各類的加密算法廣泛應(yīng)用于各大行業(yè),密鑰作為各類加解密算法的核心,一旦暴露則會產(chǎn)生不可預(yù)估的損失,由此可見密鑰在信息安全技術(shù)領(lǐng)域中的重要性。
[0004]目前對于密鑰的保護(hù)方法,通常可采用兩種方法,一種是將密鑰存儲于硬件設(shè)備中,當(dāng)需要使用時(shí)通過特定方式從硬件設(shè)備中取出,這樣做的目的是將密鑰與算法進(jìn)行隔離,通過密鑰與算法所處的不同環(huán)境來保護(hù)密鑰;一種是將密鑰與算法同時(shí)存儲于硬件設(shè)備當(dāng)中,只由設(shè)備來完成加解密功能,設(shè)備不向外部輸出密鑰,這樣做的目的是通過硬件設(shè)備的訪問門檻來保護(hù)密鑰。對于第一種方法,設(shè)備不論以何種方式送出密鑰,都有可能會被截取密鑰,導(dǎo)致密鑰的安全性有所降低;對于第二種方式,設(shè)備雖然不輸出密鑰,但密鑰存儲于設(shè)備中,存儲密鑰的設(shè)備通常是ROM類的非易失存儲介質(zhì),基于當(dāng)前的逆向工程技術(shù),仍然可從存儲介質(zhì)中獲取完整密鑰,對于上述的第一種方法同樣存在這樣的問題。同時(shí),為保證信息的安全,通常會出現(xiàn)定期更新密鑰、新增密鑰等情況,那么就要求密鑰保護(hù)設(shè)備具有在線更新的能力以適應(yīng)用戶對于密鑰的靈活管理,在線更新的過程同樣增加了密鑰暴露的風(fēng)險(xiǎn)。

【發(fā)明內(nèi)容】

[0005]本發(fā)明的目的是為了解決上述問題,提出一種128位對稱密鑰生成及保護(hù)裝置,能夠在啟用本裝置前存儲一段種子密鑰在裝置的EEPROM中,能夠?qū)⒅鳈C(jī)下發(fā)的種子密鑰與固化在裝置內(nèi)的密鑰合成為128位的密鑰,應(yīng)用于集成在同硬件設(shè)備的AES、3des及RC4等流行的對稱類加密算法。
[0006]本發(fā)明將種子密鑰進(jìn)行分段,一段存儲于硬件設(shè)備的存儲介質(zhì)中,一段由用戶自主下發(fā)到設(shè)備中,設(shè)備通過特定的方式重新對種子密鑰進(jìn)行合成,進(jìn)而通過種子密鑰與特定算法生成對稱類加解密算法可用的密鑰,存儲于片內(nèi)RAM當(dāng)中,提供給集成在同硬件設(shè)備中的AES、3des及RC4等流行的對稱類加密算法進(jìn)行加解密操作。
[0007]為方便后續(xù)對于種子密鑰的描述,在此定義存儲于裝置中的種子密鑰為A段密鑰,由主機(jī)下發(fā)的種子密鑰為B段密鑰,合成的結(jié)果為密鑰。
[0008]本發(fā)明提供的一種128位對稱密鑰生成及保護(hù)裝置,包括以下模塊:
[0009]至少一個(gè)A段密鑰管理模塊;
[0010]至少一個(gè)B段密鑰管理模塊;[0011 ] 至少一個(gè)MD5算法模塊;
[0012]至少一個(gè)SHAl算法模塊;
[0013]至少一個(gè)密鑰合成管理模塊;
[0014]至少一個(gè)密鑰存儲模塊;
[0015]本發(fā)明提供的一種128位對稱密鑰生成及保護(hù)裝置的所有模塊均通過FPGA進(jìn)行實(shí)現(xiàn),F(xiàn)PGA通過Pcie接口與主機(jī)進(jìn)行通訊,用于信息和數(shù)據(jù)的接收和回傳;通過SPI接口與片夕卜EEPROM進(jìn)行通訊,用于讀寫A段密鑰。
[0016]本發(fā)明提供的一種128位對稱密鑰生成及保護(hù)裝置不向主機(jī)提供密鑰讀取接口以避免密鑰暴露,為確保主機(jī)寫入的種子密鑰的正確性,通過二次寫入并比對兩次寫入數(shù)據(jù)的方式對寫入數(shù)據(jù)進(jìn)行校驗(yàn),主機(jī)通過讀取校驗(yàn)寄存器的狀態(tài)確認(rèn)寫入是否正確。
[0017]本發(fā)明的優(yōu)點(diǎn)在于:
[0018]本發(fā)明提供的一種128位對稱密鑰生成及保護(hù)裝置采用分段式種子密鑰的目的在于提供更加安全的密鑰保護(hù)機(jī)制。由于A段密鑰存儲于硬件設(shè)備的EEPROM中,并且只能由FPGA進(jìn)行讀取,在一定程度上避免了 A段密鑰的暴露,從而使本裝置具有抵抗軟件惡意攻擊的能力;用戶自主下發(fā)的B段密鑰與硬件設(shè)備生成的密鑰都存儲于FPGA的片內(nèi)RAM中,由于RAM的掉電丟失特性,一旦設(shè)備脫離主機(jī)環(huán)境,那么B段密鑰與生成后的密鑰將自動(dòng)銷毀,從而使本裝置具有抵抗硬件惡意攻擊的能力,進(jìn)一步提升了密鑰的安全性。
【附圖說明】
[0019]圖1為本發(fā)明的整體結(jié)構(gòu)圖;
[0020]圖2為本發(fā)明的A段密鑰管理流程;
[0021 ]圖3為本發(fā)明的B段密鑰管理流程;
[0022 ]圖4為本發(fā)明的密鑰合成流程。
【具體實(shí)施方式】
[0023]下面將結(jié)合附圖和實(shí)施例對本發(fā)明作進(jìn)一步的詳細(xì)說明。
[0024]圖1顯示了本發(fā)明的整體結(jié)構(gòu),由A段密鑰管理模塊、B段密鑰管理模塊、密鑰合成管理模塊、SHAl算法模塊、MD5算法模塊及密鑰存儲模塊構(gòu)成。A段密鑰管理模塊負(fù)責(zé)A段密鑰的緩存、校驗(yàn)、向主機(jī)反饋A段密鑰管理狀態(tài)、燒寫片外EEPROM及在裝置上電后從片外EEPROM中讀取A段密鑰到片內(nèi)緩存中;B段密鑰管理模塊負(fù)責(zé)B段密鑰的緩存、校驗(yàn)及向主機(jī)反饋B段密鑰管理狀態(tài)。密鑰合成模塊負(fù)責(zé)從A、B段密鑰緩存中讀取A、B段密鑰,將A、B段密鑰拼合為種子密鑰,將種子密鑰分別送入SHAl與MD5算法模塊中進(jìn)行計(jì)算,將計(jì)算結(jié)果進(jìn)行異或運(yùn)行得到合成后的密鑰,并將合成后的密鑰送入密鑰存儲模塊進(jìn)行緩存。SHAl算法模塊負(fù)責(zé)對種子密鑰的低24字節(jié)進(jìn)行計(jì)算,給出20字節(jié)的散列值。MD5算法模塊負(fù)責(zé)對種子密鑰的高24字節(jié)進(jìn)行計(jì)算,給出16字節(jié)的散列值。密鑰存儲模塊負(fù)責(zé)存儲及分發(fā)合成后的密鑰。
[0025]種子密鑰由A段密鑰和B段密鑰拼合構(gòu)成,其中A段密鑰為8字節(jié),B段密鑰為24字節(jié)。種子密鑰的拼合規(guī)則為,將B段密鑰的高12字節(jié)放在32-21字節(jié),低12字節(jié)放在12-1字節(jié),A段密鑰放在20-13字節(jié)。這樣在進(jìn)行MD5運(yùn)算時(shí),所取的高24字節(jié)將包括全部的A段密鑰及B段密鑰的高12字節(jié);在進(jìn)行SHAl運(yùn)算時(shí),所取的低24字節(jié)將包括全部的A段密鑰及B段密鑰的低12字節(jié)。
[0026]圖2顯示了本發(fā)明的A段密鑰管理流程,下面結(jié)合圖2對A段密鑰管理流程進(jìn)行詳細(xì)說明:
[0027]步驟1:主機(jī)讀取A段密鑰管理狀態(tài)。
[0028]步驟2:判斷A段密鑰管理狀態(tài)是否空閑,是則轉(zhuǎn)到步驟3,否則轉(zhuǎn)到步驟I。
[0029]步驟3:主機(jī)下發(fā)A段密鑰寫入指令,A段密鑰管理模塊進(jìn)入數(shù)據(jù)接收狀態(tài)。
[0030]步驟4:主機(jī)下發(fā)A段密鑰,A段密鑰管理模塊將下發(fā)的密鑰寫入相應(yīng)的緩存。主機(jī)每次下發(fā)4字節(jié)的A段密鑰,A段密鑰管理模塊按照下發(fā)的順序?qū)纱蜗掳l(fā)的A段密鑰進(jìn)行拼合后寫入緩存;主機(jī)可連續(xù)下發(fā)多個(gè)A段密鑰;A段密鑰管理模塊最多可緩存256個(gè)8字節(jié)的A段密鑰。
[0031]步驟5:判斷所有A段密鑰是否下發(fā)完成,是則轉(zhuǎn)到步驟6,否則轉(zhuǎn)到步驟4。
[0032]步驟6:主機(jī)下發(fā)A段密鑰校驗(yàn)指令,A段密鑰管理模塊進(jìn)入數(shù)據(jù)校驗(yàn)狀態(tài)。
[0033]步驟7:主機(jī)再次依次寫入A段密鑰,每寫入一個(gè)完整的A段密鑰后,需要從A段密鑰管理模塊中讀取校驗(yàn)狀態(tài)。A段密鑰管理模塊首先將主機(jī)再次下發(fā)的A段密鑰緩存到寄存器中,然后從首次緩存的A段密鑰中讀取相應(yīng)的A段密鑰。
[0034]步驟8:A段密鑰管理模塊判斷兩次寫入的A段密鑰是否一致,是則轉(zhuǎn)到步驟10,否則轉(zhuǎn)到步驟9。
[0035]步驟9:向主機(jī)返回寫入錯(cuò)誤,返回的錯(cuò)誤中指明了兩次寫入數(shù)據(jù)出現(xiàn)不一致的b i t位,并轉(zhuǎn)到步驟3。
[0036]步驟10:向主機(jī)返回寫入正確。
[0037]步驟11:判斷是否所有A段校驗(yàn)完成,是則轉(zhuǎn)到步驟12,否則轉(zhuǎn)到步驟7。
[0038]步驟12:A段密鑰管理模塊將緩存中的A段密鑰通過SPI接口燒寫到片外EEPROM中。
[0039]圖3顯示了本發(fā)明的B段密鑰管理流程,下面結(jié)合圖3對B段密鑰管理流程進(jìn)行詳細(xì)說明:
[0040]步驟1:主機(jī)讀取B段密鑰管理狀態(tài)。
[0041]步驟2:判斷B段密鑰管理狀態(tài)是否空閑,是則轉(zhuǎn)到步驟3,否則轉(zhuǎn)到步驟I。
[0042]步驟3:主機(jī)下發(fā)B段密鑰寫入指令,B段密鑰管理模塊進(jìn)入數(shù)據(jù)接收狀態(tài)。
[0043]步驟4:主機(jī)下發(fā)B段密鑰,B段密鑰管理模塊將下發(fā)的密鑰寫入相應(yīng)的緩存。主機(jī)每次下發(fā)4字節(jié)的B段密鑰,B段密鑰管理模塊按照下發(fā)的順序?qū)纱蜗掳l(fā)的B段密鑰進(jìn)行拼合后寫入緩存;主機(jī)可連續(xù)下發(fā)多個(gè)B段密鑰;B段密鑰管理模塊最多可緩存256個(gè)24字節(jié)的B段密鑰。
[0044]步驟5:判斷所有B段密鑰是否下發(fā)完成,是則轉(zhuǎn)到步驟6,否則轉(zhuǎn)到步驟4。
[0045]步驟6:主機(jī)下發(fā)B段密鑰校驗(yàn)指令,B段密鑰管理模塊進(jìn)入數(shù)據(jù)校驗(yàn)狀態(tài)。
[0046]步驟7:主機(jī)再次依次寫入B段密鑰,每寫入一個(gè)完整的B段密鑰后,需要從B段密鑰管理模塊中讀取校驗(yàn)狀態(tài)。B段密鑰管理模塊首先將主機(jī)再次下發(fā)的B段密鑰緩存到寄存器中,然后從首次緩存的B段密鑰中讀取相應(yīng)的B段密鑰。
[0047]步驟8:B段密鑰管理模塊判斷兩次寫入的B段密鑰是否一致,是則轉(zhuǎn)到步驟10,否則轉(zhuǎn)到步驟9。
[0048]步驟9:向主機(jī)返回寫入錯(cuò)誤,返回的錯(cuò)誤中指明了兩次寫入數(shù)據(jù)出現(xiàn)不一致的b i t位,并轉(zhuǎn)到步驟3。
[0049]步驟10:向主機(jī)返回寫入正確。
[0050]步驟11:判斷是否所有B段校驗(yàn)完成,是則結(jié)束校驗(yàn)操作,否則轉(zhuǎn)到步驟7。
[0051]圖4顯示了本發(fā)明的密鑰合成流程,下面結(jié)合圖4對密鑰合成流程進(jìn)行詳細(xì)說明:
[0052]步驟1:上電后首先將片外EEPROM中的A段密鑰讀入到片內(nèi)RAM中進(jìn)行緩存。
[0053]步驟2:A段緩存完成后通知主機(jī)下發(fā)B段密鑰。
[0054]步驟3:等待主機(jī)下發(fā)B段密鑰。
[0055]步驟4:主機(jī)下發(fā)密鑰合成指令,密鑰合成管理模塊進(jìn)入密鑰合成狀態(tài)。
[0056]步驟5:從A段密鑰緩存中讀取一個(gè)8字節(jié)的A段密鑰。
[0057]步驟6:從B段密鑰緩存中讀取一個(gè)24字節(jié)的B段密鑰。
[0058]步驟7:將讀取的A段密鑰與B段密鑰拼合為32字節(jié)的種子密鑰。拼合規(guī)則為,B段密鑰的高12字節(jié)做為種子密鑰的32-21字節(jié),低12字節(jié)做為種子密鑰的12-1字節(jié),A段密鑰做為種子密鑰的20-13字節(jié)。
[0059]步驟8:將種子密鑰的高24字節(jié)送入MD5算法模塊進(jìn)行散列值計(jì)算,得到16字節(jié)的散列值。
[0060]步驟9:將種子密鑰的低24字節(jié)送入SHAl算法模塊進(jìn)行散列值計(jì)算,得到20字節(jié)的散列值。
[0061 ]步驟1:將MD5計(jì)算得到的16字節(jié)的散列值與SHAl計(jì)算得到的20字節(jié)散列值中的高16字節(jié)進(jìn)行異或操作并將結(jié)果緩存到寄存器中。
[0062]步驟11:將異或操作得到的密鑰緩存入密鑰存儲模塊。
[0063]步驟12:判斷所有密鑰是否合成完成,是則轉(zhuǎn)到步驟13,否則轉(zhuǎn)到步驟5。
[0064]步驟13:通知主機(jī)密鑰合成完成。
[0065]綜上所述,本發(fā)明提供的一種128位對稱密鑰生成及保護(hù)裝置采用FPGA實(shí)現(xiàn)了所有的功能模塊;所提供的密鑰緩存最多可支持合成256個(gè)密鑰,可支持密鑰組及密鑰輪換機(jī)制;所提供的A、B段密鑰校驗(yàn)機(jī)制確保了種子密鑰合成的正確性;所提供的種子密鑰拼合機(jī)制確保了 A、B段密鑰均能夠參與散列值的計(jì)算,提升了生成的密鑰的復(fù)雜度;所采用的MD5及SHAl的散列值算法確保了合成后的密鑰不可逆性;所提供的不可回讀功能避免了從密鑰下發(fā)到密鑰合成完成的整個(gè)流程密鑰暴露的風(fēng)險(xiǎn);所提供的分段式的種子密鑰存儲方式能夠抵抗軟件及硬件的惡意攻擊,從而提升了密鑰的安全性。所提供的A段密鑰管理模塊能夠支持用戶通過特殊控件及在被隔離的環(huán)境中對存儲在EEPROM中的A段密鑰進(jìn)行更新,確保了密鑰更新的靈活性。
【主權(quán)項(xiàng)】
1.一種128位對稱密鑰生成及保護(hù)裝置,其特征在于,設(shè)存儲于裝置中的種子密鑰為A段密鑰,由主機(jī)下發(fā)的種子密鑰為B段密鑰,合成的結(jié)果為密鑰,裝置包括以下模塊: 至少一個(gè)A段密鑰管理模塊; 至少一個(gè)B段密鑰管理模塊; 至少一個(gè)MD5算法模塊; 至少一個(gè)SHAl算法模塊; 至少一個(gè)密鑰合成管理模塊; 至少一個(gè)密鑰存儲模塊。2.根據(jù)權(quán)利要求1所述的一種128位對稱密鑰生成及保護(hù)裝置,其特征在于,所述的A段密鑰管理模塊負(fù)責(zé)A段密鑰的緩存、校驗(yàn)、向主機(jī)反饋A段密鑰管理狀態(tài)、燒寫片外EEPROM及在裝置上電后從片外EEPROM中讀取A段密鑰到片內(nèi)緩存中。3.根據(jù)權(quán)利要求1所述的一種128位對稱密鑰生成及保護(hù)裝置,其特征在于,所述的B段密鑰管理模塊負(fù)責(zé)B段密鑰的緩存、校驗(yàn)及向主機(jī)反饋B段密鑰管理狀態(tài)。4.根據(jù)權(quán)利要求1所述的一種128位對稱密鑰生成及保護(hù)裝置,其特征在于,所述的密鑰合成模塊負(fù)責(zé)從A、B段密鑰緩存中讀取A、B段密鑰,將A、B段密鑰拼合為種子密鑰,將種子密鑰分別送入SHAl與MD5算法模塊中進(jìn)行計(jì)算,將計(jì)算結(jié)果進(jìn)行異或運(yùn)行得到合成后的密鑰,并將合成后的密鑰送入密鑰存儲模塊進(jìn)行緩存。5.根據(jù)權(quán)利要求1所述的一種128位對稱密鑰生成及保護(hù)裝置,其特征在于,所述的SHAl算法模塊負(fù)責(zé)對種子密鑰的低24字節(jié)進(jìn)行計(jì)算,給出20字節(jié)的散列值,所取的低24字節(jié)包括全部的A段密鑰及B段密鑰的低12字節(jié)。6.根據(jù)權(quán)利要求1所述的一種128位對稱密鑰生成及保護(hù)裝置,其特征在于,所述的MD5算法模塊負(fù)責(zé)對種子密鑰的高24字節(jié)進(jìn)行計(jì)算,給出16字節(jié)的散列值,所取的高24字節(jié)包括全部的A段密鑰及B段密鑰的高12字節(jié)。7.根據(jù)權(quán)利要求1所述的一種128位對稱密鑰生成及保護(hù)裝置,其特征在于,所述的密鑰存儲模塊負(fù)責(zé)存儲及分發(fā)合成后的密鑰。8.根據(jù)權(quán)利要求1所述的一種128位對稱密鑰生成及保護(hù)裝置,其特征在于,所述的A段密鑰管理模塊、B段密鑰管理模塊、密鑰合成管理模塊、SHAl算法模塊、MD5算法模塊和密鑰存儲模塊均通過FPGA進(jìn)行實(shí)現(xiàn),F(xiàn)PGA通過Pcie接口與主機(jī)進(jìn)行通訊,用于信息和數(shù)據(jù)的接收和回傳;通過SPI接口與片外EEPROM進(jìn)行通訊,用于讀寫A段密鑰。9.根據(jù)權(quán)利要求4所述的一種128位對稱密鑰生成及保護(hù)裝置,其特征在于,所述的種子密鑰由A段密鑰和B段密鑰拼合構(gòu)成,其中A段密鑰為8字節(jié),B段密鑰為24字節(jié),種子密鑰的拼合規(guī)則為,將B段密鑰的高12字節(jié)放在32-21字節(jié),低12字節(jié)放在12-1字節(jié),A段密鑰放在20-13字節(jié)。10.根據(jù)權(quán)利要求1所述的一種128位對稱密鑰生成及保護(hù)裝置,其特征在于,所述的A段密鑰管理模塊中,A段密鑰管理流程包括: 步驟I:主機(jī)讀取A段密鑰管理狀態(tài); 步驟2:判斷A段密鑰管理狀態(tài)是否空閑,是則轉(zhuǎn)到步驟3,否則轉(zhuǎn)到步驟I; 步驟3:主機(jī)下發(fā)A段密鑰寫入指令,A段密鑰管理模塊進(jìn)入數(shù)據(jù)接收狀態(tài); 步驟4:主機(jī)下發(fā)A段密鑰,A段密鑰管理模塊將下發(fā)的密鑰寫入相應(yīng)的緩存;主機(jī)每次下發(fā)4字節(jié)的A段密鑰,A段密鑰管理模塊按照下發(fā)的順序?qū)纱蜗掳l(fā)的A段密鑰進(jìn)行拼合后寫入緩存;主機(jī)可連續(xù)下發(fā)多個(gè)A段密鑰;A段密鑰管理模塊最多可緩存256個(gè)8字節(jié)的A段密鑰; 步驟5:判斷所有A段密鑰是否下發(fā)完成,是則轉(zhuǎn)到步驟6,否則轉(zhuǎn)到步驟4; 步驟6:主機(jī)下發(fā)A段密鑰校驗(yàn)指令,A段密鑰管理模塊進(jìn)入數(shù)據(jù)校驗(yàn)狀態(tài); 步驟7:主機(jī)再次依次寫入A段密鑰,每寫入一個(gè)完整的A段密鑰后,需要從A段密鑰管理模塊中讀取校驗(yàn)狀態(tài);A段密鑰管理模塊首先將主機(jī)再次下發(fā)的A段密鑰緩存到寄存器中,然后從首次緩存的A段密鑰中讀取相應(yīng)的A段密鑰; 步驟8:A段密鑰管理模塊判斷兩次寫入的A段密鑰是否一致,是則轉(zhuǎn)到步驟10,否則轉(zhuǎn)到步驟9; 步驟9:向主機(jī)返回寫入錯(cuò)誤,返回的錯(cuò)誤中指明了兩次寫入數(shù)據(jù)出現(xiàn)不一致的bit位,并轉(zhuǎn)到步驟3; 步驟10:向主機(jī)返回寫入正確; 步驟11:判斷是否所有A段校驗(yàn)完成,是則轉(zhuǎn)到步驟12,否則轉(zhuǎn)到步驟7; 步驟12: A段密鑰管理模塊將緩存中的A段密鑰通過SPI接口燒寫到片外EEPROM中; B段密鑰管理模塊中,B段密鑰管理流程包括: 步驟I:主機(jī)讀取B段密鑰管理狀態(tài); 步驟2:判斷B段密鑰管理狀態(tài)是否空閑,是則轉(zhuǎn)到步驟3,否則轉(zhuǎn)到步驟I; 步驟3:主機(jī)下發(fā)B段密鑰寫入指令,B段密鑰管理模塊進(jìn)入數(shù)據(jù)接收狀態(tài); 步驟4:主機(jī)下發(fā)B段密鑰,B段密鑰管理模塊將下發(fā)的密鑰寫入相應(yīng)的緩存;主機(jī)每次下發(fā)4字節(jié)的B段密鑰,B段密鑰管理模塊按照下發(fā)的順序?qū)纱蜗掳l(fā)的B段密鑰進(jìn)行拼合后寫入緩存;主機(jī)可連續(xù)下發(fā)多個(gè)B段密鑰;B段密鑰管理模塊最多可緩存256個(gè)24字節(jié)的B段密鑰; 步驟5:判斷所有B段密鑰是否下發(fā)完成,是則轉(zhuǎn)到步驟6,否則轉(zhuǎn)到步驟4; 步驟6:主機(jī)下發(fā)B段密鑰校驗(yàn)指令,B段密鑰管理模塊進(jìn)入數(shù)據(jù)校驗(yàn)狀態(tài); 步驟7:主機(jī)再次依次寫入B段密鑰,每寫入一個(gè)完整的B段密鑰后,需要從B段密鑰管理模塊中讀取校驗(yàn)狀態(tài);B段密鑰管理模塊首先將主機(jī)再次下發(fā)的B段密鑰緩存到寄存器中,然后從首次緩存的B段密鑰中讀取相應(yīng)的B段密鑰; 步驟8: B段密鑰管理模塊判斷兩次寫入的B段密鑰是否一致,是則轉(zhuǎn)到步驟10,否則轉(zhuǎn)到步驟9; 步驟9:向主機(jī)返回寫入錯(cuò)誤,返回的錯(cuò)誤中指明了兩次寫入數(shù)據(jù)出現(xiàn)不一致的bit位,并轉(zhuǎn)到步驟3; 步驟10:向主機(jī)返回寫入正確; 步驟11:判斷是否所有B段校驗(yàn)完成,是則結(jié)束校驗(yàn)操作,否則轉(zhuǎn)到步驟7; 密鑰合成管理模塊中,密鑰合成流程包括: 步驟1:上電后首先將片外EEPROM中的A段密鑰讀入到片內(nèi)RAM中進(jìn)行緩存; 步驟2: A段緩存完成后通知主機(jī)下發(fā)B段密鑰; 步驟3:等待主機(jī)下發(fā)B段密鑰; 步驟4:主機(jī)下發(fā)密鑰合成指令,密鑰合成管理模塊進(jìn)入密鑰合成狀態(tài); 步驟5:從A段密鑰緩存中讀取一個(gè)8字節(jié)的A段密鑰; 步驟6:從B段密鑰緩存中讀取一個(gè)24字節(jié)的B段密鑰; 步驟7:將讀取的A段密鑰與B段密鑰拼合為32字節(jié)的種子密鑰;拼合規(guī)則為,B段密鑰的高12字節(jié)做為種子密鑰的32-21字節(jié),低12字節(jié)做為種子密鑰的12-1字節(jié),A段密鑰做為種子密鑰的20-13字節(jié); 步驟8:將種子密鑰的高24字節(jié)送入MD5算法模塊進(jìn)行散列值計(jì)算,得到16字節(jié)的散列值; 步驟9:將種子密鑰的低24字節(jié)送入SHAl算法模塊進(jìn)行散列值計(jì)算,得到20字節(jié)的散列值; 步驟10:將MD5計(jì)算得到的16字節(jié)的散列值與SHAl計(jì)算得到的20字節(jié)散列值中的高16字節(jié)進(jìn)行異或操作并將結(jié)果緩存到寄存器中; 步驟11:將異或操作得到的密鑰緩存入密鑰存儲模塊; 步驟12:判斷所有密鑰是否合成完成,是則轉(zhuǎn)到步驟13,否則轉(zhuǎn)到步驟5; 步驟13:通知主機(jī)密鑰合成完成。
【文檔編號】H04L9/06GK105897405SQ201610384213
【公開日】2016年8月24日
【申請日】2016年6月2日
【發(fā)明人】徐曉燕, 李高超, 周淵, 張露晨, 馬秀娟, 唐積強(qiáng), 徐小磊, 毛洪亮, 劉俊賢, 蘇沐冉, 劉慶良, 何萬江
【申請人】北京賽思信安技術(shù)股份有限公司, 國家計(jì)算機(jī)網(wǎng)絡(luò)與信息安全管理中心
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1