新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 專用SOC安全控制架構的研究與設計

        專用SOC安全控制架構的研究與設計

        作者: 時間:2011-01-11 來源:網絡 收藏

        摘要:針對專用SoC芯片的安全問題,在描述芯片威脅模型與部署模型的基礎上,規劃了芯片資源的安全等級,設計了芯片的工作狀態及狀態轉移之間的約束條件和實現機制,給出了芯片運行時的安全工作流程。對芯片的安全性分析表明,所設計的芯片系統能夠滿足機密性、完整性和可信性的應用要求。
        關鍵詞:專用片上系統;控制;安全狀態;敏感信息的度量

        引言
        為了滿足智能卡和可信計算應用需求,設計實現了一款專用SoC芯片。該芯片由微處理器、程序和數據存儲器及管理模塊、安全邏輯模塊、密碼服務模塊、輔助功能模塊、I/0接口組成,能為各種安全應用提供機密性、完整性和身份認證等多種密碼服務,以及數據存儲、訪問控制、安全計算等應用。
        專用SoC芯片的安全控制設計,首先應對芯片的應用環境進行分析,得到芯片的威脅模型與部署模型,即芯片的潛在攻擊者和可能的攻擊方式,以及芯片的生產、運輸、研發和使用等環節存在的風險問題;其次是根據芯片安全要求與功能規范,通過軟硬件協同設計方式,設置相關硬件邏輯、狀態寄存器和參數存儲區,并實現相關安全策略的軟件控制流程;最后對所設計的系統進行安全性分析、仿真驗證與FPGA測試。

        1 芯片系統安全體系結構設計
        基于芯片系統的生產與應用實際,根據受保護資產對芯片安全性影響重要程度和信息技術安全性評估準則,芯片的受保護資產可設計為如下3種安全級別。
        0級資產:O層代碼的完整性與可信性,0層數據(LEVEL0)的機密性、完整性和可信性,以及芯片各模塊功能正確性。0級資產是芯片系統的安全基礎,對任一項的保護失敗均將導致整個芯片系統拒絕提供任何服務。
        1級資產:1層代碼的完整性與可信性,1層數據(LEVEL1)的機密性、完整性和可信性。1級資產是系統運行的核心控制態和2級資產的安全基礎,對1級資產的保護失敗將禁止本層代碼及2層代碼的執行。
        2級資產:2層代碼完整性與可信性,2層數據(LEVEL2)的機密性、完整性和可信性。2級資產是芯片系統最上層的受保護資產,對本級資產的保護失敗會導致本層代碼被禁止運行。2級資產在芯片系統中可以同時存在多個,但每一時刻只有1個投入運行。
        1.1 芯片系統安全狀態設計
        芯片加電運行后,通過執行一系列的命令,獲得不同的安全權限,從而也處于某一特定的安全狀態。
        ST1:出廠初始狀態。在信任制造商前提下,芯片在出廠初始狀態是可以信賴的。初始狀態是芯片的可信基。
        ST2:芯片使能狀態。首次加電時,上電自檢及傳輸安全認證通過后,芯片所處的狀態。芯片在驗證各功能模塊正確,且。層代碼、數據完整性校驗通過后,接收傳輸過程安全認證命令,并利用開發商與制造商的共享秘密,在允許的認證次數范圍內對芯片進行真實性認證。
        ST3:芯片激活狀態。處于使能狀態下的芯片,允許開發商通過用戶創建命令完成用戶創建。在這一過程中,芯片對開發商身份的合法性認證依賴于傳輸安全認證時的共享秘密。用戶創建完成后,置位芯片激活狀態標識與所有權獲得標識。再次啟動時,對開發商的身份合法性認證依賴于輸入的共享秘密,以及開發商創建的用戶密鑰。
        ST4:1層代碼下載允許狀態。為滿足芯片使用靈活性的要求,芯片的1層代碼可由開發商進行配置。代碼下載需對下載命令的發起者進行身份認證,在允許認證次數范圍內,若身份認證正確,則置位1層代碼下載允許標識,芯片進入1層代碼(芯片操作系統)下載允許狀態。
        ST5:1層代碼下載完成狀態。在下載控制程序的控制下,完成1層代碼下載。下載完成后,下載控制程序調用SHA1模塊,對1層代碼進行完整性度量與存儲,并與輸入的下載代碼完整性信息進行比較。若完整性驗證正確,則置位1層代碼使能標識位。
        ST6:1層代碼運行狀態。芯片系統可以由ST3和ST5轉入1層代碼運行狀態。在進入此狀態前,需判斷1層代碼使能標識是否有效,并在驗證1層代碼及數據完整性正確后進入代碼運行狀態,執行相應程序完成預定功能。
        ST7:2層代碼(用戶應用程序)下載允許狀態。2層代碼的下載與調用均在1層代碼監控下完成。在1層代碼運行狀態下,若用戶輸入2層代碼下載命令,1層代碼首先認證代碼下載命令發起者身份。在允許的認證次數范圍內,若身份認證正確,則置位本層敏感信息存儲器中的2層代碼下載允許標識位,芯片進入2層代碼下載允許狀態。
        ST8:2層代碼下載完成狀態。與1層代碼的下載過程相同,通過調用下載控制程序,完成2層代碼的下載。下載完成后,1層代碼對2層代碼進行完整性度量與存儲,對比驗證輸入的完整性信息。若完整性驗證正確,置位LEVEL1中的2層代碼使能標識位。
        ST9:2層代碼運行狀態。當2層代碼和數據完整性驗證正確后,芯片系統可以由ST6和ST8轉入2層代碼運行狀態。當2層代碼使能標識有效時,芯片系統可以在ST6或ST8下,通過層次跳轉指令,進入2層代碼運行狀態。在ST6狀態下,芯片系統還可通過調用2層代碼來完成其相應運算與控制功能。與層次跳轉進入ST9不同的是,通過調用2層代碼來完成其相應功能時,在2層代碼執行完畢后,芯片系統可以返回到ST6。而通過層次跳轉命令進入ST9時,完成規定的功能后,芯片系統保持在ST9,或者通過系統復位返回ST3,不允許其返回ST6。


        上一頁 1 2 3 4 下一頁

        關鍵詞: SOC 架構

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: SHOW| 通山县| 崇信县| 屯留县| 额敏县| 浦县| 历史| 东丽区| 睢宁县| 贵德县| 南开区| 浮梁县| 弋阳县| 泰和县| 高青县| 仙居县| 西乌珠穆沁旗| 周口市| 弋阳县| 于都县| 新建县| 霸州市| 城固县| 博爱县| 辽中县| 永仁县| 内黄县| 开原市| 广元市| 绥滨县| 玉门市| 望奎县| 新晃| 肥东县| 揭西县| 澳门| 昂仁县| 濮阳县| 若尔盖县| 津南区| 赤峰市|