新聞中心

EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > 專用SOC安全控制架構(gòu)的研究與設(shè)計

專用SOC安全控制架構(gòu)的研究與設(shè)計

作者: 時間:2011-01-11 來源:網(wǎng)絡(luò) 收藏

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

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

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


上一頁 1 2 3 4 下一頁

關(guān)鍵詞: SOC 架構(gòu)

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉