通过构架来处理加解密需求

描述

SPE主要是提供需要安全保护的服务,例如固件更新、加解密;而NSPE则是一般使用者执行应用程序的环境。

如果在NSPE中执行的应用程序使用到secure层级的服务,则需要透过特定API来呼叫(这个概念类似操作系统的user-space和kernel-space会透过system call来沟通),这样可以限制NSPE的操作权限,避免重要机密资源外泄。

听起来有点抽象,那就来举个具体的例子吧!

ARM

应用场景

假设有一个应用场景是:一个应用程序需要使用硬件所保护的OTP(one-time programmable)securekey来进行数据的加解密。

ARM

执行流程

• 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是极其类似的思想。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分