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