如今,区块链概念已经十分火热,但区块链产业的落地应用依旧只闻其声。究其原因,区块链并不能孤立存在,其只能作为底层基础设施的一块拼图,与之相配套的设备与环境还有待进一步完善。随着区块链发展到一定阶段,相关的可信设备和可信环境将成为下一步发展重点,并与区块链数字身份共同构成完整的可信数字生态图景。
科技巨头共同瞄向TEE 成为可信基础设施又一块重要拼图
Intel平台安全部门副总裁Rick Echevarria认为,硬件可作为一种方式来改善区块链技术及其实施的两大主要弱点:信任和安全性。然而,Intel并不是唯一将硬件定位为发展区块链基础的企业。
去年,埃森哲整合法国泰勒斯集团的硬件安全模块产品,作为各种数字密钥的安全仓库,用于解决企业对区块链安全漏洞的争论。IBM也为高安全性区块链商业网络用户提供了硬件安全模块。最近,微软接连发布两项专利申请,其正在研究在区块链产品中使用可信执行环境(Trusted Execution Environments,简称TEE)。
不过,并不是所有人都认为硬件解决方案会解决区块链的安全性问题,将区块链数字身份这一软性治理基础设施,与可信执行环境相结合,或许可以提供一个全新的技术思路。作为一种通过隔离的方法保护数据和程序的技术,TEE由Global Platform(GP)提出,旨在构建一个资源丰富的执行环境,能够主动防御来自外部的安全威胁,更有效地保障身份安全。
当前的身份认证模型,本质上就是用户向远程的服务端证明“你是你”,以确认在端侧的动作都是用户本人发出并确认的,这个模型的两个端点分别是远程的服务端和用户本身。以传统的账号+密码身份认证为例,用户在手机上输入预设好的账号、密码,密码传输到远程服务端进行比对,如果比对正确,则证明用户就是他自己。这里用户端的端点就是他自身,服务端就是服务器上数据库里存储的密码或是一个哈希值。
可信身份认证模型又是怎样的?一般情况下,可信身份认证模型都会在端侧隔离出一个独立的硬件环境建立一个安全区域,理论上这个隔离出来的硬件本身是难于攻破的,比如ARM公司在其处理器上隔离出来的Trust Zone,或者是手机里加了一个独立安全芯片模块。这个安全模型可以保证即使手机客户端整个被攻破也不影响整个系统身份认证的安全可信。
安全区域将身份认证链条分割成了两个部分:用户到安全区域、安全区域到服务端,分别保障这两个分路径的可信和安全,就可以保证从用户到服务端的可信身份认证。从用户到安全区域之间的认证也叫本地认证,一般有以下几种方案:PIN码、指纹识别、瞳孔识别等生物特征识别。
一方面,由于做了硬件隔离,这些认证信息是直接输入到安全区域,不经过开放的手机软件系统,所以,病毒木马对其起不了作用;另一方面,此认证是本地进行的认证,由于区域本身是可信和安全的,所以这条路径可以保证是安全的。
另一段必经的路经,从这个硬隔离出来的安全区域到服务端之间的认证,这其实是大部分的安全威胁所在,因为这个路径要通过开放的、处处充满威胁的、不可信的操作系统并途经开放的互联网才能到达远程的服务端。
一个完整的可信身份认证模型要在这个可信的、坚固的安全区域与远程服务端之间建立一条可信的安全通道,这也是可信身份认证协议的主要内容。目前,主流的可信身份协议包括应用于网银U盾的PKI/CA协议,以及近几年比较火热的FIDO、IFAA两大统一身份认证标准。
这两个统一身份认证标共同特点,是硬件隔离配合高强度的密码学算法来实现身份认证。其核心思路是在终端侧通过TEE实现硬件隔离,同时结合密钥存储和密码算法运算,避免开放系统上的软件病毒、木马的攻击,在此基础上通过密码学算法为应用服务商和用户之间建立一套端到端的安全认证协议,这是业界公认的可信安全技术框架。
数字身份+TEE一体化方案 为可信身份提供全新技术方向
TEE本身可以作为一个天然ID,如面部识别、指纹传感器和声音授权等,比PIN码和密码形式更加安全。一般基于TEE的认证可以划分为三个步骤:提取一个样本;在设备TEE存储一个参考模板,供与提取的样本对比;TEE的一个匹配引擎用于对比样本和模板,进行身份认证。
由此可见,TEE是存储匹配引擎以及认证用户的相关进程的一个理想空间,其可以与移动设备的主操作系统相互隔离,保证安全运行。FIDO联盟正在和Global Platform合作,一起制定将TEE作为天然ID的规范。
搭载TEE的可信硬件可以让设备记录系统或特定程序,一旦代码被更改,痕迹会被记录下来。这种情况下,黑客难以默默攻破软件。同时,TEE就像一个黑盒子,能让节点并不知道自身所处理的代码和数据,假设节点相当于房子,芯片则像里面的保险柜,可是房主没有钥匙,无法读取或者修改保险柜里的数据。
围绕TEE的可信身份认证解决方案,从硬件与安全协议的配合使用上主要可以分为两大类:单纯依靠硬件隔离的安全认证方案、硬件隔离结合可信身份认证协议的技术方案。
▷ 有安全硬件无安全协议
由于搭建一套可信身份认证协议需要一定技术门槛,所以对于一些安全等级要求不高的场景,暂时就仅靠安全硬件隔离来实现安全,而未配合可信身份认证协议。相当于只实现了可信身份认证模型的前一段:本地认证。
TEE结合生物特征识别安全认证方案,比如指纹解锁、指纹支付功能就属于这一类型。此类安全方案只做了端的安全,实现了从用户到手机TEE侧的安全,但是不保证从TEE安全区域到服务端之间的身份安全,所以其安全等级并不高,所以至多只能作为密码认证方式的一种补充。
▷ 硬件隔离结合可信身份认证协议的方案
此类方案,实现了完整的可信身份认证模型,本地认证以及本地安全区域到远端服务器之间的认证。包括传统的网银U盾系统和FIDO(线上快速身份验证联盟)、IFAA(互联网金融身份认证联盟)统一身份认证协议都属于这种类型。
另外,还有一些没有建立可信安全区域,仅依靠安全协议的方案,也在广泛使用。比如https协议、区块链技术就是属于有安全认证协议,但是用户端侧没有可信硬件节点支撑。实际上它建立起来的通道的一端还是在开放的操作系统和软件系统里,也就是为什么它还是存在被攻击的可能性,理论上还是有被病毒木马获取的可能。
对于数字身份而言,任何单一技术都无法保证其绝对安全,需要多种技术进行优势互补,形成软硬件一体的完整解决方案。虽然区块链的分布式账本已经是安全级别较高的技术,但黑客会将攻击重点转向用户和设备,一旦这些安全优先事项得到解决,区块链技术将充分发挥其潜力,成为宝贵数字身份的守护者。