国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于邊界控制的安全SoC芯片硬件結(jié)構(gòu)設(shè)計

2013-08-13 08:49:06徐進輝戴紫彬何道君
電子技術(shù)應(yīng)用 2013年11期
關(guān)鍵詞:安全控制服務(wù)區(qū)密碼

趙 峰 ,徐進輝 ,戴紫彬 ,何道君

(1.解放軍信息工程大學(xué),河南 鄭州 450000;2.北方信息技術(shù)研究所,北京 100072)

隨著通信技術(shù)的發(fā)展,信息安全問題愈發(fā)突出。安全SoC是加密技術(shù)與片上系統(tǒng)SoC(System on Chip)技術(shù)相結(jié)合的產(chǎn)物,是執(zhí)行密碼運算、提供密碼服務(wù)、保證數(shù)據(jù)安全的可信控制平臺。采用安全SoC芯片作為密碼處理設(shè)備具有安全性高、密碼運算速度快、使用方便等特點。而隨著側(cè)信道能量攻擊和電磁攻擊等攻擊技術(shù)的發(fā)展,安全SoC芯片的自身安全受到嚴重威脅,系統(tǒng)自身的安全成為未來信息系統(tǒng)設(shè)計的核心問題之一。參考文獻[1]中對SoC芯片進行功能塊劃分,設(shè)計固件防火墻保護敏感信息的安全,可以對任何SoC設(shè)備進行保護。ARM公司2003年開發(fā)的Trust Zone技術(shù)[2]為用戶提供了一個安全構(gòu)架,能夠抵抗多種安全威脅,但其結(jié)構(gòu)要求微處理器提供特殊支持。

通過數(shù)據(jù)加密、在操作系統(tǒng)中植入安全特性等軟件方法,在有限的嵌入式資源環(huán)境下大大增加了系統(tǒng)的復(fù)雜性和成本。由于其數(shù)據(jù)交互的實時性和開放性,使之無法從根本上實現(xiàn)真正的安全系統(tǒng)。增加安全硬件模塊的方法靈活性較差,需要重新進行硬件設(shè)計才能滿足新的安全功能,同時新增的硬件IP加重了設(shè)計開銷,增加了系統(tǒng)功耗。

本文針對計算密集型任務(wù)和信息安全的系統(tǒng)問題,基于安全SoC芯片設(shè)計技術(shù)[3-4]和安全硬件結(jié)構(gòu)思想,從系統(tǒng)、整體的角度來解決安全問題。

1 體系結(jié)構(gòu)

1.1 總體結(jié)構(gòu)

為了滿足高性能密碼處理需要,在SoC系統(tǒng)中集成更多的處理器核等硬件資源,MPSoC(MultiProcessor SoC)己成為片上系統(tǒng)發(fā)展的主流,越來越多面向特定應(yīng)用的系統(tǒng)采用多核的方式來提升系統(tǒng)的計算能力[5]。多核系統(tǒng)中原來的軟件工作量分到了多片處理器上,對單個處理器性能要求大大降低。而且可以靈活選擇處理器以適應(yīng)不同系統(tǒng)任務(wù)的需要,從而提高軟件執(zhí)行效率[6-7]。

本文設(shè)計的多核SoC采用精簡指令處理器+協(xié)處理器結(jié)構(gòu)。如圖1所示,通用RISC處理器負責(zé)數(shù)據(jù)流控制和數(shù)據(jù)分配,專用密碼協(xié)處理器負責(zé)密碼處理,兩種類型處理器通過高帶寬的多層系統(tǒng)總線連接,通過共享存儲器的緩存區(qū)進行數(shù)據(jù)交互。整個芯片分為密碼服務(wù)區(qū)和應(yīng)用開發(fā)區(qū),兩個區(qū)域通過用安全控制單元和enhanced AHB-to-AHB(eH2H)總線橋[8]連接。從圖1中可以看出,整個SoC相當于完整的個人終端計算機系統(tǒng),而密碼服務(wù)區(qū)相當于 TPM(Trusted Platform Module),是保障系統(tǒng)安全的關(guān)鍵。

圖1 安全SoC系統(tǒng)架構(gòu)

1.2 應(yīng)用開發(fā)區(qū)

應(yīng)用開發(fā)區(qū)連接各種通信接口,提供給用戶進行開發(fā)。整個區(qū)域構(gòu)成主處理器系統(tǒng),在任務(wù)執(zhí)行過程中,用戶通過主處理器系統(tǒng)運行的操作系統(tǒng)對整個安全SoC芯片進行控制。主處理器系統(tǒng)負責(zé)整個應(yīng)用開發(fā)區(qū)的設(shè)備管理、通信管理及控制任務(wù)的處理,并對應(yīng)用程序進行調(diào)度和劃分,是整個SoC系統(tǒng)的控制核心[8]。

如圖2所示,主處理器系統(tǒng)包括通用處理器、DMA控制器、高速系統(tǒng)總線、USB控制器、存儲器控制器、低速外設(shè)總線與外部設(shè)備接口。DMA控制器接受通用處理器的配置控制,負責(zé)大批量數(shù)據(jù)的傳輸。存儲控制器管理SRAM和Flash存儲器,為提高存儲控制器效率和工作頻率,采用獨立的通用存儲控制器。USB控制器管理USB接口,負責(zé)與外部進行數(shù)據(jù)快速交換。

圖2 主處理器系統(tǒng)

1.3 密碼服務(wù)區(qū)

密碼服務(wù)區(qū)提供密碼處理服務(wù),并存儲密碼算法、密鑰等敏感信息。密碼服務(wù)區(qū)構(gòu)成協(xié)處理器系統(tǒng),在應(yīng)用開發(fā)區(qū)的請求下自動完成密碼處理服務(wù)。

如圖3所示,協(xié)處理器系統(tǒng)包括微控制器、局部總線、專用密碼協(xié)處理器、隨機數(shù)發(fā)生器、存儲控制器和UART控制器。微控制器是密碼服務(wù)區(qū)的控制核心,具有上電信息加載控制、數(shù)據(jù)調(diào)度控制等功能。隨機數(shù)發(fā)生器提供協(xié)處理器加解密所需要的密鑰。存儲控制器主要存儲密碼算法、密鑰和明文等敏感信息。協(xié)處理器系統(tǒng)通過UART接口注入算法配置信息、密鑰、用戶信息、設(shè)備信息等關(guān)鍵數(shù)據(jù),并以密文的形式存放,主要完成主處理器系統(tǒng)劃分好的加解密等計算任務(wù),是整個SoC系統(tǒng)的計算核心。

圖3 協(xié)處理器子系統(tǒng)

2 密碼服務(wù)區(qū)的安全保護

2.1 安全威脅分析

SoC芯片面臨的安全問題可歸結(jié)為如下幾個方面:

(1)SoC芯片的狀態(tài)被非法讀取或更改,如以各種手段破解敏感數(shù)據(jù)和用戶密鑰;

(2)SoC芯片被改造以欺騙應(yīng)用終端或芯片發(fā)行方從而非法獲得服務(wù);

(3)SoC芯片被應(yīng)用終端欺騙從而造成用戶利益被損害。

上述幾個問題中,解決好SoC芯片安全狀態(tài)被非法讀取或更改最為關(guān)鍵。在此基礎(chǔ)上可以進行擴展以解決其他安全問題[2]。

為了保護密碼處理過程中敏感信息的安全,方便用戶使用和二次開發(fā)芯片,本文基于安全域劃分技術(shù)在硬件層面設(shè)置專用的密碼服務(wù)區(qū)和應(yīng)用開發(fā)區(qū),設(shè)計安全控制單元對來自CPU的總線請求進行安全訪問控制過濾。

2.2 安全邊界控制

融合安全機制和安全硬件結(jié)構(gòu)的思想,采用安全邊界控制——硬件隔離機制,限制應(yīng)用開發(fā)區(qū)的程序?qū)γ艽a服務(wù)區(qū)的訪問,保護敏感信息不被竊取。

安全控制單元的工作原理如圖4所示,應(yīng)用開發(fā)區(qū)的數(shù)據(jù)通過DMA控制器快速傳輸?shù)矫艽a服務(wù)區(qū)進行密碼處理,成功之后輸出數(shù)據(jù)到共享存儲器。由于惡意程序只能運行在應(yīng)用開發(fā)區(qū),而應(yīng)用開發(fā)區(qū)對密碼服務(wù)區(qū)的訪問都要經(jīng)過安全控制單元,安全控制單元過濾掉企圖修改密碼服務(wù)區(qū)的運行狀態(tài)和對密碼服務(wù)區(qū)進行數(shù)據(jù)讀取的指令,從而保證了密碼處理過程中敏感信息和解密數(shù)據(jù)的安全。

圖4 硬件隔離機制

安全控制單元按照如下的安全規(guī)則攔截CPU的非法訪問:

(1)如果應(yīng)用開發(fā)區(qū)程序企圖直接控制安全相關(guān)硬件模塊,則阻止該訪問,即安全相關(guān)的硬件模塊對應(yīng)的地址空間對于應(yīng)用開發(fā)區(qū)程序是不可見的,應(yīng)用開發(fā)區(qū)程序只能通關(guān)密碼服務(wù)區(qū)的安全服務(wù)程序獲得相應(yīng)功能。

(2)如果芯片使用者企圖通過CPU單元發(fā)出命令讀取密碼服務(wù)區(qū)的敏感信息或更改密碼服務(wù)區(qū)的狀態(tài),則阻止該請求。

通常權(quán)限生成電路的設(shè)計方法主要有兩種:

(1)查找表方法,即將地址和寫使能信號作為輸入,通過查表輸出相應(yīng)的控制信號。這種方法的優(yōu)點是速度快,但需要事先將控制信號的值存儲于表中,如果需要存儲的內(nèi)容較多,則可能消耗較多的硬件資源。

(2)比較器方法,即將對地址信號的讀寫操作與給定的權(quán)限范圍進行對比,從而輸出相應(yīng)控制信號。這種方法由于要實現(xiàn)多次比較,耗費資源較大,也會帶來較大延時。

由于本文需要存儲的控制信號量不大,而且要求盡可能地減小延遲,因此采用基于真值表的電路設(shè)計方法。將整個總線地址空間按設(shè)計要求進行劃分,根據(jù)提出的地址分配表分別列出不同地址對應(yīng)的訪問權(quán)限真值表,從而設(shè)計對應(yīng)的控制電路。

設(shè)計的安全控制單元如圖5所示。當En1有效時,可以寫入數(shù)據(jù),否則輸入數(shù)據(jù)為0。同理當En2有效時可以讀取數(shù)據(jù),否則讀出數(shù)據(jù)恒為0。如果芯片進行了地址重映射,不論是存儲器內(nèi)部還是從設(shè)備地址重映射,安全控制單元都會在檢測到地址重映射remap信號有效后對原來的地址權(quán)限做出更改。如果CPU的訪問被隔離,安全控制單元會返回中斷信號intc給中斷向量控制器;置位傳輸響應(yīng)信號shresp_0為01,告知CPU傳輸失敗。

不同的地址分配表得出的硬件電路圖不同,簡化的En1硬件電路圖如圖6所示,hwrite為寫使能,Hadd_1、Hadd_2、Hadd_3為地址分配空間的劃分值。En1在remap信號的控制下對不同的地址有不同的權(quán)限值。密碼服務(wù)區(qū)寫信號wen En1與總線讀寫信號hwrite相與生成,shaddr地址信號則由總線地址鎖存一級后直接生成。

圖5 安全控制單元

圖6 En1硬件電路

芯片的生命周期包括兩個基本階段,即調(diào)試開發(fā)階段和發(fā)行使用階段。在調(diào)試開發(fā)階段,安全控制單元不發(fā)揮作用;當芯片有調(diào)試開發(fā)階段進入發(fā)行使用階段后,發(fā)行者在片內(nèi)非易失存儲中特定位置寫入相關(guān)信息,安全控制單元就會按照上述安全規(guī)則攔截非法訪問請求。

3 仿真驗證

3.1 安全控制單元的功能仿真

采用Verilog語言對SoC設(shè)計進行了RTL級描述,建立仿真模型,使用EDA軟件對安全控制單元進行功能仿真。本文針對安全控制單元的仿真主要從兩個方面進行:有效/無效的寫操作、有效/無效的讀操作。密碼服務(wù)區(qū)的有效/無效寫操作的仿真波形如圖7所示。

在圖7(a)中,對密碼服務(wù)區(qū)進行了一次寫操作,向地址0x000a0000寫入數(shù)據(jù)0x11223344。根據(jù)設(shè)定的安全訪問規(guī)則,由于具有該地址空間的寫入權(quán)限,所以寫使能信號有效,相應(yīng)的數(shù)據(jù)被傳送至數(shù)據(jù)輸入端口,數(shù)據(jù)被正確寫入。圖7(b)中,向地址0x000b0000寫入數(shù)據(jù)0x55667788,由于不具有對該地址空間的寫入權(quán)限,因此寫使能信號和En1無效,中斷信號intc有效,相應(yīng)的總線數(shù)據(jù)無法被傳送至數(shù)據(jù)輸入端口,數(shù)據(jù)鎖定為0。

經(jīng)過仿真驗證讀操作控制也可達到設(shè)計要求。

圖7 仿真波形

綜合上述仿真波形可以看出,設(shè)計的安全控制單元能夠正確地實現(xiàn)邊界控制,達到了保護密碼服務(wù)區(qū)安全的目的。而且與軟件方法相比具有先天的安全程度高、不容易被篡改、速度快等優(yōu)點,有效提高了芯片的安全性和性能。與傳統(tǒng)保護電路相比,最大優(yōu)點在于避免了由于電路設(shè)計而引入額外的電路延時和面積增大,電路設(shè)計簡單,功能完善,具有較高的實現(xiàn)價值,而且可以靈活更改以適應(yīng)不同的安全需求。

3.2 性能分析

使用 EDA綜合工具,采用0.18 μm CMOS工藝標準單元庫及相應(yīng)負載模型和RAM硬核對SoC進行邏輯綜合,經(jīng)過詳細分析得出綜合結(jié)果如表1所示。

表1 SoC綜合結(jié)果

將本系統(tǒng)與典型的基于片上總線的片上互連方式[9](MoT)系統(tǒng)進行比較,主要比較平均帶寬和平均延遲2個參數(shù)。所有帶寬數(shù)據(jù)等效換算為系統(tǒng)在100 MHz頻率下和32 bit數(shù)據(jù)位寬時的數(shù)據(jù),結(jié)果如表2所示。可以看出,該SoC系統(tǒng)可在安全邊界控制基礎(chǔ)上實現(xiàn)較大的網(wǎng)絡(luò)帶寬和較小的延遲。

表2 互聯(lián)架構(gòu)實現(xiàn)性能比較

本文提出了多核異構(gòu)安全SoC芯片的硬件結(jié)構(gòu),針對大批量數(shù)據(jù)處理和保護信息安全的需要,采用了層次化總線的互連結(jié)構(gòu)進行優(yōu)化設(shè)計。集成多個異構(gòu)的處理器,將整個芯片劃分為密碼安全區(qū)和應(yīng)用開發(fā)區(qū),并采用安全邊界控制——硬件隔離機制、安全存儲管理等措施,可有效保證密碼安全區(qū)的安全,提高整個系統(tǒng)的安全性和數(shù)據(jù)的完整性。

[1]KONDO H,OTANI S,NAKAJIMA M,et al.Heterogeneous multi-core SoC with SiP for secure multimedia applications[J].IEEE Journal of Solid-State Circuits,2009,44(8):2251-2259.

[2]童元滿,陸洪毅,王志英,等.基于層次平臺的安全SoC設(shè)計技術(shù)[J].計算機工程與應(yīng)用,2008,44(17):10-14.

[3]Huang Wei,Han Jun,Wang Shuai,et al.The design and implement of a mobile security SoC[C].Solid-State and Integrated Circuit Technology(ICSICT),2010 10th IEEE International Conference 2010,Shanghai,2010:96-98.

[4]王雪瑞,何永強,公鑫.面向移動安全存儲的密碼SoC設(shè)計與實現(xiàn)[J].電子技術(shù)應(yīng)用.2012,38(4):10-12.

[5]HALFHILL T R.The future of multi-core processors[EB/OL].(2007-12-31)[2013-07-08].http://www.Tensilica.com/uploads/pdf/Multicore_Microprocessor_Rept.pdf.

[6]劉繼堯,劉雷波,伊首一,等.基于多層AHB架構(gòu)的多核SoC 設(shè)計[J].計算機 工 程.2012,38(9):237-239.

[7]王超.異構(gòu)多核可重構(gòu)片上系統(tǒng)關(guān)鍵技術(shù)研究[D].合肥:中國科技大學(xué),2011.

[8]趙為.面向媒體應(yīng)用的多核SoC平臺的設(shè)計與實現(xiàn)[D].浙江:浙江大學(xué),2007.

[9]BALKA A O,Qu Gang,VISHKIN U.Mesh-of-trees and alternative interconnection networks for single-chip parallelism[J].IEEE Transactions on Very Large Scale Integration(VLSI)Systems,2009,17(10):1419-1432.

猜你喜歡
安全控制服務(wù)區(qū)密碼
基于AIoT+GIS的智慧服務(wù)區(qū)構(gòu)建
機械設(shè)計自動化設(shè)備安全控制研究
密碼里的愛
建筑施工現(xiàn)場的安全控制
高速公路服務(wù)區(qū)信息技術(shù)的應(yīng)用
密碼疲勞
英語文摘(2020年3期)2020-08-13 07:27:02
建言高速公路服務(wù)區(qū)實現(xiàn)“雙提升”
中國公路(2017年5期)2017-06-01 12:10:10
密碼藏在何處
奪命密碼
熱成像技術(shù)在食品質(zhì)量安全控制中的應(yīng)用
福建省| 镇康县| 民乐县| 旬邑县| 荥阳市| 黑山县| 黄石市| 慈溪市| 东兰县| 黎平县| 金平| 专栏| 大洼县| 朝阳县| 克什克腾旗| 茌平县| 石台县| 樟树市| 沁源县| 吉水县| 大同县| 温宿县| 连平县| 浑源县| 美姑县| 清水河县| 当雄县| 凌源市| 九龙坡区| 乌审旗| 新田县| 临洮县| 凤城市| 宁国市| 古浪县| 尚义县| 淮安市| 安徽省| 金山区| 津南区| 铜梁县|