可靠的系統(tǒng)安全機(jī)制需要多種方法相結(jié)合,并且可信根必須始于安全的引導(dǎo)過程。萊迪思憑借其在該領(lǐng)域的領(lǐng)先地位,推出了新一代 Mach-NX 系列產(chǎn)品,進(jìn)一步發(fā)展了其安全控制平臺。這些新器件可以快速應(yīng)對潛在威脅,保障平臺安全,同時簡化客戶設(shè)計。本白皮書由萊迪思贊助,但文中觀點和分析均為本文作者所有。
保障系統(tǒng)安全始于固件
為應(yīng)對當(dāng)今的各種威脅,復(fù)雜的系統(tǒng)需要貫穿整個生命周期的安全機(jī)制。這需要從保障供應(yīng)鏈安全做起,確保在器件編程、系統(tǒng)制造、運輸和安裝等過程中系統(tǒng)不會遭到破壞。一旦投入使用,系統(tǒng)還需要安全的 OTA 更新來修補漏洞或更新安全協(xié)議。最后,系統(tǒng)還需要安全報廢,防止數(shù)據(jù)丟失。
專注系統(tǒng)安全的傳統(tǒng)市場主要包括數(shù)據(jù)中心、服務(wù)提供商和關(guān)鍵基礎(chǔ)設(shè)施。由于許多攻擊可以從系統(tǒng)內(nèi)部發(fā)起,多租戶和公共云數(shù)據(jù)中心的安全機(jī)制就變得十分重要,相比之下網(wǎng)絡(luò)邊緣的安全防范就略顯過時了。因此,數(shù)據(jù)中心系統(tǒng)必須能夠防御從系統(tǒng)內(nèi)部發(fā)起的軟件攻擊。攻擊目標(biāo)包括計算服務(wù)器、存儲系統(tǒng)以及網(wǎng)絡(luò)交換機(jī)和路由器。在服務(wù)提供商的網(wǎng)絡(luò)中,基站、寬帶接入設(shè)備,路由器和各種網(wǎng)關(guān)是也是潛在的攻擊目標(biāo)。即使對用戶面數(shù)據(jù)進(jìn)行加密,這些攻擊也可能危及管理面,從而在系統(tǒng)打開后門。
從廣義上講,工業(yè)控制系統(tǒng)包括了那些部署在關(guān)鍵基礎(chǔ)設(shè)施中的系統(tǒng),例如國防、公共事 業(yè)、電網(wǎng)和交通運輸?shù)取8鲊茉缇筒扇⌒袆?,保護(hù)在這些領(lǐng)域中部署的系統(tǒng)的安全, 尤其是在惡意攻擊者日益猖獗的情況下。然而,網(wǎng)絡(luò)犯罪分子越來越多地將其他領(lǐng)域的類 似系統(tǒng)作為目標(biāo)以獲取經(jīng)濟(jì)利益。試想一下勒索軟件攻擊讓工廠陷于停滯將造成多大的損失。另一個攻擊目標(biāo)是汽車,汽車的互連和自動化程度日益提高,許多汽車現(xiàn)在都采取OTA 固件更新。
設(shè)備啟動的安全性始于固件,而復(fù)雜的系統(tǒng)會有多個階段的啟動過程,也形成更大的攻擊面。系統(tǒng)固件需要在啟動時進(jìn)行身份驗證以及 OTA 更新加密和驗證。當(dāng)系統(tǒng)檢測到攻擊或故障時,必須能夠迅速恢復(fù)到穩(wěn)定和安全的狀態(tài)。
這些系統(tǒng)中有些采用可信平臺模塊(TPM)來創(chuàng)建安全地存儲加密密鑰的可信根(RoT)。但是 TPM 的實現(xiàn)方法差別很大,有的采用專用硬件模塊,有的則是基于固件和軟件的方法。研究人員已經(jīng)發(fā)現(xiàn)各種實現(xiàn)方式中的漏洞,有些甚至是經(jīng)過獨立認(rèn)證的方案,并且可 以通過確切的方法利用這些漏洞找到私鑰。因此,即便采用 TPM 也無法完全保護(hù)所有的系統(tǒng)固件免受損害。
保護(hù)、檢測和恢復(fù)
保護(hù)系統(tǒng)固件的方法之一是監(jiān)控用于讀取和寫入相關(guān)閃存的串行外圍設(shè)備接口(SPI)信 號。圖 1 展示了一個服務(wù)器示例,其中南橋(或 PCH)和基板管理控制器(BMC)上都連接了閃存。通過將開關(guān)置入 SPI 路徑,就可以讓可編程邏輯器件(PLD)監(jiān)控 SPI 信號。PLD 可以根據(jù)經(jīng)授權(quán)和未授權(quán)訪問表來驗證指令和地址。檢測到未經(jīng)授權(quán)的訪問時,它將通過開關(guān)阻止指令到達(dá)閃存設(shè)備。它還可以記錄這些活動,便于在 BMC 上運行管理代碼。
圖 1. PFR 系統(tǒng)架構(gòu)。安全控制 PLD 能夠?qū)崿F(xiàn) SPI 監(jiān)控等 PFR 功能和控制功能。
用于保護(hù)SPI 訪問的PLD 還能實現(xiàn)各類系統(tǒng)控制功能,主要包括電源控制,如上電時序、風(fēng)扇控制、面板按鈕和 LED 以及對功耗、散熱以及物理狀態(tài)的諸多感知功能。由于這些功能大多使用 I2C 接口,PLD 還能為 BMC 緩沖和復(fù)用信號。
美國國家標(biāo)準(zhǔn)與技術(shù)研究院(NIST)負(fù)責(zé)開發(fā)和制定保障網(wǎng)絡(luò)和系統(tǒng)安全的算法、協(xié)議和框架。該機(jī)構(gòu)最近推出了 NIST SP 800-193 平臺固件保護(hù)恢復(fù)規(guī)范(PFR),其核心原則是保護(hù)平臺固件不受損壞,檢測固件損壞以及將損壞的固件恢復(fù)到完整狀態(tài)。
為保護(hù) BMC 和 CPU 的啟動鏡像,安全控制 PLD 可以在允許關(guān)聯(lián)的主機(jī)退出重置狀態(tài)之前對固件進(jìn)行驗證,包括從閃存讀取固件數(shù)據(jù)、生成摘要、從閃存讀取數(shù)字簽名以及使用適當(dāng)?shù)姆菍ΨQ加密來驗證結(jié)果。PFR 規(guī)范僅推薦了指定的加密算法,但實際上,由于傳統(tǒng)算法需要較長的密鑰,因而現(xiàn)在橢圓曲線加密(ECC)成為首選。NIST 的基準(zhǔn)要求是等效于 112 位的安全強度,這需要 2048 位 RSA 簽名密鑰。相比之下,橢圓曲線 DSA(ECDSA)只需 224 位的素數(shù)域即可達(dá)到相同的加密強度。對于 192 位的等效強度,ECDSA 只需 384 位,而RSA 需要 7680 位。
固件保護(hù)還包括經(jīng)更新驗證機(jī)制。盡管PFR 規(guī)范未做詳細(xì)規(guī)定,但 OTA 更新可以加密進(jìn)行傳輸。固件鏡像加密采用對稱算法,當(dāng)前的實現(xiàn)則采用高級加密標(biāo)準(zhǔn)(AES)?;鶞?zhǔn)安全強度需要 128 位密鑰(AES-128),但如今 256 位密鑰在一些對安全性較敏感的應(yīng)用中更為常見。通過使用AES-256,批量加密超過了 384 位 ECC 哈希(SHA-384)和消息身份驗證(HMAC-384)的強度。鏡像解密后,可以在寫入閃存之前驗證其數(shù)字簽名。
PFR 規(guī)范包括了一項可信根檢測(RTD)的功能。該功能背后的思路是:對系統(tǒng)固件或關(guān)鍵數(shù)據(jù)的攻擊不應(yīng)損害 RTD。通過上述 SPI 監(jiān)控,PLD 不僅能夠充當(dāng) RTD,還能阻止那些違反預(yù)設(shè)定的閃存訪問規(guī)則的攻擊。在啟動時,它能夠通過驗證有效的固件鏡像檢測到入侵。檢測到固件受損時,系統(tǒng)優(yōu)先使用本地存儲的固件鏡像,恢復(fù)到之前經(jīng)過授權(quán)的狀態(tài)。這里需要注意的是,備份的鏡像不能是靜態(tài)的,因為之前的固件版本可能包括已知的漏洞。
自萊迪思提供實現(xiàn)系統(tǒng)控制功能的 PLD 以來,其芯片、知識產(chǎn)權(quán)(IP)和軟件快速發(fā)展,現(xiàn)在可以將 RoT、系統(tǒng)固件保護(hù)以及控制功能集成到單個器件中。新一代 Mach-NX 在久經(jīng)驗證的 MachXO3D 基礎(chǔ)上,結(jié)合專用 IP、軟件和服務(wù),更上一層樓。
Mach-NX 實現(xiàn)強大的加密
為滿足安全控制要求,Mach-NX 提供可編程硬核邏輯以及豐富的 I/O。芯片的配置(位流)存儲在片上閃存中,該閃存可以管理兩個加密的鏡像。啟動時,主位流在下載到SRAM 的同時會進(jìn)行驗證。如果驗證失敗,器件可以自動從備份的(黃金版)位流重啟。Mach-NX 還包括了通用的用戶閃存(UFM),可以用來存儲用戶的加密密鑰。該UFM 大小為 1064Kb 且經(jīng)過加密,在禁用雙引導(dǎo)功能后大小變?yōu)?2669 Kb。
安全區(qū)域(Secure Enclave)是保障系統(tǒng)安全的重要模塊,它可以實現(xiàn)加密協(xié)議、真隨機(jī)數(shù)生成器(TRNG)以及為每個器件生成唯一的不可更改的 ID。它還處理包括 ECDSA 和ECDH 在內(nèi)的 ECC 協(xié)議,最多支持 384 位素域。它還支持使用最大 256 位的密鑰進(jìn)行 AES 批量加密。該區(qū)域通過 TRNG 生成公私密鑰對,并通過在管理組件傳輸協(xié)議(MCTP)下傳輸?shù)陌踩珔f(xié)議和數(shù)據(jù)模型(SPDM)提供標(biāo)準(zhǔn)的身份驗證接口。
如圖 2 所示,Mach-NX 添加了一個 RISC-V 硬核來運行管理和控制固件。這一緊湊的 32 位微控制器執(zhí)行 RV32I 指令集,集成了中斷控制器、計時器和 JTAG 調(diào)試器。萊迪思此前以軟 IP 提供該核,如今采用硬核實現(xiàn)有助于釋放可編程邏輯,實現(xiàn)其他功能。Mach-NX 共有 11K 邏輯單元,可用邏輯單元和 UFM 的組合為現(xiàn)場升級提供了空間,滿足未來不斷發(fā)展的安全需求。
圖 2. Mach-NX 框圖。該芯片包括了硬核 RISC-V CPU、硬核安全模塊、閃存、可編程邏輯單元和豐富的 IO。
Mach-NX 的另一個新特性是增強型 SPI(eSPI)接口,它代替了傳統(tǒng)的低引腳數(shù)(LPC) 總線來連接 BMC。eSPI 在 SPI 的電氣和時序規(guī)范的基礎(chǔ)上新增了一層新協(xié)議,因此可以向下兼容 SPI。與前代產(chǎn)品一樣,新器件包括了實現(xiàn)控制功能的靈活 I/O,最多擁有 379 個引腳,可實現(xiàn) LVCMOS、LVTTL 和 LVDS 等標(biāo)準(zhǔn),支持 1.2V 到 3.3V 電壓范圍。所有封裝方案均采用 0.8 mm 引腳間距以簡化PCB 布局。
Mach-NX 是基于萊迪思 Nexus 平臺的最新產(chǎn)品,采用了三星的 28 nm 全耗盡型絕緣體上硅(FD-SOI)工藝制造。盡管 FD-SOI 以低漏電流著稱,但對于大多數(shù)安全控制應(yīng)用而言, 功耗只是次要考量。然而該工藝的另一個好處是大大減少了由輻射引起的軟錯誤。由于器 件配置存儲在SRAM 中,因此單粒子翻轉(zhuǎn)(SEU)可能會導(dǎo)致難以恢復(fù)的故障。在這種邏輯密度的器件中,F(xiàn)D-SOI 工藝幾乎可以杜絕 SEU 的發(fā)生。
更加完善的解決方案
為了簡化客戶的設(shè)計,萊迪思通過 IP、軟件和各類服務(wù)來完善其安全控制平臺,實現(xiàn) PFR 和其他更多解決方案。為了便于使用 PFR IP 來配置 Mach-NX,萊迪思提供了 Propel Builder 這一拖放式的開發(fā)工具。PFR 設(shè)計中需要的軟 IP 包括 SPI 主控、SPI 監(jiān)控器,I2C 監(jiān)控器以及 RISC-V CPU 和可編程邏輯之間基于寄存器的接口。SPI 監(jiān)控器連接外部 SPI 開關(guān),監(jiān)控 SPI 和閃存之間的訪問并阻斷未經(jīng)授權(quán)的命令。軟核 PFR 模塊需要 2.6 K 邏輯單元,剩下的 8.4 K 可用于用戶邏輯。
萊迪思還提供在嵌入式 RISC-V 核上運行的固件源代碼,作為 Sentry PFR 參考設(shè)計的一部分。有三個主要的 PFR 軟件組件分別負(fù)責(zé)安全管理、日志管理和帶外通信。每個組件都提供一套應(yīng)用代碼的 API,而低級 API 則提供對軟/硬 IP 模塊的訪問。萊迪思提供了一個應(yīng)用示例,用于演示保護(hù)、檢測和恢復(fù)功能。Propel SDK 允許客戶修改、編譯和調(diào)試 PFR 固件。
對于生產(chǎn)過程而言, PFR 設(shè)計的安全性與供應(yīng)鏈息息相關(guān), 因此萊迪思還提供名為SupplyGuard 的安全服務(wù),與 Mach-NX 不可更改的 ID 配合使用。公司為每位客戶分配特定的部件號,并使用加密密鑰對這些器件進(jìn)行出廠編程??蛻艨梢允褂迷撁荑€以及簽名和加密的位流對器件編程。器件的 ID 能夠讓客戶的系統(tǒng)在對合法器件進(jìn)行編程的同時, 防止對位流的非法讀取。這有助于保護(hù)位流的完整性以及客戶的 IP。如果沒有客戶專用密鑰,就無法對器件重新編程。在這種“鎖定”的安全機(jī)制下,即便無法確定制造地點的安全性,不無需擔(dān)心篡改器件的風(fēng)險。
其他的方案
由于 Mach-NX 的特殊性,它在 PFR 應(yīng)用中并沒有面臨正面競爭。如果使用其他廠商的FPGA,客戶就需要獲得第三方授權(quán)的加密模塊作為軟 IP。他們需要使用軟 IP 實例化MCU,并將其集成到第三方模塊中。大多數(shù)FPGA 還需要外部閃存配置存儲器。如表1 所示,其他 FPGA 的系統(tǒng)固件認(rèn)證性能要比 Mach-NX 低得多。驗證時間越長,啟動時間越長,而啟動時間變長會減少系統(tǒng)正常運行時間。許多云服務(wù)都包含一項服務(wù)水平協(xié)議
(SLA),規(guī)定了系統(tǒng)正常運行的時間。因此啟動時間會直接影響 SLA 指標(biāo)?!拔鍌€九” 可靠性(99.999%)要求每年的停機(jī)時間少于 5.3 分鐘,因此系統(tǒng)啟動時間在云數(shù)據(jù)中心十分重要。
表 1. Mach-NX 和其他解決方案的 PFR 功能比較。萊迪思的芯片完美結(jié)合了高性能和強大的安全性。* 64 MB 固件鏡像和 33 MHz SPI 時鐘頻率下測得的時間。(數(shù)據(jù)來源:萊迪思)
當(dāng)系統(tǒng)固件驗證失敗時,Mach-NX 可以快速恢復(fù)。該器件支持雙 SPI 存儲器,一個存儲主要固件,另一個則可以保存黃金版固件。如果驗證失敗, Sentry 固件將從主 SPI 切換到副 SPI,繼續(xù)進(jìn)行引導(dǎo)過程。然后在后臺將經(jīng)過身份驗證的固件鏡像復(fù)制到主 SPI 閃存中。其他解決方案則必須在引導(dǎo)開始之前復(fù)制固件鏡像。
另一種 PFR 實現(xiàn)是使用 BMC,但是這種方法有諸多局限。首先,廠商的 BMC 一般不支持橢圓曲線加密,因此它們的驗證較弱。其次BMC 依賴于外部閃存,無法規(guī)避Mach-NX 和SupplyGuard 可以防止的供應(yīng)鏈漏洞。最后,它們不支持SPI 監(jiān)控,需要使用外部PLD 添加此功能。Mach-NX 可以實現(xiàn) PFR 以及控制功能,后者在任何情況下都需要 PLD 參與。
最近的一大趨勢是客制化的平臺安全芯片的發(fā)展,但是其中一些是為智能手機(jī)設(shè)計,如生物識別。谷歌為其云服務(wù)器開發(fā)了 Titan 安全微控制器。盡管其他的大型云運營商也可以開發(fā)類似的芯片,但是多數(shù) OEM 都不愿意承擔(dān)定制芯片開發(fā)所需的巨額資源。萊迪思的客制化解決方案提供了類似的功能,客戶無需負(fù)擔(dān)高額的定制芯片開發(fā)成本。
結(jié)論
萊迪思現(xiàn)在不僅提供 FPGA,還提供全面的安全控制平臺,包括優(yōu)化的芯片、軟件、工具和服務(wù)。通過在從系統(tǒng)設(shè)計到設(shè)備報廢的整個生命周期內(nèi)提供安全保護(hù),萊迪思的方案可解決各個階段出現(xiàn)的漏洞。Mach-NX 基于公司多年的安全控制經(jīng)驗,并在久經(jīng)驗證的MachXO3D 基礎(chǔ)上加強了加密功能、升級了 BMC 接口并且提供更多實現(xiàn)自定義功能和現(xiàn)場更新的可編程邏輯。同時,Sentry 參考設(shè)計降低了客戶對時間和資源的需求,能夠快速輕松地將PFR 集成到他們的系統(tǒng)中。
盡管服務(wù)器已率先采用了強大的平臺安全機(jī)制,但隨著實時在線的網(wǎng)絡(luò)連接不斷增長,越來越多的系統(tǒng)也暴露在網(wǎng)絡(luò)攻擊之下,安全領(lǐng)域的市場依然在不斷擴(kuò)大。網(wǎng)絡(luò)和通信設(shè)備、工業(yè)控制系統(tǒng)、航空航天系統(tǒng)以及自動駕駛汽車等越來越多地成為威脅的目標(biāo)。萊迪思可 以幫助這些領(lǐng)域的客戶在從制造到現(xiàn)場升級的整個周期中保障其設(shè)計安全。
Bob Wheeler 是林利集團(tuán)的首席分析師及《微處理器報告》的高級編輯。林利集團(tuán)為客戶提供最全面的微處理器和 SoC 設(shè)計方面的分析。我們不僅分析業(yè)務(wù)戰(zhàn)略,還分析技術(shù)層面。我們的專題文章涵蓋的主題包括嵌入式處理器、移動處理器、服務(wù)器處理器、AI 加速器、IoT 處理器、處理器 IP 核和以太網(wǎng)芯片。