蘇小峰



摘? ?要:TPM芯片是一種標準的安全加密芯片,能保證系統數據安全,防止攻擊者惡意修改數據,Z32H320TC是一款支持TPM2.0規范的可信安全芯片,使用SPI接口進行加密,在使用該芯片時發現TPM芯片經常校驗失敗,最終定位是CPU的SPI接口速率過高引起的。文章對TPM芯片通信異常問題進行了分析。
關鍵詞:TPM;SPI;加密;接口速率
Z32H320TC是一款支持TPM2.0規范的安全芯片,生產廠商國民技術宣稱該芯片為世界首款支持中國密碼算法的芯片,在工業及民用領域,越來越多的產品開始使用這款芯片。
1? ? Z32H320TC上電校驗失敗
在對Z32H320TC芯片進行打板驗證時,發現該芯片在進行算法校驗時,有的板子可以成功,有的板子會失敗,不同的板子概率不一樣,有的設備一直成功。咨詢了TPM芯片廠商的FAE,對方回復說華為在某項目中也遇到過類似的問題,最終定位為SPI信號被干擾。
2? ? 校驗失敗問題分析
在發現問題前期,使用示波器對芯片的電源進行測量,供電電源3.3 V沒有明顯的波動,且電源紋波在±1%范圍內。使用示波器測量芯片復位管腳上下電狀態,復位也正常。芯片的電源和復位并不是引起校驗失敗的主要原因。
使用示波器對PI_CS_TPM,SPI_CLK,SPI_MOSI,SPI_MISO進行測試時發現,當TPM芯片校驗失敗,則SPI_CS_TPM,SPI_CLK,SPI_MOSI,SPI_MISO會無持續數據,具體如圖1所示。當TPM芯片校驗成功,則SPI_CS_TPM,SPI_CLK,SPI_MOSI,SPI_MISO會有持續數據,具體如圖2所示。
經過幾十次波形測試發現,如圖3—4所示,只要第4個周期的數據不出現問題,則TPM芯片校驗不會出問題。TPM芯片校驗不正確,全都是第4個周期波形不正常。
經過多次觀察錯誤/正確數據發現,第4周期前面的數據都是一樣的,只有第4周期出現問題。后續通過SPI總線分析儀分析的數據也可以驗證這一觀點,具體如圖5—6所示。
經過多次對比正確、錯誤數據,通過軟件寫入的79個數,一直都是正確的,也就是無論TPM芯片是否校驗成功,CPU寫入的79個數通過SPI總線分析儀分析后,都寫入正確。TPM芯片校驗不正確時,總是出現在第80個數據。
3? ? 實驗結果
無論TPM校驗是否正確,SPI總線上前79個數據都是一樣的、正確的,如果是總線問題,每次都是第80個數據出現問題有點解釋不通。
總線分析儀可以抓到SPI數據,且每次出問題都是SPI總線上的MISO第80個數據出現問題,即TPM芯片回數據出現異常。實際上SPI的MOSI正常,即CPU芯片發送數據正常。SPI總線能被相關設備解析出數據,證明SPI總線應該還是滿足規范的。
從總結的信息來看,錯誤數據都是在同樣的時間點出問題,此時開始懷疑是否SPI時序出現問題,是否是CPU和TPM芯片的SPI總線時序經常對不上,導致數據錯誤,最終影響TPM芯片的校驗。
重新整理驅動,發現CPU將SPI總線的速率配置為10 Mbps,對SPI總線來說,10 Mbps速率是比較高速的。而TPM芯片手冊并沒有描述SPI總線速率的相關信息,后續通過修改驅動,將CPU的SPI總線速率降為5 Mbps以下時,TPM芯片再沒有出現過校驗不成功的情況。
4? ? 結語
設計并不是簡單地把接口連接起來,同樣都是SPI總線,由于芯片內部設計的區別,有些SPI總線可以支持高速率,有些則不行。在設計前期要盡量對接口總線的性能有所了解,避免產品階段出現問題。
Abstract:TPM chip is a standard secure encryption chip, which can guarantee the security of system data and prevent attackers from modifying data maliciously. Z32H320TC is a trusted security chip of TPM2.0 specification, which uses SPI interface to encrypt. When using the chip, it is found that the TPM chip often fails to check, and the final location is caused by the high rate of SPI interface of CPU. In this paper, the abnormal communication problem of TPM chip is analyzed. In this paper, the abnormal communication problem of TPM chip is analyzed.
Key words:TPM; SPI; encryption; interface rate