專利名稱:高性能密碼算法SoC芯片的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種保密或安全通信裝置,特別是涉及一種采用片上系統(tǒng)(System OnChip,縮寫為SoC)集成設(shè)計技術(shù)開發(fā)的高性能密碼算法SoC芯片。
背景技術(shù):
隨著信息科技的發(fā)展,信息安全保護(hù)變得越來越重要。較之用軟件實(shí)現(xiàn)的密碼技術(shù),使用密碼芯片作為加密系統(tǒng)的核心載體不但能夠?qū)崿F(xiàn)加密功能,而且還帶來物理保護(hù)的好處,更加安全可靠。超大規(guī)模集成技術(shù)可以把許多功能容于一個密碼芯片上,使密碼設(shè)備的體積大大減小,功耗顯著降低,效率大大提高,并且使密碼設(shè)備越來越適應(yīng)便攜、移動、高速、多媒體的應(yīng)用需要。密碼芯片技術(shù)作為信息安全領(lǐng)域的核心技術(shù),為信息安全產(chǎn)業(yè)提供最底層的核心硬件支持,是當(dāng)前解決信息安全問題的最好方案。
目前國內(nèi)的密碼芯片主要是提供性能單一的安全芯片,如模冪乘密碼算法協(xié)處理器、對稱密碼算法專用的芯片以及數(shù)字物理噪聲源芯片等。這些密碼芯片雖然部分采用了片上系統(tǒng)的概念,但均是以單板方式實(shí)現(xiàn)的,由于芯片體系結(jié)構(gòu)未能得到充分的優(yōu)化設(shè)計,所以普遍存在著功耗高,安全可靠性差、效率低等確定。完整的應(yīng)用片上系統(tǒng)概念、采用系統(tǒng)集成方法研制密碼算法SoC芯片方面,尚未有相關(guān)產(chǎn)品及專利報道。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服現(xiàn)有密碼芯片存在不足,提供一種應(yīng)用片上系統(tǒng)概念、綜合考慮密碼芯片設(shè)計的安全性、密碼運(yùn)算的高效性以及芯片面積、功耗等因素的高性能密碼算法SoC芯片。
為了實(shí)現(xiàn)上述目的,所采用的技術(shù)方案一種高性能密碼算法SoC芯片,通過一個受嵌入式CPU核103控制的通用I/O接口107與外部系統(tǒng)之間交換數(shù)據(jù)、指令和地址信息,所述SoC芯片置有公鑰算法模塊101進(jìn)行多種公鑰密碼算法的運(yùn)算、真隨機(jī)數(shù)模塊102進(jìn)行產(chǎn)生真隨機(jī)數(shù)的運(yùn)算、分組加密模塊104進(jìn)行多種對稱密碼算法的運(yùn)算、Hash算法模塊105進(jìn)行多種Hash算法的運(yùn)算和安全保護(hù)電路106、片內(nèi)安全數(shù)據(jù)/程序存儲器108,上述模塊、電路和存儲器均通過高速片上通信總線109相互連接,并受嵌入式CPU核103的控制和調(diào)度。
本發(fā)明以嵌入式CPU核103及公鑰算法模塊101、真隨機(jī)數(shù)模塊102、分組加密模塊104、Hash算法模塊105為主干,芯片內(nèi)信息流通過嵌入式CPU核103與高速片上通信總線調(diào)度,芯片內(nèi)部與外部的全部數(shù)據(jù)交流均通過由嵌入式CPU核103控制的通用I/O接口107進(jìn)行,這樣就有效地把加解密的處理過程與外部隔離。嵌入式CPU核103通過通用I/O接口107從外界讀取指令、地址、數(shù)據(jù)等,均表現(xiàn)為對I/O接口的讀寫操作,而用于加解密運(yùn)算操作的專用指令是非公開的,因此,惡意攻擊者將難以理解和分析芯片I/O接口的數(shù)據(jù)性質(zhì),也難以通過對公開指令的操作尋址芯片的保密區(qū)域,獲得有用資料。所述安全保護(hù)電路106,當(dāng)它有輸入信號時會產(chǎn)生復(fù)位時序,從而可以實(shí)現(xiàn)在小于1ms的時間內(nèi)清除片內(nèi)所有的數(shù)據(jù)。為了保證在下電模式時該功能正常實(shí)現(xiàn),片上還可嵌入一個專用的時鐘發(fā)生器用來產(chǎn)生此時的時鐘。由于片內(nèi)很多加密算法可以并行執(zhí)行,而且都是由硬件來實(shí)現(xiàn)的,所以該芯片具有抗定時和電源攻擊的能力。另外用戶可以通過一個可認(rèn)證的下載協(xié)議將其它的安全功能下載到芯片中,這樣就能拓展芯片的基本功能,甚至可以將其完全重新定義,得到如下的功能特性安全密鑰管理功能如密鑰生成、密鑰存儲、密鑰交換、密鑰更新、密鑰撤消、密碼協(xié)議支持功能如驗證、數(shù)據(jù)完整性和有效性、水印防偽、電子支付和維護(hù)功能如軟件安全升級。本發(fā)明所述SoC芯片通過應(yīng)用片上系統(tǒng)概念、綜合考慮密碼芯片設(shè)計的安全性、密碼運(yùn)算的高效性以及芯片面積、功耗等因素是一款集產(chǎn)生、存儲和應(yīng)用機(jī)密數(shù)據(jù)于一體的高性能密碼算法SoC芯片。
圖1為高性能密碼算法SoC芯片結(jié)構(gòu)示意圖。
具體實(shí)施例方式
下面結(jié)合附圖,對本發(fā)明進(jìn)一步詳細(xì)描述如圖1所示,一種高性能密碼算法SoC芯片,通過一個受嵌入式CPU核103控制的通用I/O接口107與外部系統(tǒng)之間交換數(shù)據(jù)、指令和地址信息,其特征在于所述SoC芯片置有公鑰算法模塊101進(jìn)行多種公鑰密碼算法的運(yùn)算、真隨機(jī)數(shù)模塊102進(jìn)行產(chǎn)生真隨機(jī)數(shù)的運(yùn)算、分組加密模塊104進(jìn)行多種對稱密碼算法的運(yùn)算、Hash算法模塊105進(jìn)行多種Hash算法的運(yùn)算和安全保護(hù)電路106、片內(nèi)安全數(shù)據(jù)/程序存儲器108,上述模塊、電路和存儲器均通過高速片上通信總線109相互連接,并受嵌入式CPU核103的控制和調(diào)度。所述安全保護(hù)電路(106)內(nèi)部置有偵測部件,在探測到輸入信號時產(chǎn)生復(fù)位時序,并根據(jù)所述嵌入式CPU核103發(fā)出的報警指令啟動內(nèi)部應(yīng)急時鐘系統(tǒng),在小于1ms的時間內(nèi)清除片內(nèi)所有的數(shù)據(jù)。所述片內(nèi)安全數(shù)據(jù)/程序存儲器108由ROM和NSRAM(Non-volatile,Secure RAM)組成,其中ROM存儲啟動程序,NSRAM存儲應(yīng)用程序、密鑰及密鑰管理程序,NSRAM連接有后備電池且只能從內(nèi)部訪問。所述真隨機(jī)數(shù)模塊102和所述片內(nèi)安全數(shù)據(jù)/程序存儲器108的ROM啟動程序通過OTP技術(shù)為每塊SoC芯片產(chǎn)生一個唯一的芯片ID,并將上述ID存儲在所述片內(nèi)安全數(shù)據(jù)/程序存儲器108的NSRAM上。
所述公鑰算法模塊101提供公鑰密碼算法RSA和ECC的加速功能,主要是完成快速模冪及模乘運(yùn)算。
所述真隨機(jī)數(shù)模塊102利用物理噪聲源,采用硬件方式產(chǎn)生穩(wěn)定的真隨機(jī)位數(shù)據(jù)流,經(jīng)過所述嵌入式CPU核103內(nèi)部處理后產(chǎn)生所需的隨機(jī)數(shù)、密鑰或密鑰對等數(shù)據(jù)。
所述嵌入式CPU核103是整個芯片的調(diào)度中心,可采用16位、32位、64位等,選用標(biāo)準(zhǔn)為功耗低、面積小,并可滿足系統(tǒng)控制和數(shù)據(jù)處理的要求。
所述分組加密模塊104是一個高速密碼單元,可以完成對稱密碼算法DES、3DES、AES等對稱密鑰密碼算法,模式可選ECB、CBC、OFB64和CFB64。
所述Hash算法模塊105完成快速Hash運(yùn)算,包括SHA-1、MD5等算法。
所述安全保護(hù)電路106當(dāng)有輸入信號時會產(chǎn)生復(fù)位時序,還可根據(jù)所述CPU核103的報警指令,啟動自帶的應(yīng)急時鐘系統(tǒng),從而可以實(shí)現(xiàn)在小于1ms的時間內(nèi)清除片內(nèi)所有的數(shù)據(jù),保障信息不被泄漏。
所述通用I/O接口107用于完成所述密碼芯片與外部系統(tǒng)之間數(shù)據(jù)、指令、地址的交換。
所述片內(nèi)安全數(shù)據(jù)/程序存儲器108由ROM和NSRAM(Non-volatile,Secure RAM)組成,其中ROM用來存儲啟動程序,使得可以下載基本功能固件或其他用戶程序,如SSL、IPSec等到NSRAM中;NSRAM用來存儲應(yīng)用程序、密鑰及密鑰管理程序等,該內(nèi)部RAM帶后備電池,并且不能從外部訪問。利用OTP技術(shù)和所述真隨機(jī)數(shù)模塊102及ROM啟動程序可以為每塊芯片產(chǎn)生一個唯一的芯片ID,并存儲在NSRAM上,起到了芯片的唯一標(biāo)識目的。
從集成了該芯片的板卡級設(shè)備的角度來看,本發(fā)明所述芯片是一個掛在外部系統(tǒng)總線上的智能芯片接口單元。系統(tǒng)外部模塊可通過片選信號選中此芯片,并通過片選端、R/W端及其它控制端的端信號組合通知送到芯片通用I/O接口總線的數(shù)據(jù)性質(zhì)。所述芯片上電后,自動將各單元模塊的相關(guān)寄存器復(fù)位,等待初始化進(jìn)程;嵌入式CPU核首先讀入通信總線上的指令數(shù)據(jù),并根據(jù)指令到指定區(qū)域下載相應(yīng)的加解密程序及加解密算法所需的數(shù)據(jù)資料、啟動真隨機(jī)數(shù)模塊102生成所需的隨機(jī)數(shù)或密鑰等,完成芯片其他模塊的初始化工作,芯片轉(zhuǎn)入等待狀態(tài),準(zhǔn)備進(jìn)行相關(guān)的算法操作。本發(fā)明所述密碼算法SoC芯片依據(jù)相關(guān)程序與設(shè)備系統(tǒng)配合進(jìn)行兩種內(nèi)部操作加解密數(shù)據(jù)的輸入/輸出操作和內(nèi)部加解密運(yùn)算操作,狀態(tài)標(biāo)志分別為READY和BUSY,這兩種狀態(tài)標(biāo)志用于通知外部設(shè)備系統(tǒng),以保證芯片及整個系統(tǒng)的安全、可靠運(yùn)行。
權(quán)利要求
1.一種高性能密碼算法SoC芯片,通過一個受嵌入式CPU核(103)控制的通用I/O接口(107)與外部系統(tǒng)之間交換數(shù)據(jù)、指令和地址信息,其特征在于所述SoC芯片置有公鑰算法模塊(101)進(jìn)行多種公鑰密碼算法的運(yùn)算、真隨機(jī)數(shù)模塊(102)進(jìn)行產(chǎn)生真隨機(jī)數(shù)的運(yùn)算、分組加密模塊(104)進(jìn)行多種對稱密碼算法的運(yùn)算、Hash算法模塊(105)進(jìn)行多種Hash算法的運(yùn)算和安全保護(hù)電路(106)、片內(nèi)安全數(shù)據(jù)/程序存儲器(108),上述模塊、電路和存儲器均通過高速片上通信總線(109)相互連接,并受嵌入式CPU核(103)的控制和調(diào)度。
2.根據(jù)權(quán)利1要求所述的一種高性能密碼算法SoC芯片,其特征在于所述安全保護(hù)電路(106)內(nèi)部置有偵測部件,在探測到輸入信號時產(chǎn)生復(fù)位時序,并根據(jù)所述嵌入式CPU核(103)發(fā)出的報警指令啟動內(nèi)部應(yīng)急時鐘系統(tǒng)在小于1ms的時間內(nèi)清除所述SoC芯片內(nèi)的所有數(shù)據(jù)。
3.根據(jù)權(quán)利1要求所述的一種高性能密碼算法SoC芯片,其特征在于所述片內(nèi)安全數(shù)據(jù)/程序存儲器(108)由ROM和NSRAM組成,其中ROM存儲啟動程序,NSRAM存儲應(yīng)用程序、密鑰及密鑰管理程序,NSRAM連接有后備電池且只能從內(nèi)部進(jìn)行訪問。
4.根據(jù)權(quán)利1要求所述的一種高性能密碼算法SoC芯片,其特征在于所述真隨機(jī)數(shù)模塊(102)和所述片內(nèi)安全數(shù)據(jù)/程序存儲器(108)的ROM啟動程序通過OTP技術(shù)為每塊SoC芯片產(chǎn)生一個唯一的芯片ID,并將上述ID存儲在所述片內(nèi)安全數(shù)據(jù)/程序存儲器(108)的NSRAM上。
全文摘要
本發(fā)明公開了一種高性能密碼算法SoC芯片,通過一個受嵌入式CPU核103控制的通用I/O接口107與外部系統(tǒng)之間交換數(shù)據(jù)、指令和地址信息,所述SoC芯片置有公鑰算法模塊101進(jìn)行多種公鑰密碼算法的運(yùn)算、真隨機(jī)數(shù)模塊102進(jìn)行產(chǎn)生真隨機(jī)數(shù)的運(yùn)算、分組加密模塊104進(jìn)行多種對稱密碼算法的運(yùn)算、Hash算法模塊105進(jìn)行多種Hash算法的運(yùn)算和安全保護(hù)電路106、片內(nèi)安全數(shù)據(jù)/程序存儲器108,上述模塊、電路和存儲器均通過高速片上通信總線109相互連接,并受嵌入式CPU核103的控制和調(diào)度。本發(fā)明通過應(yīng)用片上系統(tǒng)概念的優(yōu)化設(shè)計,提供了一款集產(chǎn)生、存儲和應(yīng)用機(jī)密數(shù)據(jù)于一體的高性能密碼算法SoC芯片。
文檔編號H04L9/00GK1716841SQ20041002513
公開日2006年1月4日 申請日期2004年6月14日 優(yōu)先權(quán)日2004年6月14日
發(fā)明者周玉潔, 喬國培, 張愛新 申請人:上海安創(chuàng)信息科技有限公司