【導讀】在物聯(lián)網(wǎng)時(shí)代,安全性已經(jīng)成為片上系統(SoC)最重要的一部分。安全的片上系統為系統(硬件和軟件)提供認證、機密性、完整性、不可復制性和訪(fǎng)問(wèn)控制。下面是開(kāi)發(fā)安全系統的一些架構技術(shù)。
通常來(lái)說(shuō),安全的片上系統需要四個(gè)關(guān)鍵功能:安全啟動(dòng)、安全存儲器、運行時(shí)數據完整性校驗以及一個(gè)中央安全漏洞響應。
安全啟動(dòng)
從安全角度來(lái)看,啟動(dòng)是片上系統最重要且最脆弱的部分。如果黑客能夠控制片上系統的啟動(dòng)過(guò)程,也能繞過(guò)所有其他安全措施實(shí)施,進(jìn)行非法訪(fǎng)問(wèn)。片上系統架構師開(kāi)發(fā)多種技術(shù),在片上系統啟動(dòng)過(guò)程中提供安全保障。
傳送從硬件到軟件控制的聯(lián)動(dòng)裝置是黑客最喜歡攻擊的一個(gè)目標點(diǎn)。 安全啟動(dòng)是一種防水技術(shù),可保障此聯(lián)動(dòng)裝置的安全。信任鏈是用來(lái)實(shí)施安全啟動(dòng)的一個(gè)經(jīng)典技術(shù)。
信任鏈作為一個(gè)安全實(shí)施,在此鏈的多個(gè)階段可使用信任/認證的硬件和軟件。如果片上系統選擇部署安全啟動(dòng),在每個(gè)啟動(dòng)階段,它會(huì )認證將執行的下一階段。
安全啟動(dòng)從可信實(shí)體(錨點(diǎn))開(kāi)始。芯片硬件啟動(dòng)序列和BootROM是芯片中制作的可信實(shí)體。因此,幾乎不可能更換硬件(可信實(shí)體),而且仍然具有功能性的片上系統。
可進(jìn)行驗證每個(gè)連續階段的過(guò)程,以創(chuàng )建圖1所示的信任鏈。

圖1:信任鏈
圖字:

第1階段表示執行硬件復位序列,以簡(jiǎn)化片上系統的上電。 此外,該序列傳送對可信實(shí)體BootROM的控制。
第2階段表示執行BootROM以及對用戶(hù)應用軟件進(jìn)行認證。 認證是生成應用圖像的獨特簽名的過(guò)程,并且匹配相同的金牌簽名,此金牌簽名存儲在片上系統。
第3階段表示執行用戶(hù)應用軟件。
第2階段的完成確??尚湃斡脩?hù)應用軟件。如果非法修改了用戶(hù)應用,它的認證會(huì )在第2階段失敗,因此也不能執行第3階段。
安全存儲器
片上系統的存儲器可安全地保存敏感數據,如加密密鑰、唯一ID、密碼等。
存儲器可以劃分為多個(gè)分區,每個(gè)分區都有一套不同的訪(fǎng)問(wèn)控制(圖2)。根據分區中所存儲數據的性質(zhì),該分區可以被指定為安全敏感或非敏感的分區。包含敏感數據的存儲器也稱(chēng)為安全存儲器。在存在安全漏洞(如篡改檢測、ECC操縱等)的情況下,安全敏感分區的內容可能由控制器本身來(lái)擦除,同時(shí)非敏感分區的內容可能保持不變。此類(lèi)存儲控制器稱(chēng)為安全存儲控制器。

圖2:存儲器可以劃分為多個(gè)分區,每個(gè)分區都有一套不同的訪(fǎng)問(wèn)控制。
圖字:

運行時(shí)數據完整性校驗
運行時(shí)數據完整性校驗用來(lái)確保運行時(shí)執行過(guò)程中外圍存儲器內容的完整性。安全啟動(dòng)序列生成了參考文件,此文件包含安全存儲器中所存儲的單個(gè)存儲器模塊內容的散列值。在運行時(shí)模式中,完整性校驗器讀取存儲器模塊的內容、等待指定時(shí)間段,然后讀取另一個(gè)存儲器模塊的內容。在這一過(guò)程中,此校驗器還計算存儲器模塊的散列值,比較它們與啟動(dòng)過(guò)程中生成的參考文件的內容(圖3)。
如果兩個(gè)散列值不匹配,校驗器則為中央單元報告安全入侵,此中央單元根據安全策略決定要采取的措施。如果此值匹配,完整性校驗器啟動(dòng)并驗證后續存儲器模塊的內容。繼續這一過(guò)程,直到片上系統將運行。完整性校驗器的掃描速率應當是可配置的,因此用戶(hù)可以實(shí)現存儲器模塊驗證速率和存儲器帶寬利用率之間的平衡。
存儲器帶寬利用率 ∝ 1/存儲器掃描速率

圖3:運行時(shí)數據完整性校驗用來(lái)確保運行時(shí)執行過(guò)程中外圍存儲器內容的完整性。
圖字:

中央安全漏洞響應單元
這個(gè)硬件模塊可以被視作軟件入侵、電壓篡改等安全相關(guān)事件的片上系統中央報告單元。借助此安全相關(guān)的事件信息,安全漏洞響應單元可以確定片上系統的下一階段。此單元的操作可以通過(guò)以下?tīng)顟B(tài)機的方式來(lái)進(jìn)行最佳詮釋?zhuān)▓D4)。

圖4:安全漏洞響應單元
圖字:

安全漏洞響應單元監控安全入侵。如果硬件探測器報告入侵(如電壓、頻率和溫度監測器),響應單元將片上系統的狀態(tài)移動(dòng)到非安全狀態(tài)。非安全狀態(tài)以區別于安全狀態(tài)的某些限制為特征。 報告給響應單元的任何進(jìn)一步安全漏洞將片上系統作為故障狀態(tài),即非功能狀態(tài)。片上系統保持故障狀態(tài),直到發(fā)出復位上電指令。
這里應注意的是,對安全入侵的響應可按照軟件策略來(lái)執行。例如,軟件可以配置某些入侵為非致命,因此這些入侵將不會(huì )導致片上系統移動(dòng)至非安全或故障狀態(tài)。 這種可配置性可滿(mǎn)足片上應用不同的安全需求。
片上系統狀態(tài)的信息可傳遞給片上系統的其他安全敏感的部分,如可感測狀態(tài)并保護敏感數據的安全存儲控制器。
結語(yǔ)
片上系統安全對安全可靠地操作物聯(lián)網(wǎng)聯(lián)網(wǎng)設備至關(guān)重要。同樣的功能不僅能使片上系統執行它們的任務(wù),也能使它們識別并處理威脅。幸運地是,這并不需要革命性的方法,只需要現有架構的演進(jìn)。
免責聲明:本文為轉載文章,轉載此文目的在于傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問(wèn)題,請聯(lián)系小編進(jìn)行處理。
推薦閱讀: