信息安全SOPC硬件平臺(tái)的架構(gòu)設(shè)計(jì)
關(guān)鍵詞 信息安全SOPC IP核硬件平臺(tái) 架構(gòu)設(shè)計(jì)
引 言
長期以來,針對(duì)各種應(yīng)用領(lǐng)域或相同領(lǐng)域的不同場合,由于對(duì)計(jì)算能力、接口電路數(shù)據(jù)吞吐能力等要求的差異,我們習(xí)慣于把功能相對(duì)固定的信息安全平臺(tái)設(shè)計(jì)成不同的實(shí)現(xiàn)形式。這就造成了對(duì)硬件、相應(yīng)軟件重復(fù)研發(fā)等效率低的現(xiàn)狀。隨著用戶對(duì)信息安全需求的提高和信息安全形勢(shì)的日益復(fù)雜,迫切需要一個(gè)平臺(tái)來縮短開發(fā)周期,復(fù)用開發(fā)資源,高效地開發(fā)出自己的信息安全產(chǎn)品。
片上可編程系統(tǒng)SOPC(System on a Programmable Chip)技術(shù)是Altera公司提出的一種靈活、高效的SoC解決方案。它將處理器、存儲(chǔ)器、I/O口、硬件協(xié)處理器或加速器等IP功能模塊都集成到一個(gè)FPGA芯片里,構(gòu)建一個(gè)可編程的片上系統(tǒng)。它具有硬件上可裁剪、口T擴(kuò)充和可在線升級(jí)的優(yōu)點(diǎn),而且市場上有豐富的IP核資源可選,使得設(shè)計(jì)十分靈活?;诖耍瑂OPC平臺(tái)化設(shè)計(jì)技術(shù)已成為國際上漸趨流行的設(shè)計(jì)理念。本文從信息安全SOPC硬件平臺(tái)的需求出發(fā),分析了平臺(tái)的設(shè)計(jì)原則,提出一種信息安全SOPC硬件平臺(tái)架構(gòu)模型,并對(duì)關(guān)鍵模塊給出了相應(yīng)的解決方案。
1 信息安全SOPC硬件平臺(tái)的需求與設(shè)計(jì)原則
1.1 信息安全SOPC硬件平臺(tái)的需求
(1)通用接口需求
信息安全SOPC硬件平臺(tái)為開發(fā)信息安全產(chǎn)品提供平臺(tái)支持,須考慮如安全支付、安全交通系統(tǒng)、安全識(shí)別、安全通信、安全家居及娛樂等多方面安全應(yīng)用的通用要求,包含設(shè)計(jì)時(shí)所需的CPU、密碼算法加速單元、通信接口和信息安全協(xié)議引擎模塊等。這些平臺(tái)資源可以根據(jù)應(yīng)用系統(tǒng)的具體需要,進(jìn)行很好的移植、裁剪,使得設(shè)計(jì)成本和風(fēng)險(xiǎn)直線下降。
(2)安全性需求
信息安全SOPC硬件平臺(tái)是一個(gè)面向信息安全領(lǐng)域的高低端應(yīng)用平臺(tái),要求集加密、認(rèn)證、簽名等多種算法于一體;同時(shí)還要具備自身防攻擊功能。它的安全性最基本應(yīng)包括對(duì)稱、非對(duì)稱密碼算法,數(shù)據(jù)雜湊算法等VLSI硬件模塊。
(3)開放性與標(biāo)準(zhǔn)化需求
SOPC安全平臺(tái)應(yīng)采用開放式設(shè)計(jì),可在以后的應(yīng)用中由用戶不斷地補(bǔ)充各種新的功能模塊,從而適應(yīng)新技術(shù)所帶來的變化。SOPC平臺(tái)建設(shè)必須遵循標(biāo)準(zhǔn)化的建設(shè)要求,以使其具有最大限度的IP復(fù)用性。SOPC平臺(tái)設(shè)計(jì)中,集中了不同來源的各種IP模塊。這些模塊有不同的編程風(fēng)格和不同的接口結(jié)構(gòu)。大大降低了IP模塊的重復(fù)利用率。為了使接口規(guī)范化,提高復(fù)用的效率,開放棱協(xié)議(OCP)通過開放標(biāo)準(zhǔn),方便多個(gè)IP模塊的混合匹配。在實(shí)際開發(fā)設(shè)計(jì)中,應(yīng)遵循相應(yīng)的標(biāo)準(zhǔn)。
1.2 信息安全SOPC硬件平臺(tái)的設(shè)計(jì)原則
(1)統(tǒng)一規(guī)劃與整體設(shè)計(jì)原則
SOPC平臺(tái)的搭建,不是一般的安全系統(tǒng)設(shè)計(jì),應(yīng)當(dāng)運(yùn)用信息系統(tǒng)安全工程ISSE的觀點(diǎn)、方法,分析和制定安全手段及具體措施。安全技術(shù)方案要結(jié)合信息系統(tǒng)整體安全需求,有長遠(yuǎn)的規(guī)劃和較全面的考慮,平臺(tái)的建設(shè)一定要保證安全系統(tǒng)的整體性、嚴(yán)密性。
(2)層次化與安全性原則
分層是將復(fù)雜問題簡單處理的一種有效方法,有助于簡化分析的對(duì)象,幫助我們更清晰地把握事物的本質(zhì),更快地解決問題。信息安全SOPC硬件平臺(tái)要想靈活、高效地為應(yīng)用提供服務(wù)。就應(yīng)將復(fù)雜的設(shè)計(jì)分層。平臺(tái)應(yīng)根據(jù)對(duì)上層服務(wù)透明的原則,從最底層做起,將各加密、接口、控制模塊分開,以簡化設(shè)計(jì)和實(shí)現(xiàn),也使得應(yīng)用在上層使用服務(wù)時(shí)不必關(guān)心太多的細(xì)節(jié)問題。硬件平臺(tái)要為上層提供安全應(yīng)用服務(wù),其自身必須采取一系列安全策略,以保證其安全性。
(3)靈活性與可擴(kuò)充性原則
平臺(tái)能夠根據(jù)用戶需求,靈活地選擇內(nèi)部模塊,以滿足不同用戶各個(gè)層次的需求。平臺(tái)不儀要能處理已經(jīng)存在的安全問題,而且還要能應(yīng)付即將出現(xiàn)的問題,因此它必須是可擴(kuò)充的,可以增加新的模塊,而不必改動(dòng)整個(gè)平臺(tái)。
2 信息安全SOPC硬件平臺(tái)架構(gòu)模型
2.1 模型的提出
本文在研究信息安全平臺(tái)的基礎(chǔ)上,提出了圖1所示的SOPC硬件平臺(tái)架構(gòu)模型。
SOPC硬件平臺(tái)架構(gòu)模型主要包括如下5部分:
①中心控制模塊。該模塊主要負(fù)責(zé)資源整體的協(xié)調(diào)和與外部通信接口的處理,實(shí)現(xiàn)系統(tǒng)控制、安全協(xié)議等功能。
②密碼處理控制模塊。為了減輕中心控制模塊的負(fù)荷,加快密碼運(yùn)算處理速度,專門設(shè)計(jì)了一個(gè)專用微控制器來進(jìn)行調(diào)度密碼運(yùn)算處理。
③密碼處理模塊。面向信息安全領(lǐng)域中各種應(yīng)用的對(duì)稱、非對(duì)稱密碼以及數(shù)據(jù)雜湊等算法IP模塊。
④外部接口模塊。信息安全芯片設(shè)計(jì)平臺(tái)將面向不同的應(yīng)用,必須盡量多地提供給外部的通信接口。
⑤數(shù)據(jù)存儲(chǔ)模塊。為了讓密碼處理模塊與外部接口之間的通信同步,須設(shè)計(jì)一個(gè)數(shù)據(jù)存儲(chǔ)模塊來存儲(chǔ)外部數(shù)據(jù),以及加密后來不及輸出的數(shù)據(jù)。
對(duì)圖1模型進(jìn)一步細(xì)化,如圖2所示。
圖2中,該模型由中心控制器、密碼控制器、密碼處理、外部接口、時(shí)鐘管理、總線橋、存儲(chǔ)接口等模塊組成。
2.2 針對(duì)NiosII的信息安全SOPC硬件平臺(tái)的建立
在研究了通用的信息安全SOPC硬件平臺(tái)的基礎(chǔ)上,中心控制模塊采用Nios II建直圖3所示的SOPC硬件平臺(tái)。
該平臺(tái)提供外部的高速數(shù)據(jù)通信接口,如USB、PCI、10/L00M網(wǎng)卡、BT(藍(lán)牙)、UART等通信接口模塊,并通
過Avalon總線將外部接口模塊有效地組織起來;自行設(shè)計(jì)的MCU負(fù)責(zé)協(xié)調(diào)3DES/AES、RSA/ECC、SHA/MD5等模塊的數(shù)據(jù)處理;同時(shí),還通過存儲(chǔ)接口模塊,設(shè)計(jì)了片內(nèi)ROM、RAM以及可擴(kuò)展的片外ROM、RAM數(shù)據(jù)存儲(chǔ)器來進(jìn)行數(shù)據(jù)的緩存。時(shí)鐘管理模塊給自行設(shè)計(jì)的總線提供時(shí)鐘源;TRNG為各算法IP模塊提供真隨機(jī)噪聲源,作為會(huì)話密鑰的種子密鑰。
4 關(guān)鍵模塊設(shè)計(jì)
4.1 MCU的設(shè)計(jì)
根據(jù)密碼處理的特殊性,一方面MCU要能夠?qū)崿F(xiàn)兩個(gè)設(shè)備之間的數(shù)據(jù)直接交換;另一方面要及時(shí)對(duì)運(yùn)算完成標(biāo)志作出快速響應(yīng),以縮短不必要的時(shí)間延遲。因此MCU除具備通用微控制器的數(shù)據(jù)傳輸指令之外,還要增加如下兩類指令。
①直接數(shù)據(jù)傳輸指令:實(shí)現(xiàn)外部存儲(chǔ)器與sOPC平臺(tái)之間直接數(shù)據(jù)傳輸。不同于通用微處理器的DMA功能,它是通過專用指令實(shí)現(xiàn)兩個(gè)外部緩沖區(qū)之間的數(shù)據(jù)交換。
②輸入判斷分支指令:按位對(duì)外部輸入信號(hào)進(jìn)行判斷,無需微處理器執(zhí)行算術(shù)運(yùn)算或邏輯運(yùn)算,直接判斷外部引腳電平,決定程序分支。MCU設(shè)計(jì):
◇采用哈佛結(jié)構(gòu)模型實(shí)現(xiàn);
◇為了利于與NiosII協(xié)調(diào)工作,MCU采用32位寬指令;
◇可以同時(shí)讀取指令和數(shù)據(jù),使流水設(shè)計(jì)簡單、易行;
◇指令和數(shù)據(jù)都存放在內(nèi)嵌的存儲(chǔ)器中,控制器、運(yùn)算器和程序存儲(chǔ)器的處理效率較高;
◇主要進(jìn)行數(shù)據(jù)傳輸指令和跳轉(zhuǎn)指令設(shè)計(jì)。
MCU總體結(jié)構(gòu)如圖4所示。
3.2 總線設(shè)計(jì)
在實(shí)際的SOPC平臺(tái)設(shè)計(jì)中,不同IP在設(shè)計(jì)之初都是針對(duì)特定應(yīng)用的,而很少考慮到要與外部電路搭配使用。IP模塊本身的缺陷給IP集成帶來的問題有:IP模塊的接口不能夠與SOPC定義的片上總線很好地匹配;IP模塊提供的技術(shù)支持不充分、不及時(shí)等。這些問題的關(guān)鍵在于IP實(shí)現(xiàn)的功能千差萬別,對(duì)IP的定義沒有通用的標(biāo)準(zhǔn),導(dǎo)致對(duì)外接口、時(shí)序等方面也表現(xiàn)各異。國際上,很多大公司的解決辦法是片內(nèi)總線技術(shù)。片內(nèi)總線作為SOPC集成系統(tǒng)的互連結(jié)構(gòu),可以解決各個(gè)IP功能模塊間的相互通信問題(包括數(shù)據(jù)格式、通信聯(lián)絡(luò)、時(shí)序、協(xié)議等方面);用微處理器IP核作為主控制器,集成其他外圍電路實(shí)現(xiàn)可編程片上系統(tǒng),從而為設(shè)計(jì)人員省去相當(dāng)大的精力去考慮如何將自己設(shè)計(jì)的功能模塊和其他功能模塊搭建起來,從而使得IP集成起來更加方便,大大節(jié)約了時(shí)間,提高了開發(fā)效率。
本SOPC平臺(tái)包括Avalon總線和自行設(shè)計(jì)的總線,兩條總線通過一個(gè)橋模塊進(jìn)行連接,實(shí)現(xiàn)總線與總線的數(shù)據(jù)通信。外部接口模塊通過Avalon總線與NiosII進(jìn)行通信。為了使SOPC便于向SoC過渡,自行設(shè)計(jì)的總線遵循AMBA總線標(biāo)準(zhǔn)。在現(xiàn)有眾多片內(nèi)總線中,ARM公司開發(fā)的AMBA片上總線,由于其本身的高性能和ARM處理器的廣泛應(yīng)用,以及該總線的完全性,已經(jīng)成為SoC設(shè)計(jì)中使用相當(dāng)廣泛的標(biāo)準(zhǔn),深受廣大IP開發(fā)商和SoC系統(tǒng)集成者的青睞。
4 發(fā)展與展望
信息安全SOPC硬件平臺(tái)面向信息安全產(chǎn)品應(yīng)用的高端與低端等各個(gè)領(lǐng)域,既可以體現(xiàn)高速高性能,又能圍繞低成本等設(shè)計(jì)指標(biāo),實(shí)現(xiàn)資源最大限度的復(fù)用,縮短開發(fā)周期,給產(chǎn)品維護(hù)與硬件升級(jí)提供了極大的自由擴(kuò)展空間,迎合了日益增長的信息安全的需求??梢哉f,SOPC在電子設(shè)計(jì)技術(shù)上給出一種以人的基本能力為依據(jù)的軟硬件綜合解決優(yōu)化方案,使開發(fā)者在軟硬件系統(tǒng)的綜合與構(gòu)建兩方面有了充分發(fā)揮自己創(chuàng)造性和想象力的巨大空間,從而使得從多角度、多因素和多結(jié)構(gòu)層面上大幅度優(yōu)化自己的設(shè)計(jì)成為可能,在系統(tǒng)優(yōu)化方而有了前所未有的自由度。SOPC在應(yīng)用理論和知識(shí)構(gòu)成上,達(dá)到了一種有機(jī)融合。在這一平臺(tái)上,實(shí)現(xiàn)學(xué)科知識(shí)的融合、設(shè)計(jì)手段的融合和測試技術(shù)的融合,使SOPC設(shè)計(jì)者得以在優(yōu)化系統(tǒng)的性能上最大限度地發(fā)揮自己的聰明才智,它是一種理念、一種思想方法、一種境界、一種趨勢(shì)。
評(píng)論