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