近年來,韌體與生產供應鏈開始成為常見的網路攻擊面向,市面上也出現一些相關防護解決方案,例如,在8月中旬,萊迪思半導體(Lattice)在臺宣布推出韌體安全的Sentry解決方案,以及生產生命週期安全的SupplyGuard服務,就是一例。
該公司亞太區應用工程總監謝征帆指出,他們最新的產品已遵循了美國標準與科技研究院(NIST)制定的相關標準,將協助設備商與製造業確保系統韌體的安全。
Sentry解決方案主打硬體平臺的韌體保護、偵測與恢復
這樣的韌體安全方案有何不同?謝征帆表示,Sentry解決方案是一個符合NIST SP 800-193平臺韌體保護恢復標準(Platform Firmware Resiliency,PFR),並通過相關CAVP(Cryptographic Algorithm Validation Program)認證,可幫助企業在開發產品時,快速符合NIST PFR的規範,對於韌體安全保護可以不用從頭開始設計。
基本上,這套解決方案由該公司的硬體元件MachXO3D搭配其中的Sentry軟體組成,當中包含硬體平臺、IP核心與軟體工具,同時他們提供參考設計與客制化服務,讓基於FPGA為基礎的用戶可實作,而對於非FPGA的用戶,他們也提供了基於RISC-V的軟體設計。
Sentry解決方案是如何運作?謝征帆說,在一個硬體平臺中,包括CPU、MCU與其他邏輯晶片等,這些元件各自都有自己的韌體需要保護,但傳統作法上就是各自建立保護機制,並未使用硬體信任根(Root of Trust,RoT)的元件來保護系統,而在Sentry解決方案中,上述韌體都是可涵蓋的保護範圍,透過MachXO3D硬體元件與當中的Sentry軟體,將在各晶片與其韌體之間,加入一層額外的保護,如同快速開關的機制,讓晶片在存取韌體時,須透過MachXO3D元件並在Sentry軟體的控制下,才能存取。
同時,MachXO3D與Sentry軟體將會持續對韌體執行偵測,如果發現有任何改動或讀取行為,將會通報上層軟體並發出警告。此外,即使韌體遭暴力攻擊,MachXO3D也將能夠讓毀壞的韌體恢復正常。
Sertry解決方案的加密驗證是如何進行?
關於這套方案對每個IC晶片韌體的「加密驗證」過程,到底是如何進行?當時萊迪斯半導體並未明說,因此,後續我們再進一步詢問他們,根據對方的說明,這是基於橢圓曲線演算法(ECDSA Elliptic Curve Digital Signature Algorithm)的簽名認證過程。
簡單來說,該方案會針對韌體先用SHA-256演算法得到一個摘要(Digest),接著再用一個私密金鑰(Private Key)ECDSA加密演算法得到相應的數位簽名,然後這個簽名會與韌體一起保存在flash中。之後,當硬體平臺通電啟動時,驗證過程就是透過公開金鑰(Public Key)、簽名(Signature)和摘要一起交給驗證引擎,一旦驗證成功,就被認為是可靠的韌體。
以萊迪思半導體的Sentry解決方案而言,將能在啟動之前,加密驗證硬體平臺中每個CPU、MCU與其他邏輯晶片的韌體,並在啟動前後與期間都能即時偵測攻擊,即使韌體損壞,也能自動恢復到正常狀態。
例如,當硬體平臺啟動、通電之後,MachXO3D將使所有的晶片處於重新啟動的狀態,這時將由MachXO3D直接存取韌體,先對韌體加密驗證,在認證通過之後,才會將快速開關打開,晶片也才可以正常讀取韌體。簡單而言,有了上述這些功能,即可做到PFR標準在保護、偵測與恢復上的要求。
SupplyGuard服務聚焦設備生命週期管理
除了提升單個產品的安全性,萊迪思半導體另一個新推的SupplyGuard服務,強調的是整個設備生產生命週期的安全。簡單來說,就是從晶片原廠生產開始,到OEM廠商、代工合約製造商(Contract Manufacturer,CM)製造的過程,採動態信任機制,要能夠防止過度生產、複製、偽造與植入木馬,並能追蹤供應鏈中的設備。
謝征帆表示,他們會利用密鑰機制,來確保只有授權的製造商才能進行生產。例如,在工廠端他們會生產MachXO3D硬體晶片並注入一個密鑰,透過安全的管道交給購買服務的客戶,接著利用密鑰對產品加密認證後,交給外包廠商製造,如此一來,將能防止未經授權的注入。而且,每個MachXO3D晶片都有獨一無二的ID,能讓供應鏈製造裝組裝過程可追蹤每個裝置。
何謂韌體保護恢復標準?
在2018年,NIST定義了NIST SP 800-193平臺韌體保護恢復標準(PFR)。該標準提供了一系列的規範與要求,目的是要硬體平臺的韌體,提供安全可靠的保護,當中主要有三大原則,包括:保護、偵測與恢復。
(圖片來源網址:https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-193.pdf)
熱門新聞
2024-11-04
2024-11-02
2024-11-04
2024-11-01
2024-11-04
2024-11-01
2024-11-02