《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于邊界控制的安全SoC芯片硬件結構設計
基于邊界控制的安全SoC芯片硬件結構設計
來源:電子技術應用2013年第11期
趙 峰1,徐進輝1,戴紫彬1,何道君2
1.解放軍信息工程大學,河南 鄭州450000; 2.北方信息技術研究所,北京100072
摘要: 為滿足大批量數據處理和信息安全的需要,基于通用處理器與專用密碼協處理器設計了一款異構多核安全SoC芯片。在分析了高性能SoC主要結構和安全問題的基礎上,融合安全硬件結構及邊界控制思想,設計了密碼服務區(qū)和應用開發(fā)區(qū)分離的多層安全SoC芯片硬件架構。對比不同權限電路設計方案后,采用真值表方法設計專用安全控制單元來實現兩個區(qū)域的硬件隔離,并根據SoC芯片受到的安全威脅設定安全攔截規(guī)則。采用EDA工具進行仿真實驗,結果表明安全控制單元能夠有效攔截應用開發(fā)區(qū)對密碼服務區(qū)的非法訪問,保護芯片的安全而且產生的延遲較小。
中圖分類號: 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

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

    通過數據加密、在操作系統(tǒng)中植入安全特性等軟件方法,在有限的嵌入式資源環(huán)境下大大增加了系統(tǒng)的復雜性和成本。由于其數據交互的實時性和開放性,使之無法從根本上實現真正的安全系統(tǒng)。增加安全硬件模塊的方法靈活性較差,需要重新進行硬件設計才能滿足新的安全功能,同時新增的硬件IP加重了設計開銷,增加了系統(tǒng)功耗。
    本文針對計算密集型任務和信息安全的系統(tǒng)問題,基于安全SoC芯片設計技術[3-4]和安全硬件結構思想,從系統(tǒng)、整體的角度來解決安全問題。
1 體系結構
1.1 總體結構

    為了滿足高性能密碼處理需要,在SoC系統(tǒng)中集成更多的處理器核等硬件資源,MPSoC(MultiProcessor SoC)己成為片上系統(tǒng)發(fā)展的主流,越來越多面向特定應用的系統(tǒng)采用多核的方式來提升系統(tǒng)的計算能力[5]。多核系統(tǒng)中原來的軟件工作量分到了多片處理器上,對單個處理器性能要求大大降低。而且可以靈活選擇處理器以適應不同系統(tǒng)任務的需要,從而提高軟件執(zhí)行效率[6-7]。
    本文設計的多核SoC采用精簡指令處理器+協處理器結構。如圖1所示,通用RISC處理器負責數據流控制和數據分配,專用密碼協處理器負責密碼處理,兩種類型處理器通過高帶寬的多層系統(tǒng)總線連接,通過共享存儲器的緩存區(qū)進行數據交互。整個芯片分為密碼服務區(qū)和應用開發(fā)區(qū),兩個區(qū)域通過用安全控制單元和enhanced AHB-to-AHB(eH2H)總線橋[8]連接。從圖1中可以看出,整個SoC相當于完整的個人終端計算機系統(tǒng),而密碼服務區(qū)相當于TPM(Trusted Platform Module),是保障系統(tǒng)安全的關鍵。

1.2 應用開發(fā)區(qū)
    應用開發(fā)區(qū)連接各種通信接口,提供給用戶進行開發(fā)。整個區(qū)域構成主處理器系統(tǒng),在任務執(zhí)行過程中,用戶通過主處理器系統(tǒng)運行的操作系統(tǒng)對整個安全SoC芯片進行控制。主處理器系統(tǒng)負責整個應用開發(fā)區(qū)的設備管理、通信管理及控制任務的處理,并對應用程序進行調度和劃分,是整個SoC系統(tǒng)的控制核心[8]。
    如圖2所示,主處理器系統(tǒng)包括通用處理器、DMA控制器、高速系統(tǒng)總線、USB控制器、存儲器控制器、低速外設總線與外部設備接口。DMA控制器接受通用處理器的配置控制,負責大批量數據的傳輸。存儲控制器管理SRAM和Flash存儲器,為提高存儲控制器效率和工作頻率,采用獨立的通用存儲控制器。USB控制器管理USB接口,負責與外部進行數據快速交換。

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

2 密碼服務區(qū)的安全保護
2.1 安全威脅分析

    SoC芯片面臨的安全問題可歸結為如下幾個方面:
    (1)SoC芯片的狀態(tài)被非法讀取或更改,如以各種手段破解敏感數據和用戶密鑰;
    (2)SoC芯片被改造以欺騙應用終端或芯片發(fā)行方從而非法獲得服務;
    (3)SoC芯片被應用終端欺騙從而造成用戶利益被損害。
    上述幾個問題中,解決好SoC芯片安全狀態(tài)被非法讀取或更改最為關鍵。在此基礎上可以進行擴展以解決其他安全問題[2]。
    為了保護密碼處理過程中敏感信息的安全,方便用戶使用和二次開發(fā)芯片,本文基于安全域劃分技術在硬件層面設置專用的密碼服務區(qū)和應用開發(fā)區(qū),設計安全控制單元對來自CPU的總線請求進行安全訪問控制過濾。
2.2 安全邊界控制
    融合安全機制和安全硬件結構的思想,采用安全邊界控制——硬件隔離機制,限制應用開發(fā)區(qū)的程序對密碼服務區(qū)的訪問,保護敏感信息不被竊取。
    安全控制單元的工作原理如圖4所示,應用開發(fā)區(qū)的數據通過DMA控制器快速傳輸到密碼服務區(qū)進行密碼處理,成功之后輸出數據到共享存儲器。由于惡意程序只能運行在應用開發(fā)區(qū),而應用開發(fā)區(qū)對密碼服務區(qū)的訪問都要經過安全控制單元,安全控制單元過濾掉企圖修改密碼服務區(qū)的運行狀態(tài)和對密碼服務區(qū)進行數據讀取的指令,從而保證了密碼處理過程中敏感信息和解密數據的安全。

    安全控制單元按照如下的安全規(guī)則攔截CPU的非法訪問:
    (1)如果應用開發(fā)區(qū)程序企圖直接控制安全相關硬件模塊,則阻止該訪問,即安全相關的硬件模塊對應的地址空間對于應用開發(fā)區(qū)程序是不可見的,應用開發(fā)區(qū)程序只能通關密碼服務區(qū)的安全服務程序獲得相應功能。
    (2)如果芯片使用者企圖通過CPU單元發(fā)出命令讀取密碼服務區(qū)的敏感信息或更改密碼服務區(qū)的狀態(tài),則阻止該請求。
    通常權限生成電路的設計方法主要有兩種:
    (1)查找表方法,即將地址和寫使能信號作為輸入,通過查表輸出相應的控制信號。這種方法的優(yōu)點是速度快,但需要事先將控制信號的值存儲于表中,如果需要存儲的內容較多,則可能消耗較多的硬件資源。
    (2)比較器方法,即將對地址信號的讀寫操作與給定的權限范圍進行對比,從而輸出相應控制信號。這種方法由于要實現多次比較,耗費資源較大,也會帶來較大延時。
    由于本文需要存儲的控制信號量不大,而且要求盡可能地減小延遲,因此采用基于真值表的電路設計方法。將整個總線地址空間按設計要求進行劃分,根據提出的地址分配表分別列出不同地址對應的訪問權限真值表,從而設計對應的控制電路。
    設計的安全控制單元如圖5所示。當En1有效時,可以寫入數據,否則輸入數據為0。同理當En2有效時可以讀取數據,否則讀出數據恒為0。如果芯片進行了地址重映射,不論是存儲器內部還是從設備地址重映射,安全控制單元都會在檢測到地址重映射remap信號有效后對原來的地址權限做出更改。如果CPU的訪問被隔離,安全控制單元會返回中斷信號intc給中斷向量控制器;置位傳輸響應信號shresp_0為01,告知CPU傳輸失敗。

    不同的地址分配表得出的硬件電路圖不同,簡化的En1硬件電路圖如圖6所示,hwrite為寫使能,Hadd_1、Hadd_2、Hadd_3為地址分配空間的劃分值。En1在remap信號的控制下對不同的地址有不同的權限值。密碼服務區(qū)寫信號wen En1與總線讀寫信號hwrite相與生成,shaddr地址信號則由總線地址鎖存一級后直接生成。
    芯片的生命周期包括兩個基本階段,即調試開發(fā)階段和發(fā)行使用階段。在調試開發(fā)階段,安全控制單元不發(fā)揮作用;當芯片有調試開發(fā)階段進入發(fā)行使用階段后,發(fā)行者在片內非易失存儲中特定位置寫入相關信息,安全控制單元就會按照上述安全規(guī)則攔截非法訪問請求。
3 仿真驗證
3.1 安全控制單元的功能仿真

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

 

 

    在圖7(a)中,對密碼服務區(qū)進行了一次寫操作,向地址0x000a0000寫入數據0x11223344。根據設定的安全訪問規(guī)則,由于具有該地址空間的寫入權限,所以寫使能信號有效,相應的數據被傳送至數據輸入端口,數據被正確寫入。圖7(b)中,向地址0x000b0000寫入數據0x55667788,由于不具有對該地址空間的寫入權限,因此寫使能信號和En1無效,中斷信號intc有效,相應的總線數據無法被傳送至數據輸入端口,數據鎖定為0。
    經過仿真驗證讀操作控制也可達到設計要求。
    綜合上述仿真波形可以看出,設計的安全控制單元能夠正確地實現邊界控制,達到了保護密碼服務區(qū)安全的目的。而且與軟件方法相比具有先天的安全程度高、不容易被篡改、速度快等優(yōu)點,有效提高了芯片的安全性和性能。與傳統(tǒng)保護電路相比,最大優(yōu)點在于避免了由于電路設計而引入額外的電路延時和面積增大,電路設計簡單,功能完善,具有較高的實現價值,而且可以靈活更改以適應不同的安全需求。
3.2 性能分析
    使用EDA綜合工具,采用0.18 μm CMOS工藝標準單元庫及相應負載模型和RAM硬核對SoC進行邏輯綜合,經過詳細分析得出綜合結果如表1所示。

    本文提出了多核異構安全SoC芯片的硬件結構,針對大批量數據處理和保護信息安全的需要,采用了層次化總線的互連結構進行優(yōu)化設計。集成多個異構的處理器,將整個芯片劃分為密碼安全區(qū)和應用開發(fā)區(qū),并采用安全邊界控制——硬件隔離機制、安全存儲管理等措施,可有效保證密碼安全區(qū)的安全,提高整個系統(tǒng)的安全性和數據的完整性。
參考文獻
[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設計技術[J].計算機工程與應用,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設計與實現[J].電子技術應用.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架構的多核SoC設計[J].計算機工程.2012,38(9):237-239.
[7] 王超.異構多核可重構片上系統(tǒng)關鍵技術研究[D].合肥:中國科技大學,2011.
[8] 趙為.面向媒體應用的多核SoC平臺的設計與實現[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.

此內容為AET網站原創(chuàng),未經授權禁止轉載。