安全SoC用于為系統(tǒng)(硬件和軟件)提供身份驗(yàn)證,機(jī)密性,完整性,非再現(xiàn)和訪問(wèn)控制。以下是開(kāi)發(fā)安全系統(tǒng)的一些多種架構(gòu)技術(shù)。
通常在安全的SoC中,需要四個(gè)關(guān)鍵功能:安全啟動(dòng),安全內(nèi)存,運(yùn)行時(shí)數(shù)據(jù)完整性檢查和中央安全漏洞響應(yīng)。
安全啟動(dòng)
從安全的角度來(lái)看,啟動(dòng)是SoC的一個(gè)重要且易受攻擊的部分。如果黑客能夠控制SoC的啟動(dòng)過(guò)程,則可以繞過(guò)所有其他安全實(shí)現(xiàn)以獲得未經(jīng)授權(quán)的訪問(wèn)。 SoC架構(gòu)師開(kāi)發(fā)了多種技術(shù),以在SoC的引導(dǎo)過(guò)程中提供安全性。
將控件從硬件轉(zhuǎn)移到軟件的鏈接是黑客最喜歡的目標(biāo)點(diǎn)之一。安全啟動(dòng)是一種防水技術(shù),可以安全地保護(hù)這種聯(lián)系。信任鏈?zhǔn)怯糜趯?shí)現(xiàn)安全啟動(dòng)的經(jīng)典技術(shù)之一。
信任鏈被設(shè)想為一種安全實(shí)現(xiàn),其中可信/認(rèn)證的硬件和軟件用于鏈的多個(gè)階段。如果SoC選擇部署安全啟動(dòng),則在每個(gè)啟動(dòng)階段,它將驗(yàn)證要執(zhí)行的下一個(gè)階段。
安全啟動(dòng)從可信實(shí)體(錨點(diǎn))開(kāi)始。芯片硬件啟動(dòng)順序和BootROM是用硅制造的可信實(shí)體。因此,幾乎不可能改變硬件(可信實(shí)體)并且仍然具有功能SoC。
執(zhí)行對(duì)每個(gè)后續(xù)階段進(jìn)行身份驗(yàn)證的過(guò)程,以創(chuàng)建信任鏈,如下圖所示。
階段1表示執(zhí)行硬件復(fù)位序列,有助于SoC上電。此外,序列將控制轉(zhuǎn)移到BootROM,BootROM是一個(gè)可信實(shí)體。
階段2表示BootROM執(zhí)行以及用戶應(yīng)用程序軟件的身份驗(yàn)證。身份驗(yàn)證是生成應(yīng)用程序映像的唯一簽名并將其與黃金簽名匹配的過(guò)程,存儲(chǔ)在SoC中的安全區(qū)域。
階段3表示用戶應(yīng)用程序軟件的執(zhí)行。
階段2的完成確保可以信任用戶應(yīng)用程序軟件。如果用戶應(yīng)用程序被非法修改,其身份驗(yàn)證將在階段2中失敗,因此階段3將不會(huì)執(zhí)行。
安全內(nèi)存
SoC中的內(nèi)存可以保護(hù)到保留敏感數(shù)據(jù),如加密密鑰,唯一ID,密碼等。
內(nèi)存可以分為多個(gè)分區(qū),每個(gè)分區(qū)都有一組不同的訪問(wèn)控制。根據(jù)存儲(chǔ)在分區(qū)中的數(shù)據(jù)的性質(zhì),可以將分區(qū)指定為安全敏感分區(qū)或非敏感分區(qū)。包含敏感數(shù)據(jù)的內(nèi)存稱為安全內(nèi)存。在發(fā)生安全漏洞(例如篡改檢測(cè),ecc操作等)的情況下,安全敏感分區(qū)的內(nèi)容可以由控制器本身擦除,而非敏感分區(qū)的內(nèi)容可以保持不變。此類內(nèi)存控制器稱為安全內(nèi)存控制器。
運(yùn)行時(shí)數(shù)據(jù)完整性檢查
A運(yùn)行時(shí)數(shù)據(jù)完整性檢查用于確保運(yùn)行時(shí)執(zhí)行期間外圍存儲(chǔ)器內(nèi)容的完整性。安全啟動(dòng)序列生成參考文件,該文件包含存儲(chǔ)在安全存儲(chǔ)器中的各個(gè)存儲(chǔ)塊的內(nèi)容的散列值。在運(yùn)行時(shí)模式中,完整性檢查器讀取內(nèi)存塊的內(nèi)容,等待指定的時(shí)間段,然后讀取另一個(gè)內(nèi)存塊的內(nèi)容。在此過(guò)程中,檢查器還計(jì)算內(nèi)存塊的哈希值,并將它們與引導(dǎo)時(shí)生成的引用文件的內(nèi)容進(jìn)行比較。
如果兩個(gè)哈希值不匹配,則檢查程序向中央單元報(bào)告安全入侵,該中央單元根據(jù)安全策略決定要采取的操作。如果值匹配,則完整性檢查程序?qū)⒅匦麻_(kāi)始并驗(yàn)證后續(xù)內(nèi)存塊的內(nèi)容。此過(guò)程一直持續(xù)到SoC運(yùn)行。完整性檢查器的掃描速率應(yīng)該是可配置的,以便用戶可以在存儲(chǔ)器塊驗(yàn)證速率和存儲(chǔ)器帶寬利用率之間進(jìn)行權(quán)衡。
內(nèi)存帶寬利用率α1/內(nèi)存掃描率
中央安全漏洞響應(yīng)單元
該硬件模塊可被視為SoC的中央報(bào)告單元,用于安全相關(guān)事件,如軟件入侵,電壓篡改等。此安全相關(guān)事件信息允許安全漏洞響應(yīng)單元確定SoC的下一個(gè)狀態(tài)。可以通過(guò)以下?tīng)顟B(tài)機(jī)最好地解釋本機(jī)的操作。
安全漏洞響應(yīng)單元監(jiān)視安全入侵。如果硬件檢測(cè)器(如電壓,頻率和溫度監(jiān)視器)報(bào)告了入侵,則響應(yīng)單元將SoC的狀態(tài)移至非安全狀態(tài)。非安全狀態(tài)的特征在于將其與安全狀態(tài)區(qū)分開(kāi)的某些限制。向響應(yīng)單元報(bào)告的任何進(jìn)一步的安全漏洞將使SoC進(jìn)入失敗狀態(tài),即非功能狀態(tài)。在發(fā)出上電復(fù)位之前,SoC保持在Fail狀態(tài)。
這里應(yīng)該注意,安全入侵的響應(yīng)是根據(jù)軟件策略。例如,軟件可以將某些入侵配置為非致命,因此這些入侵不會(huì)導(dǎo)致SoC轉(zhuǎn)移到非安全或失敗狀態(tài)。提供這種可配置性是為了滿足SoC應(yīng)用程序的不同安全要求。
SoC狀態(tài)的信息被傳遞到SoC中的其他安全感知部分,例如安全存儲(chǔ)器控制器,它可以感知狀態(tài)并保護(hù)敏感數(shù)據(jù)。
結(jié)論
SoC Security對(duì)物聯(lián)網(wǎng)連接設(shè)備的安全可靠運(yùn)行至關(guān)重要。使SoC能夠執(zhí)行任務(wù)的相同功能還必須使他們能夠識(shí)別和處理威脅。幸運(yùn)的是,這不需要革命性的方法,而是現(xiàn)有架構(gòu)的演變。
有關(guān)這些主題的更多信息,請(qǐng)查看以下資源:
飛思卡爾安全技術(shù)
汽車安全:從標(biāo)準(zhǔn)到實(shí)施
安全與技術(shù)汽車IC的安全架構(gòu)
-
安全性
+關(guān)注
關(guān)注
0文章
93瀏覽量
19316 -
PCB打樣
+關(guān)注
關(guān)注
17文章
2971瀏覽量
22242 -
華強(qiáng)PCB
+關(guān)注
關(guān)注
8文章
1831瀏覽量
28355 -
華強(qiáng)pcb線路板打樣
+關(guān)注
關(guān)注
5文章
14629瀏覽量
43644
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論