在萊迪思FPGA中實(shí)現DC-SCM
目錄
第一節 |
| 摘要 |
P3 |
第二節 |
| DC-SCM是什么? |
P3 |
第三節 |
| 為什么要使用DC-SCM? |
P3 |
第四節 |
| DC-SCM架構 |
P4 |
第五節 |
| DC-SCM LTPI |
P5 |
第六節 |
| 萊迪思LTPI |
P5 |
第七節 |
| 萊迪思DC-SCM的安全實(shí)現 |
P9 |
第八節 |
| 萊迪思DC-SCM的控制實(shí)現 |
P10 |
第九節 |
| 萊迪思產(chǎn)品革新:一種方案三種關(guān)鍵特性 |
P10 |
第十節 |
| 支持DC-SCM的萊迪思產(chǎn)品 |
P11 |
第十一節 |
| 使用萊迪思SupplyGuard?實(shí)現端到端的保護 |
P11 |
第十二節 |
| 結論 |
P11 |
第十三節 |
| 參考文獻 |
P12 |
摘要
DC-SCM是OCP硬件管理項目的一個(gè)子項目。DC-SCM實(shí)施模塊化服務(wù)器管理,包含了已存儲在典型處理器主板上的所有的固件狀態(tài)。DC-SCM通常將三個(gè)關(guān)鍵功能轉移到一個(gè)標準尺寸模塊(CFM)中。
? 管理——BMC功能和一個(gè)新的LTPI接口(低電壓差分信號通道協(xié)議和接口)
? 安全
? 控制
本文描述了DC-SCM的LTPI(服務(wù)器管理)、安全和控制三個(gè)方面。DC-SCM 2.0的所有三個(gè)關(guān)鍵功能都已經(jīng)在萊迪思半導體的單個(gè)FPGA中實(shí)現。
DC-SCM 2.0規范的一個(gè)重要變化就是引入了低電壓差分信號通道協(xié)議和接口(LTPI)。本文描述了DC-SCM及其在萊迪思FPGA解決方案中的LTPI實(shí)現。
DC-SCM的安全模塊稱(chēng)為ROT(可信根),可以用來(lái)解決黑客在保密固件的閃存中安裝惡意代碼的安全問(wèn)題。萊迪思PFR(平臺固件保護恢復)解決方案可以作為DC-SCM的ROT,避免數據中心服務(wù)器中的此類(lèi)漏洞。
萊迪思FPGA還包括了DC-SCM定義的控制功能,提供數據中心服務(wù)器所需的時(shí)序重置和電源管理功能。
DC-SCM是什么?
開(kāi)放計算項目(OCP)是一個(gè)在公司之間共享服務(wù)器和數據中心產(chǎn)品設計和最佳實(shí)踐的組織。DC-SCM(Datacenter-ready Secure Control Module)是OCP硬件管理項目的一個(gè)子項目。它提供了將常見(jiàn)的服務(wù)器管理、安全和控制功能從主板轉移到標準尺寸模塊(CFM)的指南。
DC-SCM架構定義了與CPU板互操作的輸入/輸出端口。DC-SCM服務(wù)器在HPM(主機處理器模塊)板上只有基本的中央計算元件(CPU)、高速存儲器和IO連接器,其他所有組件均在模塊化DC-SCM(安全、控制、管理)板上。
為什么要使用DC-SCM?
DC-SCM有諸多益處:
? DC-SCM能輕松實(shí)現CPU/存儲器的設計和部署,因為管理、安全和控制功能都獨立于CPU/存儲器板的開(kāi)發(fā)。
- 將BMC和RoT實(shí)施與服務(wù)器分離,實(shí)現獨立的開(kāi)發(fā)和創(chuàng )新
- 通過(guò)將管理電路轉移到更小、更低價(jià)的PCB,從而節省成本
- 在多個(gè)項目和架構中使用通用的DC-SCM設計,節省驗證時(shí)間
- 簡(jiǎn)化HPM電路板布局,縮短開(kāi)發(fā)時(shí)間
使用DC-SCM之后,拓展機箱只需根據CPU和SoC供應商的指南進(jìn)行簡(jiǎn)單的常規開(kāi)發(fā)即可
? 系統管理和安全性能不斷發(fā)展且獨立于CPU的更新?lián)Q代。
- DC-SCM可以在一代產(chǎn)品內在平臺上部署管理和安全升級,無(wú)需重新設計更復雜的組件
? DC-SCM使用開(kāi)源模塊化方法,輕松實(shí)現互操作性。
- 標準化的常用模塊
- 采用高速互連(PCIe)等通用接口
? DC-SCM的優(yōu)勢之一體現在服務(wù)器報廢時(shí)。模塊化設計的好處是可以單獨銷(xiāo)毀安全模塊,出售或回收報廢的服務(wù)器不會(huì )泄露安全數據/密鑰。
DC-SCM架構
DC-SCM架構主要包括以下幾個(gè)部分:
? BMC:基板管理控制器
? BMC閃存:使用一個(gè)或等多個(gè)閃存器件(通常是兩個(gè))來(lái)存儲BMC固件鏡像
? BIOS閃存:使用一個(gè)或等多個(gè)閃存器件(通常是兩個(gè))來(lái)存儲BIOS固件鏡像
? DC-SCM CPLD:包含特定應用邏輯和LTPI 接口的可編程邏輯器件(DC-SCM 2.0 中引入了新的LVDS通道協(xié)議和接口)
? RoT安全處理器: 負責驗證系統上的BMC、BIOS和/或其他固件鏡像的安全處理器
? 可信任平臺模塊(TPM):可選的專(zhuān)用微控制器,通過(guò)集成的加密密鑰保護硬件
下圖是DC-SCM規范中所定義的DC-SCM架構模塊框圖:
圖 1
DC-SCM LTPI
DC-SCM 2.0規范的一個(gè)重要變化是引入了低電壓差分信號通道協(xié)議和接口(LTPI)。LTPI解決了DC-SCM 1.0中的串行GPIO接口的缺點(diǎn)。
? LTPI比GPIO延遲更低
? 它允許主機平臺模塊和DC-SCM模塊之間的多個(gè)管理接口進(jìn)行通道通信(為 I2C、SMBus、UART、數據自定義協(xié)議提供通道)
DC-SCM LTPI架構
如下圖所示,LTPI接口采用了兩片FPGA/CPLD器件實(shí)現。
? HPM FPGA——提供本地HPM接口到LTPI的橋接
? SCM CPLD——提供LTPI到本地SCM接口的橋接
圖 2
LTPI接口用于在HPM和SCM之間傳輸各種低速信號。LVDS接口比DC-SCM 1.0中的SGPIO接口提供更高的帶寬和更好的擴展性。它不僅支持GPIO,還支持SMBus、I2C和UART等低速串行接口的通道傳輸。它還可以通過(guò)額外的專(zhuān)有OEM接口進(jìn)行擴展,并為HPM CPLD和SCM CPLD之間的原始數據通道傳輸提供支持。
萊迪思LTPI
萊迪思DC-SCM LVDS通道協(xié)議和接口IP核是兼容OCP、DC-SCM標準的解決方案。萊迪思LTPI IP全面支持符合DC-SCM 2.0協(xié)議規范的接口和協(xié)議。該LTPI IP具有以下特性:
? 符合DC-SCM 2.0協(xié)議規范
- 鏈路初始化、發(fā)現和協(xié)商
? 支持多通道串行接口
- 支持GPIO、I2C、UART、OEM和數據通道聚合
- 總共支持多達7個(gè)通道的聚合/解聚合
? 最高支持64位GPIO通道,采樣率高達90kHz(低延遲GPIO可達5 MHz)
? 對于I2C/SMBus接口,每一個(gè)接口都可以配置為主控、從動(dòng)或同時(shí)配置為主控/從動(dòng)(用于多主控)
? 支持LVDS和sub-LVDS
? LFMXO5器件LVDS數據速率高達1000Mbps
萊迪思LTPI通道架構
在DC-SCM LTPI規范的基礎上,萊迪思使用時(shí)分復用(TDM)高速LVDS全雙工鏈路在SCM和HPM之間發(fā)送和接收LTPI通道數據。
如下圖所示,對于每個(gè)相等的時(shí)隙 TN(下圖的示例幀T+1),都有一個(gè)LTPI幀在傳輸。在每個(gè)LVDS通道中都有部分LVDS幀在進(jìn)行雙向傳輸。通過(guò)LTPI接口發(fā)送的每個(gè)幀中分配給特定通道的比特數與每個(gè)通道專(zhuān)用的LTPI帶寬成正比。
圖 3
萊迪思LTPI通道框圖
萊迪思LTPI參考設計的上層通道框圖如下所示。從外部通道接收的數據通過(guò)低壓差分信號(LVDS)接口在安全控制模塊(SCM)和主機處理器模塊(HPM)之間聚合和傳輸。來(lái)自L(fǎng)VDS接口的輸入數據被重新映射到相應的目標外部通道。
圖 4
DC-SCM/HPM LTPI IP由多路復用器、幀/數據包生成器/解析器、8b/10b編碼器/解碼器、字對齊器/鏈路同步器以及GDDR發(fā)送和接收模塊組成。
多路復用器
多路復用器連接外部通道。在鏈路訓練和特性協(xié)商之后,多路復用器模塊在每個(gè)通道之間切換采樣,形成有效載荷。
數據包生成器/解析器
幀生成器和解析器生成鏈路訓練和協(xié)商所需的數據包。TX使用幀生成器來(lái)生成要發(fā)送到通信接收器的幀。RX使用幀解析器來(lái)解析接收到的幀。
8b/10b編碼器/解碼器
LTPI IP對發(fā)送到接收主機/從接收主機接收到的數據執行8b/10b編碼/解碼。對于TX,8位數據會(huì )根IEEE 802.3標準中指定的編碼規則轉換為10位數據。
GDDR串行器/解串器
數據以串行方式發(fā)送到接收主機。IP通過(guò)LFXMO5器件的通用DDR接口x5(10 bit:1 bit)和MachXO3L/LF/D器件的DDR接口x4(8 bit:1 bit)對數據進(jìn)行串行化。同樣,在RX模式下,數據通過(guò)DDR接口進(jìn)行解串。
萊迪思LTPI接口通道
萊迪思LTPI接口定義了以下通道:
? GPIO通道:該通道實(shí)現了GPIO信號在HPM和SCM之間的互傳。GPIO通道可以區分低延遲和正常延遲GPIO(串行GPIO),從而為對時(shí)序要求嚴格的GPIO信號分配更多帶寬,并擴展傳輸的GPIO數量。
? I2C/SMBus通道:將I2C/SMBus鏈路數據從SCM傳輸到HPM,以及從HPM傳輸到SCM。
? UART通道:傳輸全雙工UART接口,支持SCM和HPM之間的流控制。
GPIO接口
正如DC-SCM規范中的定義,GPIO通道定義了低延遲和正常延遲GPIO(參見(jiàn)下圖)。這是萊迪思IP配置的一部分,這些接口模塊的每個(gè)實(shí)例都使用一個(gè)64位的通道。為了成功進(jìn)行發(fā)送和接收,SCM或HPM的發(fā)送通道的PID(數據包標識符)應與接收通道的PID相匹配,該PID在發(fā)送模塊上實(shí)例化。
圖5
UART接口
UART接口通過(guò)GPIO接口發(fā)送,需要至少一個(gè)GPIO TX和一個(gè)GPIO RX通道的實(shí)例。
I2C接口
萊迪思LTPI IP使用I2C/SMBus通道通過(guò)LTPI接口為那些在SCM或HPM上只有一個(gè)控制器的鏈路傳輸I2C/SMBus總線(xiàn)數據。DC-SCM LTPI I2C/SMBus的主要用例如下圖所示,SCM上的BMC充當目標器件位于HPM上的I2C/SMBus鏈路的控制器。這些接口模塊的每個(gè)實(shí)例都使用一個(gè)通道。為了成功進(jìn)行發(fā)送和接收,SCM或HPM的I2C主控通道的PID應與另一個(gè)模塊上實(shí)例化的I2C從通道的PID相匹配。
圖6
萊迪思LTPI通道分配
萊迪思LTPI通道可對用于SCM和HPM之間通信的特定類(lèi)型接口進(jìn)行功能分類(lèi)。萊迪思LTPI還能實(shí)現接口映射的靈活性。LTPI的設計靈活性示例如下圖所示(參考DC-SCM LTPI規范)。在此示例中,GPIO通道被轉換為SGPIO接口,并在SCM CPLD中增加了額外的邏輯。
圖7
萊迪思DC-SCM安全實(shí)現
企業(yè)服務(wù)器通常包含多個(gè)處理組件,每個(gè)組件都有自己的非易失性SPI閃存緩存,用于存儲其固件。黑客通過(guò)未經(jīng)授權訪(fǎng)問(wèn)固件,可以暗中在組件的閃存中安裝惡意代碼。DC-SCM規范要求使用安全處理器來(lái)驗證系統的BMC、BIOS和/或其他保密的固件鏡像。
萊迪思安全/RoT(信任根)實(shí)現概述
為了解決黑客在保密固件的閃存中安裝惡意代碼的安全問(wèn)題,美國國家標準與技術(shù)研究院(NIST)在2018年發(fā)布了NIST SP 800 193規范,定義了一種稱(chēng)為平臺固件保護恢復(PFR)的統一保護機制。萊迪思的PFR解決方案可以作為DC-SCM的RoT來(lái)實(shí)現,解決了企業(yè)服務(wù)器的此類(lèi)漏洞。萊迪思RoT的實(shí)現基于以下三個(gè)指導原則:
? 保護——萊迪思已經(jīng)展示過(guò)基于狀態(tài)機的算法,能以納秒級響應時(shí)間檢測SPI存儲器的安全漏洞。這可以防止未經(jīng)授權的訪(fǎng)問(wèn)對SPI存儲器中固件的修改。該解決方案可通過(guò)簡(jiǎn)單易用的數據庫進(jìn)行定制。通過(guò)使用PFR算法的安全通信,BMC能夠授權對SPI存儲器的修改以支持在系統更新。
? 檢測——對存儲在每個(gè)SPI存儲器中的固件進(jìn)行橢圓曲線(xiàn)加密(ECC)計算可以檢測所有未經(jīng)授權的修改。檢測方法獨立于該設計中當前使用的固件安全方法。使用集成的電路板電源管理功能,可以在電路板啟動(dòng)之前檢測到所有對固件未經(jīng)授權的更改。
? 恢復——如果檢測到安全漏洞,萊迪思的實(shí)現方案提供可定制化的恢復機制。這種機制可以執行簡(jiǎn)單的回滾操作,恢復到以前的固件版本,或者完全恢復到固件的最新授權版本。還可以自定義電源管理和控制PLD算法,應對不同性質(zhì)的入侵,對任何電路板實(shí)施完全受信任的恢復過(guò)程。
方案特性
萊迪思的PFR解決方案擁有許多客戶(hù)和開(kāi)發(fā)人員期望的特性。例如:
? 可擴展——以納秒級響應保護板上的所有固件。該解決方案還可以通過(guò)與相應信任根的安全通信來(lái)保護其他附加的子系統
? 不可繞過(guò)——該解決方案實(shí)現了服務(wù)器主板的完整電源時(shí)序以及PFR,因此無(wú)法繞過(guò)它
? 自我保護——PFR實(shí)現革命性地使用了FPGA作為可信根。該FPGA可以動(dòng)態(tài)控制其攻擊面并保護自身免受外部攻擊
? 自我檢測——可信根FPGA通過(guò)使用不可繞過(guò)的加密硬件模塊檢測其配置的任何安全漏洞
? 自我恢復——可信根FPGA在發(fā)現其活動(dòng)配置遭到破壞時(shí)自動(dòng)切換到已知完好的鏡像
萊迪思DC-SCM的控制實(shí)現
當今幾乎所有服務(wù)器都使用萊迪思FPGA器件來(lái)實(shí)現控制PLD的功能,例如電源/復位時(shí)序、各種類(lèi)型的串行總線(xiàn)(I2C、SPI、eSPI、SGPIO等)、調試端口、LED驅動(dòng)器、FAN PWM驅動(dòng)器、前端面板開(kāi)關(guān)感應和其他通用GPIO功能。萊迪思FPGA器件支持1 V信號,因而能夠執行帶外信號集成,無(wú)需外部GTL收發(fā)器。
無(wú)中斷I/O
為了實(shí)現零停機,萊迪思開(kāi)發(fā)了無(wú)中斷I/O功能。通常情況下,控制PLD能讓設計人員顯著(zhù)縮短產(chǎn)品上市時(shí)間,幫助他們應對在規定時(shí)間內推出新的定制硬件的市場(chǎng)壓力。 有時(shí),控制功能的實(shí)現或整個(gè)系統架構中可能存在錯誤,也可能需要引入新功能。完成設計修改的一種常見(jiàn)方法是通過(guò)在系統更新和電源重啟讓新編程的鏡像投入使用。為確保高可用性(High Availability )系統的持續運行,萊迪思FPGA器件可以在進(jìn)行配置刷新時(shí)保持I/O狀態(tài)不變,然后初始化新配置。
萊迪思產(chǎn)品革新:一種方案三種關(guān)鍵特性
萊迪思FPGA提供了將DC-SCM的三個(gè)關(guān)鍵功能集成到萊迪思解決方案中的獨特優(yōu)勢:
? LTPI(管理功能)
? 安全(動(dòng)態(tài)、實(shí)時(shí)、端到端的保護)
? 控制(可編程系統控制)
萊迪思FPGA非??煽?,在基于FPGA的低功耗應用方面處于行業(yè)領(lǐng)先地位,其抗軟錯誤率(SER)性能是CMOS技術(shù)的100倍。萊迪思FPGA具有可靠的標準并遵循DC-SCM協(xié)議規范。Propel工具還為開(kāi)發(fā)人員提供了便捷的拖放操作界面,大大簡(jiǎn)化了配置。
支持DC-SCM的萊迪思產(chǎn)品
萊迪思非常重視DC-SCM。萊迪思擁有一系列支持DC-SCM、可信根和用戶(hù)電源控制邏輯的FPGA產(chǎn)品。以下是支持DC-SCM的現有產(chǎn)品列表。
表 1
使用萊迪思SupplyGuard?實(shí)現端到端的保護
萊迪思SupplyGuard?為每個(gè)客戶(hù)分配唯一的訂購部件編號。這些編號對應鎖定萊迪思FPGA的加密憑證 并,并將平臺可信根保護擴展到整個(gè)供應鏈,從IC制造到產(chǎn)品最終報廢。萊迪思SupplyGuardTM的特性包括:
? 防止過(guò)度制造、克隆、偽造和未經(jīng)授權的硬件修改
? 能夠在整個(gè)供應鏈中追蹤器件
? OEM或ODM不需要特殊的高度安全的編程設備、流程或設施
? 外部IC的驗證憑證作為客戶(hù)加密配置位流的一部分被編程到萊迪思器件。這可以在工廠(chǎng)編程期間將系統中萊迪思FPGA的加密所有權安全地轉移給客戶(hù)
結論
萊迪思半導體致力于DC-SCM 2.0的推廣。萊迪思通過(guò)可行的單芯片解決方案實(shí)現并優(yōu)化了DC-SCM的三個(gè)關(guān)鍵功能。
萊迪思擁有經(jīng)過(guò)充分驗證的DC-SCM參考設計,可供更廣泛的DC-SCM客戶(hù)和電路板設計人員使用,幫助他們輕松實(shí)現DC-SCM。萊迪思緊密集成的解決方案可以為電路板設計人員提供統一的單個(gè)FPGA解決方案,而無(wú)需針對LTPI、安全和控制提出不同的解決方案組合。萊迪思完善的DC-SCM解決方案可以提高性能,降低功耗,且在電路板上占用很小的空間。
萊迪思針對三個(gè)關(guān)鍵的DC-SCM功能提供了一個(gè)包括GUI和非GUI工具的框架。系統架構師和電路板設計人員可以從下拉列表中輕松實(shí)現特性。我們的集成設計工具可以在一個(gè)面板視圖中為架構師/設計師提供中整個(gè)解決方案,實(shí)現DC-SCM的三大特性。
參考文獻
https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-193.pdf https://drive.google.com/file/d/14mypJ0Pvej35Q64PkDeK-sixrOIzvnKG/view https://www.youtube.com/watch?v=SQy7Ztf3nGU https://www.youtube.com/watch?v=eI9k3j-L-_0&t=8s
https://2020ocpvirtualsummit.sched.com/event/bXZu/dc-scm-base-specification-and-design-details-presented-by-microsoft
https://www.intel.com/content/www/us/en/products/docs/processors/xeon/platform-firmware-resilience.html
評論