ZHCADM4A January 2024 – February 2024 TPS546A24S , TPS546B24S , TPS546D24S
過(guò)去,數(shù)控電源解決方案(無(wú)論是使用 I2C、SMBus、PMBus?、SVI3、SVID 還是其他一些數(shù)字接口)依賴總線控制器器件的安全性,來(lái)防止惡意行為者獲得訪問(wèn)權(quán)限和使用數(shù)字控制來(lái)關(guān)閉轉(zhuǎn)換器甚至損壞硬件。對(duì)于大多數(shù)應(yīng)用來(lái)說(shuō),這已經(jīng)足夠。隨著數(shù)字接口不斷增加并且威脅日益復(fù)雜化,這已不再總是足以確保系統(tǒng)的完整性。當(dāng)器件連接到遠(yuǎn)程接口時(shí),遠(yuǎn)程行為者有可能通過(guò)連接的器件之一訪問(wèn)數(shù)字總線,并且可能會(huì)通過(guò)總線發(fā)送惡意命令。TPS546x24S 系列器件向 PMBus 接口添加了特定于制造商的新命令,使器件設(shè)計(jì)人員能夠使用 PMBus 配置功率器件,然后鎖定對(duì)可能用于中斷正常運(yùn)行或損壞敏感元件的命令的訪問(wèn)權(quán)限。
TPS546x24S 系列與之前支持 PMBus 的 TPS546x24A 系列可堆疊降壓轉(zhuǎn)換器直接兼容,這種常見(jiàn)器件的用戶無(wú)需重新設(shè)計(jì)現(xiàn)有硬件,只需對(duì)現(xiàn)有固件進(jìn)行簡(jiǎn)單修改即可升級(jí)總線安全性。
EXT_WRITE_PROTECT(命令代碼 FBh)為設(shè)計(jì)人員提供一個(gè) 16 位字,與 PMBus 標(biāo)準(zhǔn) WRITE_PROTECT 命令(命令代碼 10h)相比,能夠更好地控制 TPS546D24S 中可用的寫(xiě)入選項(xiàng)。EXT_WRITE_PROTECT 是一個(gè) 16 位字,每個(gè)位都分配給一個(gè)命令或一組命令,以禁用對(duì)這些命令的寫(xiě)入訪問(wèn)。與 PMBus 標(biāo)準(zhǔn) WRITE_PROTECT 不同,EXT_WRITE_PROTECT 提供禁用對(duì)自身進(jìn)行寫(xiě)入以及禁用對(duì) PASSKEY 進(jìn)行寫(xiě)入的選項(xiàng),PASSKEY 本身會(huì)保護(hù)對(duì) EXT_WRITE_PROTECT 的寫(xiě)入訪問(wèn)。此外,系統(tǒng)設(shè)計(jì)人員還可以靈活選擇哪組命令受寫(xiě)保護(hù)或不受寫(xiě)保護(hù),從而保護(hù)其電源解決方案免受惡意行為者攻擊。
PASSKEY(命令代碼 FAh)為設(shè)計(jì)人員提供了中間級(jí)別的安全性,介于 TPS546x24A 系列和其他傳統(tǒng) PMBus 器件的開(kāi)放安全性與使用 EXT_WRITE_PROTECT 創(chuàng)建用于自我保護(hù)的永久鎖定之間。PASSKEY 是一個(gè) 16 位數(shù)字密鑰。設(shè)置后,它會(huì)禁用對(duì) EXT_WRITE_PROTECT 和用戶 NVM 存儲(chǔ)的寫(xiě)入訪問(wèn),直到將 PASSKEY 寫(xiě)回器件。為防止器件遭受蠻力攻擊,每次下電上電時(shí) PASSKEY 寫(xiě)入嘗試失敗次數(shù)不得超過(guò) 3 次。
借助 PASSKEY,設(shè)計(jì)人員可以為受 EXT_WRITE_PROTECT 保護(hù)的命令的未來(lái)更新提供一條路徑,其成本和復(fù)雜性與 PMBus 修訂版 1.5 安全器件應(yīng)用配置文件基于加密的身份驗(yàn)證更新相同,同時(shí)還能在一定程度上防范惡意行為者的攻擊。為了盡可能降低由于遠(yuǎn)程攻擊者了解 PASSKEY 而造成泄露的可能性,建議設(shè)計(jì)人員在每個(gè)器件或系統(tǒng)上實(shí)施獨(dú)特的 PASSKEY,方法是使用 MFR_ID、MFR_MODEL、MFR_REVISION 和 MFR_SERIAL 值來(lái)構(gòu)建哈希,以允許通過(guò)軟件更新來(lái)確定 PASSKEY,而不是在系統(tǒng)內(nèi)的所有電源軌或在所有系統(tǒng)中使用一個(gè)通用 PASSKEY。
| 器件型號(hào) | 輸入電壓 | 輸出電流 |
|---|---|---|
| TPS546A24S | 2.95V 至 18V | 10A |
| TPS546B24S | 2.95V 至 18V | 20A |
| TPS546D24S | 2.95V 至 16V | 40A |
| TPSM8S6C24 | 4V 至 16V | 35A |
| TPSM8D6B24 | 4V 至 16V | 50A (2x25A) |
| TPSM8D6C24 | 4V 至 16V | 70A (2x35A) |
開(kāi)路
TPS546x24S 器件從 TI 工廠交付時(shí)處于“OPEN”安全狀態(tài),PASSKEY 和 EXT_WRITE_PROTECT 設(shè)置為全 00h 狀態(tài)。在這種狀態(tài)下,所有具有寫(xiě)入訪問(wèn)能力的命令都啟用了寫(xiě)入功能,用戶 NVM 存儲(chǔ)可通過(guò) STORE_USER_ALL 命令(命令代碼 15h)進(jìn)行訪問(wèn)
這種安全級(jí)別能夠有效簡(jiǎn)化器件編程,并且對(duì)于早期開(kāi)發(fā)階段(可能需要快速輕松地將配置更改輸入到器件中)也非常有用。
受寫(xiě)保護(hù)
用戶可通過(guò)將 WRITE_PROTECT 或 EXT_WRITE_PROTECT 設(shè)置為非零值,而不設(shè)置位 15(硬件寫(xiě)保護(hù)),并將 PASSKEY 設(shè)置為解鎖全 00h 狀態(tài),從而將 TPS546x24S 器件編程為受寫(xiě)保護(hù)狀態(tài)。在這種狀態(tài)下,所選命令組禁用了寫(xiě)入訪問(wèn),但可以隨時(shí)寫(xiě)入和更新 EXT_WRITE_PROTECT。
在開(kāi)發(fā)后期或鑒定期間,這種安全級(jí)別非常有用,因?yàn)榇藭r(shí)收費(fèi)的可能性較小,而驗(yàn)證寫(xiě)保護(hù)與固件的交互對(duì)于產(chǎn)品驗(yàn)證和鑒定是必要的。
受 PASSKEY 保護(hù)
用戶可通過(guò)將 WRITE_PROTECT 或 EXT_WRITE_PROTECT 設(shè)置為非零值,同時(shí)設(shè)置位 15 或位 1 (PSK),并將 PASSKEY 設(shè)置為非零值,從而將 TPS546x24S 器件編程為受 PASSKEY 保護(hù)狀態(tài)。這將使用 PASSKEY 命令防止隨意寫(xiě)入 EXT_WRITE_PROTECT,同時(shí)仍保留 PASSKEY 和 EXT_WRITE_PROTECT 以備更改。
在早期原型設(shè)計(jì)過(guò)程中,在遠(yuǎn)程訪問(wèn)受限或無(wú)遠(yuǎn)程訪問(wèn)的系統(tǒng)中,或者當(dāng) TPS546x24S 器件所服務(wù)的電源軌不會(huì)造成系統(tǒng)損壞或被視為非關(guān)鍵電源軌時(shí),這種安全級(jí)別非常有用。
硬件鎖定
用戶可通過(guò)將 EXT_WRITE_PROTECT 設(shè)置為非零值(包括位 15 = b’1),將 TPS546x24S 器件編程為硬件鎖定寫(xiě)保護(hù)狀態(tài)。一旦設(shè)置并存儲(chǔ)到 NVM,就可以防止進(jìn)一步寫(xiě)入 EXT_WRITE_PROTECT,從而防止授權(quán)用戶或惡意用戶通過(guò)總線訪問(wèn)受寫(xiě)保護(hù)的 PMBus 命令。如果不使用 PASSKEY,建議用戶將 EXT_WRITE_PROTECT 的位 1 設(shè)置為 b’1,并將 PASSKEY 設(shè)置為 0000h,以防止將 PASSKEY 設(shè)置為未知值,以及防止更改寫(xiě)保護(hù)。
對(duì)于不需要更改受保護(hù) PMBus 命令的大規(guī)模生產(chǎn)系統(tǒng),這是建議的寫(xiě)保護(hù)狀態(tài)。
使用受 PASSKEY 保護(hù)的非易失性存儲(chǔ)器 (NVM) 鎖定
用戶可將 TPS546x24S 器件編程為這樣一種狀態(tài):EXT_WRITE_PROTECT 處于非零狀態(tài),其中位 15 = b’1,位 1 = b’0,位 0(存儲(chǔ))= b’0,同時(shí) PASSKEY 設(shè)置為非零狀態(tài)。這可防止更改 EXT_WRITE_PROTECT,并防止更改 NVM 啟動(dòng)值,但允許不受 EXT_WRITE_PROTECT 保護(hù)的命令通過(guò)使用正確的 PASSKEY 解鎖用戶存儲(chǔ)來(lái)更新其 NVM 設(shè)置。
雙重鎖定
用戶可通過(guò)設(shè)置非零 PASSKEY,并設(shè)置 EXT_WRITE_PROTECT(其中位 15 = b’1,位 1 = b’1,位 0 = b’1),然后將這些值存儲(chǔ)到 NVM,從而將 TPS546x24S 器件編程到雙重鎖定狀態(tài)。一旦處于這種狀態(tài),EXT_WRITE_PROTECT 就會(huì)受到 EXT_WRITE_PROTECT 和 PASSKEY 的寫(xiě)保護(hù),而 PASSKEY 會(huì)受到 EXT_WRITE_PROTECT 的保護(hù),從而防止 PASSKEY 解鎖。
對(duì)于尋求更高級(jí)安全特性的用戶,PMBus 修訂版 1.5 安全器件應(yīng)用配置文件可為數(shù)字配置的器件提供對(duì)基于 256 位加密的證明和命令身份驗(yàn)證的訪問(wèn)權(quán)限,從而為用戶提供驗(yàn)證已安裝器件真實(shí)性的安全方法,以及提供允許對(duì) PMBus 命令進(jìn)行授權(quán)更新的方法,同時(shí)防止未經(jīng)授權(quán)使用這些命令。EXT_WRITE_PROTECT 為用戶提供了比標(biāo)準(zhǔn) PMBus 功能具有更高分辨率的寫(xiě)保護(hù)功能。EXT_WRITE_PROTECT 中的每個(gè)位都提供單獨(dú)且獨(dú)立的 WRITE_PROTECTION。下面顯示了命令配置文件和寄存器映射以供參考。
| CMD 地址 | FBh |
|---|---|
| 寫(xiě)入事務(wù) | 寫(xiě)入字 |
| 讀取事務(wù) | 讀取字 |
| 格式 | 無(wú)符號(hào)二進(jìn)制(2 字節(jié)) |
| 相控 | 否 |
| NVM 備份 | EEPROM |
| 更新 | 啟動(dòng)時(shí) |
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
|---|---|---|---|---|---|---|---|
| RW | RW | RW | RW | RW | RW | RW | RW |
| HWP | WP | TRIM | VOUT | VOF | WN | ITF | MAR |
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RW | RW | RW | RW | RW | RW | RW | RW |
| OP | CFG | VIN | SEQ | DAT | BOT | PSK | STR |
圖例:RW = 讀取/寫(xiě)入;R = 只讀