專利名稱:一種電子簽名和高速流加密二合一的芯片的制作方法
技術(shù)領(lǐng)域:
本實(shí)用新型涉及SOC集成電路設(shè)計(jì)領(lǐng)域,尤其是一種電子簽名和高速流加密二合一的芯片。
背景技術(shù):
現(xiàn)在的用于安全方面的加密芯片,如USB Key,包含常用的加密算法如RSA,AES,DES以及國(guó)密算法SM1,SM2,SSF33,SMS4等,和其它設(shè)備通信的接口包括USB、I2C、SPI、UART。一般都是通過(guò)USB接口和PC連接,但僅限于和PC交互,如果做為其他芯片的協(xié)處理器,由于接口速度限制和加密速度限制,只能達(dá)到500Kbytes/S,很難達(dá)到應(yīng)用要求。而專門的協(xié)處理器芯片,加解密速度比較快,但是不帶簽名算法,因此在某些要求簽名算法的場(chǎng)合沒(méi)法應(yīng)用。鑒于目前對(duì)于高速加密協(xié)處理器的要求,本方案在帶電子簽名算法芯片的基礎(chǔ)上集成高速FIFO,通過(guò)并口方式和外設(shè)交互,可以實(shí)現(xiàn)高速加密,對(duì)稱加密速度達(dá)到15Mbytes/S,遠(yuǎn)遠(yuǎn)滿足應(yīng)用要求。
實(shí)用新型內(nèi)容本實(shí)用新型的目的正是要解決上述技術(shù)存在的不足,而提供一種用于安全領(lǐng)域數(shù)據(jù)高速加密的電子簽名和高速流加密二合一的芯片。本實(shí)用新型解決其技術(shù)問(wèn)題采用的技術(shù)方案這種電子簽名和高速流加密二合一的芯片,該系統(tǒng)由控制單元、高速FIFO、并口、真隨機(jī)數(shù)發(fā)生器及加解密模塊組成,并口通過(guò)高速FIFO與控制單元相連接,真隨機(jī)數(shù)發(fā)生器及加解密模塊分別與控制單元相連接。所述控制單元為該系統(tǒng)的控制中心,控制整個(gè)流程的執(zhí)行??刂聘咚貴IFO接收流數(shù)據(jù),調(diào)用真隨機(jī)數(shù)發(fā)生器獲得隨機(jī)數(shù),啟動(dòng)加解密模塊進(jìn)行加解密運(yùn)算,控制高速FIFO發(fā)送加解密流數(shù)據(jù)。在具體實(shí)現(xiàn)中,該模塊一般通過(guò)軟件實(shí)現(xiàn)。所述高速FIFO是一個(gè)異步并口從控制器,內(nèi)嵌FIFO緩沖區(qū),F(xiàn)IFO大小根據(jù)速度要求可以設(shè)置,用于對(duì)并口和控制單元數(shù)據(jù)交互的緩沖,通過(guò)此緩沖區(qū),可以大大提高數(shù)據(jù)的傳輸速度。所述并口為與外設(shè)交互單元,為異步并口的主接口,并口實(shí)現(xiàn)和開(kāi)發(fā)比較簡(jiǎn)單、通用,設(shè)備兼容性好,同時(shí)并口的速度比較快。數(shù)據(jù)線寬度可以設(shè)置8到32位。所述真隨機(jī)數(shù)發(fā)生器用于產(chǎn)生隨機(jī)的數(shù)據(jù),供加解密模塊產(chǎn)生對(duì)稱加密密鑰,也用于產(chǎn)生電子簽名用到的RSA、ECC等非對(duì)稱加密算法的密鑰。所述的加解密模塊是一個(gè)用通常方法設(shè)計(jì)的用于實(shí)現(xiàn)一種或多種加解密算法的模塊,支持對(duì)稱加密和非對(duì)稱加密,對(duì)稱加密包括并不僅限于DES、AES、SMU SSF33、SMS4、SM6,非對(duì)稱加密包括并不僅限于RSA、ECC、SM2。所述的高速FIFO和并口的接口采用標(biāo)準(zhǔn)的并口總線,并用中斷標(biāo)志來(lái)判斷內(nèi)部FIFO的空滿狀態(tài)。[0013]具體實(shí)現(xiàn)方法I、系統(tǒng)開(kāi)始運(yùn)行,并口通過(guò)通用并口總線向高速FIFO發(fā)送寫FIFO總線命令(CS=0,WE = O, OE = I),并口判斷高速FIFO回發(fā)的接收FIF0(RX_FIF0)滿中斷標(biāo)志(RX_INT),決定是否繼續(xù)發(fā)送寫FIFO命令;2、控制單元讀取高速FIFO中接收FIFO的數(shù)據(jù),作為加解密的源操作數(shù)。3、根據(jù)命令調(diào)用加解密模塊來(lái)執(zhí)行加解密操作,如果命令要求隨機(jī)數(shù)參與,則還會(huì)調(diào)用真隨機(jī)數(shù)發(fā)生器來(lái)產(chǎn)生要求的隨機(jī)數(shù)。4、加解密完成后,將加解密的結(jié)果寫入到高速FIFO的發(fā)送FIFO,控制單元接收高速FIFO回發(fā)的發(fā)送FIF0(TX_FIF0)滿中斷標(biāo)志(TX_INT),決定是否繼續(xù)寫發(fā)送FIFO ;5、并口向高速FIFO發(fā)送讀FIFO總線命令(CS = O, WE = I, OE = 0),讀取高速FIFO中發(fā)送FIFO(TX_FIF0)的數(shù)據(jù),該數(shù)據(jù)即為加解密的結(jié)果?!0019]6、重復(fù)步驟I至步驟5,直至加解密模塊完成所有數(shù)據(jù)的加解密運(yùn)算。本實(shí)用新型有益的效果是實(shí)現(xiàn)高速流加密,實(shí)現(xiàn)電子簽名功能,并且二者統(tǒng)一到一起。l.USB Key方式和協(xié)處理器方式二合一的芯片;2.通過(guò)高速FIFO加并口的方式實(shí)現(xiàn)高速協(xié)處理器方式。3.支持并不僅限于RSA、ECC、SM2等非對(duì)稱算法。4.支持并不僅限于DES、AES、SM1、SSF33、SMS4、SM6等對(duì)稱加密算法;5.對(duì)稱加密算法采用加速器實(shí)現(xiàn),可以達(dá)到高速執(zhí)行。
圖I為系統(tǒng)結(jié)構(gòu)框圖;圖2為高速FIFO和并口的接口示意圖;圖3為SoC系統(tǒng)結(jié)構(gòu)示意圖;圖4為典型的USB Key的實(shí)現(xiàn)框圖。
具體實(shí)施方式
以下結(jié)合附圖和實(shí)施例對(duì)本實(shí)用新型作進(jìn)一步說(shuō)明系統(tǒng)結(jié)構(gòu)如圖I所示,本發(fā)明所述系統(tǒng)由控制單元I、高速FIF02、并口 3、真隨機(jī)數(shù)發(fā)生器4及加解密模塊5組成,并口 3通過(guò)高速FIF02與控制單元I相連接,真隨機(jī)數(shù)發(fā)生器4及加解密模塊5分別與控制單元I相連接;其中控制單元I用于控制高速FIF02接收流數(shù)據(jù),調(diào)用真隨機(jī)數(shù)發(fā)生器4獲得隨機(jī)數(shù),啟動(dòng)加解密模塊5進(jìn)行加解密運(yùn)算,控制高速FIF02發(fā)送加解密流數(shù)據(jù);真隨機(jī)數(shù)發(fā)生器4用于產(chǎn)生隨機(jī)的數(shù)據(jù),供加解密模塊I產(chǎn)生對(duì)稱加密密鑰,也用于產(chǎn)生電子簽名用到的RSA、ECC等非對(duì)稱加密算法的密鑰。所述高速FIF02是一個(gè)異步并口從控制器,內(nèi)嵌FIFO緩沖區(qū),F(xiàn)IFO大小根據(jù)速度要求可以設(shè)置,用于對(duì)并口和控制單元數(shù)據(jù)交互的緩沖,通過(guò)此緩沖區(qū),可以大大提高數(shù)據(jù)的傳輸速度。所述并口 3為與外設(shè)交互單元,為異步并口的主接口,并口實(shí)現(xiàn)和開(kāi)發(fā)比較簡(jiǎn)單、通用,設(shè)備兼容性好,同時(shí)并口的速度比較快。數(shù)據(jù)線寬度可以設(shè)置8到32位。所述的加解密模塊是一個(gè)用通常方法設(shè)計(jì)的用于實(shí)現(xiàn)一種或多種加解密算法的模塊,支持對(duì)稱加密和非對(duì)稱加密,對(duì)稱加密包括并不僅限于DES、AES、SMI、SSF33、SMS4、SM6,非對(duì)稱加密包括并不僅限于RSA、ECC、SM2。[0027]如圖3所示的一個(gè)具體的SoC系統(tǒng)該系統(tǒng)包含了一個(gè)32位的RISC處理器⑴,該處理器內(nèi)部包括JTAG、定時(shí)器電路及中斷控制單元,通過(guò)指令通道和數(shù)據(jù)通道同其它模塊通信。內(nèi)部資源包括10KBR0M(2)、12KBRAM(3),并且通過(guò)BVCI總線仲裁(4)連接外設(shè)。該SoC系統(tǒng)內(nèi)部包含128KBFlash(6)和256B OTP (7),F(xiàn)lash通過(guò)帶MPU功能EFC (19)進(jìn)行訪問(wèn)。其它外設(shè)包括 UARTO (8),SPIO (9),I2C0 (10),USB (11),SQI (14),系統(tǒng)控制模塊 SCM (15)包括LD0,晶振,PLL和FD頻率探測(cè)模塊。加解密引擎包括對(duì)稱加解密引擎(17)和非對(duì)稱加解密引擎(18),真隨機(jī)數(shù)發(fā)生器(16)用于產(chǎn)生密鑰和對(duì)通信鏈路進(jìn)行加密。為了支持協(xié)處理器模式,提供高速FIFO (12)接口和并口(13).在該圖所示的SoC系統(tǒng)中,每個(gè)模塊都有中斷信號(hào)與處理器模塊(I)相連;處理器模塊可以調(diào)用任意的資源,通過(guò)高速FIFO和并口可以高速和外部設(shè)備進(jìn)行數(shù)據(jù)交互,并口采用8位數(shù)據(jù)線,系統(tǒng)跑在96MHZ的情況下,數(shù)據(jù)吞吐可以達(dá)到48MBytes。對(duì)稱加解密引擎支持AES,DES, SMI, SSF33等加密算法,通過(guò)硬件加速,模塊加解密速度可以達(dá)到15MBytes以上。非對(duì)稱加解密引擎支持RSA、SM2、ECC等,并都通過(guò)硬件加速。COS存放在帶MPU保護(hù)功能的內(nèi)部Flash上,通過(guò)FD頻率檢測(cè),抗SPA,DPA攻擊等手段保護(hù)內(nèi)部程序和數(shù)據(jù)的安全。所述的高速FIFO和并口的接口采用標(biāo)準(zhǔn)的并口總線,并用中斷標(biāo)志來(lái)判斷內(nèi)部FIFO的空滿狀態(tài)。為了減小封裝,在速度滿足要求的情況下,高速FIFO和并口設(shè)計(jì)了 8位數(shù)據(jù)線。數(shù)據(jù)吞吐可以達(dá)到48MBytes。此SOC可以作為普通的USB Key芯片進(jìn)行使用,也可以通過(guò)高速FIFO作為協(xié)處理器使用。作為USB Key使用時(shí),一個(gè)典型的USB Key的實(shí)現(xiàn)框圖如圖4所示此USB需要實(shí)現(xiàn)一套COS系統(tǒng),COS系統(tǒng)包括如下模塊數(shù)據(jù)通信(I)實(shí)現(xiàn)數(shù)據(jù)的發(fā)送接收,封包和解包的過(guò)程。任務(wù)解析⑵根據(jù)收到的命令和數(shù)據(jù),分解任務(wù)并調(diào)用相應(yīng)的模塊來(lái)處理。加解密模塊(3)調(diào)用加解密算法執(zhí)行對(duì)應(yīng)的加解密操作。安全模塊(4)用于對(duì)一些攻擊行為的防御處理,包括防頻率探測(cè),抗SPA\DPA攻擊
坐寸ο權(quán)限控制模塊(5)對(duì)一些命令的操作進(jìn)行權(quán)限分析,只有符合對(duì)應(yīng)權(quán)限的操作才被允許。文件系統(tǒng)模塊(6)主要對(duì)數(shù)據(jù)的存放按特定的組織形式進(jìn)行存儲(chǔ)。USB (7)復(fù)雜和PC端進(jìn)行通信交互等。當(dāng)作為些處理器工作時(shí),具體的實(shí)施步驟如下I、系統(tǒng)開(kāi)始運(yùn)行,并口(13)通過(guò)通用8位并口總線向高速FIFO(12)發(fā)送寫FIFO總線命令(CS = 0,WE = 0,OE = 1),并口 (13)判斷高速FIFO(12)回發(fā)的接收FIFO(RX_FIFO)滿中斷標(biāo)志(RX_INT),決定是否繼續(xù)發(fā)送寫FIFO命令;2、內(nèi)核(I)讀取高速FIF0(12)中接收FIFO的數(shù)據(jù),作為加解密的源操作數(shù)。3、根據(jù)命令調(diào)用對(duì)應(yīng)的對(duì)稱加密引擎(17)和非對(duì)稱加密引擎(18)來(lái)執(zhí)行加解密操作,如果命令要求隨機(jī)數(shù)參與,則還會(huì)調(diào)用真隨機(jī)數(shù)發(fā)生器(16)來(lái)產(chǎn)生要求的隨機(jī)數(shù)。4、加解密完成后,將加解密的結(jié)果寫入到高速FIF0(12)的發(fā)送FIFO,內(nèi)核(I)接收高速FIF0(12)回發(fā)的發(fā)送FIF0(TX_FIF0)滿中斷標(biāo)志(TX_INT),決定是否繼續(xù)寫發(fā)送FIFO ;5、并口 (13)向高速 FIF0(12)發(fā)送讀 FIFO 總線命令(CS = O, WE = 1,OE = O),讀取高速FIF0(12)中發(fā)送FIFO(TX_FIF0)的數(shù)據(jù),該數(shù)據(jù)即為加解密的結(jié)果。6、重復(fù)步驟I至步驟5,直至協(xié)處理器完成所有數(shù)據(jù)的加解密運(yùn)算。術(shù)語(yǔ)解釋COS :片上操作系統(tǒng)FD :頻率探測(cè)MPU :存儲(chǔ)保護(hù)單元。除上述實(shí)施例外,本實(shí)用新型還可以有其他實(shí)施方式。凡采用等同替換或等效變·換形成的技術(shù)方案,均落在本實(shí)用新型要求的保護(hù)范圍。
權(quán)利要求1.一種電子簽名和高速流加密二合一的芯片,其特征在于該系統(tǒng)由控制單元(I)、高速FIFO (2)、并口(3)、真隨機(jī)數(shù)發(fā)生器(4)及加解密模塊(5)組成,并口(3)通過(guò)高速FIFO(2)與控制單元(I)相連接,真隨機(jī)數(shù)發(fā)生器(4)及加解密模塊(5)分別與控制單元(I)相連接;其中控制單元(I)用于控制高速FIFO (2)接收流數(shù)據(jù),調(diào)用真隨機(jī)數(shù)發(fā)生器(4)獲得隨機(jī)數(shù),啟動(dòng)加解密模塊(5)進(jìn)行加解密運(yùn)算,控制高速FIFO (2)發(fā)送加解密流數(shù)據(jù);真隨機(jī)數(shù)發(fā)生器(4)用于產(chǎn)生隨機(jī)的數(shù)據(jù),供加解密模塊(I)產(chǎn)生對(duì)稱加密密鑰。
2.根據(jù)權(quán)利要求I所述的電子簽名和高速流加密二合一的芯片,其特征在于所述高速FIFO (2)是一個(gè)異步并口從控制器,內(nèi)嵌FIFO緩沖區(qū),用于對(duì)并口和控制單元數(shù)據(jù)交互的緩沖。
3.根據(jù)權(quán)利要求I所述的電子簽名和高速流加密二合一的芯片,其特征在于所述并口(3)為與外設(shè)交互單元,為異步并口的主接口。
4.根據(jù)權(quán)利要求I所述的電子簽名和高速流加密二合一的芯片,其特征在于所述的高速FIFO (2)和并口(3)的接口采用標(biāo)準(zhǔn)的并口總線。
專利摘要本實(shí)用新型涉及一種電子簽名和高速流加密二合一的芯片,該系統(tǒng)由控制單元、高速FIFO、并口、真隨機(jī)數(shù)發(fā)生器及加解密模塊組成,并口通過(guò)高速FIFO與控制單元相連接,真隨機(jī)數(shù)發(fā)生器及加解密模塊分別與控制單元相連接;其中控制單元用于控制高速FIFO接收流數(shù)據(jù),調(diào)用真隨機(jī)數(shù)發(fā)生器獲得隨機(jī)數(shù),啟動(dòng)加解密模塊進(jìn)行加解密運(yùn)算,控制高速FIFO發(fā)送加解密流數(shù)據(jù);真隨機(jī)數(shù)發(fā)生器用于產(chǎn)生隨機(jī)的數(shù)據(jù),供加解密模塊產(chǎn)生對(duì)稱加密密鑰。本實(shí)用新型有益的效果是實(shí)現(xiàn)高速流加密,實(shí)現(xiàn)電子簽名功能,并且二者統(tǒng)一到一起。
文檔編號(hào)G06F21/72GK202711262SQ201120519659
公開(kāi)日2013年1月30日 申請(qǐng)日期2011年12月13日 優(yōu)先權(quán)日2011年12月13日
發(fā)明者賀曉明, 徐功益, 馬震偉, 邱柏云 申請(qǐng)人:杭州晟元芯片技術(shù)有限公司