基于区块链的数据共享与可信计算应用与研究
2020-12-27刘千仞任梦璇王光全中国联通研究院北京
刘千仞,薛 淼,任梦璇,任 杰,王光全(中国联通研究院,北京 )
1 概述
数据可以是符号,也可以是文字,还可以是语音或者图像视频等,总的来说是信息的表现形式和载体。互联网带来的一个优势就是用户可以便捷地共享数据,随着商业模式的不断创新,一些企业发起可以通过收集和共享与用户信息及其行为相关的数据来获得利润,具体是可以通过信息训练得出用户喜好,从而针对性发布个性化广告。国家也逐渐意识到数据的重要性,2019年11月1日,在中国共产党第十九届四中全会新闻发布会上,中央首次在公开场合提出数据可作为生产要素按贡献参与分配。2019年11月22日,国务院副总理刘鹤在人民日报发表署名文章,题为《坚持和完善社会主义基本经济制度》,文章对数据作为新的生产要素,进行了详细解释。把数据纳入生产要素,是因为数据是推动许多新兴产业发展的基础,其实反映了数字经济是国家经济发展极为重要的支柱。
随着企业的规模越做越大,其产生的独有数据就越多,所谓的独有指的是这些数据会被单独存储在某个区域,不与外界联通,就像孤岛一样无法进行交互和链接,缺乏关联性无法兼容。这种数据之间无法兼容及协作的情况便将其称为数据孤岛,随着信息化的不断能深入,已经习惯了用数据来做决策,用数据来作为参考,而数据的基础在于共享,如果数据无法共享,相互孤立,信息交互便无从谈起,其也更可能导致大量的安全问题与信任成本。
当下数据市场面临的最大问题是什么?毫无疑问,就是隐私泄露问题。
随着《中华人民共和国网络安全法》于2017年6月施行,监管部门加强了对个人数据信息的保护和对相关大数据机构的经营约束。而苹果公司在其推出的最新系统版本中,专门添加了一个“广告客户标识符”(IDFA),也就是设备标识符,开发人员在调用时必须通过提示询问用户才能获取数据,这意味着苹果手机用户开始慢慢向互联网要回个人数据主权,这显然是好事,但在这种情况下,孤岛效应逐渐显现。好看的“皮囊”千篇一律,有趣的“灵魂”万里挑一。数据就是“灵魂”,流动起来的数据才能产生价值。但是现如今数据隐私保护面临着种种问题,想让数据能够充分流动起来仍然困难重重。
在过去的几年里,分布式账本和区块链技术已经发展成为一种很有应用前景的技术手段,在商品溯源、版权保护、司法存证、身份认证等多种场景中支持可信和不可篡改的记录,区块链系统提供一种“智能合约”的技术,允许建立对访问或修改每个数据实体的自动验证。可以部署智能合约来编码允许的数据使用目的、允许的软件应用程序、可以访问数据的人员或企业、时间限制、交易价格等。因此,区块链提供了一种新的思路,可用于共享用户数据——用户模型和用户贡献的数据或研究数据,及在此基础上的可信计算解决方案。
2 数据共享与可信计算研究现状
万物互联时代,连接数和数据成几何增长,据IDC和Seagate联合发布的白皮书,全球连接数预计到2025年达到1 000亿。全球数据存储量预计达到175 ZB。数据市场规模巨大,2019年数据挖掘、机器学习、产业转型、数据资产管理、信息安全等大数据技术及应用市场呈爆发式增长。中国信息通信研究院调研数据显示,全球大数据市场收入规模预计从2019年的490亿美元,到2027年将翻番超千亿美元,而随着大数据、移动互联网、物联网等产业的深入发展,中国大数据产值规模预计将从2019年的8 000亿增长到2023年的15 000亿,年复合增长率(CAGR)为18.35%,处于快速增长阶段,这一切都说明数据市场正迎来发展黄金时期。图1示出的是全球及中国大数据市场规模预测。
图1 全球及中国大数据市场规模及预测
随着人工智能、云计算和物联网技术的发展以及应用领域的不断扩展,人们越来越关注数据的隐私和价值潜力。确权能力的不足使得海量数据处于“无主”状态,这些用户隐私数据分布在互联网巨头、金融机构,甚至政府机构等,互相隔离,形成了数据孤岛。彼此之间数据互通共享的需求很大。
政府在数据共享方面有着天然的优势,政府通过公开大量的数据集、网站的API以及网页的源代码,向大数据、人工智能、物联网设备等开发者与数据使用者提供大量的应用,协助开发者更好地使用数据,试图改善当前数据的应用模式,助力数据共享产业的发展。
各国政府也同时出台大量的数据共享指导方针或法律,以规范数据的使用,为数据共享产业发展指明了方向,同时也积极推进数据共享行业发展。如美国、英国、新加坡、加拿大等都建立了国家层面的政府数据开放平台,以分享工业、农业、服务业、环境保护等十多个主题的数据。我国北京、上海、浙江、武汉、青岛、无锡、香港等地区也纷纷推出了自己的数据共享平台,为数据共享产业的发展奠定了基础。
各大企业也纷纷在数据共享行业进行布局,如阿里的天池数据开放平台、微软的Azure Data Share、谷歌的kaggle平台、IBM的Watson大数据与分析平台、亚马逊的Open Data on AWS、百度的数据开放平台、华为的大数据共享交换平台等。
可以看出,随着5G时代的到来,数据隐私保护的呼声越来越高。一方面,人们对数据作为具有巨大潜力的宝贵资源的理解越来越清晰。另一方面,大量数据与移动终端及其行为关联度极高,使得用户越来越意识到数据隐私保护的重要性。
人工智能、智能化IoT设备等领域的市场需求量大且前景向好。但是目前无法有效地提供足够多的训练数据支撑,使得智能化设备的开发周期变长、精度降低。因此产品生成数据的效率和质量不高,从而导致数据共享市场前进缓慢。
数据隐私保护和数据共享并不冲突,但是对于大多数人来说数据共享的观念尚未形成,或是不愿、不敢、不想共享。权责不明、数字红利的不可预见性以及体系不健全导致开放共享生态环境差。同时,由于数据市场潜力巨大,各家都想通过自身获得垄断性的数据获利,导致资源整合效率降低,限制了数据共享市场发展。
数据共享需要解决的问题有,多家如何共建数据共享平台,主导权界定;数据共享过程中如何保证数据的权益归属;数据共享过程是否需要激励;如何确保数据流通过程中全程透明可追溯;如何保证算法在使用过程中不对数据进行非法操作等。
为了解决上述问题,就需要引入下一个概念:可信计算。可信计算指的是在保护数据隐私的前提下对数据的安全计算和处理。可信计算主要使用诸如安全多方计算和同态加密之类的加密技术在数据计算过程中完全保护数据隐私。
可信计算概念最早追溯到1983年美国颁布的《可信计算机系统评价标准》,TCSEC第一次正式提出了可信计算机的概念:可信计算机是一种能够提供系统的可靠性、可用性、信息和行为安全性的计算机系统。现阶段可信计算最主要的2个属性就是可靠性和安全性。因此,可信可简单表述为可靠加安全。
可信计算目前的研究方向主要有以下内容:同态加密、安全多方计算(MPC)、零知识证明、可信执行环境(TEE)。
同态加密是一种不需要预先解密加密数据即可执行计算的方法。通过使用同态加密技术将数据存储在区块链上,可以实现完美的平衡,而不会导致区块链属性发生任何重大变化。
零知识证明是麻省理工学院研究人员在20世纪80年代提出的一种加密方法,并且是在可信计算中广泛使用的加密算法之一。可以充分证明自己是某些权益的合法所有者,而不会泄漏相关信息,即给予外界的“知识”为“零”。
安全多方计算是由华裔科学家姚启智教授于1982年提出的。简而言之,安全多方计算旨在解决保护一组不受信任方之间的隐私的协作计算问题。允许多个数据所有者在彼此不信任的情况下执行协作计算,输出计算结果,并确保除计算结果外,任何一方都无法获得其他任何多余信息。换句话说,安全多方计算技术可以在不泄露原始数据内容的情况下获得数据使用价值。
至于可信执行环境是本文研究的重点方向,后文重点介绍。
可信计算组织(TCG)以可信赖平台模块(TPM)为核心技术,在可信计算方面的研究代表了国外可信计算技术的发展水平。TCG相关规范在不断完善和演进过程中形成了自有的规范体系,TCG的核心规范是TPM2.0,作为TPM1.2的修订版本发行,目前ISO/IEC将其标识为国际标准。
我国从事可信计算技术的研究起步较早,并提出了并行计算和防御的双重架构。这种双重系统结构具有对业务应用程序透明的特性,并被应用于大规模工程系统。这种具有主动抗干扰性的可信计算体系结构是我国可信计算技术发展中最重要的创新之一。
我国在可信计算标准方面也有一定的沉淀和积累。《可信计算体系结构》标准最初作为团体标准发布,经过长期修订与调整,已于2020年4月28日正式发布国家标准版本,于2020年11月1日开始实施。
可信计算可以为数据安全性提供可信的环境,并在数据计算过程中实现数据隐私保护。因此可信计算有望改变目前数据市场困境,打破孤岛现状,安全可靠地释放数据价值,并激活数据经济市场。在可信计算的推动下,数据市场有望成倍增长。
3 从可信计算到可信计算执行环境
早期可信计算的研究主要以TCG组织为主,国内开展可信计算研究的思路基本也是跟着TCG的步伐。可信计算最核心的就是TPM硬件芯片,而随着可信计算的发展,可信平台模块不一定再是硬件芯片的形式,尤其是在资源条件有限的移动和嵌入式环境中,可信执行环境的研究比较受到青睐,如基于ARM Trust⁃Zone、SGX、智能卡等可以实现可信计算环境。
3.1 可信计算执行环境实现
3.1.1 TPM 安全芯片
TPM安全芯片是指符合可信赖平台模块标准的安全芯片,它能有效地保护电脑防止非法用户访问。安全芯片主要是针对商业用户,需要配合软件进行使用。TPM可以将密钥存储在芯片中固化的存储单元中,可以大大提高其安全性,因此可以用来存储和管理BIOS开机密码和硬盘密码;除此之外,TPM安全芯片可以执行多种加密:用户还可以在芯片中存储应用程序软件密码;并且还可以加密硬盘的任何部分并将敏感数据存储在其中,以此实现计算机的备份和恢复功能。
3.1.2 Intel SGX
Intel SGX全称Intel Software Guard Extensions,它是对英特尔体系(IA)的一种扩展,以增强软件安全性。SGX将通过验证的合法软件和程序封装到安全区(enclaves)中,以保护它们免受恶意软件的侵害。该安全区级别非常高,也就是说,一旦将程序放入到容器中,即使是操作系统受到破坏,容器中的代码和数据也不会受到影响,并且一个CPU中可以有多个安全区域,并行效率很高。
英特尔SGX的最大优势在于它仅信任自己和英特尔CPU,这个信任的级别是硬件的层面,因此基于软件层面的攻击甚至操作系统级攻击都不能威胁到SGX创建的可信环境。此架构很适合基于当前多租户云服务架构的软件,因为SGX仅信任本身和Intel CPU,即使黑客通过云将病毒植入到PC中以控制底层操作系统,也不会受到来自底层操作系统的攻击。
3.1.3 ARM TrustZone
SGX是针对Intel处理器独有的安全计算环境,而TrustZone则是为ARM处理器独有。TrustZone不像SGX一样可以封装成多个安全区域,而是将CPU一分为二,一个是正常操作环境,另一个是受信任的操作环境。由于2个环境是隔离的并且并行运行,因此代码和资源很难被跨环境调用。同时,当程序要进入受信任的操作环境时,必须通过检查的程序,具体的过程是程序需要执行安全监视中断指令,以使操作系统检查其安全性,由底层操作系统来负责整个系统的安全性。
3.1.4 SGX 与TrustZone 的差异
SGX和TrustZone还是有些不同的。主要表现为以下几点。
SGX和TrustZone分别对应Intel和ARM的处理器。2种处理器特定应用场景有区别,Intel处理器的主要应用场景是PC端,如电脑和服务器,ARM处理器主要应用场景是移动终端,如手机和机顶盒。
SGX的安全威胁在于操作系统下的硬件层,而TrustZone的安全威胁可以来自操作系统层,因此SGX的理论安全性高于TrustZone。Intel CPU的适用性更广,因为支持多个安全区受信任的环境。而TrustZone只有2种环境:正常环境和安全环境。
从开发难度上来看,TrustZone开发难度相对较小,其本质是将硬件上的受信任资源与不受信任资源隔离。而SGX难度较高,尽管Intel提供了SGX SDK,目前有Avalon和graphene等产品来协助对接,但是将程序放入安全区域还是需要重构代码,目前需要的工作量仍然很大,并且由此引发的安全问题也需要考虑。
3.2 可信计算存在的问题
3.2.1 可信计算基础设施推进不及预期
可信计算为推动数据价值交换系统建立,涉及终端数据标准、数据交换平台建设和相关政策法规推进,存在不及预期的可能。
3.2.2 可信计算硬件的问题
目前存在的可信计算硬件多少都有一些短板,以SGX为例,虽然同其他技术相比比较快,但效率仍然很难满足大规模的商业应用。因为CPU本身的空间较小,目前一代只有8G内存,而且因为SGX在硬件层,意味着pages在进入以及离开硬盘的时候都需要进行加密,因此运行速度还比较慢,并且提速的难度较大。
3.2.3 可信计算垄断的问题
尽管SGX存在不少的问题,但目前仍是可信执行环境中最合适的硬件环境之一。但SGX是一个高度中心化的技术,其内嵌于Intel芯片,同时也是Intel公司的一项商用产品。这就意味着如果Intel芯片或其服务器出现问题,或者Intel关闭此项功能,将会影响到SGX的使用,基于其所做的项目将无法运转。
目前全面强调国产自主化的大形势下,国内硬件厂商由于工艺短板的限制,距离实现全面自主化还有不少的路要走。
4 区块链与可信计算结合应用需求
可信计算是向用户不信任的软件和硬件中添加一个可信模块,而区块链则是为了提升另一方造假撒谎的成本。当区块链与可信计算结合时,区块链可以从以下几个方面起到作用。
a)提供中立环境。传统可信计算使用的主机,基本上是中心化的,服务器的掌控权在所有者手中,而区块链采用分布式及去中心化的方式运行,这就提供了非常好的中立环境。
b)数据确权及留痕。使用方对个人数据的每一次操作,可以将摘要等相关信息同步到链上,完成数据确权。用户每一次的交互都会在链上留下痕迹,做到透明可查询。
c)清结算功能。利用区块链智能合约的方式去处理结算这个流程,整个流程透明,链上结算的方式保证结算的安全性,确保没有任何一方抵赖。
d)提升效率。虽然可信计算能做到数据和协作方面的互信,但在实际应用中,商业合作和利益分配信任问题带来的效率下降非常明显,借助区块链技术,让支出、收益、分润透明结算,账本公开清晰可查,充分降本增效。
引入区块链之后,文件经过特殊加密后,只有数据拥有方授权才可进行解密。数据本身不需要上链,但是数据使用的时候需要放入可信环境中。同时对代码进行溯源验证,功能分析,保证软件安全性,不存在后门漏洞,代码的分析结果和后续产生的操作都要上链。
区块链的种种特性,使得其成为可信计算技术生态的重要组成部分。可信计算相关技术目前多与分布式计算类项目、数据类项目及链下解决方案相结合。目前此类项目的关注重点多在于主机端应用场景,因此,在区块链领域,SGX相比于TrustZone,有更多的应用场景和需求。
随着区块链技术的发展,目前主要存在2个问题:一个是数据开放引起的隐私泄露问题;另一个是无法在链上执行有效计算的性能问题。
隐私泄露问题不仅包括区块链上记录的交易信息的隐私泄露,还包括区块链上记录和传输的其他数据的隐私泄露,这是必须首要解决的问题。而高性能计算和可扩展性则一直是区块链发展的瓶颈。在区块链网络中,所有节点需要共同处理和同步所有计算任务,以确保计算任务的准确性和不可篡改。但是这导致了严重的资源浪费和效率低下。同时,为了实现分布式处理,整个区块链网络中对构建节点的要求不能太高,不能出现中心节点,这进一步影响了各个节点处理任务的能力。这时候,可信计算的隐私保护特性和分布式处理等优点就可以很好地帮助解决这些问题。
5 基于区块链的数据共享与可信计算应用
图2示出的是基于区块链的可信计算与数据共享方案。
本文提出一种基于区块链的可信计算与数据共享方案,该方案中存在四方,分别是数据需求方、数据提供方、数据训练方和数据仓库。数据提供方和数据仓库都在区块链平台上注册节点,认证通过后数据提供方将数据加密放入数据仓库中。数据需求方提出某种需求,然后由数据训练方在数据列表上找一下符合要求的数据,找到数据后向对应的数据提供方提出申请。数据提供方授权之后,相应数据经加密后和密钥放入可信执行环境,数据训练方也将算法进行合规性验证,通过验证之后放入可信执行环境中。之后在可信执行环境中对数据进行解密,然后算法对数据进行训练,运算出来结果之后将摘要信息上链,训练方获取运算结果,并将结果反馈给需求方。同时数据仓库中的数据和算法销毁,流程结束。
此方案中数据不离本地可供外部算法进行处理,数据处理全流程信息透明并上链。链上信息应包括如下部分:数据上链信息包括不限于数据名称、类型、格式、大小、摘要、所有方、数据的被调用记录、数据更新记录等;算法上链信息包括不限于算法名称、类型、格式、大小、所有方、算法更新纪律、合规性检查结果等。
此方案实现了数据的全生命周期可视化管理,数据摘要信息上链,原始数据存储在本地。数据处理时在本地经过加密后交由通过合规验证的算法进行运算,算法在处理数据前获得数据所有方授权后方可实现数据解密,进行后续处理。
图2 基于区块链的可信计算与数据共享方案
同时利用硬件框架实现自有的数据共享及密钥管理模块,供各节点加解密及身份认证使用,该密钥体系应具备在特定环境下可实现解密的功能,脱离特定环境后密钥失效,特定环境包括不限于(具备SGX功能的硬件)可信硬件。
此方案已经过测试,在复杂环境下,具备在保护数据与算法安全前提下提供可信计算的能力。
6 总结与展望
随着5G和物联网的发展,边缘终端产生了越来越多的数据,而伴随着基于区块链的数据共享和可信计算技术的成熟,这些海量数据将在终端处得到安全存储和隐私保护。各类联合机器学习算法将在终端用户的授权下以分布式方式完成机器学习,并输出学习模型而不是隐私数据,并且这些模型将在网络中完成协作建模。传统的中心云架构的系统现有的托管数据也将在安全且受到完全保护的可信环境中进行交换和协作计算。就像运营商网络之于信息流转的作用,一个从终端到云的数据价值交换系统将应运而生,可信计算系统就可以作为数据价值交换的“运营商”。在这样的系统中,节点之间的数据协作计算和交换需要依赖于可信计算来实现隐私保护和数据安全。可以预见,依靠这样的平台系统,类似于互联网生态的各种数据应用市场将如雨后春笋般不断涌现,从而创造数据红利时代。