区块链与可信计算的大好时光

引言:大数据时代,时刻都在产生着各种各样的数据,数据资源的流动性和可获取性是大数据应用和产业发展的基础,市场各方对推动数据流通共享的需求呼声很高,但在数据流通共享方面存在很大的挑战,包括数据的权属无法清晰界定、数据的标准不一、良莠不齐,数据的隐私和安全难以得到有效保障。这时候隐私计算就能很好地发挥其价值,让数据共享流通更加安全、可靠和放心,而区块链的出现让隐私计算如虎添翼。

腾讯云区块链可信计算

1. 隐私计算技术呼吁而出
隐私计算,是指在保护数据本身不对外泄露的前提下实现数据分析计算的一类信息技术,主要分为可信硬件和密码学两大领域。
可信硬件技术,依赖于硬件的实现,目前主要指可信执行环境,其核心思想是构建一个硬件安全区域,数据仅在该安全区域进行计算。
密码学技术,主要依赖于数学算法,目前以多方安全计算为代表。安全多方计算(Secure Muti-party Computation,简称MPC)问题首先由计算机科学家、图领奖获得者姚期智教授于1982年提出,也就是为人熟知的百万富翁问题:两个争强好胜的富翁Alice和Bob在街头相遇,如何在不暴露各自财富的前提下比较出谁更富有?后来经过发展,成为现代密码学中非常活跃的研究领域,即安全多方计算,其数学描述为,“ 有n个参与者P1,P2,…Pn,要以一种安全的方式共同计算一个函数,这里的安全是指输出结果的正确性和输入信息、输出信息的保密性。简单来说,安全多方计算协议作为密码学的一个子领域,其允许多个数据所有者在互不信任的情况下进行协同计算,输出计算结果,并保证任何一方均无法得到除应得的计算结果之外的其他任何信息。换句话说,MPC技术可以获取数据使用价值,却不泄露原始数据内容。其特点包括输入隐私性、计算正确性及去中心化等特性。安全多方计算技术在需要秘密共享和隐私保护的场景中具有重要意义,其主要适用的场景包括联合数据分析、数据安全查询、数据可信交换等。
相对于密码学技术来说,可信执行环境技术TEE其性能更高,易开发,通用性更好,安全性也更好,依赖于硬件设备的安全。因此,接下来我们重点来看可信执行环境技术。
2. 可信执行环境TEE技术保驾护航
TEE全称是Trusted Execution Environment,就是可信硬件执行环境,其主要优点在于通过硬件隔离手段对涉及隐私数据的运算和操作进行保护,相比纯软件实现的隐私保护方案,结合TEE软硬件实现的解决方案通常表现出更好的性能和扩展性,因而广受客户青睐。基于Intel芯片的SGX以及基于ARM开源框架的TrustZone是可信执行环境中最被广泛认知且应用的。这里我们以Intex SXG为例来说,Intel SGX是 Intel 架构新的扩展,在原有架构上增加了一组新的指令集和内存访问机制,这些扩展允许应用程序实现一个被称为 Enclave 的容器。Enclave可以提供一个隔离的可信执行环境,可以在BIOS、虚拟机监控器、主操作系统和驱动程序均被恶意代码攻陷的情况下,仍对enclave内的代码和内存数据提供保护,防止恶意软件影响enclave内的代码和数据,从而保障用户的关键代码和数据的机密性和完整性。
Intel SGX安全特性主要依赖以下几方面的硬件功能:   
1)物理隔离的代码运行环境。飞地(Enclave)具有独立的内部数据通路和计算所需存储空间,确保代码在飞地中运行产生的内部数据不会被外部恶意程序所获取;
2)硬件设备绑定的设备密钥。Intel SGX可以配合外部软件验证TEE硬件设备的真实性,以此鉴别由软件恶意模拟出来的虚假不可靠设备;
3)物理篡改检测自毁机制,当Intel SGX存储数据的模块传感器检测到外部硬件攻击时,会对其中的数据进行自动清零保护。

在实际业务应用中,我们通常可以将可信硬件看作一个安全的硬件设备,其满足如下特性:
1)高性能:TEE运行时使用独占CPU的全部性能;
2)受硬件保护:TEE与操作系统隔离,只能通过特定的入口与TEE通信,并不规定某一种硬件实现方法;
3)快速通信机制:TEE可以访问操作系统层的内存、操作系统层无法访问受硬件保护的TEE内存可信硬件中存储的数据,其明文形式仅存在于硬件内部,无法被外界所获取;
4)跨平台能力:由GlobalPlatform(GP)进行统一标准化,因此可在多种平台上移植。
单从效果上看,TEE硬件设备可以主要提供以下两点安全特性:
1)在不破解硬件的前提下,攻击者无法直接读取其中的隐私数据和系统密钥,由此保障了数据的机密性;
2)攻击者无法通过固化的硬件逻辑和硬件层面篡改检测,以此确保相关系统运行过程不被恶意篡改。
TEE对支持的运算过程没有特别限制,可以方便地适配丰富的应用场景,是一类通用性很好的技术,通常可用于金融风控服务、政务数据开放、医疗数据共享、广告营销等场景。
3. 区块链+可信执行环境双剑合璧
区块链其分布式网络特性、共识机制、智能合约及密码学技术,能够很好地发挥通道作用,结合可信执行环境TEE的硬件保护、安全计算、密文环境和模型隐私保护等能力,可以构建起区块链可信计算实现方案,实现数据的协同共享、隐私保护及平等对待。
数据提供方将数据经过整理,形成统一标准的数据目录,然后数据目录进行上链,同时需要进行计算的数据算法模型哈希后也上链,算法模型要部署到TEE中,当数据使用方发起数据授权请求时,数据提供方经过审核把授权进行上链,这时TEE发起数据计算请求,数据提供方将加密数据传入TEE,TEE和链上验证模型是否一致,未被篡改,则执行计算,计算的结果上链,数据使用方从链上获取最终结果。
区块链+可信计算赋能数据要素流通,具体来说有以下好处:
1)分布式架构,透明可信。数据无需归集,分布式架构实现数据的可信安全计算;区块链分布式账本不可篡改,实现数据公信存证;
2)以数据和模型为核心。利用安全计算、区块链等技术实现数据可用不可见,既保护数据隐私和安全,又可实现针对数据的个性化生产;支持数据模型的快速定义和调试,充分发挥数据的价值;
3)实现端到端的应用闭环。端到端整体方案,连接数据提供方、数据建模方和数据使用方等多方角色;原始数据不出域的前提下,建立应用闭环有效打破数据壁垒、连接数据孤岛,实现数据融合;
4)可控与开发易用性。安全便捷的日志审计能力,可对数据调用进行准确追溯,并对计算结果进行合法性验证。开发接入门槛低,无需对原始应用代码逻辑进行重构,部署方便,使用简单。
4. 总结
区块链本身提供多方参与、全程留痕、事后审计的能力,支持数据提供方对数据目录、数据授权、计算模型进行管理,同时可以规定数据用途与用量,使得数据使用范围更可控,也可提供数据定价,有效发挥数据价值。TEE提供了可信环境,保证了机器中运行的代码没有被篡改,数据仅被可信计算环境访问,避免数据泄露,计算结果由可信执行环境背书上链,提供真实性证明,从数据到计算结果都只能被用户自己看到,端到端保护了数据安全与隐私。
我们相信,未来区块链和TEE的结合会迸发出更大的能量,我们需要做好准备迎接这一时刻的到来!