从Android9(Pie)开始,Google强烈建议支持Strongbox. 具体描述如下:
一直到目前的Android14. 对应的内容也一并贴出来:
说人话就是Android开始通过独立于主SoC的单元进行密钥存储了。 通常,这样的单元就是我们通常称作的Secure Element(SE);
对于,Android中需要进行支付的应用通常会需要这样的一个SE,NFC的支付功能也必须有SE的支持。
那这里抛出一个问题,高通的TEE是不是一个SE呢? 见如下的一个Google的回答:
直译Google的意思就是,高通的TEE不是一个专用的安全处理器,对于StrongBox来说,需要的是一个专门的,安全处理器。这个处理起必须是独立于主SoC的。但是高通的TEE是运行在主SoC上的,只是软件上下文有所不同。
那么Secure Element具体有哪些芯片支持呢?有NXP的SE05系列/ ST的ST33K系列。
再回到Google的需求定义上来,以下三点比较重要:
如果一个设备的实现上支持StrongBox,必须满足以下设计需求:
C-1-1: 必需声明FEATURE_STRONGBOX_KEYSTORE;
C-1-2: 必需提供一个专有的硬件用来作为keystore的后端,安全用户授权。这个安全处理单元还可以同时用于其它功能。
C-1-3:必需用于专有的CPU,这个CPU不可以和主CPU共享缓存、内存、协处理器、、、
除了以上三点,其它需求请参照截图内容。