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