emvco眼中的tee 能否推广开来还有待观察
目前tee的标准化主要是由globalplatform组织推动,大家日常接触的安卓手机,基本都搭载遵循globalplatform标准的tee。那么除了globalplatform定义的tee,还有别的吗?答案是肯定的,一个字:有!
别的不说,智能手机两大阵营,除了安卓,还有苹果啊,所以苹果手机里也是有tee的,鉴于苹果一向是自己和自己玩,它的tee不遵循globalplatform也不奇怪。
除了智能手机、平板等移动终端,在传统的pc机领域,也是有tee的存在,比如英特尔老大哥。大家都知道英特尔是做cpu处理器芯片的,那基于芯片实现一个tee也不新鲜。英特尔提供的凯发k8网页登录的解决方案是sgx (software guard extensions),详细信息各位可以自行查找。
好了,说到这,小wa已经提到了3种tee(globalplatform、苹果和英特尔),那么如何衡量不同tee的安全性呢?嗯,下面请出今天的主角——emvco同学。
简单介绍下这位同学,emvco是由american express, discover, jcb, mastercard, unionpay和visa等6家银行卡组织成立的国际组织。嗯,大家从这6家成员,可以看出这个组织一定和金融行业相关了。emvco都做哪些事呢?下面这段介绍是从emvco凯发k8官网下载客户端中心官网摘录的。
emvco exists to facilitate worldwide interoperability and acceptance of secure payment transactions. it accomplishes this by managing and evolving the emv® specifications and related testing processes. this includes, but is not limited to, card and terminal evaluation, security evaluation, and management of interoperability issues. today there are emv® specifications based on contactchip, contactless chip, emv® 2nd generation, common payment application (cpa),card personalisation, payment tokenisation, and 3-d secure.
可以看到银行卡、终端、芯片、支付应用等都和emvco相关,emvco也管理上述产品的检测工作。
随着移动支付的快速发展,emvco也在探索和跟进相关技术的发展,比如tee。emvco综合了各种tee方案的架构,定义了emvco范畴的tee。
首先emvco提出了tee的抽象架构,如下图。
可能,有人会说这好像和常见的tee架构没啥不同。嗯,恭喜你答对了,唯一的区别就是这里的tee client api和tee internal api没有规定具体的接口,这样就不局限于globalplatform tee实现。
在上图基础上扩展,emvco定义了5种可能的tee实现(这5种实现之间是有重叠的,见下面解释),包括:
1)满足globalplatform标准的tee
这种tee没啥好解释的。
2)基于armtrustzone的tee
其实安卓手机搭载的tee都是基于arm trustzone技术的,emvco把它单列出来,是表明一种态度,那就是我不关心tee是否符合globalplatform标准。嗯,感觉globalplatform受到了暴击。
3)基于专用安全处理器的tee
嗯,所谓的专用安全处理器,其实emvco指的是se (secure element)。当然英特尔的tee方案也可以归为这一类。
4)基于其他硬件的tee
这种实现,emvco主要指的是tpm (trusted platform module)。
5)虚拟tee
这种实现,emvco指的是不依赖或较少依赖硬件的软件tee实现,简单理解为虚拟机上跑的tee就好。
其实虽然上面列出了5种tee实现,但其实就2种,1种是基于硬件实现的tee,另1种是基于软件实现的tee。
既然有2种tee实现,那这2种实现的特性一样吗?emvco给出了自己的答案。
emvco将tee特性划分为3类:初始化、安全属性和安全服务。
从表中可以看到这2种tee实现的特性还是有一些区别的。
小wa觉得emvco对tee的划分要比globalplatform更为合理,不过emvco对终端安全的话语权比较弱,所以能否推广开来,还是有待观察的。