隨著物聯(lián)網(wǎng) (IoT) 設(shè)備的迅速普及和部署,各個層面都出現(xiàn)了安全風(fēng)險。它可能在可用性級別,例如社會工程、借口、網(wǎng)絡(luò)釣魚;在原始級別,例如密碼分析;在軟件級別,例如客戶端腳本、代碼注入;現(xiàn)在甚至在硬件級別。在硬件運行過程中,我們經(jīng)??吹絺?cè)信道分析、冷啟動、故障注入等風(fēng)險;或在硬件設(shè)計和制造周期中。顯著的風(fēng)險包括 IP 盜竊、逆向工程、克隆和硬件木馬。
圖 1:SoC 中的安全基礎(chǔ)架構(gòu)
一個安全的系統(tǒng)也需要各個級別的實施支持。在每個級別上,基于以下假設(shè)來評估安全機制的強度:基礎(chǔ)實現(xiàn)滿足一組給定的安全要求,這些要求隨后在較低級別強制執(zhí)行。最常見和最重要的安全要求是機密性和完整性。機密性要求系統(tǒng)不會無意中泄露信息,并且通過部署秘密加密密鑰來實現(xiàn)。完整性要求系統(tǒng)執(zhí)行的功能不多于也不少于預(yù)期,并通過驗證和測試技術(shù)進行檢查。確保系統(tǒng)執(zhí)行的功能不超過預(yù)期是一個更困難的問題,但現(xiàn)在正在開發(fā)許多解決方案。最近,DARPA授予Synopsys為其安全硅自動實施(AISS)計劃的主承包商,該計劃非常專注于硬件硅安全實施和自動化。
作為核心的 EDA 工具業(yè)務(wù)部門,Synopsys 的設(shè)計團隊是 AISS 計劃的關(guān)鍵部分。盡管安全實現(xiàn)在IC設(shè)計中并不是一個新概念,但許多設(shè)計人員并不了解用于實現(xiàn)的技術(shù)。這包括限制邏輯不關(guān)心、禁用未使用的有限狀態(tài)、安全內(nèi)核中的靜態(tài)代碼加密、動態(tài)代碼完整性驗證,以及容錯設(shè)計和水印等。作為安全實現(xiàn)專家的實施工程師還必須考慮安全性、功耗、成本和性能之間的權(quán)衡;對于普通設(shè)計師來說,這是一項艱巨的任務(wù)。DARPA的AISS計劃旨在為這一領(lǐng)域提供實用的解決方案。這項工作不僅可以自動化和解決安全設(shè)計挑戰(zhàn),而且在工具內(nèi)部設(shè)置安全性還可以提高安全級別,因此您不必向更廣泛的開發(fā)社區(qū)公開某些安全機制。
AISS是一個為期4年,3階段的計劃。第 1 階段是將安全系統(tǒng)組合在一起,第 2 階段是為其添加一些自動化,第 3 階段是優(yōu)化功能,這是 EDA 真正可以大放異彩的地方。例如,設(shè)計人員知道如何運行簡單的流,但為了安全起見,可能有一些我們不想向設(shè)計人員公開的特殊功能。我們只想將該結(jié)構(gòu)放入設(shè)計中,將所有實現(xiàn)留給工具和自動化,而不會公開設(shè)計意圖。有時,一個域所需的自動化與安全域的需求不一致。例如,掃描插入,您可以完全訪問設(shè)計中的每個觸發(fā)器,對于邪惡的參與者來說,這是一個非常容易進入并控制輸入或觀察輸出以查看設(shè)計內(nèi)部發(fā)生的事情的目標(biāo)。添加壓縮會使這變得更加困難,因為我們在前端使用多路復(fù)用器或在后端使用專用OR門。我們還可以添加壓縮函數(shù),在前端具有線性反饋移位寄存器,在后端具有多個輸入簽名寄存器。盡管這進一步混淆了進出的數(shù)據(jù),但它仍然容易受到不良行為者的攻擊。
從流程的角度來看,用戶會期望某些事情。例如,當(dāng)他們將 RTL 轉(zhuǎn)換為門時,他們希望能夠運行流驗證,并且一切都很好并且有效。在某些情況下,我們會有一些 RTL 到 RTL 的轉(zhuǎn)換,因此我們需要確保當(dāng)我們在這里和那里之間插入某種鍵或鎖定函數(shù)時,這些額外的寄存器或額外的組合錐體仍然可以從一個 RTL 識別到另一個。同樣,如果我們在綜合時在RTL和門電平之間插入一些門,我們希望確保我們之前放入的東西不會被擦除,并且在綜合優(yōu)化通過并從安全角度影響設(shè)計后突然不起作用。然后,之后,我們希望完全驗證工作,因為我們添加了額外的密鑰和修改的錐體,也許密鑰是已知的或未知的。
圖 2:添加到設(shè)計邏輯中的混淆和鎖定
AISS將把我們自摩爾定律以來業(yè)界使用的PPA驅(qū)動的實施概念擴展到PPAS,“S”表示安全約束。雖然PPA(功率、性能和面積)以瓦特、赫茲和納米為單位定義,但以算法驅(qū)動的自動化所需的定量方式定義安全性更為復(fù)雜。事實上,不僅風(fēng)險水平本身需要定量規(guī)范,而且需要對與風(fēng)險相關(guān)的安全成本進行定量評估,以生成用于優(yōu)化的高級成本函數(shù)。一旦定義了這些參數(shù),我們將需要對這些相關(guān)的安全級別定義和測量進行行業(yè)標(biāo)準(zhǔn)化。與PPA不同,安全設(shè)計是一個復(fù)雜的組合問題,其中存在的特殊情況比傾向于NP困難的一般情況具有較低的復(fù)雜性。它不僅僅是一種依賴于控制和基于數(shù)據(jù)流的安全分析的優(yōu)化算法,這使得這項工作非常令人興奮。
為了提供更多的顏色,例如,為了保護供應(yīng)鏈,我們正在應(yīng)用水印。我們正在為IP加水印,因此當(dāng)它進入現(xiàn)場時,我們可以看到IP是否屬于我們的。為了防止逆向工程,我們提供了邏輯鎖定和混淆功能,我們可以選擇實現(xiàn)這些功能。我們可以利用這些安全工具或?qū)崿F(xiàn)細節(jié),并將這些功能應(yīng)用于 RTL 或基于我們的安全目標(biāo)的設(shè)計。如果我們試圖提高供應(yīng)鏈的安全性,則可以實施水印或鎖定。對于逆向工程,混淆可以與鎖定結(jié)合使用。您可能希望為這四種安全問題(供應(yīng)鏈、逆向工程、側(cè)信道攻擊、特洛伊木馬)設(shè)置不同級別的保護,我們可以撥入這些內(nèi)容,選擇一定數(shù)量或選擇一定數(shù)量的修改并達到一定級別:128 位鎖或 256 位鎖。水印是 50 步還是 1,000 步?
我們的最終目標(biāo)是將從架構(gòu)到安全強化 RTL 的時間從一年縮短到一個月,甚至一周,并且成本大幅降低。設(shè)計流程片段需要相互交互,以便在前面的步驟中插入的特征不會在后面的流程步驟中丟失。需要保持數(shù)據(jù)元素及其在設(shè)計和部署中的使用之間的協(xié)調(diào),以便密鑰可以解鎖設(shè)備功能,并且可以在現(xiàn)場驗證水印。
審核編輯:郭婷
-
寄存器
+關(guān)注
關(guān)注
31文章
5357瀏覽量
120582 -
eda
+關(guān)注
關(guān)注
71文章
2765瀏覽量
173382 -
IOT
+關(guān)注
關(guān)注
187文章
4215瀏覽量
197005
發(fā)布評論請先 登錄
相關(guān)推薦
評論