《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于邊界控制的安全SoC芯片硬件結(jié)構(gòu)設(shè)計
基于邊界控制的安全SoC芯片硬件結(jié)構(gòu)設(shè)計
來源:電子技術(shù)應(yīng)用2013年第11期
趙 峰1,徐進輝1,戴紫彬1,何道君2
1.解放軍信息工程大學,河南 鄭州450000; 2.北方信息技術(shù)研究所,北京100072
摘要: 為滿足大批量數(shù)據(jù)處理和信息安全的需要,基于通用處理器與專用密碼協(xié)處理器設(shè)計了一款異構(gòu)多核安全SoC芯片。在分析了高性能SoC主要結(jié)構(gòu)和安全問題的基礎(chǔ)上,融合安全硬件結(jié)構(gòu)及邊界控制思想,設(shè)計了密碼服務(wù)區(qū)和應(yīng)用開發(fā)區(qū)分離的多層安全SoC芯片硬件架構(gòu)。對比不同權(quán)限電路設(shè)計方案后,采用真值表方法設(shè)計專用安全控制單元來實現(xiàn)兩個區(qū)域的硬件隔離,并根據(jù)SoC芯片受到的安全威脅設(shè)定安全攔截規(guī)則。采用EDA工具進行仿真實驗,結(jié)果表明安全控制單元能夠有效攔截應(yīng)用開發(fā)區(qū)對密碼服務(wù)區(qū)的非法訪問,保護芯片的安全而且產(chǎn)生的延遲較小。
中圖分類號: TP302
文獻標識碼: A
文章編號: 0258-7998(2013)11-0013-04
Design of hardware architecture for secure SoC based on border control
Zhao Feng1,Xu Jinhui1,Dai Zibin1,He Daojun2
1.PLA Information Engineering University,Zhengzhou 450000,China; 2.Northern Institute for Information Technology,Beijing 100072,China
Abstract: To meet the demand of the mass data processing and information security, the heterogeneous multi-core SoC chip including the general RISC processor and the dedicated cryptographic coprocessor is designed. Analyzing the structure of the performance SoC and fusing security hardware structure and security border control theory, this paper puts forward the multi-layered security architecture of SoC,which has the application service area and the cryptographic service area. After comparing the different design scheme of authority circuit,the security control unit is designed using truth table method to realize two regions hardware isolation. Set security blocking rules according to the security threats for SoC chip. The simulation results show that the safety control unit can effectively intercept the application service area illegally accessing the cryptographic service area, and can protect data security and has a low latency.
Key words : heterogeneous multi-core;on-chip bus(OCB);hardware isolation;cryptographic service area;security border control

    隨著通信技術(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)的復雜性和成本。由于其數(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處理器負責數(shù)據(jù)流控制和數(shù)據(jù)分配,專用密碼協(xié)處理器負責密碼處理,兩種類型處理器通過高帶寬的多層系統(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.2 應(yīng)用開發(fā)區(qū)
    應(yīng)用開發(fā)區(qū)連接各種通信接口,提供給用戶進行開發(fā)。整個區(qū)域構(gòu)成主處理器系統(tǒng),在任務(wù)執(zhí)行過程中,用戶通過主處理器系統(tǒng)運行的操作系統(tǒng)對整個安全SoC芯片進行控制。主處理器系統(tǒng)負責整個應(yīng)用開發(fā)區(qū)的設(shè)備管理、通信管理及控制任務(wù)的處理,并對應(yīng)用程序進行調(diào)度和劃分,是整個SoC系統(tǒng)的控制核心[8]。
    如圖2所示,主處理器系統(tǒng)包括通用處理器、DMA控制器、高速系統(tǒng)總線、USB控制器、存儲器控制器、低速外設(shè)總線與外部設(shè)備接口。DMA控制器接受通用處理器的配置控制,負責大批量數(shù)據(jù)的傳輸。存儲控制器管理SRAM和Flash存儲器,為提高存儲控制器效率和工作頻率,采用獨立的通用存儲控制器。USB控制器管理USB接口,負責與外部進行數(shù)據(jù)快速交換。

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)的計算核心。

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ù)的安全。

    安全控制單元按照如下的安全規(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地址信號則由總線地址鎖存一級后直接生成。
    芯片的生命周期包括兩個基本階段,即調(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è)計要求。
    綜合上述仿真波形可以看出,設(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所示。

    本文提出了多核異構(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].合肥:中國科技大學,2011.
[8] 趙為.面向媒體應(yīng)用的多核SoC平臺的設(shè)計與實現(xiàn)[D].浙江:浙江大學,2007.
[9] BALKA A O,Qu Gang,VISHKIN U.Mesh-of-trees and alternative interconnection networks for single-chip paralle lism[J].IEEE Transactions on Very Large Scale Integration (VLSI) Systems,2009,17(10):1419-1432.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。