【導讀】在物聯(lián)網(wǎng)時代,安全性已經(jīng)成為片上系統(tǒng)(SoC)最重要的一部分。安全的片上系統(tǒng)為系統(tǒng)(硬件和軟件)提供認證、機密性、完整性、不可復制性和訪問控制。下面是開發(fā)安全系統(tǒng)的一些架構(gòu)技術(shù)。
通常來說,安全的片上系統(tǒng)需要四個關(guān)鍵功能:安全啟動、安全存儲器、運行時數(shù)據(jù)完整性校驗以及一個中央安全漏洞響應(yīng)。
安全啟動
從安全角度來看,啟動是片上系統(tǒng)最重要且最脆弱的部分。如果黑客能夠控制片上系統(tǒng)的啟動過程,也能繞過所有其他安全措施實施,進行非法訪問。片上系統(tǒng)架構(gòu)師開發(fā)多種技術(shù),在片上系統(tǒng)啟動過程中提供安全保障。
傳送從硬件到軟件控制的聯(lián)動裝置是黑客最喜歡攻擊的一個目標點。 安全啟動是一種防水技術(shù),可保障此聯(lián)動裝置的安全。信任鏈是用來實施安全啟動的一個經(jīng)典技術(shù)。
信任鏈作為一個安全實施,在此鏈的多個階段可使用信任/認證的硬件和軟件。如果片上系統(tǒng)選擇部署安全啟動,在每個啟動階段,它會認證將執(zhí)行的下一階段。
安全啟動從可信實體(錨點)開始。芯片硬件啟動序列和BootROM是芯片中制作的可信實體。因此,幾乎不可能更換硬件(可信實體),而且仍然具有功能性的片上系統(tǒng)。
可進行驗證每個連續(xù)階段的過程,以創(chuàng)建圖1所示的信任鏈。
圖1:信任鏈
圖字:
第1階段表示執(zhí)行硬件復位序列,以簡化片上系統(tǒng)的上電。 此外,該序列傳送對可信實體BootROM的控制。
第2階段表示執(zhí)行BootROM以及對用戶應(yīng)用軟件進行認證。 認證是生成應(yīng)用圖像的獨特簽名的過程,并且匹配相同的金牌簽名,此金牌簽名存儲在片上系統(tǒng)。
第3階段表示執(zhí)行用戶應(yīng)用軟件。
第2階段的完成確??尚湃斡脩魬?yīng)用軟件。如果非法修改了用戶應(yīng)用,它的認證會在第2階段失敗,因此也不能執(zhí)行第3階段。
安全存儲器
片上系統(tǒng)的存儲器可安全地保存敏感數(shù)據(jù),如加密密鑰、唯一ID、密碼等。
存儲器可以劃分為多個分區(qū),每個分區(qū)都有一套不同的訪問控制(圖2)。根據(jù)分區(qū)中所存儲數(shù)據(jù)的性質(zhì),該分區(qū)可以被指定為安全敏感或非敏感的分區(qū)。包含敏感數(shù)據(jù)的存儲器也稱為安全存儲器。在存在安全漏洞(如篡改檢測、ECC操縱等)的情況下,安全敏感分區(qū)的內(nèi)容可能由控制器本身來擦除,同時非敏感分區(qū)的內(nèi)容可能保持不變。此類存儲控制器稱為安全存儲控制器。
圖2:存儲器可以劃分為多個分區(qū),每個分區(qū)都有一套不同的訪問控制。
圖字:
運行時數(shù)據(jù)完整性校驗
運行時數(shù)據(jù)完整性校驗用來確保運行時執(zhí)行過程中外圍存儲器內(nèi)容的完整性。安全啟動序列生成了參考文件,此文件包含安全存儲器中所存儲的單個存儲器模塊內(nèi)容的散列值。在運行時模式中,完整性校驗器讀取存儲器模塊的內(nèi)容、等待指定時間段,然后讀取另一個存儲器模塊的內(nèi)容。在這一過程中,此校驗器還計算存儲器模塊的散列值,比較它們與啟動過程中生成的參考文件的內(nèi)容(圖3)。
如果兩個散列值不匹配,校驗器則為中央單元報告安全入侵,此中央單元根據(jù)安全策略決定要采取的措施。如果此值匹配,完整性校驗器啟動并驗證后續(xù)存儲器模塊的內(nèi)容。繼續(xù)這一過程,直到片上系統(tǒng)將運行。完整性校驗器的掃描速率應(yīng)當是可配置的,因此用戶可以實現(xiàn)存儲器模塊驗證速率和存儲器帶寬利用率之間的平衡。
存儲器帶寬利用率 ∝ 1/存儲器掃描速率
圖3:運行時數(shù)據(jù)完整性校驗用來確保運行時執(zhí)行過程中外圍存儲器內(nèi)容的完整性。
圖字:
中央安全漏洞響應(yīng)單元
這個硬件模塊可以被視作軟件入侵、電壓篡改等安全相關(guān)事件的片上系統(tǒng)中央報告單元。借助此安全相關(guān)的事件信息,安全漏洞響應(yīng)單元可以確定片上系統(tǒng)的下一階段。此單元的操作可以通過以下狀態(tài)機的方式來進行最佳詮釋(圖4)。
圖4:安全漏洞響應(yīng)單元
圖字:
安全漏洞響應(yīng)單元監(jiān)控安全入侵。如果硬件探測器報告入侵(如電壓、頻率和溫度監(jiān)測器),響應(yīng)單元將片上系統(tǒng)的狀態(tài)移動到非安全狀態(tài)。非安全狀態(tài)以區(qū)別于安全狀態(tài)的某些限制為特征。 報告給響應(yīng)單元的任何進一步安全漏洞將片上系統(tǒng)作為故障狀態(tài),即非功能狀態(tài)。片上系統(tǒng)保持故障狀態(tài),直到發(fā)出復位上電指令。
這里應(yīng)注意的是,對安全入侵的響應(yīng)可按照軟件策略來執(zhí)行。例如,軟件可以配置某些入侵為非致命,因此這些入侵將不會導致片上系統(tǒng)移動至非安全或故障狀態(tài)。 這種可配置性可滿足片上應(yīng)用不同的安全需求。
片上系統(tǒng)狀態(tài)的信息可傳遞給片上系統(tǒng)的其他安全敏感的部分,如可感測狀態(tài)并保護敏感數(shù)據(jù)的安全存儲控制器。
結(jié)語
片上系統(tǒng)安全對安全可靠地操作物聯(lián)網(wǎng)聯(lián)網(wǎng)設(shè)備至關(guān)重要。同樣的功能不僅能使片上系統(tǒng)執(zhí)行它們的任務(wù),也能使它們識別并處理威脅。幸運地是,這并不需要革命性的方法,只需要現(xiàn)有架構(gòu)的演進。
免責聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請聯(lián)系小編進行處理。
推薦閱讀: