前言
本文是上文 《STM32H5 DA 之初體驗(帶 TrustZone)》的后續(xù)之作。倘若你還沒有閱讀此文,那么建議你先閱讀下,然后再回過頭來閱讀本文。
之前我們已經(jīng)講過了如何通過 DA 認證來回退芯片產(chǎn)品狀態(tài),或者重新打開調(diào)試口,這樣開發(fā)人員在芯片為 Closed 狀態(tài)下時仍可以調(diào)試芯片。在這個 DA 認證過程中,有使用到兩個東西:證書和私鑰,它與之前已經(jīng)預配置到芯片內(nèi)部的 obk 文件是對應的關系。也就是說, 如果你已經(jīng)預配置了芯片, 但對應的私鑰文件或者證書丟失或忘記保存了, 那么此芯片多半是無法再還原了, 除非你找到對應的私鑰和證書.
證書鏈介紹
在產(chǎn)品的開發(fā)過程中, 我們假設有三個團隊:
- 安全開發(fā)團隊: 負責開發(fā) secure 部分代碼, 并向 non secure 提供 API 接口. 當芯片燒錄完 secure 代碼后, 芯片會被設置為 TZ_Closed 狀態(tài).
- OEM 開發(fā)團隊: 負責開發(fā) non secure 部分代碼, 無法直接訪問 secure 世界的代碼,但能調(diào)用 secure 提供的特定的 API 接口, 以完成特定功能. 此團隊拿到芯片時, 芯片已經(jīng)處于 TZ_Closed 狀態(tài). 在此狀態(tài)下, 開發(fā) non secure 工程不受任何限制. 可以隨意調(diào)試 NS 工程.
- 現(xiàn)場技術支持團隊: 產(chǎn)品到達終端客戶, 若出現(xiàn)任何問題, 需要現(xiàn)場進行技術支持.對于這三個團隊, 需要授予不同的權限. 安全開發(fā)團隊需要授予平臺軟硬件完全訪問的權限. 且安全開發(fā)團隊可向 OEM 團隊授予權限. 完全訪問權限就包括了可完全回退+部分回退, S+NS 調(diào)試.
OEM 開發(fā)團隊的權限應該僅僅局限在 NS 部分, 不應該影響其 NS 代碼的調(diào)試, 當然回退也不應該限制. 僅需要限制其調(diào)試 S 代碼的權利. 因此, OEM 團隊包括的權限應該有: 完全回退+部分回退, NS 調(diào)試. 除此之外, OEM 開發(fā)團隊應可向現(xiàn)場技術支持團隊授予權限的能力.
現(xiàn)場技術支持團隊的權限應該僅限于回退的權利.而且僅能完全回退. 以便檢查硬件方面的問題.
動手實驗
其它問題
在生成證書鏈過程中, 有涉及到中間證書, 我們用它來生成二級證書, 原則上中間證書只能用來生成二級證書, 其本身并不會直接使用, 那么這里有一個問題, 直接使用中間證書能有效嗎?