基于分层注意力网络的方面情感分析
刘彦松1, 夏琦1, 李柱1, 夏虎1, 张小松1, 高建彬2
1 电子科技大学计算机科学与工程学院,四川 成都 611731
2 电子科技大学资源与环境学院,四川 成都 611731
摘要:针对人们在日益增长的数字化交互过程中越来越多地出现隐私直接或间接泄露的问题,主要研究基于区块链网络建立一套链上数据安全共享体系,基于密文策略的属性加密的访问控制算法以及同态加密算法实现链上数据的可靠共享,提出了一种链上数据共享架构,最后进行了仿真实验,并分析了实验结果。这项工作有效解决了恶意参与方利用区块链的交易透明性进行数据分析的问题,并保证了用户数据在共享流程中的隐私安全。
关键词:数据共享;区块链;基于密文策略的属性加密;同态加密;隐私安全
论文引用格式:
刘彦松,夏琦,李柱, 等. 基于区块链的链上数据安全共享体系研究[J]. 大数据, 2020, 6(5): 92-105.
LIU Y S, XIA QI, LI Z, et al. Research on secure data sharing system based on blockchain[J]. Big Data Research, 2020, 6(5): 92-105.
1 引言
随着互联网时代的发展,用户对网络安全的需求越来越大,生活中无时无刻不在产生大量网络支付和社交活动等数据,而在不同的行业中,多领域、多企业的复杂交互式业务场景也会涉及多方数据的汇总,这些海量的异构数据不仅蕴含巨大价值,也隐含大量的个人隐私,继而产生数据权属与数据安全等多方信任问题。在医疗领域,以新型冠状病毒肺炎疫情为例,为了控制疫情的扩散以及精准把控疫情的进展,各地政府、高校及研究机构搭建了新型冠状病毒大数据交叉学科研究平台,对患者的数据进行分析和统计,在这个过程中,一旦一个环节出错就会导致数据泄露。
随着区块链技术越来越多地出现在人们的视野,其去中心化的特性颠覆性地解决了许多“信任”问题,为多企业、多单位共同参与项目提供了一致性的保障,为数据安全、数据增值、成果认定提供了平台支撑,促使各参与方更精于合作,更专注于研究工作本身,减少数据泄密带来的风险。
然而,区块链技术的交易公开性也有弊端,数据请求方的数据属性集合被封装在交易信息中,使用共识算法将其广播到区块链网络,使得所有节点公开可见。但数据属性集合极易被恶意参与方盗用,并且生成对应的用户密钥,从而窃取区块链上(以下简称“链上”)的交易数据。可见区块链架构本身并不一定是高可用的,维护区块链系统的可运维性不仅需要在技术上突破,更应从法律、行业实践及标准化层面加以约束 。
本文针对当前第三方传统中心化数据共享平台和机构上存在的数据管理、多方交互数据不可信以及当前区块链共享平台交易公开等关键问题,将医疗数据共享中患者体检报告中的各项指标数据作为本文的数据分析主体,研究智能合约(smart contract)、基于属性加密的访问控制算法、同态加密(homomorphic encryption)算法等,探索基于区块链技术的链上数据安全共享体系,设计基于智能合约及密文策略的属性加密的访问控制方案以及基于同态加密的数据处理模块,旨在为用户信息提供加密保护,合理管理共享数据,可靠保证用户的数据主权与数据完整性,最终建立一套完备的数据权属体系与数据安全保障规范。
2 研究现状
数据管理是指对各类数据进行采集、存储、分类、检索和传输等的过程。随着计算机以及网络技术的发展,数据管理技术从最早的20世纪50年代的人工数据检索方式,到20世纪60年代的文件系统管理方式,最后在20世纪60年代后期演化为现在一直沿用的数据库系统管理方式。而针对数据应用场景与应用需求,数据管理又可被细分为科学数据管理、信息管理、内容管理等。本文提到的基于区块链的链上数据安全共享体系更多地依赖于科学数据管理以及内容管理中的关键技术,以此保证数据的安全共享与有效利用。
美国是较早对开放数据进行科学管理与共享的国家,通过颁布《信息自由法》和《版权法》等法案将政府作为数据开放共享的主体,其通过政府主动开放自身数据并吸引企业投资的方式来深化政府数据的创新应用,形成政府主导模式,同时也对数据进行监管,防止对其的二次泛滥利用。欧洲各国同样也针对政府和企业出台了很多科学数据管理与共享的相关政策,旨在保障数据的质量与精度。
我国的科学数据管理与共享工作起步略晚,虽然已开展了关于地质调查、气象、海洋、水文、环境和地震等方面的数据监测,监测得来的数据量很大,但科学数据的有效利用率始终很低。直到2002年科学数据共享工程在科学技术部和相关管理部门的共同努力下正式启动,我国的科学数据管理与共享工作才有了较快发展,为科学研究以及大数据分析奠定了基础,但对科学数据进行安全有效的管理与共享依旧是需要持续研究的课题。
目前,我国在科学数据管理与共享利用方面取得了一些成绩,但科学数据共享观念淡薄,很多科研院所和政府管理职能部门的数据共享仍缺乏有效的政策法规保障。而大数据时代的到来使得传统关系型数据库也显得力不从心,NoSQL技术在一定程度上满足了大数据时代的数据 管理需求,但面对数据量的急剧增加以及数据敏感度的日益提升,数据的一致性、可用性以及安全性等方面仍限制了NoSQL的发展。如何在保证数据安全的基础上对数据进行安全共享,继而有效利用,是数据管理领域的一个重要挑战。基于区块链的数据共享技术为数据共享的创新开拓了新的思路。
2016年, Sun J J等人提出了一种基于区块链的共享服务的概念模型,用于促进数据共享。然而,研究仅仅侧重于概念和模型,没有提出实际解决方案 。Yue X等人提出一个基于区块链的医疗数据架构,在不破坏隐私的前提下,帮助用户安全和轻松地掌握并且分享自己的医疗数据。他们提出一种基于目的的访问模型,实现了患者持有并掌握自己的医疗数据。虽然他们提到了安全多方计算的潜在前景,却没有提出具体的实现方案。
2017年,Zik ratov I等人提出了一个云环境下的基于区块链的医疗数据共享框架,该框架充分解决了在云环境中存储的敏感数据相关访问控制问题,但普适性还稍有欠缺。
201 8年,Zhang P等人提出一种FHIRChain原型,用于向用户提供互动性更高的医疗诊断服务。该方案实现了用户身份识别、认证、安全数据交换等一系列要求 。同年,Zhang A等人提出一种基于安全和隐私保护的、基于区块链的个人医疗信息共享方案。通过应用基于公钥密码学的可搜索加密,该方案允许用户的医疗信息被安全和受控地访问及用于改善医疗诊断服务。李康等人归纳并总结了基于零知识证明的隐私保护方案在区块链技术中的应用。祝烈煌等人介绍了以混币机制为代表的区块链交易数据隐私保护方案。
2019 年,Muzammal M等人将区块链和数据库结合,提出一种去中心化、分布式和可审计的数据系统。该方案是第一个基于区块链的防篡改的数据库,提供了对分布式数据的高效 检索。同年,张超等人设计了一个基于实用拜占庭容错算法的联盟式医疗区块链系统,该系统能够防止数据被泄露和篡改 。
在数据流通方面,闫树等人在区块链改造授权存证环节、数据溯源和智能合约实现等研究领域梳理了区块链技术在数据流通中的应用。
3 相关背景技术
3.1区块链技术
区块链的结构构想早在20世纪90年代就被提出,而到2008年区块链才真正进入了大众的视线。区块链技术作为一个由多方共同维护、去中心化的分布式账本技术,核心在于通过对等(peer to peer, P2P)网络协议、共识算法、非对称加密、哈希等关键技术解决数据传递与交换过程中的信任问题。区块链的链式结构是一种将数据区块按时间戳顺序相连,进行数据存储与验证的一种数据结构,是一种凭借共识算法对数据进行广播交易,基于密码学原理保证数据传输和访问的安全性;具备难以篡改性和难以伪造性的分布式账本技术。其可利用智能合约来编程和操作数据。
3.2 智能合约
智能合约是20世纪90年代由尼克萨博(Nick Szabo)提出的理念。Nick Szabo将其描述为“一套以数字形式描述的承诺,以及合约参与方履行这些约定的协议”。智能合约是一种链上代码,是以信息化方式传播、验证或执行合同的计算机协议,解决了传统交易系统中需要第三方机构进行交易监管的问题。智能合约不仅是形式上的数字化合约,更是一组可以在一台计算机或计算机网络中按预置设定自动执行规则的契约。智能合约由预定义的多行代码和用于执行该代码的软件组成,软件中内置了合同条款和输出结果的内容。
3.3 基于密文策略的属性加密
在基于密文策略的属性加密(ciphertext-policy attribute-based encry ption,CP-ABE)算法中,密文对应于一个访问控制结构,密钥则对应于属性的集合,当访问用户的属性能够满足对应的访问控制结构时,解密才能成功。密钥通常是由用户根据自身条件和属性从属性机构中获取的,而加密者基于消息来设计访问控制结构,即由发送方规定访问密文的策略,将属性集合与访问资源关联,接收方可以根据自己的授权属性访问密文信息。CP-ABE算法流程主要由4个阶段构成。
● 初始设置:基于CP-ABE算法进行随机初始化,初始化数据包含隐藏的安全参数λ、系统公钥PK以及系统主密钥MK,由密钥分发中心进行密钥的初始化分发。
● 加密阶段:加密阶段仍是一个随机算法,算法输入为系统公钥PK、待加密消息m和与访问策略相关联的访问控制结构Acp,生成基于属性加密的密文Em。只有拥有访问策略的请求者才能解密密文Em。
● 密钥生成:密钥生成阶段仍是一个随机算法,输入一组属性Y、系统主密钥MK、系统公钥PK,输出一个供数据请求方使用的解密密钥UK。
● 解密阶段:基于访问结构Acp加密的密文Em、对应属性组Y的解密密钥UK和系统公钥PK,若Y∈Acp,则输出消息m。
3.4 同态加密技术
同态加密技术根据密文运算的次数与种类以及其时间顺序的发展阶段分为部分同态加密(partial homomorphic encryption, PHE)、类同态加密(somewhat homomorphic encryption,SHE)、全同态加密(fully homomorphic encryption, FHE)。目前同态加密技术在云计算环境中的可信计算与基于密文的检索方面应用十分广泛,用户隐私数据在云端始终以密文形式进行存储,云服务商没有密钥则无法获取用户的真实明文数据。而同态加密技术则是用户在云环境中进行数据挖掘与分析计算的可靠助力与安全基矗本文将区块链技术与同态加密技术结合 ,通过引入Paillier加密算法来实现共享数据的密文处理。
Paillier密码机制如下。
选取两个大素数p和q,计算n=pq, λ(n)=lcm(p-1,q-1),其中lcm(a,b)表示求a和b的最小公倍数。随机选取参数g, ,且。令 Sn=,对于任意u∈Sn,定义函数,则生成公钥(n,g),私钥(p,q)或λ。
加密算法:对于任意明文m∈Zn,随机选取整数,则加密后的密文为C=E(m)=gmrnmod n2。
解密算法:利用私钥解密得到明文。
4 DSOC架构
本文基于区块链技术、基于密文策略的属性加密技术以及同态加密技术,针对当前医疗信息共享中的数据易泄露,以及通过分析用户相关数据之间的关联性来获取用户隐私等问题,提出链上数据共享(data sharing on chain,DSOC)架构,并以医疗领域中的数据结构为背景,阐述了DSOC架构在医疗数据共享中的应用流程。
4.1 流通数据分析
在DSOC架构中采用的数据案例为传统医疗系统中使用的患者体检报告。患者体检报告数据见表1(患者张三,病历号为1234567,年龄25岁,性别男)。
在传统医疗数据平台中,用户体检数据的各项指标皆为明文显示,在数据共享过程中极易泄露用户隐私。本文提出的DSOC架构对用户体检数据的各指标值进行加密,利用哈希算法中的MD5算法将进行单项加密显示,将用户病历号作为ID。首先数据拥有者设置访问结构Acp,以患者体检报告数据为例,数据请求方的数据属性集合为,用户属性集合为。一旦数据属性集合与数据拥有者设置的访问结构不匹配,则驳回数据请求,此次数据共享失败;若匹配,则可以进行下一步数据分析。在数据分析中,本文引入加法同态加密算法,通过将结果值与最大正常参考值进行密文的加减法计算,对最终结果进行同态加密的范围型验证(验证是否超出正常值)。而数据请求方只会获得该指标是否超标的结果,并不清楚具体数值以及超出正常值的范围。
4.2 系统模块
DSOC架构由用户模块、密钥分发模块、访问控制策略模块以及数据分析模块构成。
用户模块由数据拥有者及数据访问者构成。其中数据拥有者将可共享的数据发送至区块链网络,同时可对数据访问者设置访问策略。数据访问者则基于自身的数据属性集合来判定是否拥有访问数据的权限,取得数据访问权限后可对数据进行进一步的分析操作。
密钥分发模块主要由密钥分发中心进行控制。密钥分发中心在访问控制阶段和数据处理阶段都会参与密钥分发和数据加密过程。在访问控制阶段,因共享数据集庞大,考虑到加密效率问题,采用对称加密算法对共享数据属性集进行加密。为了保证较高的加解密效率,同时有效避免因暴力破解而导致的密钥泄露,本模块采用对称加密算法AES-192加密共享数据,该生成密钥由一对192位的随机数进行加法运算后执行哈希算法SHA192得出。
访问控制模块基于CP-ABE算法实现基于密文策略的属性加密。其中密钥分发中心结合安全参数生成系统公钥、系统主密钥以及用户的解密密钥。数据拥有者设置访问策略,并将公钥和访问策略嵌入密文中。数据访问者使用解密密钥来获取密文。
数据分析模块基于Paillier算法对数据进行加法同态加密,对最终结果进行范围型验证,得出结论,并将结论告知数据访问者。
4.3 总体架构与算法流程
DSOC架构如图1所示。
图1 DSOC架构
(1)初始阶段
为保证算法运行效率,采用对称加密算法来实现共享数据属性集的加密,继而生成对称密钥。数据拥有者随机生成192位的密钥对(k1,k2),则对称密钥Ak=SHA192(k1k2)。之后数据拥有者通过调用智能合约模块上传(k1,DataSet)至区块链网络。其中DataSet为数据拥有者可进行共享的数据集合。
数据访问者调用相应智能合约查看链上数据集信息,根据数据描述选择自己需要的数据集合,并向数据拥有者发送包含目标数据属性集合标识的哈希值,数据拥有者收到数据请求后,对比收到的哈希值,并查找数据访问者想要访问的数据集合,开始制定访问策略Acp。
(2)访问控制阶段
密钥分发中心基于CP-ABE算法进行初始化,初始化数据包含隐藏的安全参数、系统公钥以及系统主密钥,即(λ,PK,MK)。
密钥分发中心通过调用智能合约将PK存储于链上,而数据拥有者和数据访问者从链上获取PK。
数据拥有者获取PK后执行CP-ABE算法的加密操作,生成密文Ek2,并通过智能合约将生成的密文Ek2上传至区块链。
数据访问者将目标属性集合DataSetpartial存储于链上,并利用智能合约触发密钥分发中心,进行下一步生成解密密钥的操作。
密钥分发中心从链上获取目标属性集合DataSetpartial,并基于CP-ABE算法执行密钥生成的功能函数来生成解密密钥UK。
密钥分发中心将UK存放于链上。
数据访问者通过调用智能合约从链上获取UK后,基于CP-ABE算法执行解密阶段的功能函数,若符合访问控制策略Acp,则自动获得密钥k2。
这时数据访问者将k2上传至链上,通过智能合约计算SHA192(k1k2)是否等于Ak。若相等,则数据请求方是合规的用户,激活触发器进入数据分析阶段。
(3)数据分析阶段
触发器从链上取得目标数据集后,通过调用加法同态加密智能合约对数据进行加密处理。这时,密钥分发中心进行密钥生成。首先生成两个大素数p和q,且n=p×q,则欧拉函数φ(n)=(p-1)(q-1),Carmichael函数λ(n)=lcm(p-1,q-1)(为方便描述,用λ代替λ(n)),任意选取,满足,定义集合 ,对于任意u∈Sn,定义函数,选取哈希函数h,。因此生成公钥(n,g)PAK,生成私钥(p,q)或λSAK。
密钥分发中心生成随机参数r,对目标数据m1进行加密,得到密文C1。
同样,对数据将要进行操作的阈值(例如医疗数据中感冒患者的血红蛋白的正常值)m2进行加密,得到密文C2。
在数据处理模块中进行加法同态加密运算。
最后用户通过私钥对运算结果进行解密。
最终结果通过范围验证m≤0或m≥0 (m为目标数据m1与阈值数据m2的差值)来判断该患者的特定指标是否在正常范围之外。
4.4 智能合约算法实现
算法1 访问控制算法(Access)
在访问控制算法中首先验证数据访问者DU是否为合规节点,若是,则密钥分发中心把用户的解密密钥传给DU。之后验证DU的属性集合,若属性集合与数据拥有者设置的访问控制策略相匹配,则可获得共享数据,并跳转到数据处理模块。
算法2 同态加密算法(Analyze)
在同态加密的数据处理算法中,首先需要判定触发器状态,数据经过访问控制模块处理后将激活触发器,使得数据直接传入数据处理模块中。首先需要获得数据访问者DU的地址,然后生成交易,交易包含密文数据Data、合约地址address和合约接口abi,之后对密文数据进行基于Paillier算法的同态加密计算。判断最大正常参考值与结果值的差,若该差值大于0,则返回true,即结果正常;若小于0,则返回false,即该项指标结果异常。
5 实验与分析
5.1 实验环境准备
本文提出的链上数据共享方法基于迅鳐区块链即服务(Ray blockchain as a service,RayBaaS)平台开发智能合约,实现数据的安全共享。RayBaaS平台是拥有自主知识产权的分布式账本系统,是区块链3.0标准下的区块链应用内核,可以让用户简便、快捷、高效地构建基于区块链的服务和应用。硬件设备采用Intel CoreTM i7、8核CPU以及16 384 MB的RAM的移动工作栈进行实验。区块链底层平台基于CentOS7.6操作系统进行部署,并安装了Java1.8.0、Docker18.09、MySQL5.7.21等组件。本实验所用数据截取自个人用户的体检数据报告。
RayBaaS平台提供了快速部署区块链网络的功能,在用户端中,从区块链管理模块点击创建区块链即可搭建所需的测试联盟链,如图2所示。
其中需要选择共识方式,共识节点用于共识计算,而记账节点则用于存储链上数据。平台支持自定义添加共识节点和记账节点数量,实验中为方便测试与快速搭建,各生成一个节点。
为了使节点间能够相互通信,需要设置节点的http端口以及grpc通信端口,两种端口号需设置得不同。
在配置好节点信息后,RayBaaS平台支持一键组网,可快速构建测试网络。至此区块链网络搭建成功,可进行智能合约的相关测试。
图2 创建区块链
在区块链网络构建成功后,将访问控制模块以及数据处理模块的智能合约上传至RayBaaS平台即可完成合约的部署,如图3所示。RayBaaS平台内置了区块链网络的基础合约,因此只需部署实现系统关键逻辑部分的智能合约。
图3 智能合约部署
5.2数据处理的同态性与范围型验证
原始用户体检报告数据见表1。通过访问控制与同态加密模块后,数据访问者调用链上的用户数据时是密文状态,通过区块链浏览器查看链上信息,如图4所示。而从链上将数据导出成表后,用户相关属性信息除病历号外皆通过哈希函数加密,而具体指标信息则经过同态加密处理。加密处理后的链上数据如图5所示。
图4 链上交易信息
图5 加密处理后的链上数据
数据访问者进行数据处理时,可通过最大正常参考值减去结果值来判断该份报告的用户指标是否正常,处理结果也不显示明文,而是以范围型验证的方式告知用户结果,这样即使数据访问者拿到数据结果,也不能得知该指标数值的溢出程度,只知道该指标是否达标。数据结果是否为明文显示则可根据用户需求进行调整。数据处理结果如图6所示。
图6 数据处理结果
由图6可知,数据密文处理后的结果与明文处理后的结果一致(明文结果哈希化后得到的是密文的处理结果,这里直接以表格形式输出),证明了该体系架构的可行性,该体系架构可有效地保障用户隐私以及共享数据的安全。
5.3 改进性分析
在该架构中,目前笔者只实现了加法同态加密的相关分析操作以及一些简单的数据共享处理业务,还不能支持乘法同态加密的相关数据操作,同时在数据量过大情况下的系统并发性还未进行论证,这些将是下一阶段的研究目标。
6 结束语
本文提出的DSOC架构是基于区块链实现的链上数据共享体系。通过CPABE算法实现用户的访问控制,之后基于Paillier算法的加法同态加密实现了数据共享中的部分业务场景,通过RayBaaS平台搭建测试联盟链,得到的实验结果论证了数据的同态性以及范围型验证的可行性,说明该架构能够有效地保障数据的安全共享。
作者简介
刘彦松(1996-),男,电子科技大学计算机科学与工程学院硕士生,主要研究方向为数据安全与区块链 。
夏琦(1979-),女,博士,电子科技大学计算机科学与工程学院教授,电子科技大学网络空间安全研究中心副主任/区块链研究所执行所长,四川省大数据共享与安全工程实验室执行主任,中国计算机学会(CCF)区块链专业委员会委员,美国宾夕法尼亚大学访问学者,主要研究方向为网络安全技术及其应用、大数据安全、区块链 。
李柱(1995-),男,电子科技大学计算机科学与工程学院硕士生,主要研究方向为数据安全与区块链 。
夏虎(1981-),男,博士,电子科技大学计算机科学与工程学院副研究员,主要研究方向为大数据挖掘与分析、数据安全与区块链 。
张小松(1968-),男,博士,电子科技大学计算机科学与工程学院长江学者特聘教授,政府治理大数据国家工程实验室专家委员会副主任委员,中国电子学会区块链分会副主任委员,电子科技大学网络空间安全研究院院长,主要研究方向为网络信息技术安全和应用 。
高建彬(1976-),男,博士,电子科技大学资源与环境学院副教授,CCF区块链专业委员会委员,美国宾夕法尼亚大学访问学者,主要研究方向为数据分析与挖掘、图像处理、区块链、智能决策等 。
联系我们:
大数据期刊
《大数据(Big Data Research,BDR)》双月刊是由中华人民共和国工业和信息化部主管,人民邮电出版社主办,中国计算机学会大数据专家委员会学术指导,北京信通传媒有限责任公司出版的期刊,已成功入选中文科技核心期刊、中国计算机学会会刊、中国计算机学会推荐中文科技期刊,并被评为2018年国家哲学社会科学文献中心学术期刊数据库“综合性人文社会科学”学科最受欢迎期刊。
关注《大数据》期刊微信公众号,获取更多内容