魏银珍 邓仲华 关玉蓉 胡志华
收稿日期:2020-03-06
基金项目:国家自然科学基金项目“大数据环境下面向科学研究第四范式的信息资源云研究”(项目编号:71373191);教育部人文社会科学基金规划项目“面向社会科学第四范式的数据服务与保障研究”(项目编号:20YJA870017)。
作者简介:魏银珍(1976-),女,高级工程师,研究方向:数据分析与处理。邓仲华(1956-),教授,博士生导师,研究方向:知识组织与服务。胡志华(1976-),男,教授,研究方向:密码学。
通讯作者:关玉蓉(1980-),女,副教授,研究方向:区块链技术及应用。
摘 要:[目的/意义]数据是开展科学研究活动的基础,确保数据的质量、防止数据被篡改已成为影响研究结果的重要因素,为了避免数据造假、数据虚报、伪造结果以符合关键科学研究目标等数据欺诈行为,必须保持数据的溯源。[方法/过程]将溯源系统的安全威胁分为内部因素和外部因素,基于智能合约和开放溯源模型(OPM),通过投票过程实现溯源信息准入机制,利用区块链的分布式特性和不可改变性,提出一种可靠的数据溯源收集、验证和管理区块链系统模型。[结果/结论]在科学数据创建、分发、流通、使用过程中可以有效、安全地捕获和验证溯源记录,防止溯源信息被恶意更改的同时保护了隐私信息,为确保科研数据的客观真实提供思路和方法参考。
关键词:科学数据;数据安全;数据溯源;区块链;智能合约
DOI:10.3969/j.issn.1008-0821.2021.01.004
〔中图分类号〕G203 〔文献标识码〕A 〔文章编号〕1008-0821(2021)01-0032-07
A Method of Secure Provenance of Scientific Data
Based on Blockchain and Smart Contracts
Wei Yinzhen1 Deng Zhonghua2 Guan Yurong1* Hu Zhihua1
(1.School of Computer,Huanggang Normal University,Huanggang 438000,China;
2.School of Information Management,Wuhan University,Wuhan 430074,China)
Abstract:[Purpose/Significance]Data is not only the output of scientific research activities,but also the basis on which scientific research activities are carried out.Therefore,ensuring the quality of data and preventing data from being tampered with have become an important factor affecting research results.In order to avoid data fraud,data misreporting,and falsification of results to meet key scientific research goals and other data frauds,it is necessary to maintain the provenance of data.[Methods/Process]The security threats of the provenance system were divided into internal factors and external factors.Based on smart contracts and open provenance models(OPM),the provenance access mechanism was implemented by voting.Changeability,proposed a reliable provenance collection,verification and management program.[Results/Conclusions]In the process of creating,distributing,circulating,and reuse of scientific data,the system can effectively and safely capture and verify traceability records,prevent malicious changes of provenance,and thus provide ways for ensuring the objective and true scientific research data.
Key words:scientific data;data safety;data provenance;blockchain;smart contracts
在科學研究领域中,随着信息技术的发展及其在科学研究中的广泛应用,加上跨越领域的大规模合作的科学态势,科学数据的体量呈现几何指数增长[1]。2018年3月17日,国务院办公厅印发《科学数据管理办法》指出,“进一步加强和规范科学数据管理,保障科学数据安全,提高开放共享水平,更好地为国家科技创新、经济社会发展和国家安全提供支撑”[2]。数据不仅仅是科学研究活动的产出,也是开展科学研究活动的基础。因此,确保数据的质量,防止数据被篡改已成为影响研究结果的重要因素。例如,美国国家癌症研究所发起的多中心癌症临床试验组进行的审计发现,实验报告的欺诈发生率为0.25%[3]。
为了避免数据造假、数据虚报、伪造结果以符合关键科学研究目标等数据欺诈行为,必须保持数据的溯源。数据溯源作为元数据,描述数据源自何处,谁曾经拥有过,以及数据从产生以来经历了哪些转换。溯源信息可以作为衡量实验结果支持研究目标的标准,从而提高研究的透明度和可靠性。另外,科学研究的数据来源众多,其中可能包含敏感信息(如患者基本信息及其病历),因此,公开发表的科学数据既要具有可验证性,也要保护隐私信息。这就要求溯源数据的安全收集和可靠存储,确保数据免遭未授权访问,防止侵犯隐私。
有学者已经开发了一些溯源存储和处理系统[4-5],这些溯源系统大多是基于集中式存储模型,集中式存储的缺点是,如果中央服务器受到威胁,则整个数据溯源信息可能会受到损害;而分布式体系本身不会对尝试更改数据的操作进行验证,任何授权用户都可以破坏存储在溯源系统中的数据,数据溯源信息的安全性是分布式溯源系统需要考虑的另一个问题。基于此,本文所提出的溯源系统框架,用区块链来存储溯源信息,使用智能合约对每次更改操作进行验证。区块链环境的不可改变性,保证了任何用户都无法修改已批准的溯源记录;区块链的分布式特性,保证数据溯源记录可在区块链的每个节点上复制,从而确保高可用性和容错能力。
邓仲华等[6]提出了一种分层次的数据溯源安全模型,该模型从数据溯源安全层、逻辑层和语义层系统地描述了数据溯源的过程。Baker J等[7]首先讨论了利用区块链作为数据溯源跟踪,将区块链交易用于存储食品从生产到消费者的溯源详细信息。Barber S等[8]进一步探讨了使用比特币作为研究场景的数据溯源系统,提出了将研究目标作为编码文件存储在比特币交易数据字段中的想法。与这些系统模型相比较,本文提出的SciDataProv溯源系统采用了区块链环境的不可改变性,实现了具有访问控制策略的全栈隐私保护,经过验证的数据文档存储在云中,而溯源信息作为事件日志存储在区块链中,从而节约存储成本。
1 相关技术和模型
1.1 以太坊(Ethereum)与智能合约
本文设计的SciDataProv溯源系统建立在以太坊(一个分布式公共区块链网络)之上。以太坊是一个相互连接的计算机的全球网络,其中的计算机被称为结点,用来执行特定应用程序,节点通过Geth客户端连接到以太坊中。以太坊提供了去中心化图灵完备平台来运行智能合约,提供一种称为以太币的数字货币,来实现平台中节点之间的价值交换。
智能合约是驻留在以太坊区块链环境中的程序,在满足特定条件时自动执行。智能合约可以存储和控制以太币,其中控制以太币的功能可用于构建需要以太币充值和支付的应用程序,例如身份认证管理系统等。在以太坊区块链平台中,每个计算步骤都有相应的成本[9],称为气体(Gas)。
1.2 溯源模型
本文所提出的安全溯源系统基于开放溯源模型(OPM)[10]表示数据溯源轨迹,旨在提供一个开放的数据溯源模型。OPM模型使用3个参数来表示当前系统的动作:①Artifact:表示变更版本前后的实体(如文件等);②Agent:变更发起者的代理;③Process:将实体从以前的版本更改为当前版本的过程。三者之间用依赖关系连接,如Used、wasGeneratedBy、wasControlledBy等。OPM用图的形式表达溯源信息,其中Artifact、Agent和Process是结点,而他们之间的关系是边。如修改文件的动作可以在OPM中表示为元组(用户,文件旧版本,文件新版本,用于修改的过程)[11]。
1.3 溯源系统安全威胁模型
科学数据溯源系统可能受到两种类型的攻击,即外部攻击和内部攻击。外部攻击是指无权访问系统中数据文档的用户,但会主动尝试破坏特定私有数据文档的溯源记录,外部攻击者不知道解密文档的密钥,也无法访问文档的存储位置。攻击者仅了解文档ID,并使用此信息对基于区块链的数据溯源系统发起攻击。由于云存储的不可靠,本文将数据以加密形式存储。
内部攻击者指由数据及其溯源所有者授权访问系统的用户,其有权更改文档,也能够将此更改记录在溯源区块链上(这里假设内部被授权用户不能将访问权限授予他人)。内部攻击者可能会利用访问权限,通过对在区块链上记入错误的更改信息来伪造数据溯源记录。本文假设授权用户中至少有一半是诚实的,也就是说相信一半以上的用户所做的更改是正确的;如果大多数用户是恶意的,本文将无法提供安全保证[12]。
2 科学数据溯源系统模型构建
2.1 科学数据溯源情景
假定在一项研究中,研究人员将其研究记录作为文档存储在云中,数据文件由其所有者(如首席研究员)使用公钥加密来限制对数据文档的访问,通过提供密钥来向用户授予访问权。在SciDataProv系统模型中,通过版本控制对文档进行更改,对文档的每次更改都以新的版本存储在云中,后续的所有更改都必须基于当前的最新版本,系统会自动检查是否更改未记入文档的溯源中。
依据上述情景,结合一般的区块链结构,本文提出如图1所示的科学数据溯源系统模型,主要包括应用层、合約层、激励层、共识层、网络层、数据层。系统通过惩罚提交错误的更改溯源详细信息的用户来鼓励真实的行为。如果投票者发现有人提交了伪造的更改,则会得到相应的奖赏。用户通过在浏览器中运行的客户端应用程序将有效更改记录到系统中,每个客户端都存储有关当前用户可以使用的持久性数据。系统的客户端应用程序采用Node.js和MongoDB实现,运行在客户端的Geth节点与智能合约进行通信;客户监视监听智能合约系统的更改事件;智能合约存储访问控制策略以及详细信息(如特定文档的最后更改时间,最后更改的签名和更改日志)等。
2.2 溯源捕获生命周期
SciDataProv系统模型的单个执行周期如图2所示,包括6个步骤包:第一步,更改发起人修改数据文件并将其上传到云中。数据文件的不同版本均保存在云中,以便在更改被拒绝的情况下还原;第二步,更改发起人通过客户应用程序将更改请求和押金一起提交给投票合约。更改请求包含文档ID、数据文件先前和当前版本的哈希加密形式、云存储库中的文件位置、时间戳以及发起人签名;第三步,客户端模块提交更改,然后启动投票周期。在投票期间,授权用户使用驻留在云存储中的验证程序脚本验证更改,如果更改有效,则返回TRUE,否则返回FALSE;第四步,用户使用投票合约根据验证结果对此次更改进行投票(该过程是自动的);第五步,投票合同记录用户所投的票数。在投票结束时,如果多于一半的用户投反对票,则拒绝更改,更改发起者会受到罚款,区块链系统将该罚款在参与投票的用户中分配;如果在投票结束后,投反对票的人数少于一半,则接受变更,并向变更发起人退还押金;第六步,如果在表决后接受更改,则表决合约会将此更改记录在文档溯源跟踪器中。更改的日志条目包括负责更改的作者、当前文档的哈希值和文档先前版本的哈希值、当前更改的高级OPM表示形式以及用于将来验证的数字签名。
3 科学数据溯源系统设计
SciDataProv系统包括链上组件和链下组件两个部分。链上组件主要由用于访问控制、生成和存
储溯源跟踪与进行投票过程的以太坊智能合约组成;链下组件由客户端应用程序构成,主要功能是为智能合约提交更改、投票计时、验证更改提供接口。
3.1 链上模块
SciDataProv系统链上模块主要由文档追踪合约和投票合约组成。
3.1.1 文档追踪合约
文档追踪合约用于跟踪特定文檔的变化轨迹,实施访问控制策略,维护所有用户对文档的访问信息,提供用于生成特定文档的溯源轨迹的方法。所生成的数据文档溯源信息作为事件存储在文档追踪合约的事件日志中。更改事件日志格式为:
change(docid,agent,EK(docid,H(Xo),H(Xn),link,ts),OPM,signk)
其中,docid为数据文件的唯一标识,agent为更改发起人的地址,EK为加密文本,H(Xo)为先前版本的文件哈希值,H(Xn)为修改后的文件版本的哈希值,link为数据文档在云存储中的位置,ts为最新的时间戳,OPM为OPM溯源模型的高级表示,signk为基于加密文本的发起人签名。
文档追踪合约支持访问控制管理的所有基本功能,例如创建文档、用户权限管理。SciDataProv系统不会在明文链中存储任何敏感信息,因为明文中存储的包括智能合约代码在内的任何信息都是公开可访问的。此外,由于存储成本和区块链存储限制,实际数据存储在区块链以外的云中。
将文档添加到系统时,文档所有者会生成溯源记录的初始迭代。智能合约强制执行以下约束,即该文档溯源信息的访问权限严格由文档所有者控制,获得授权的用户禁止转让其权限。除主要方法外,文档追踪合约还包含用于检查用户对文档访问权限的帮助程序,以及用于更新文档所有者的方法。所有对溯源的更改事件都必须通过投票合约的投票过程来批准。
本文选择投票来核实所提交的更改信息主要基于两方面的考虑:首先是要有效地防止明显违反数据使用限制的恶意更改(如不允许从药物试验数据中删除患者记录);其次是不希望验证过程泄漏任何敏感信息。例如,对于药物试验,主要的验证过程可能是确保没有因致命反应而从数据集中删除任何患者记录(目的是提高药物试验的成功率)。另外,如果验证是在合约中完成的,则需要以不透露任何信息的方式进行此操作(如使用零知识证明,因为合同源代码和执行是公开可见的),然而,现有零知识技术还不够通用,并且,通用零知识验证技术的效率不足以实现溯源捕获[13]。因此,系统允许每个参与者通过客户程序在链外运行验证代码,并使用链上合约对数据更改进行投票。
3.1.2 投票合约
投票合约执行投票协议,有两种类型的投票协议,即简单多数投票和阈值投票。发起人以加密形式将所做的更改及其签名与文档ID一同提交给投票合约。投票合约接收更改,并在验证后生成日志事件以启动更改投票。投票周期设为t1,在此期间参与者可以对此更改投(赞成或反对)票。在投票期结束时,投票合约统计票数,根据投票协议类型,决定拒绝或者接受更改。如果当前投票期的总票数未达到协议规定的最低阈值,则投票合约将开启新一轮的投票。在投票阶段结束后,如果表决结果为接受更改,则投票合约会将更改提交给文档追踪合约来生成溯源事件。投票合约仅接受特定文档的单个未完成更改,以确保数据溯源链的连续性和一致性。关于投票过程将在第4小节中详细介绍。
3.2 链下模块
链下客户端运行在客户端计算机的浏览器上,充当用户和后端智能合约之间的接口。客户端模块负责与智能合约进行通信,主要功能是存储更改、获取更改并验证更改的有效性。SciDataProv还有一个验证脚本模块,该模块运行在数据文档所在的云存储中,来验证更改请求的有效性。
3.2.1 客户端接口模块
接口模块主要为用户提供与智能合约进行交互的接口。该模块为系统的基本操作提供访问方法(如添加新文档、提供授权信息以及跟踪记录数据文档的变更),为用户的操作生成数字签名。
3.2.2 事件监听模块
事件监听模块监听由投票合约生成的更改事件,读取记录在合约中的所有新的变更事件,检查当前客户端是否正在参与追踪合约中的变更。如果当前文档更改与当前用户相关,则监听合约对更改事件进行解密,验证更改的签名,然后调用验证脚本,通知用户验证结果,如果验证结果有效,则代表用户进行投票。
3.2.3 计时器模块
计时器模块负责跟踪投票周期。当生成文档更改事件时,调用计时器模块以启动更改的投票周期,计时器将在投票周期结束时终止投票过程。
3.2.4 验证模块
验证脚本位于云存储中,验证提交到系统的数据文档更改。验证脚本的输入包括文档的当前版本和先前版本的加密哈希以及指向文件最新版本的链接。验证脚本首先验证所提交的文件哈希值是否有效,然后将当前未确认的数据文件与最后一个稳定版本进行比较,如果发现了除更改请求中提到的更改之外的任何更改,则验证脚本将通知用户不匹配;如果文件中没有无效更改,则验证脚本将确认该更改有效。一旦确认更改有效,为防止进一步操作,验证脚本将仅对文档所有者授予写权限。
4 投票过程
投票过程是本溯源系统的核心部分,本小节将分别讨论多数表决投票和随机阈值投票的过程以及这两种投票方式的合理性。如图3所示,当变更发起人向投票合约提交变更请求时,投票过程开始。发起人客户端触发计时器启动对本次更改的投票周期,投票合约生成一个事件来表示投票开始。客户端应用程序中的事件监听模块读取最新的投票事件,验证它是否是当前文档更改事件中的涉众。接着,客户端模块将调用驻留在云中的验证脚本以及指向文件的当前和先前版本以及文件哈希的链接。根据表决协议策略,每个节点都会调用验证过程。如果验证脚本返回TRUE,则客户端应用程序将结果通知用户,接着,客户端应用程序对此更改进行投票。投票合约接收并记录了用户的投票决定,计时器模块将在投票期结束时终止投票。投票合约统计票数,如果多数人对更改投反对票,则拒绝更改。如果接受更改,发起人的押金将退还。如果更改被拒绝,则押金将分配给投票参与者,以此来激励参与者讲真话。
4.1 多数表决投票
在多数表决投票中,文档的利益相关者对该文档的更改进行投票,接受或拒绝更改的决定基于简单多数策略,即如果多数用户对更改投了反对票,则更改被拒绝,否则接受更改。这种投票策略的缺点是,要求所有授权用户都进行投票,当文档的用户较少(少于5个)时,此策略结果非常理想,但在用户数量巨大的情况下,要求所有利益相关者为每项更改投票的代价相当昂贵。因此,当文档的涉众数量少于5个时,SciDataProv实施简单的多数表决;而对于用户量较大时,采用随机阈值表决策略。
4.2 随機阈值投票
4.2.1 随机阈值投票过程
对于包含大量更改和用户的系统,用户对每个更改进行投票的效率都不高。在此情况下,本文采用随机阈值表决策略。在随机阈值投票中,投票合约要求以最小票数接受或拒绝更改。假设文档有n个用户,要接受或拒绝更改,则投票合约的阈值为s。为了确保更改的每个投票阶段都获得s票,合约会尝试在t>s的情况下获得预期的t票。阈值t确保每次更改都收到最少的赞成票或反对票s。
为了确定是否参与变更投票,每个客户端会根据以下公式获得一个随机Rs:
Rs=Hash(Bno,Etext,Glim,Addr)mod n
Rs是通过散列发起更改信息的哈希而得到的随机数,更改信息包括Bno(当前块号),Etext(更改事件中的加密文本),Glim(当前gas限制)和Addr(发起者的地址)。如果生成的随机数低于投票合约设置的阈值t(即Ks 在随机阈值表决策略中,对变更的投票基于安全的伪随机数,由于每个哈希表的哈希函数输入几乎都是随机的,因此无法知道哪个客户对哪个变更进行投票。在投票期结束时,如果投票合约发现投票总数低于阈值s,则投票合约重新启动投票过程。如果在预定义的最大重新启动次数之后依然未收到所需的票数,则更改被拒绝,并将押金退还给更改发起人。 4.2.2 随机投票分析 在随机投票的验证中,从n个可投票的用户中随机选择至少t个用户。每个用户被选中的概率为t/n,其中t>s。本小节将分析给定投票期限未能获得至少s票的概率。在分析之前,利用Chernoff-Hoeffding Bound定理得到如下公式来计算用户投票数V小于s的概率: Pr[V 在这里,每个用户被选中的概率是t/n,对于某些选中用户由于不在线或其他原因不想投票的情况的概率为pf,pf的值可以调整。 接下来讨论如何在实际应用中设置t和s的值,使每次更改投票数不低于s。要确定t和s的最优值,需要根据失败概率考虑整个投票阶段的总成本,这里的投票失败概率即是在给定失败率pf时,总投票数V小于s的概率(pt=Pr[V 假设失败概率为pt,n位用户被选中的概率为t/n,一轮投票的投票数少于s票,则投票过程的预期成本E[CV]可以所示如下: E[CV]=c·t+c11-pt≤c·t+c11-e2*(t-s)2 其中c和c1是与系统相关的常数,根据经验,常数c和c1找到给定n时,t和s的最优值。 5 系统分析 5.1 安全分析 外部攻击者可以根据数据文档ID提交无效的更改请求来尝试攻击当前系统,SciDataProv通过对文档实施访问控制策略来阻止此类攻击。文档追踪合约仅接受来自文档所有者授予访问权限的用户的更改请求,拒绝所有其他权限用户的更改请求。通过跟踪攻击尝试,预扣更改的押金将使外部攻击者受到惩罚。外部攻击者可能使用早期的更改请求签名来发起反复攻击,文档跟踪器通过跟踪特定文档的最新更改时间戳来防止这种攻击,任何迟于该文档最新时间戳的消息都将被忽略。 内部用户可以是文档的所有者,也可以是所有者授予其访问文档权限的用户。后者可能通过提交不实的更改来尝试破坏数据溯源轨迹。由于SciDataProv系统要求每个更改都必须由最少数量的用户批准,因此,只有当其可以控制文档所允许的用户总数的一半以上时,攻击才能成功。随机阈值投票进一步确保了攻击者无法提前知道所有选民中哪些可以参与当前投票,因此,这类攻击很难成功。如果内部攻击者与其他利益相关者串通并投票赞成更改,则可能破坏系统。所有者是唯一可以授予访问权限的用户,如果所有者选择一组忠实于他并有意破坏溯源轨迹的用户,那么该系统可能处于不利地位。尽管这种攻击可能是成功的,但它仍在区块链上留下了可追踪的痕迹,可用于检测攻击。 5.2 隐私保护分析 通过使用哈希散列和加密来实现对溯源数据轨迹的隐私保护。外部用户只能通过查看事件日志来推断文档ID和对特定文档ID进行的更改次数。所有更改事件对有效信息进行加密,外部攻击者可以获得的信息无外乎文档ID、密文和签名。指向实际文件的云存储的链接位置也是加密的。外部用户从合约交易记录中可以得到的信息包括哪些用户与特定的文档ID相关联,该信息可通过查看投票合约的迭代推导出来。以太坊平台通过使用随机公共地址为用户提供匿名服务。SciDataProv的用户不会在环境中透露其身份,而是使用公共地址在系统中执行操作,只有文件所有者才知道文档用户的身份,查看到多个投票迭代的用户最多可以推断出与每个文档关联的公共地址。 6 总 结 本文提出的SciDataProv溯源系统采用了区块链环境的不可改变性,实现了具有访问控制策略的全栈隐私保护,经过验证的数据文档存储在云中,而溯源信息作为事件日志存储在区块链中,从而节约存储成本。SciDataProv系统通过使用公共密钥加密来确保隐私,并通过使用数字签名来保持完整性。SciDataProv实现了自动验证脚本并拒绝了无效的更改,生成的更改哈希链仅记录由验证脚本验证的更改,这保证了变更后的文件始终有效,并防止了审计员与利益相关者之间串通的任何机会。另外,本文提出的系统框架使用智能合约实施激励投票,以惩罚试图将无效更改记录到溯源轨迹职能中的用户。随机投票的使用降低了验证过程的集中度,由于验证脚本会在对更改进行投票之前验证更改,因此无需物理验证程序。通过使用数字签名和时间戳来提供变更证明。该系统确保只有授权用户使用适当的密钥才能访问区块链环境中的更改日志。SciDataProv系统通过对捕获的变更进行随机投票,进一步增强了数据记录的可靠性,并且使用智能合约对任何恶意更改进行。
参考文献
[1]周晓英.情报学进展系列论文之七数据密集型科学研究范式的兴起与情报学的应对[J].情报资料工作,2012,(2):5-11.
[2]中华人民共和国政府网.http://www.gov.cn/xinwen/2018-04/02/content_5279353.htm[EB].2018-09-10.
[3]George S L,Buyse M.Data Fraud in Clinical Trials[J].Clinical Investigation,2015,5(2):161.
[4]Chimera U.A Visualization System for Exploratory Research and Analysis.Pettersen EF,Goddard TD,Huang CC,Couch GS,Greenblatt DM,Meng EC,Ferrin TE[J].J Comput Chem,2004,25(13):1605-12.
[5]明华,张勇,符小辉.数据溯源技术综述[J].小型微型计算机系统,2012,33(9):1917-1923.
[6]邓仲华,容益芳.一种分层次的数据溯源安全模型[J].图书馆学研究,2016,(20):36-41.
[7]Baker J,Steiner J.Blockchain:The Solution for Transparency in Product Supply Chains[J].Provenance:London,UK,2015.
[8]Barber S,Boyen X,Shi E,et al.Bitter to Better—How to Make Bitcoin a Better Currency[C]//International Conference on Financial Cryptography and Data Security.Springer,Berlin,Heidelberg,2012:399-414.
[9]Wood G.Ethereum:A Secure Decentralised Generalised Transaction Ledger[J].Ethereum Project Yellow Paper,2014,151(2014):1-32.
[10]Moreau L,Freire J,Futrelle J,et al.The Open Provenance Model[J].2007.
[11]魏银珍,邓仲华.基于 PROV 模型的溯源管理设计与实现[J].情报理论与实践,2016,39(11):95-100.
[12]Goldreich O.Foundations of Cryptography:Volume 2,Basic Applications[M].Cambridge University Press,2009:165-166.
[13]Brakerski Z,Katz J,Segev G,et al.Limits on the Power of Zero-knowledge Proofs in Cryptographic Constructions[C]//Theory of Cryptography Conference.Springer,Berlin,Heidelberg,2011:559-578.
(責任编辑:陈 媛)