两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種SoC密碼芯片的制作方法

文檔序號(hào):6622673閱讀:393來(lái)源:國(guó)知局
一種SoC密碼芯片的制作方法
【專利摘要】本發(fā)明公開(kāi)了一種SoC密碼芯片,包括:CPU核、接口、非易失存儲(chǔ)器、片內(nèi)存儲(chǔ)器、定時(shí)器、功耗管理模塊、時(shí)鐘復(fù)位模塊、通信總線、隨機(jī)數(shù)發(fā)生器和加解密模塊;其中,所述隨機(jī)數(shù)發(fā)生器,用于產(chǎn)生隨機(jī)數(shù);所述加解密模塊,用于對(duì)所述SoC密碼芯片接收到的目標(biāo)數(shù)據(jù)根據(jù)所述隨機(jī)數(shù)發(fā)生器產(chǎn)生的隨機(jī)數(shù)進(jìn)行加解密運(yùn)算;本發(fā)明提供的SoC密碼芯片從最底層保證了數(shù)據(jù)的安全性,不但滿足了高性能、高集成度、小型化的需求,還具備對(duì)數(shù)據(jù)傳輸安全保護(hù)的功能,從而提高了工業(yè)控制系統(tǒng)的安全性。
【專利說(shuō)明】—種SoC密碼芯片

【技術(shù)領(lǐng)域】
[0001]本發(fā)明適用于信息安全【技術(shù)領(lǐng)域】,涉及一種SoC密碼芯片。

【背景技術(shù)】
[0002]片上系統(tǒng)(System on Chip, SoC)芯片是在單個(gè)芯片上實(shí)現(xiàn)數(shù)據(jù)的采集、轉(zhuǎn)換、存儲(chǔ)、處理和輸入輸出等多種功能,可以減小系統(tǒng)級(jí)產(chǎn)品的尺寸、降低系統(tǒng)級(jí)產(chǎn)品的成本和復(fù)雜性。隨著應(yīng)用領(lǐng)域?qū)τ诩上到y(tǒng)產(chǎn)品的高性能、高集成度、小型化的需求,SoC芯片技術(shù)也在不斷發(fā)展,在航空航天、移動(dòng)通信、消費(fèi)類電子、汽車電子、醫(yī)療電子設(shè)備等領(lǐng)域都得到廣泛應(yīng)用。此外,SoC芯片在工業(yè)控制領(lǐng)域也已經(jīng)成為不可或缺的一部分。
[0003]但是,工業(yè)控制系統(tǒng)產(chǎn)品大多采用通用協(xié)議、通用硬件、通用軟件,并且以各種方式與互聯(lián)網(wǎng)等公共網(wǎng)絡(luò)連接,在公共網(wǎng)絡(luò)中容易受到病毒、木馬、操作系統(tǒng)漏洞等網(wǎng)絡(luò)攻擊和安全威脅;另一方面,傳統(tǒng)的工業(yè)控制系統(tǒng)產(chǎn)品幾乎沒(méi)有隔離功能,在實(shí)現(xiàn)系統(tǒng)開(kāi)放性的同時(shí),也降低了系統(tǒng)的安全性,如果工業(yè)控制系統(tǒng)的任一方面受到網(wǎng)絡(luò)攻擊,都極有可能造成巨大的損失。SoC芯片,為工業(yè)控制系統(tǒng)產(chǎn)品提供最底層的核心硬件支持,因此,基于芯片級(jí)的硬件解決方案成為保證信息安全最可靠的途徑,然而,現(xiàn)有的SoC芯片的結(jié)構(gòu)包括:CPU核、接口、非易失存儲(chǔ)器、片內(nèi)存儲(chǔ)器、定時(shí)器、功耗管理模塊、時(shí)鐘復(fù)位模塊和通信總線等模塊,雖然滿足了高性能、高集成度、小型化的需求,但是還不具備對(duì)數(shù)據(jù)傳輸安全保護(hù)的功能。
[0004]因此,目前需要本領(lǐng)域技術(shù)人員迫切解決的一個(gè)技術(shù)問(wèn)題就是:研制出一種具有加解密功能并且滿足工業(yè)級(jí)應(yīng)用的SoC密碼芯片,來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)傳輸?shù)陌踩Wo(hù)。


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

[0005]鑒于上述問(wèn)題,提出了本發(fā)明以便提供一種克服上述問(wèn)題或者至少部分地解決上述問(wèn)題的SoC密碼芯片。
[0006]依據(jù)本發(fā)明的一個(gè)方面,提供了一種SoC密碼芯片,包括:
[0007]CPU核、接口、非易失存儲(chǔ)器、片內(nèi)存儲(chǔ)器、定時(shí)器、功耗管理模塊、時(shí)鐘復(fù)位模塊和通信總線,其特征在于,所述SoC密碼芯片還包括:
[0008]隨機(jī)數(shù)發(fā)生器,用于產(chǎn)生隨機(jī)數(shù);
[0009]加解密模塊,用于對(duì)所述SoC密碼芯片接收到的目標(biāo)數(shù)據(jù)根據(jù)所述隨機(jī)數(shù)發(fā)生器產(chǎn)生的隨機(jī)數(shù)進(jìn)行加解密運(yùn)算。
[0010]在本發(fā)明提供的SoC密碼芯片中,所述SoC密碼芯片的加解密模塊為接收到的目標(biāo)數(shù)據(jù)提供身份認(rèn)證、數(shù)據(jù)完整性、數(shù)據(jù)加密等安全性驗(yàn)證;并且所述SoC密碼芯片自帶隨機(jī)數(shù)發(fā)生器,可以根據(jù)系統(tǒng)的需求產(chǎn)生高質(zhì)量的隨機(jī)數(shù),以供芯片安全設(shè)計(jì)使用;以此SoC密碼芯片研制出的工業(yè)控制系統(tǒng)產(chǎn)品從最底層保證了數(shù)據(jù)的安全性,不但滿足了高性能、高集成度、小型化的需求,還具備對(duì)數(shù)據(jù)傳輸安全保護(hù)的功能,從而提高了工業(yè)控制系統(tǒng)的安全性。
[0011]上述說(shuō)明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說(shuō)明書(shū)的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的【具體實(shí)施方式】。

【專利附圖】

【附圖說(shuō)明】
[0012]通過(guò)閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:
[0013]圖1a示出了根據(jù)本發(fā)明實(shí)施例一的一種SoC密碼芯片的結(jié)構(gòu)框圖;
[0014]圖1b示出了根據(jù)本發(fā)明實(shí)施例一的一種SoC密碼芯片的結(jié)構(gòu)框圖;
[0015]圖2示出了根據(jù)本發(fā)明實(shí)施例二的一種對(duì)稱加解密引擎的結(jié)構(gòu)框圖;
[0016]圖3示出了根據(jù)本發(fā)明實(shí)施例三的一種非對(duì)稱加解密引擎的結(jié)構(gòu)框圖。

【具體實(shí)施方式】
[0017]為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和【具體實(shí)施方式】對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說(shuō)明。
[0018]實(shí)施例一
[0019]參照?qǐng)Dla,給出了根據(jù)本發(fā)明實(shí)施例一的一種SoC密碼芯片的結(jié)構(gòu)框圖。
[0020]所述SoC密碼芯片包括CPU核101、加解密模塊102、隨機(jī)數(shù)發(fā)生器103、接口 105、非易失存儲(chǔ)器106、片內(nèi)存儲(chǔ)器107、定時(shí)器108、功耗管理模塊109、時(shí)鐘復(fù)位模塊110和通信總線111。
[0021]其中,所述CPU核101,用于對(duì)所述SoC密碼芯片進(jìn)行初始化和資源管理,控制和調(diào)度所述SoC密碼芯片內(nèi)的其它模塊,用于對(duì)輸入數(shù)據(jù)的協(xié)議進(jìn)行解析,對(duì)各種算法中密碼協(xié)議的集成、密碼算法的配置與調(diào)度,以及對(duì)所述SoC密碼芯片內(nèi)各寄存器的設(shè)置。
[0022]本實(shí)施例中,優(yōu)選的,所述CPU核具體為CK-Core處理器硬核,CK-Core是面向嵌入式系統(tǒng)和SoC芯片應(yīng)用領(lǐng)域的32位高性能低功耗嵌入式CPU核,具有可擴(kuò)展指令、易于集成等特點(diǎn)。也可選用其它型號(hào)的CPU核,本發(fā)明對(duì)此不作具體限制。
[0023]所述加解密模塊102,用于對(duì)所述SoC密碼芯片接收到的目標(biāo)數(shù)據(jù)進(jìn)行加解密運(yùn)笪
ο
[0024]所述加解密模塊的加解密算法可以采用對(duì)稱密碼算法、非對(duì)稱密碼算法或哈希(Hash)密碼算法等多種密碼算法,所述加解密模塊不但可以實(shí)現(xiàn)所述SoC密碼芯片的加解密功能,還可以實(shí)現(xiàn)簽名、驗(yàn)證功能。
[0025]所述隨機(jī)數(shù)發(fā)生器103,用于為所述SoC密碼芯片中的加解密運(yùn)算提供隨機(jī)數(shù)據(jù)。知識(shí)產(chǎn)權(quán)核(Intellectual Property core, IP核),是那些己驗(yàn)證的、可重利用的、具有某種確定功能的芯片模塊。所述隨機(jī)數(shù)發(fā)生器103采用IP硬核,帶有隨機(jī)性檢測(cè)邏輯,為密碼運(yùn)算提供隨機(jī)數(shù)據(jù)。所述IP硬核,是指完成了綜合的功能塊,已有固定的拓?fù)洳季趾途唧w工藝,并經(jīng)過(guò)工藝驗(yàn)證,性能可保證的IP核。
[0026]所述接口 105,用于與外部系統(tǒng)之間交換數(shù)據(jù)、指令及地址信息。本發(fā)明實(shí)施例中,所述接口米用通用異步收發(fā)傳輸器(Universal Asynchronous Receiver/Transmitter,UART),UART是一種通用串行數(shù)據(jù)總線,用于異步通信。UART還包括以下功能:支持直接存儲(chǔ)器訪問(wèn)(Direct Memory Access,DMA)接口控制功能;支持字符可編程;支持RS232異步通信模式;兼容16750的請(qǐng)求發(fā)送(Request To Send, RTS)和清除發(fā)送(Clear To Send,CTS)串行通信模式。
[0027]所述非易失存儲(chǔ)器106,用于存儲(chǔ)程序指令、地址等數(shù)據(jù),在斷電之后,所存儲(chǔ)的數(shù)據(jù)不會(huì)丟失,常用的非易失存儲(chǔ)器有帶電可擦寫(xiě)可編程只讀存儲(chǔ)器(ElectricallyErasable Programmable Read-Only Memory, EEPROM)和閃存(Flash Memory, FLASH),本發(fā)明實(shí)施例,優(yōu)選的,采用FLASH非易失存儲(chǔ)器。
[0028]所述片內(nèi)存儲(chǔ)器107,用于所述SoC密碼芯片中高速數(shù)據(jù)的緩存;所述片內(nèi)存儲(chǔ)器具體為靜態(tài)隨機(jī)存儲(chǔ)器(Static Random Access Memory, SRAM)。
[0029]所述定時(shí)器108,用于定時(shí)以及產(chǎn)生定時(shí)中斷。
[0030]所述功耗管理模塊109,用于管理所述SoC密碼芯片中系統(tǒng)的功耗和系統(tǒng)的復(fù)位;系統(tǒng)在進(jìn)行功耗控制時(shí),功耗管理模塊控制所述SoC密碼芯片在不同工作模式之間的切換:SL0W、NORMAL、IDLE和SLEEP。這些工作模式可以讓用戶根據(jù)芯片不同的應(yīng)用,動(dòng)態(tài)地管理芯片內(nèi)部各子模塊的時(shí)鐘源供給和系統(tǒng)的工作頻率,從而降低芯片的整體功耗。另外功耗管理模塊還包含了所述SoC密碼芯片中各個(gè)單元的時(shí)鐘控制電路,可以集中控制、關(guān)閉不必要打開(kāi)的模塊從而達(dá)到低功耗的目的。
[0031]所述時(shí)鐘復(fù)位模塊110,為所述SoC密碼芯片內(nèi)部各個(gè)模塊提供時(shí)鐘與復(fù)位信號(hào),以及在所述SoC密碼芯片出現(xiàn)異常情況下對(duì)所述SoC密碼芯片進(jìn)行復(fù)位控制。
[0032]所述通信總線111,用于所述SoC密碼芯片中數(shù)據(jù)的傳輸和控制,以及上述模塊均通過(guò)通信總線111相互連接;所述通信總線具體為高級(jí)微控制器總線架構(gòu)(AdvancedMicrocontroller Bus Architecture, AMBA),包含總線仲裁器、總線譯碼器、多路選擇器、高級(jí)高性能總線(Advanced High performance Bus, AHB)、AHB/APB橋和高級(jí)外圍總線(Advanced Peripheral Bus, APB)。本發(fā)明實(shí)施例中,將總線系統(tǒng)配置成標(biāo)準(zhǔn)的AHB總線。
[0033]在本實(shí)施例提供的基于IP復(fù)用的SoC密碼芯片中,所述SoC密碼芯片的加解密模塊為接收到的目標(biāo)數(shù)據(jù)提供身份認(rèn)證、數(shù)據(jù)完整性、數(shù)據(jù)加密等安全性驗(yàn)證;并且所述SoC密碼芯片自帶隨機(jī)數(shù)發(fā)生器,可以根據(jù)系統(tǒng)的需求產(chǎn)生高質(zhì)量的隨機(jī)數(shù),以供芯片安全設(shè)計(jì)使用;以此SoC密碼芯片研制出的工業(yè)控制系統(tǒng)產(chǎn)品從最底層保證了數(shù)據(jù)的安全性,不但滿足了高性能、高集成度、小型化的需求,還具備對(duì)數(shù)據(jù)傳輸安全保護(hù)的功能,從而提高了工業(yè)控制系統(tǒng)的安全性。
[0034]在本發(fā)明的另一優(yōu)選實(shí)施例中,所述SoC密碼芯片還包括:安全防護(hù)模塊104,用于獲取所述SoC密碼芯片的實(shí)時(shí)環(huán)境數(shù)據(jù),并對(duì)所述SoC密碼芯片進(jìn)行安全控制;
[0035]所述安全防護(hù)模塊用于高低頻率檢測(cè)、高低電壓檢測(cè)、防止攻擊。將當(dāng)前狀態(tài)通知(PU并可產(chǎn)生保護(hù)性復(fù)位。參見(jiàn)圖1b給出的安全防護(hù)模塊結(jié)構(gòu)框圖,所述安全防護(hù)模塊,具體包括:環(huán)境檢測(cè)單元120和檢測(cè)控制單元130 ;其中,檢測(cè)控制單元具體包括:控制電路子單元131、環(huán)境檢測(cè)接口電路子單元132和通信總線接口電路子單元133。
[0036]所述環(huán)境檢測(cè)單元120:用于對(duì)所述SoC密碼芯片的內(nèi)核工作頻率和/或通信總線工作頻率和/或加解密引擎工作頻率和/或SoC密碼芯片工作溫度和/或SoC密碼芯片內(nèi)核工作電壓進(jìn)行實(shí)時(shí)檢測(cè),以及生成相應(yīng)的實(shí)時(shí)環(huán)境數(shù)據(jù)。
[0037]所述控制電路子單元131:用于根據(jù)所述環(huán)境檢測(cè)單元檢測(cè)到的的實(shí)時(shí)環(huán)境數(shù)據(jù)生成對(duì)應(yīng)的控制信號(hào)。
[0038]環(huán)境檢測(cè)接口電路子單元132:用于完成環(huán)境檢測(cè)單元與檢測(cè)控制單元之間控制信號(hào)的交互。
[0039]通信總線接口電路子單元133:用于完成通信總線與檢測(cè)控制單元之間控制信號(hào)的交互。
[0040]本實(shí)施例中提供的SoC密碼芯片增加了安全防護(hù)模塊,為芯片提供完善安全防護(hù)功能,一旦檢測(cè)出環(huán)境數(shù)據(jù)超出設(shè)置的閾值,就會(huì)發(fā)出中斷復(fù)位信號(hào)對(duì)芯片實(shí)施保護(hù),當(dāng)SoC密碼芯片的內(nèi)核工作頻率和/或通信總線工作頻率和/或加解密引擎工作頻率和/或SoC密碼芯片工作溫度和/或SoC密碼芯片內(nèi)核工作電壓出現(xiàn)異常時(shí),安全防護(hù)模塊就會(huì)采取相應(yīng)的措施來(lái)保護(hù)SoC密碼芯片,例如發(fā)出復(fù)位請(qǐng)求信號(hào)等,進(jìn)而提高SoC密碼芯片的抗攻擊、防破解能力。
[0041]實(shí)施例二
[0042]參照?qǐng)D2,本實(shí)施例提供了一種SoC密碼芯片。
[0043]所述SoC密碼芯片包括CPU核、對(duì)稱加解密引擎、隨機(jī)數(shù)發(fā)生器、安全防護(hù)模塊、接口、非易失存儲(chǔ)器、片內(nèi)存儲(chǔ)器、定時(shí)器、功耗管理模塊、時(shí)鐘復(fù)位模塊和通信總線。
[0044]在本發(fā)明實(shí)施例中,優(yōu)選的,所述加解密模塊采用對(duì)稱加解密引擎,所述對(duì)稱加解密引擎采用哈佛結(jié)構(gòu),所述哈佛結(jié)構(gòu),是一種將程序指令存儲(chǔ)和數(shù)據(jù)存儲(chǔ)分開(kāi)的存儲(chǔ)器結(jié)構(gòu);也可以采用馮.諾伊曼結(jié)構(gòu),將程序指令和數(shù)據(jù)存儲(chǔ)在共同的存儲(chǔ)器中,本發(fā)明對(duì)此不作限制。
[0045]本發(fā)明實(shí)施例中,對(duì)稱加解密引擎將基本密碼函數(shù)定義為專用的指令,因此可以編程實(shí)現(xiàn)加解密算法,這些專用的指令序列構(gòu)成整個(gè)加解密算法。所述指令序列簡(jiǎn)單,執(zhí)行時(shí)間短,性能高,具有可升級(jí)能力。
[0046]參見(jiàn)圖2所給出的對(duì)稱加解密引擎的結(jié)構(gòu)框圖,所述對(duì)稱加解密引擎,具體包括:程序存儲(chǔ)單元210、程序指針單元220、通用寄存器組單元230、數(shù)據(jù)存儲(chǔ)單元240、指令譯碼單元250和密碼運(yùn)算單元260 ;
[0047]所述程序存儲(chǔ)單元210,用于存儲(chǔ)密碼運(yùn)算程序的指令;所述程序存儲(chǔ)單元采用非易失性的Flash存儲(chǔ)器,程序在掉電情況下可以繼續(xù)保存。
[0048]所述程序指針單元220,用于記錄當(dāng)前要執(zhí)行的指令在所述程序存儲(chǔ)單元中的地址。所述對(duì)稱密碼算法引擎采用順序?qū)ぶ返闹噶顚ぶ贩绞?,指令在程序存?chǔ)單元中按順序存儲(chǔ),程序計(jì)數(shù)器(Program Counter, PC)記錄當(dāng)前要執(zhí)行的指令地址,每執(zhí)行一條指令,PC自動(dòng)加I。當(dāng)程序出現(xiàn)轉(zhuǎn)移指令時(shí),則下一條指令的地址為轉(zhuǎn)移目標(biāo)地址。
[0049]所述通用寄存器組單元230,用于預(yù)先導(dǎo)入加解密運(yùn)算的目標(biāo)數(shù)據(jù)。通用寄存器組單元的大小可以根據(jù)需要進(jìn)行設(shè)置,本發(fā)明實(shí)施例中,優(yōu)選的,所述通用寄存器組單元由32個(gè)寄存器組成,每個(gè)寄存器128bit。加解密算法運(yùn)算過(guò)程中用到的目標(biāo)數(shù)據(jù)需要預(yù)先導(dǎo)入到通用寄存器組單元,所有的中間結(jié)果和算法最終結(jié)果也保存在通用寄存器組單元。
[0050]所述數(shù)據(jù)存儲(chǔ)單元240,用于保存加解密運(yùn)算的目標(biāo)數(shù)據(jù)。與通用寄存器組單元不同的是,數(shù)據(jù)存儲(chǔ)單元中的數(shù)據(jù)不能被密碼運(yùn)算單元直接處理,如果要對(duì)數(shù)據(jù)存儲(chǔ)單元中的數(shù)據(jù)進(jìn)行密碼運(yùn)算操作,需要將數(shù)據(jù)先導(dǎo)入到通用寄存器組單元中,由密碼運(yùn)算單元進(jìn)行處理,再將處理結(jié)果導(dǎo)出到數(shù)據(jù)存儲(chǔ)單元中,也就是說(shuō),對(duì)數(shù)據(jù)存儲(chǔ)單元的操作只有導(dǎo)入(Load)和保存(Store)兩種。另外,數(shù)據(jù)存儲(chǔ)單元還負(fù)責(zé)和對(duì)稱加解密引擎中的其它模塊進(jìn)行數(shù)據(jù)交互,待處理目標(biāo)數(shù)據(jù)的輸入和運(yùn)算結(jié)果的輸出。
[0051]所述指令譯碼單元250,用于根據(jù)所述程序指針單元所指的位置從所述程序存儲(chǔ)單元中取出當(dāng)前指令,并對(duì)當(dāng)前指令進(jìn)行譯碼,得到密碼運(yùn)算指令;所述指令譯碼單元采用硬件布線邏輯實(shí)現(xiàn),將從程序存儲(chǔ)單元中取出的指令進(jìn)行譯碼,得到密碼運(yùn)算單元、通用寄存器組單元和數(shù)據(jù)存儲(chǔ)單元的運(yùn)算指令,進(jìn)而選擇密碼運(yùn)算單元中對(duì)應(yīng)的基本函數(shù)功能、通用寄存器組單元的讀寫(xiě)操作和數(shù)據(jù)存儲(chǔ)單元的讀寫(xiě)操作。
[0052]所述密碼運(yùn)算單元260,用于根據(jù)隨機(jī)數(shù)發(fā)生器產(chǎn)生的隨機(jī)數(shù)和指令譯碼單元得到的密碼運(yùn)算指令,對(duì)所述通用寄存器組單元中的目標(biāo)數(shù)據(jù)進(jìn)行密碼運(yùn)算。所述密碼運(yùn)算單元由基本密碼函數(shù)所組成,通過(guò)指令譯碼單元得到的密碼運(yùn)算指令,可以實(shí)現(xiàn)異或運(yùn)算、S盒變換、移位運(yùn)算、置換運(yùn)算、模加運(yùn)算、模減運(yùn)算、模加逆運(yùn)算、模乘運(yùn)算、模乘逆運(yùn)算、邏輯與、邏輯或、邏輯非、指數(shù)運(yùn)算、對(duì)數(shù)運(yùn)算等基本密碼函數(shù)功能。除了提供上述基本密碼函數(shù),還提供可重構(gòu)單元,用于擴(kuò)展指令集。
[0053]本實(shí)施例中SoC密碼芯片中的CPU核、隨機(jī)數(shù)發(fā)生器、安全防護(hù)模塊、接口、非易失存儲(chǔ)器、片內(nèi)存儲(chǔ)器、定時(shí)器、功耗管理模塊、時(shí)鐘復(fù)位模塊和通信總線模塊的功能和所述實(shí)施例一中的相同。
[0054]本實(shí)施例中,加解密模塊采用對(duì)稱加解密引擎,并且采用哈佛結(jié)構(gòu),將程序指令和數(shù)據(jù)分開(kāi)存儲(chǔ),由于存取指令和存取數(shù)據(jù)分別通過(guò)不同的存儲(chǔ)空間和不同的總線,使得各條指令可以重疊執(zhí)行,這樣,克服了數(shù)據(jù)流傳輸?shù)钠款i,提高了運(yùn)算速度;另外,密碼運(yùn)算單元為加解密算法提供了大量的基本密碼函數(shù),以及可擴(kuò)展指令集,使得加解密運(yùn)算指令序列簡(jiǎn)單,執(zhí)行時(shí)間短,性能高,具有可升級(jí)能力,并且滿足對(duì)國(guó)密SMl算法的支持;因此,本發(fā)明的SoC密碼芯片能夠滿足工業(yè)級(jí)環(huán)境的使用,芯片自身具備完善的安全防護(hù)能力,具備SMl密碼算法,提供隨機(jī)數(shù)功能。滿足對(duì)工業(yè)系統(tǒng)的數(shù)據(jù)進(jìn)行加密、認(rèn)證等安全保護(hù)的需要。
[0055]實(shí)施例三
[0056]參照?qǐng)D3,本實(shí)施例提供了一種SoC密碼芯片。
[0057]所述SoC密碼芯片包括CPU核、非對(duì)稱加解密引擎、隨機(jī)數(shù)發(fā)生器、安全防護(hù)模塊、接口、非易失存儲(chǔ)器、片內(nèi)存儲(chǔ)器、定時(shí)器、功耗管理模塊、時(shí)鐘復(fù)位模塊和通信總線。
[0058]在本發(fā)明實(shí)施例中,所述加解密模塊采用非對(duì)稱加解密引擎,優(yōu)選的,具體采用SM2公鑰密碼算法,參見(jiàn)圖3所給出的非對(duì)稱加解密引擎的結(jié)構(gòu)框圖,所述非對(duì)稱加解密引擎具體包括:輸入輸出單元301、輸入數(shù)據(jù)緩沖單元302、第一算法程序存儲(chǔ)單元303、第二算法程序存儲(chǔ)單元304、程序選擇控制單元305、指令翻譯控制單元306、算術(shù)邏輯單元307、運(yùn)算存儲(chǔ)單元308、輸出數(shù)據(jù)緩沖單元309。
[0059]所述輸入輸出單元301,用于和所述非對(duì)稱加解密引擎內(nèi)各單元間的數(shù)據(jù)交互,以及輸入密碼運(yùn)算的目標(biāo)數(shù)據(jù)和輸出密碼運(yùn)算的結(jié)果。
[0060]所述輸入數(shù)據(jù)緩沖單元302,用于對(duì)所述輸入輸出單元301輸入的目標(biāo)數(shù)據(jù)進(jìn)行緩存。
[0061]所述第一算法程序存儲(chǔ)單元303,用于存儲(chǔ)用戶編制的SM2公鑰密碼算法程序。
[0062]所述第二算法程序存儲(chǔ)單元304,用于存儲(chǔ)所述芯片內(nèi)置的SM2公鑰密碼算法程序,包括簽名、驗(yàn)證、加密和解密等算法。
[0063]所述程序選擇控制單元305,用于接收輸入輸出單元301發(fā)送的密碼運(yùn)算命令,根據(jù)所述密碼運(yùn)算命令,從所述第一算法程序存儲(chǔ)單元303和/或第二算法程序存儲(chǔ)單元304中選擇相應(yīng)密碼算法,以及將所述密碼算法中包含的用戶指令發(fā)送至指令翻譯控制單元306。同時(shí)根據(jù)密碼算法程序運(yùn)行的狀態(tài),控制數(shù)據(jù)在輸入數(shù)據(jù)緩沖單元302、運(yùn)算存儲(chǔ)單元308、輸出數(shù)據(jù)緩沖單元309之間的傳遞。
[0064]所述指令翻譯控制單元306,用于接收程序選擇控制單元305發(fā)送的用戶指令,以及將所述用戶指令翻譯成運(yùn)算指令發(fā)送至算術(shù)邏輯單元307 ;以及接收算術(shù)邏輯單元308發(fā)送的運(yùn)算狀態(tài)信號(hào),根據(jù)這些信號(hào)控制用戶指令的翻譯,以及將這些運(yùn)算狀態(tài)信號(hào)傳輸?shù)匠绦蜻x擇控制單元305。
[0065]所述算術(shù)邏輯單元307,用于根據(jù)所述指令翻譯控制單元發(fā)送的運(yùn)算指令進(jìn)行基本密碼函數(shù)運(yùn)算。
[0066]所述運(yùn)算存儲(chǔ)單元308,用于存儲(chǔ)所述算術(shù)邏輯單元進(jìn)行基本密碼函數(shù)運(yùn)算產(chǎn)生的結(jié)果。
[0067]所述輸出數(shù)據(jù)緩沖區(qū)309,用于對(duì)所述運(yùn)算存儲(chǔ)單元中存儲(chǔ)的基本密碼函數(shù)運(yùn)算的結(jié)果進(jìn)行緩存。
[0068]本實(shí)施例中SoC密碼芯片中的CPU核、隨機(jī)數(shù)發(fā)生器、安全防護(hù)模塊、接口、非易失存儲(chǔ)器、片內(nèi)存儲(chǔ)器、定時(shí)器、功耗管理模塊、時(shí)鐘復(fù)位模塊和通信總線模塊的功能和實(shí)施例一中的相同。
[0069]本實(shí)施例中,加解密模塊采用非對(duì)稱加解密引擎,具體采用SM2公鑰密碼算法的簽名驗(yàn)證、數(shù)據(jù)加解密來(lái)實(shí)現(xiàn)身份認(rèn)證,能夠滿足工業(yè)級(jí)環(huán)境的使用,芯片自身具備完善的安全防護(hù)能力,具備SM2密碼算法,提供隨機(jī)數(shù)功能。基于該芯片可以快速、經(jīng)濟(jì)的設(shè)計(jì)出滿足工業(yè)環(huán)境使用的安全防護(hù)裝置,滿足對(duì)工業(yè)系統(tǒng)的數(shù)據(jù)進(jìn)行加密、認(rèn)證等安全保護(hù)的需要。
[0070]在此提供的算法和顯示不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見(jiàn)的。此外,本發(fā)明也不針對(duì)任何特定編程語(yǔ)言。應(yīng)當(dāng)明白,可以利用各種編程語(yǔ)言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對(duì)特定語(yǔ)言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。
[0071]在此處所提供的說(shuō)明書(shū)中,說(shuō)明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒(méi)有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說(shuō)明書(shū)的理解。
[0072]類似地,應(yīng)當(dāng)理解,為了精簡(jiǎn)本公開(kāi)并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開(kāi)的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說(shuō),如下面的權(quán)利要求書(shū)所反映的那樣,發(fā)明方面在于少于前面公開(kāi)的單個(gè)實(shí)施例的所有特征。因此,遵循【具體實(shí)施方式】的權(quán)利要求書(shū)由此明確地并入該【具體實(shí)施方式】,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。
[0073]本領(lǐng)域那些技術(shù)人員可以理解,可以對(duì)實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們?cè)O(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中??梢园褜?shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過(guò)程或者單元中的至少一些是相互排斥之外,可以采用任何組合對(duì)本說(shuō)明書(shū)(包括伴隨的權(quán)利要求、摘要和附圖)中公開(kāi)的所有特征以及如此公開(kāi)的任何方法或者設(shè)備的所有過(guò)程或單元進(jìn)行組合。除非另外明確陳述,本說(shuō)明書(shū)(包括伴隨的權(quán)利要求、摘要和附圖)中公開(kāi)的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來(lái)代替。
[0074]此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書(shū)中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來(lái)使用。
[0075]本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號(hào)處理器(DSP)來(lái)實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的SoC密碼芯片中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號(hào)的形式。這樣的信號(hào)可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號(hào)上提供,或者以任何其他形式提供。
[0076]應(yīng)該注意的是上述實(shí)施例對(duì)本發(fā)明進(jìn)行說(shuō)明而不是對(duì)本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對(duì)權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來(lái)實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過(guò)同一個(gè)硬件項(xiàng)來(lái)具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
【權(quán)利要求】
1.一種SoC密碼芯片,包括:CPU核、接口、非易失存儲(chǔ)器、片內(nèi)存儲(chǔ)器、定時(shí)器、功耗管理模塊、時(shí)鐘復(fù)位模塊和通信總線,其特征在于,所述SoC密碼芯片還包括: 隨機(jī)數(shù)發(fā)生器,用于產(chǎn)生隨機(jī)數(shù); 加解密模塊,用于對(duì)所述SoC密碼芯片接收到的目標(biāo)數(shù)據(jù)根據(jù)所述隨機(jī)數(shù)發(fā)生器產(chǎn)生的隨機(jī)數(shù)進(jìn)行加解密運(yùn)算。
2.如權(quán)利要求1所述的SoC密碼芯片,其特征在于,所述加解密模塊包括:對(duì)稱加解密引擎和/或非對(duì)稱加解密引擎。
3.如權(quán)利要求2所述的SoC密碼芯片,其特征在于,所述對(duì)稱加解密引擎,具體包括:程序存儲(chǔ)單元、程序指針單元、通用寄存器組單元、數(shù)據(jù)存儲(chǔ)單元、密碼運(yùn)算單元和指令譯碼單元; 其中, 所述程序存儲(chǔ)單元,用于存儲(chǔ)密碼運(yùn)算的指令; 所述程序指針單元,用于記錄當(dāng)前指令在所述程序存儲(chǔ)單元中的地址; 所述通用寄存器組單元,用于預(yù)先導(dǎo)入密碼運(yùn)算的目標(biāo)數(shù)據(jù); 所述數(shù)據(jù)存儲(chǔ)單元,用于保存密碼運(yùn)算的目標(biāo)數(shù)據(jù); 所述指令譯碼單元,用于根據(jù)所述程序指針單元所指的位置從所述程序存儲(chǔ)單元中取出當(dāng)前指令,并對(duì)當(dāng)前指令進(jìn)行譯碼,得到密碼運(yùn)算指令; 所述密碼運(yùn)算單元,用于對(duì)所述通用寄存器組單元中的目標(biāo)數(shù)據(jù)根據(jù)指令譯碼單元得到的密碼運(yùn)算指令進(jìn)行密碼運(yùn)算。
4.如權(quán)利要求2所述的SoC密碼芯片,其特征在于, 所述非對(duì)稱加解密引擎,具體包括:輸入輸出單元、輸入數(shù)據(jù)緩沖單元、第一算法程序存儲(chǔ)單元、第二算法程序存儲(chǔ)單元、程序選擇控制單元、指令翻譯控制單元、算術(shù)邏輯單元、運(yùn)算存儲(chǔ)單元、輸出數(shù)據(jù)緩沖單元; 其中, 所述輸入輸出單元,用于和所述非對(duì)稱加解密引擎內(nèi)各單元間的數(shù)據(jù)交互,以及輸入密碼運(yùn)算的目標(biāo)數(shù)據(jù)和輸出密碼運(yùn)算的結(jié)果; 所述輸入數(shù)據(jù)緩沖單元,用于對(duì)所述輸入輸出單元輸入的目標(biāo)數(shù)據(jù)進(jìn)行緩存; 所述第一算法程序存儲(chǔ)單元,用于存儲(chǔ)用戶編制的SM2公鑰密碼算法程序; 所述第二算法程序存儲(chǔ)單元,用于存儲(chǔ)所述SoC密碼芯片內(nèi)置的SM2公鑰密碼算法程序; 所述程序選擇控制單元,用于接收輸入輸出單元發(fā)送的密碼運(yùn)算命令,根據(jù)所述密碼運(yùn)算命令,從所述第一算法程序存儲(chǔ)單元和/或第二算法程序存儲(chǔ)單元中選擇相應(yīng)密碼算法,以及將所述密碼算法中包含的用戶指令發(fā)送至指令翻譯控制單元; 所述指令翻譯控制單元,用于接收程序選擇控制單元發(fā)送的用戶指令,以及將所述用戶指令翻譯成運(yùn)算指令發(fā)送至算術(shù)邏輯單元; 所述算術(shù)邏輯單元,用于根據(jù)所述指令翻譯控制單元發(fā)送的運(yùn)算指令進(jìn)行基本密碼函數(shù)運(yùn)算; 所述運(yùn)算存儲(chǔ)單元,用于存儲(chǔ)所述算術(shù)邏輯單元進(jìn)行基本密碼函數(shù)運(yùn)算產(chǎn)生的結(jié)果; 所述輸出數(shù)據(jù)緩沖單元,用于對(duì)所述運(yùn)算存儲(chǔ)單元中存儲(chǔ)的基本密碼函數(shù)運(yùn)算的結(jié)果進(jìn)行緩存。
5.如權(quán)利要求1所述的SoC密碼芯片,其特征在于,所述Soc密碼芯片還包括: 安全防護(hù)模塊,用于獲取所述SoC密碼芯片的實(shí)時(shí)環(huán)境數(shù)據(jù),并對(duì)所述SoC密碼芯片進(jìn)行安全控制。
6.如權(quán)利要求5所述的SoC密碼芯片,其特征在于,所述安全防護(hù)模塊,具體包括:環(huán)境檢測(cè)單元和檢測(cè)控制單元; 所述環(huán)境檢測(cè)單元:用于對(duì)所述SoC密碼芯片的內(nèi)核工作頻率和/或通信總線工作頻率和/或加解密引擎工作頻率和/或SoC密碼芯片工作溫度和/或SoC密碼芯片內(nèi)核工作電壓進(jìn)行實(shí)時(shí)檢測(cè),以及生成相應(yīng)的實(shí)時(shí)環(huán)境數(shù)據(jù); 所述檢測(cè)控制單元,用于根據(jù)所述環(huán)境檢測(cè)單元檢測(cè)到的實(shí)時(shí)環(huán)境數(shù)據(jù)生成對(duì)應(yīng)的控制信號(hào)。
7.如權(quán)利要求6所述的SoC密碼芯片,其特征在于, 所述檢測(cè)控制單元具體包括:控制電路子單元、環(huán)境檢測(cè)接口電路子單元和通信總線接口電路子單元; 其中, 所述控制電路子單元:用于根據(jù)所述環(huán)境檢測(cè)單元檢測(cè)到的實(shí)時(shí)環(huán)境數(shù)據(jù)生成對(duì)應(yīng)的控制信號(hào); 所述環(huán)境檢測(cè)接口電路子單元:用于完成環(huán)境檢測(cè)單元與檢測(cè)控制單元之間控制信號(hào)的交互; 所述通信總線接口電路子單元:用于完成通信總線與檢測(cè)控制單元之間控制信號(hào)的交互。
【文檔編號(hào)】G06F21/72GK104202161SQ201410384614
【公開(kāi)日】2014年12月10日 申請(qǐng)日期:2014年8月6日 優(yōu)先權(quán)日:2014年8月6日
【發(fā)明者】梁智強(qiáng), 胡朝輝, 江澤鑫, 陳炯聰, 黃曙, 余南華, 林丹生, 李闖, 伍曉泉 申請(qǐng)人:廣東電網(wǎng)公司電力科學(xué)研究院
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
饶阳县| 定远县| 乌鲁木齐县| 乌拉特中旗| 平远县| 翁源县| 泗洪县| 奉新县| 于都县| 洪洞县| 成安县| 乌拉特前旗| 洪洞县| 昆明市| 育儿| 延寿县| 东安县| 诸暨市| 浦东新区| 彭州市| 淮阳县| 乌苏市| 石楼县| 钟山县| 铜鼓县| 延长县| 泽州县| 济阳县| 日喀则市| 阿拉尔市| 额尔古纳市| 宾川县| 罗山县| 鹤山市| 汶川县| 射阳县| 抚宁县| 开平市| 绥江县| 临夏县| 隆化县|