SPE主要是提供需要安全保護的服務,例如固件更新、加解密;而NSPE則是一般使用者執行應用程序的環境。
如果在NSPE中執行的應用程序使用到secure層級的服務,則需要透過特定API來呼叫(這個概念類似操作系統的user-space和kernel-space會透過system call來溝通),這樣可以限制NSPE的操作權限,避免重要機密資源外泄。
聽起來有點抽象,那就來舉個具體的例子吧!
應用場景
假設有一個應用場景是:一個應用程序需要使用硬件所保護的OTP(one-time programmable)securekey來進行數據的加解密。
執行流程
? 1、Task(應用程序)呼叫整合進RTOS的Crypto PSA(Platform Security Architecture)API,發出Crypto request。
? 2、TF-M core收到request,由context manager產生對應的request context(包含執行此request的stack、crypto service ID等)。
? 3、Crypto Service接收到此request,接著呼叫hardware API從OTP讀取secure key并進行加解密算法。
? 4、加解密完成,Crypto Service將加解密后的結果透過context回傳給Task。
如上述例子,由于重要的數據或是key僅能在SPE下存取,因此透過此構架來處理加解密需求,就能確保在NSPE執行的應用程序不會取得key。
其實這里和TFA是極其類似的思想。
-
處理器
+關注
關注
68文章
19404瀏覽量
230791 -
ARM
+關注
關注
134文章
9164瀏覽量
368618 -
API
+關注
關注
2文章
1510瀏覽量
62293 -
構架
+關注
關注
0文章
7瀏覽量
7073
發布評論請先 登錄
相關推薦
評論