PCIe SSD韌體簽名技術解讀

memblaze_2011發表於2017-10-25

企業為什麼要定期進行韌體升級?

在一款產品出廠後,隨著所使用的軟、硬體等環境的改變,產品將出現對新的軟、硬體不相容或者所執行的業務程式速度逐漸降低等現象。同樣,此類問題也會在SSD產品發生,為此SSD廠商會定期推出Firmware,其目的主要有兩點:

1)通過Firmware更新,修復Bug,提升效能

2)通過Firmware優化、升級,使得裝置更好的相容新的軟、硬體,使之保持最佳的工作狀態

 

為使用者提供更安全的韌體升級

作為業內領先的PCIe SSD產品供應商,Memblaze為了保證向客戶提供長久處於最佳狀態的SSD產品和解決方案,同樣會向使用者定期釋出Firmware更新。而為了避免在交付過程中給黑客或者蓄意破壞者留下篡改韌體的漏洞,Memblaze對Firmware加入了韌體簽名,確保在交付傳輸過程中的有效性和安全性。目前,PBlaze5900系列SSD產品已全面支援韌體簽名技術。


Memblaze在向使用者釋出韌體時,韌體經過SHA演算法生成32位元組(256bit)的韌體摘要A,再通過Memblaze獨有的RSA私鑰對韌體摘要進行加密,最後加密摘要報文與韌體一起組成經過數字簽名的韌體。此過程就好比,《X戰警》中那個具備分身術的變種人,利用異能瞬間產生N個分身,並通過特殊防偽技術,最終出現N個真假難辨的“自己”,讓敵方目瞪口呆。


若想精準辨別,就要先破解“防偽技術”。聽上去很難,實際上Memblaze早已設定完善的解鎖機制。使用者在一鍵下載數字簽名韌體後,先利用儲存在PBlaze5 SSD只讀區域的RSA公鑰對簽名韌體解密獲得初始韌體摘要A,再通過SHA演算法生成新的32位元組韌體報文摘要B,兩韌體摘要進行比對。若完全相同,韌體則是由Memblaze提供的有效韌體,使用者即可放心升級。


從韌體安全和升級效率來講,這些細節技術不得不提。PBlaze5 SSD可將韌體存放在多個slot,進行雙備份冗餘,其中slot1設定為只讀用來存放出廠特定版本,也就是包含RSA公鑰韌體,slot2和3可以存放不同的版本韌體。使用者逐步完成下載、韌體摘要比對之後(完全相同),韌體會被寫入NAND介質中,且無需熱啟動,即可完成升級,進而提升韌體升級效率。

相關文章