CN111832032B - 数据流通的方法、系统、数据使用系统及安全计算系统 - Google Patents

数据流通的方法、系统、数据使用系统及安全计算系统 Download PDF

Info

Publication number
CN111832032B
CN111832032B CN201910319732.XA CN201910319732A CN111832032B CN 111832032 B CN111832032 B CN 111832032B CN 201910319732 A CN201910319732 A CN 201910319732A CN 111832032 B CN111832032 B CN 111832032B
Authority
CN
China
Prior art keywords
tables
data
fingerprint information
execution plan
receiving
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910319732.XA
Other languages
English (en)
Other versions
CN111832032A (zh
Inventor
段兵
谭待
肖伟
叶斌
穆瑞强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201910319732.XA priority Critical patent/CN111832032B/zh
Publication of CN111832032A publication Critical patent/CN111832032A/zh
Application granted granted Critical
Publication of CN111832032B publication Critical patent/CN111832032B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及区块链技术领域,公开一种基于区块链的数据流通的方法、系统、数据使用系统及安全计算系统。所述方法包括:对所接收的查询指令进行解析,以生成相应的执行计划;基于所解析的多个表对应的描述信息,获取来自区块链的所述多个表对应的第一指纹信息;发送所述执行计划及所述第一指纹信息;以及响应于安全计算系统确定第二指纹信息与所述第一指纹信息对应一致;且基于所述执行计划及所述多个表计算获得所述聚合结果的情况,接收所述聚合结果。本发明一方面可使原始数据在安全计算系统中由数据提供方进行控制,另一方面可使得原始数据无法直接被查询,从而保证数据的绝对安全。

Description

数据流通的方法、系统、数据使用系统及安全计算系统
技术领域
本发明涉及区块链技术领域,具体地涉及一种基于区块链的数据流通的方法、系统、数据使用系统及安全计算系统。
背景技术
随着大数据行业的发展,不同主体(例如政府各级部门,企业等)之间数据共享流通的需求越来越大,数据也逐渐成为一种资产。政府部门之间需要数据共享,共同辅助政府政策指定和落实;企业之间需要数据共享解决优化企业运营效率和战略规划。数据在流通过程中,面临较多的挑战,首先是数据隐私保护的问题,特别是随着欧洲GDPR条款的实施,以及Facebook多次数据泄露事故带来的巨大社会负面影响,大家高度意识到数据隐私保护的重要性。正因为目前数据隐私难以完全保护,也导致数据拥有方的积极性不高,从而形成数据孤岛;另一方面,企业对于数据又有着巨大的需求,特别是人工智能场景下,高质量的数据对于模型的训练特别重要,另外对于科研机构,医药研发等,他们需要大量的真实数据验证研究结果。信通院于2018年在数据资产大会上发布的调研报告,发现97.3%的企业愿意参与到数据流通中来。可见,打破数据孤岛,实现数据流通,发挥数据协同的价值最大化,成为接下来大数据行业的趋势。
现有技术中数据流通的方法主要存在以下缺点:1)目前主要的数据交易所,包括贵阳大数据、数据堂等,都是直接交易原始数据或者经过粗加工的数据,一旦提供出去,根本无法实现数据的控制(例如用户想要删除自己的个人信息,但提供出去的数据难以删除,甚至无法配合删除);2)数据存放在第三方交易所,数据容易出现泄漏或者被黑客攻击。
发明内容
本发明实施例的目的是提供一种基于区块链的数据流通的方法、系统、数据使用系统及安全计算系统,该方法一方面可使原始数据在安全计算系统中由数据提供方进行控制,另一方面可使得原始数据无法直接被查询,从而保证数据的绝对安全。
为了实现上述目的,本发明实施例提供一种基于区块链的数据流通的方法,应用于数据使用系统,所述方法包括:接收查询多个数据的聚合结果的查询指令,其中,所述多个数据来自一个或多个本地数据库中的多个表;对所述查询指令进行解析,以生成相应的执行计划,其中,所述执行计划包括所述多个表的元信息,该元信息包括描述信息及存储位置;基于所述多个表对应的描述信息,获取来自所述区块链的所述多个表对应的第一指纹信息;发送所述执行计划及所述多个表对应的所述第一指纹信息以便于安全计算系统对一个或多个本地数据库中的所述多个表进行访问;以及响应于所述安全计算系统确定第二指纹信息与所述第一指纹信息对应一致;且基于所述执行计划及所述多个表计算获得所述聚合结果的情况,接收所述聚合结果,其中,所述第二指纹信息为所述安全计算系统基于所述执行计划及所述多个表的存储位置所访问的所述多个表对应的指纹信息。
可选的,所述响应于所述安全计算系统确定第二指纹信息与所述第一指纹信息对应一致;且基于所述执行计划及所述多个表计算获得所述聚合结果的情况,接收所述聚合结果包括:响应于所述安全计算系统确定所述第二指纹信息与所述第一指纹信息对应一致的情况,接收环境认证的通知,并进行所述环境认证;以及在所述环境认证成功的情况下,响应于所述安全计算系统分别利用数据提供系统提供的多个第一密钥对所述多个表中的数据进行解密、基于所述执行计划从所述多个表中筛选出多个数据;且基于所述多个数据进行计算以获得所述聚合结果的情况,接收所述聚合结果。
可选的,所述方法还包括:在执行所述对所述查询指令进行解析以生成相应的执行计划的步骤的同时,生成第二密钥;以及发送所述第二密钥至所述安全计算系统。
可选的,所述方法还包括:在执行所述发送所述执行计划及所述多个表对应的所述第一指纹信息的步骤的同时,发送所述多个表的访问方式。
综上所述,本发明创造性地获取区块链中的多个表的描述信息、存储位置及第一指纹信息,并在所述第一指纹信息与按照所述存储位置查询到的多个表的第二指纹信息相匹配且安全计算系统基于所述执行计划及所述多个表计算获得所述聚合结果的情况下,接收所述聚合结果。该方法可在数据不被篡改的情况下通过安全计算系统获取聚合结果,一方面可使原始数据在安全计算系统中由数据提供方进行控制,另一方面可使得原始数据无法直接被查询,从而保证数据的绝对安全。
相应地,本发明实施例还提供一种基于区块链的数据流通的方法,应用于安全计算系统,所述方法包括:接收关于查询多个数据的聚合结果的查询指令的执行计划及来自所述区块链的与多个表对应的第一指纹信息,其中,所述多个数据来自一个或多个本地数据库中的所述多个表,所述执行计划包括所述多个表的元信息,该元信息包括描述信息及存储位置;基于所述执行计划及所述多个表的存储位置访问所述一个或多个本地数据库中的所述多个表;计算所述多个表对应的第二指纹信息;将所述第二指纹信息与所述第一指纹信息一一比较;在所述第二指纹信息与所述第一指纹信息对应一致的情况下,基于所述执行计划及所述多个表,计算获得所述聚合结果;以及将所述聚合结果上传。
可选的,所述在所述第二指纹信息与所述第一指纹信息对应一致的情况下,基于所述执行计划及所述多个表,计算获得所述聚合结果包括:在所述第二指纹信息与所述第一指纹信息对应一致的情况下,接收数据提供系统提供的与所述多个表一一对应的多个第一密钥;分别利用所述多个第一密钥对所述多个表中的数据进行解密;基于所述执行计划从所述多个表中筛选出所述多个数据;以及基于所述多个数据进行计算以获得所述聚合结果。
可选的,所述在所述第二指纹信息与所述第一指纹信息对应一致的情况下,接收数据提供系统提供的与所述多个表一一对应的多个第一密钥包括:在所述第二指纹信息与所述第一指纹信息对应一致的情况下,通知数据提供系统及数据使用系统进行环境认证;以及响应于所述环境认证成功的结果,接收所述多个第一密钥。
可选的,所述方法还包括:接收第二密钥;以及在获得所述聚合结果之后,利用所述第二密钥对所述聚合结果进行加密。
可选的,所述方法还包括:在执行所述接收所述执行计划及来自所述区块链的所述多个表对应的第一指纹信息的步骤的同时,接收所述多个表的访问方式,所述基于所述执行计划及所述多个表的存储位置访问所述一个或多个本地数据库中的所述多个表的步骤包括:基于所述执行计划及所述多个表的存储位置,以所述访问方式访问所述一个或多个本地数据库中的所述多个表。
综上所述,本发明创造性地根据所接收的关于查询来自一个或多个本地数据库中的多个表中的多个数据的聚合结果的查询指令的执行计划及所述多个表的存储位置,通过安全计算环境访问所述一个或多个本地数据库中的所述多个表,并计算所述多个表的第二指纹信息,然后将所述多个表的第二指纹信息与所接收的所述多个表对应的第一指纹信息进行匹配,在两者一致的情况下,根据所述执行计划及所述多个表计算获得所述聚合结果。该方法可在数据不被篡改的情况下通过安全计算系统获取聚合结果,一方面可使原始数据在安全计算系统中由数据提供方进行控制,另一方面可使得原始数据无法直接被查询,从而保证数据的绝对安全。
相应地,本发明实施例还提供一种基于区块链的数据流通的系统,应用于数据使用系统,所述系统包括:查询指令接收装置,用于接收查询多个数据的聚合结果的查询指令,其中,所述多个数据来自一个或多个本地数据库中的多个表;生成装置,用于对所述查询指令进行解析,以生成相应的执行计划,其中,所述执行计划包括所述多个表的元信息,该元信息包括描述信息及存储位置;指纹获取装置,用于基于所述多个表对应的描述信息,获取来自所述区块链的所述多个表对应的第一指纹信息;发送装置,用于发送所述执行计划及所述多个表对应的所述第一指纹信息以便于安全计算系统对一个或多个本地数据库中的所述多个表进行访问;以及聚合结果接收装置,用于响应于所述安全计算系统确定第二指纹信息与所述第一指纹信息对应一致;且基于所述执行计划及所述多个表计算获得所述聚合结果的情况,接收所述聚合结果,其中,所述第二指纹信息为所述安全计算系统基于所述执行计划及所述多个表的存储位置所访问的所述多个表对应的指纹信息。
可选的,所述聚合结果接收装置包括:传输单元,用于响应于所述安全计算系统确定所述第二指纹信息与所述第一指纹信息对应一致的情况,接收环境认证的通知,并进行所述环境认证;以及聚合结果接收单元,用于在所述环境认证成功的情况下,响应于所述安全计算系统分别利用数据提供系统提供的多个第一密钥对所述多个表中的数据进行解密、基于所述执行计划从所述多个表中筛选出多个数据;且基于所述多个数据进行计算以获得所述聚合结果的情况,接收所述聚合结果。
可选的,所述生成装置用于对所述查询指令进行解析以生成相应的执行计划的同时,还用于生成第二密钥;以及所述发送装置还用于,发送所述第二密钥至所述安全计算系统。
可选的,所述发送装置还用于,在执行所述发送所述执行计划及所述多个表对应的所述第一指纹信息的步骤的同时,发送所述多个表的访问方式。
所述基于区块链的数据流通的系统与上述基于区块链的数据流通的方法相对于现有技术所具有的优势相同,在此不再赘述。
相应地,本发明实施例还提供一种基于区块链的数据流通的系统,应用于安全计算系统,所述系统包括:信息接收装置,用于接收关于查询多个数据的聚合结果的查询指令的执行计划及来自所述区块链的与多个表对应的第一指纹信息,其中,所述多个数据来自一个或多个本地数据库中的所述多个表,所述执行计划包括所述多个表的元信息,该元信息包括描述信息及存储位置;访问装置,用于基于所述执行计划及所述多个表的存储位置访问所述一个或多个本地数据库中的所述多个表;计算装置,用于计算所述多个表对应的第二指纹信息;比较装置,用于将所述第二指纹信息与所述第一指纹信息一一比较;聚合结果获取装置,用于在所述第二指纹信息与所述第一指纹信息对应一致的情况下,基于所述执行计划及所述多个表,计算获得所述聚合结果;以及上传装置,用于将所述聚合结果上传。
可选的,所述聚合结果获取装置包括:接收单元,用于在所述第二指纹信息与所述第一指纹信息对应一致的情况下,接收数据提供系统提供的与所述多个表一一对应的多个第一密钥;筛选单元,用于基于所述执行计划从所述多个表中筛选出多个数据;解密单元,用于分别利用所述多个第一密钥对所述多个数据进行解密;以及处理单元,用于基于所述多个数据进行计算以获得所述聚合结果。
可选的,所述接收单元还包括:通知模块,用于在所述第二指纹信息与所述第一指纹信息对应一致的情况下,通知数据提供系统及数据使用系统进行环境认证;以及接收模块,用于响应于所述环境认证成功的结果,接收所述多个第一密钥。
可选的,所述信息接收装置还用于,接收第二密钥,所述系统还包括:加密装置,用于利用所述第二密钥对所述聚合结果进行加密。
可选的,所述信息接收装置还用于,接收所述多个表的访问方式,所述访问装置用于基于所述执行计划及所述多个表的存储位置访问所述一个或多个本地数据库中的所述多个表包括:基于所述执行计划及所述多个表的存储位置,以所述访问方式访问所述一个或多个本地数据库中的所述多个表。
所述基于区块链的数据流通的系统与上述基于区块链的数据流通的方法相对于现有技术所具有的优势相同,在此不再赘述。
相应地,本发明实施例还提供一种数据使用系统,所述数据使用系统包括所述的基于区块链的数据流通的系统。
相应地,本发明实施例还提供一种安全计算系统,所述安全计算系统包括所述的基于区块链的数据流通的系统。
相应地,本发明实施例还提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令用于使得机器执行所述的基于区块链的数据流通的方法。
相应地,本发明实施例还提供一种处理器,用于运行程序,其中,所述程序被运行时用于执行上述的基于区块链的数据流通的方法。
相应地,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序在被处理器执行时实现所述的基于区块链的数据流通的方法。
本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:
图1是本发明一实施例提供的数据联盟的示意图;
图2是本发明一实施例提供的应用于数据使用系统的基于区块链的数据流通的方法的流程图;
图3是本发明一实施例提供的应用于安全计算系统的基于区块链的数据流通的方法的流程图;
图4是本发明一实施例提供的基于区块链的数据流通的系统的结构图;
图5是本发明一实施例提供的基于区块链的数据流通的方法的流程图;
图6是本发明一实施例提供的应用于数据使用系统的基于区块链的数据流通的系统的结构图;以及
图7是本发明一实施例提供的应用于安全计算系统的基于区块链的数据流通的系统的结构图。
附图标记说明
1 数据提供系统 2 平台
3 数据加工系统 4 数据使用系统
10 存储器 20 元数据管理服务器
30 区块链 40 安全计算系统
50 本地数据库 60 查询指令接收装置
70 生成装置 80 指纹获取装置
90 发送装置 100 任务提交服务模块
110 钱包 120 远程管理和密钥注入工具
130 引擎工具 140 聚合结果接收装置
150 信息接收装置 160 访问装置
170 计算装置 180 比较装置
190 聚合结果获取装置 200 上传装置
具体实施方式
以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。
在本发明中主要涉及区块链网络和数据联盟网络2个大网络。所述区块链网络主要用于提供智能合约和账本管理,其中,智能合约包括数据存证合约、权限控制合约以及元数据管理合约;账本管理主要用来管理数据流通的参与者的账户和余额。同时基于所述区块链网络,引入确权方,例如各地的互联网法院等,当数据交易过程中发生法律纠纷的时候,确权方可以基于区块链上的存证信息进行公证和确权。所述数据联盟网络包括:数据提供方、数据使用方、数据加工方和平台提供方,各类角色共同组建一个数据联盟,实现数据的安全流通。
数据联盟网络的整体架构如图1所示,下面针对各类角色的主要功能进行介绍:对于数据提供系统1(或数据提供方),提供数据,通过区块链网络进行对外发布;以及数据访问授权管理。对于数据使用系统4(或数据使用方),编写模型,以实现数据访问逻辑。对于数据加工系统3(或数据加工方),提供计算框架,例如将Spark、TensorFlow大数据分析和机器学习框架等基于TEE安全技术进行改造,或者多方安全计算(MPC)以及差分隐私(DC)等数据安全计算技术,并基于这一类工具实现数据的聚合查询;加工方提供的计算框架开源;以及基于spark的sql联合查询。对于平台2(或平台提供方),提供各类智能合约;维护底层区块链网络等;以及提供模型调度框架管理与部署等。
本发明的技术方案是建立在通过区块链进行数据存证和发布,以及通过区块链进行权限管理的基础上进行的。所述通过区块链进行数据存证和发布,以及通过区块链进行权限管理的内容并非本发明的主要改进点,于此不再赘述。本发明只保证数据的绝对安全,而不解决用户模型的安全,其中,所述数据的绝对安全需要符合如下两个要求:(1)原始数据无法被查询,查询的结果只能是聚合结果,例如,求和(sum)、求平均(avg)、统计(count)、取最大(max)或取最小(min)等;(2)数据可以随时被数据提供方修改和删除,但是一旦发布的数据,除非全部删除,否则不能中途进行编辑,因为此时的数据已经被上传至区块链。
在详细阐述本发明的技术方案之前,概括性地介绍一下联合查询的概念。所述联合查询是指一个用户通过一段sql或者算法模型在多个地域的数据仓进行查询,然后计算得到一个聚合的结果。例如,要计算一个用户的信用等级,就会实现一个算法,即综合考虑这个用户的饮食消费记录(假设A公司拥有此数据)和穿着消费记录(假设B公司拥有此数据)等,最终根据饮食消费记录及穿着消费记录等数据确定该用户处于一个什么等级的信用。最终所确定的该用户的信用等级即为联合查询的聚合结果。
图2是本发明实施例提供的应用于数据使用系统的基于区块链的数据流通的方法的流程图。如图2所示,所述方法可包括如下步骤:步骤S201,接收查询多个数据的聚合结果的查询指令,其中,所述多个数据来自一个或多个本地数据库中的多个表;步骤S202,对所述查询指令进行解析,以生成相应的执行计划,其中,所述执行计划包括所述多个表的元信息,该元信息包括描述信息及存储位置;步骤S203,基于所述多个表对应的描述信息,获取来自所述区块链的所述多个表对应的第一指纹信息;步骤S204,发送所述执行计划及所述多个表对应的所述第一指纹信息以便于安全计算系统对一个或多个本地数据库中的所述多个表进行访问;以及步骤S205,响应于所述安全计算系统确定第二指纹信息与所述第一指纹信息对应一致;且基于所述执行计划及所述多个表计算获得所述聚合结果的情况,接收所述聚合结果,其中,所述第二指纹信息为所述安全计算系统基于所述执行计划及所述多个表的存储位置所访问的所述多个表对应的指纹信息。
下面主要针对上述应用于数据使用系统的基于区块链的数据流通的过程中的各个步骤进行解释和说明。
对于所述步骤S202,解析查询指令的具体过程如下:
在接收到所述查询指令的情况下,通过driver节点对所述查询指令进行解析,以生成所述多个数据所在的一个或多个表的元信息(包括描述信息及存储位置)及相应的sql执行计划,并在生成相应的sql执行计划之后,过滤仅有单行数据的表所对应的查询指令,防止原始数据被直接查询。在优选实施例中还可生成一个与所述查询指令相关联的第二密钥,接着,发送所述第二密钥至所述安全计算系统,该安全计算系统可利用该第二密钥对所查询的多个数据的聚合结果进行加密,从而加密的聚合结果仅允许具备查询权限的用户进行查看,保证查询结果的安全性。
其中,所述多个表的元信息(包括所述描述信息及所述存储位置)可由数据提供方提前通过以下方式进行发布:对所述多个表中的数据进行加密;计算包括加密数据的多个表对应的第一指纹信息;以及通过客户端将所述多个表的元信息与相应的所述第一指纹信息发布到所述区块链,和/或将所述多个表的元信息发布到平台。在所述区块链接收到所述多个表的元信息与相应的所述第一指纹信息的情况下,产生相应的交易标识。之后,将交易标识与数据提供方的身份标识进行关联,以标识该交易的所属权限。接着,数据使用方或查询用户可通过注册且由数据提供方确权的方式,获取查询上述交易的权限。
基于上述内容,在执行所述步骤S203之前,需要对查询用户的权限进行验证。仅限于有查询权限的用户进行查询。
具体地,所述对查询用户的权限进行验证包括以下步骤:连接元数据管理服务器(Meta Server)20以获得数据提供系统1(或数据提供方)具备权限的元(meta)信息,其中,所述meta信息包括表的描述信息及存储位置;通过元数据管理服务器20从区块链30获得权限信息,确认区块链或平台上的数据使用系统4(或查询用户)所具备权限的meta信息,如图4所示。
在所述查询用户的权限成功验证的情况下,该查询用户可根据所述多个表对应的描述信息,从所述区块链中获取该多个表对应的第一指纹信息。对于所述步骤S204,发送执行计划及第一指纹信息的具体过程如下:
通过图4所示的任务提交服务模块(Submit Service)100将所述执行计划及所述多个表对应的所述第一指纹信息发送至安全计算系统,以便于该安全计算系统对一个或多个本地数据库中的所述多个表进行访问。在优选实施例中,所述方法还可包括:在执行所述步骤S204的同时,发送所述多个表的访问方式至所述安全计算系统(具体为该安全计算系统中的worker节点)。
相应的,所述安全计算系统在接收到所述执行计划、所述多个表对应的所述第一指纹信息及所述多个表的访问方式的情况下,会立刻启动worker节点,并且该worker节点基于所述执行计划及所述多个表的存储位置,以所述访问方式访问所述一个或多个本地数据库中的所述多个表。。其中,所述访问方式可包括通过对象存储系统或网络文件系统等访问方式;以及所述本地数据库可以在数据提供系统(也称为数据提供方)或数据使用系统(也可称为数据使用方)。接着,安全计算系统计算所获取的多个表对应的第二指纹信息,并将所述多个表对应的第二指纹信息与提前存储在区块链中的所述多个表对应的第一指纹信息进行比对。然后,在两种指纹信息对应一致的情况下,安全计算系统通知数据提供系统及数据使用系统进行环境认证。对于所述步骤S205,进行所述环境认证及接收聚合结果的具体过程如下:
响应于上述安全计算系统确定第二指纹信息与所述第一指纹信息对应一致的情况,数据使用系统接收环境认证的通知,并进行所述环境认证,其中,所述第二指纹信息为所述安全计算系统基于所述执行计划及所述多个表的存储位置所访问的所述多个表对应的指纹信息。与此同时,数据提供系统也会接收到所述环境认证的通知,并进行环境认证。经过数据提供方及数据查询方双方进行环境认证,可在更大程度上保证安全计算系统中的原始数据的安全性。
相应地,在上述双方的环境认证成功的情况下,,所述安全计算系统接收所述数据提供系统提供的与所述多个表对应的多个第一密钥,通过所述第一密钥对所述多个数据进行解密;接着,基于所述执行计划从所述多个表中筛选出多个数据;然后再基于所述多个数据进行计算,以获得与所述查询指令相应的聚合结果;然后通过所述第二密钥对所述聚合结果进行加密;最后将加密的聚合结果上传至数据提供系统和/或数据使用系统(或查询用户)的存储空间。由于访问所述多个表(或多个数据)均是在安全计算系统中进行,并且所述多个数据是加密的,需要使用数据使用系统注入的第一密钥进行解密,因此,可使得数据使用方(例如查询用户)等无法直接查询到数据,从而保证数据本身的绝对安全。
响应于上述安全计算系统的执行结果,接收所述聚合结果。所述查询用户可利用所述第二密钥对所述聚合结果进行解密,从而可获得解密的查询结果。
其中,所述第一密钥及所述第二密钥均可为非对称密钥或对称密钥。考虑到相应系统的组建难易度及成本的高低,优选地,所述第一密钥及所述第二密钥可为对称密钥。其中,所述第一密钥和所述第二密钥是通过远程管理和密钥注入工具(RA/Entool)120产生的,如图4所示。
综上所述,本发明创造性地根据所接收的关于查询指令的执行计划及所述多个表的存储位置,通过安全计算环境访问所述一个或多个本地数据库中的所述多个表,并计算所述多个表的第二指纹信息,然后将所述多个表的第二指纹信息与所接收的所述多个表对应的第一指纹信息进行匹配,在两者一致的情况下,根据所述执行计划及所述多个表计算获得所述聚合结果。该方法可在数据不被篡改的情况下通过安全计算系统获取聚合结果,一方面可使原始数据在安全计算系统中由数据提供方进行控制,另一方面可使得原始数据无法直接被查询,从而保证数据的绝对安全。
相应地,本发明实施例还提供一种基于区块链的数据流通的方法,应用于安全计算系统,所述方法可包括如下步骤:步骤S301,接收关于查询多个数据的聚合结果的查询指令的执行计划及来自所述区块链的与多个表对应的第一指纹信息,其中,所述多个数据来自一个或多个本地数据库中的所述多个表,所述执行计划包括所述多个表的元信息,该元信息包括描述信息及存储位置;步骤S302,基于所述执行计划及所述多个表的存储位置访问所述一个或多个本地数据库中的所述多个表;步骤S303,计算所述多个表对应的第二指纹信息;步骤S304,将所述第二指纹信息与所述第一指纹信息一一比较;步骤S305,在所述第二指纹信息与所述第一指纹信息对应一致的情况下,基于所述执行计划及所述多个表,计算获得所述聚合结果;步骤S306,将所述聚合结果上传。
下面主要针对上述应用于安全计算系统的基于区块链的数据流通的过程中的各个步骤进行解释和说明。
在执行所述步骤S301接收执行计划和第一指纹信息的同时,还接收所述多个表的访问方式。
在接收到执行计划、第一指纹信息及访问方式的情况下,所述步骤S302可包括:所述安全计算系统启动worker节点,基于所述执行计划及所述多个表的存储位置,该worker节点以所述访问方式访问所述一个或多个本地数据库中的所述多个表。其中,所述访问方式可包括通过对象存储系统或网络文件系统等访问方式。
经过所述步骤S303计算得到所述多个表对应的第二指纹信息后,所述步骤S304中的指纹匹配的具体过程如下:
将所述一个或多个本地数据库中的多个表对应的第二指纹信息与提前存储在区块链中的所述多个表对应的第一指纹信息进行一一比对。若果本地数据未被篡改,则所述数据所属的表对应的第二指纹信息与区块链上相应的第一指纹信息必然一致;如果本地数据被恶意篡改,则所述数据所属的表对应的第二指纹信息与区块链上相应的第一指纹信息记录会不一致,由此,可防止在本地数据被篡改的情况下,查询用户仍然通过该数据获得错误的查询结果。上述指纹认证的目的是防止本地的数据被恶意篡改,从而保证查询结果的准确性。
对于所述步骤S305,获取聚合结果的具体过程如下:
在所述第二指纹信息与所述第一指纹信息对应一致的情况下,接收数据提供系统提供的与所述多个表一一对应的多个第一密钥;分别利用所述多个第一密钥对所述多个表中的数据进行解密;基于所述执行计划从所述多个表中筛选出所述多个数据;以及基于所述多个数据进行计算以获得所述聚合结果。
具体地,在优选实施例中,在所述第二指纹信息与所述第一指纹信息对应一致的情况下,通知数据提供系统及数据使用系统进行环境认证。在所述数据提供系统及所述数据使用系统环境认证成功的情况下,接收与所述多个表一一对应的多个第一密钥。由此,经过数据提供方及数据查询方双方进行环境认证,可在更大程度上保证安全计算系统中的原始数据的安全性。之后,分别利用所述多个第一密钥完成对所述多个表中的数据进行解密,再基于所述执行计划从所述多个表中筛选出多个数据,然后利用所述多个数据进行计算以获取聚合结果,例如,在查询指令为年龄大于60岁的人数(sum指令)的情况下,分别利用多个第一密钥对所访问的多个表中的数据进行解密,从中筛选出年龄大于60岁的人的相关数据,统计相关数据之和以获取sum值。因此,访问所述多个表(或多个数据)均是在安全计算系统中进行,并且所述多个数据是加密的,需要使用数据使用系统注入的第一密钥进行解密,由此,可使得数据使用方(例如查询用户)等无法直接查询到数据,从而保证数据本身的绝对安全。
所述方法还可包括:接收第二密钥;以及在执行所述步骤S305之后,利用所述第二密钥对所述聚合结果进行加密。加密的聚合结果仅允许具备查询权限的用户进行查看,保证查询结果不被窃取。最后,所述步骤S306将加密的聚合结果上传至数据提供系统和/或查询用户的存储空间。所述查询用户可利用所述第二密钥对所述聚合结果进行解密,从而可获得解密的查询结果。
所述安全计算系统SparkSGX支持安全隔离域,所述安全隔离域是指基于TEE(Trusted Execution Environment)技术(例如TPM或者Intel SGX技术),将接触到原始数据的所有流程都发生在安全计算环境,该安全计算环境是公开可验证的,是从硬件到操作系统以及用户代码都是可以验证安全的,目前使用较为广泛。当然,所述安全计算系统也不限于支持上述安全隔离域,还可支持或兼容支持多方安全计算(MPC)方案,所述MPC方案是指基于密码学,在数据进行联合计算的过程中,不是使用原始数据,而是使用加密后的数据进行计算,最后将计算的结果进行解密,获得计算的真实结果。这一类算法包括支持两方的加密电路-不经意传输(GC-OT)以及支持多方的同态加密算法等。
当然,本发明中的安全计算系统SparkSGX既可以部署在数据拥有系统中,也可以部署在平台,但是在访问数据的时候,都是安全计算环境中进行,并且需要等待数据提供系统注入数据的解密密钥。因此可以保证数据本身安全。
综上所述,本发明创造性地根据所接收的关于查询指令的执行计划及所述多个表的存储位置,通过安全计算环境访问所述一个或多个本地数据库中的所述多个表,并计算所述多个表的第二指纹信息,然后将所述多个表的第二指纹信息与所接收的所述多个表对应的第一指纹信息进行匹配,在两者一致的情况下,根据所述执行计划及所述多个表计算获得所述聚合结果。该方法可在数据不被篡改的情况下通过安全计算系统获取聚合结果,一方面可使原始数据在安全计算系统中由数据提供方进行控制,另一方面可使得原始数据无法直接被查询,从而保证数据的绝对安全。
具体而言,如图4和图5所示,现以数据使用系统4和安全计算系统40之间的交互过程为例对基于区块链30的数据流通的过程进行详细地解释和说明,所述安全计算系统40可为Spark SGX安全计算环境。
步骤S501,所述数据使用系统对查询用户的权限进行验证。
如图4所示,数据使用系统4连接平台上的元数据管理服务器20并获得数据提供系统具备权限的元(meta)信息,接着,所述元数据管理服务器20从区块链30获得查询用户的权限信息,以确认查询用户具备权限的meta信息。其中,所述平台上的所有组件可通过引擎工具(Docker)130实现快速部署。
步骤S502,所述数据使用系统接收查询用户输入的sql查询指令。
步骤S503,所述数据使用系统对所述sql查询指令进行解析,以生成相应的执行计划及第二密钥,其中,所述执行计划包括所述多个表的元信息,该元信息包括描述信息及存储位置。
由所述数据使用系统中的driver节点将sql查询指令进行解析,生成包括所述多个表对应的meta信息的sql执行计划,并生成一个与所述sql查询指令关联的对称密钥,即第二密钥。
步骤S504,所述数据使用系统基于所述多个表的描述信息,获取来自所述区块链的所述多个数据对应的第一指纹信息。
如图4所示,基于所述多个表对应的meta信息,所述数据使用系统4通过钱包(MBWallet)110连接区块链30,并从区块链30查询表的指纹信息,其中,所述表包括所述多个数据。
步骤S505,所述数据使用系统发送所述执行计划、所述多个表对应的所述第一指纹信息、所述第二密钥及访问方式至所述安全计算系统。
如图4所示,由任务提交服务模块(Spark Submit)100将所述sql执行计划、区块链上的所述多个表的指纹信息、所述第二密钥以及数据访问方式发送给SparkSGX中的worker节点执行。
步骤S506,基于所述执行计划及所述多个表的存储位置,所述安全计算系统以所述访问方式访问所述一个或多个本地数据库中的所述多个表。
如图4所示,在Spark SGX安全计算环境中启动Worker节点,所述worker节点基于所述执行计划及所述多个表的存储位置,以所述访问方式访问一个或多个本地数据库50中的多个表,其中,所述一个或多个本地数据库50中的多个表中的数据均是加密的。
步骤S507,所述安全计算系统计算所述多个表对应的第二指纹信息。
步骤S508,所述安全计算系统将所述第二指纹信息与所述第一指纹信息一一比较。
步骤S509,在所述第二指纹信息与所述第一指纹信息对应一致的情况下,所述安全计算系统通知数据提供系统和所述数据使用系统进行环境认证。
在所述第二指纹信息与所述第一指纹信息对应一致的情况下,所述安全计算系统通知所述数据提供系统及所述数据使用系统进行SGX环境认证。
步骤S510,所述数据提供系统和所述数据使用系统进行环境认证。
所述数据提供系统及所述数据使用系统均进行SGX环境认证。
步骤S511,在所述数据使用系统环境认证成功的情况下,传输第二密钥。
如图4所示,在所述数据使用系统对环境认证成功的情况下,所述数据使用系统4中的远程管理和密钥注入工具(RA/Entool)120向所述安全计算系统传输所述第二密钥,其中,所述第二密钥可为对称密钥。
步骤S512,在所述数据提供系统环境认证成功的情况下,所述安全计算系统接收数据提供系统提供的与所述多个表一一对应的多个第一密钥。
步骤S513,所述安全计算系统利用所述多个第一密钥对所述多个表中的数据进行解密。
步骤S514,基于所述执行计划从所述多个表中筛选出所述多个数据。
步骤S515,基于所述多个数据进行计算以获得所述聚合结果。
步骤S516,利用所述第二密钥对所述聚合结果进行加密。
步骤S517,将加密的聚合结果上传到所述数据使用系统。
将加密的聚合结果上传到所述数据提供系统及数据使用系统的存储空间。
步骤S518,存储所述加密的聚合结果。
可通过图4所述的存储器10对所述加密的聚合结果进行存储。
在查询指令所涉及的本地数据库由多个数据使用系统(或数据提供方)提供的情况下,多个数据使用系统中的每一者所做的操作与上述数据使用系统所做的操作完全类似,于此不再赘述。
该方法可在数据不被篡改的情况下通过安全计算系统获取聚合结果,一方面可使原始数据在安全计算系统中由数据提供方进行控制,另一方面可使得原始数据无法直接被查询,从而保证数据的绝对安全。
相应地,如图6所示,本发明实施例提供一种基于区块链的数据流通的系统,应用于数据使用系统,所述系统可包括:查询指令接收装置60,用于接收查询来自一个或多个本地数据库中的多个表中的多个数据的聚合结果的查询指令;生成装置70,用于对所述查询指令进行解析,以生成相应的执行计划,其中,所述执行计划包括所述多个表的元信息,该元信息包括描述信息及存储位置;指纹获取装置80,用于基于所述多个表对应的描述信息,获取来自所述区块链的所述多个表对应的第一指纹信息;发送装置90,用于发送所述执行计划及所述多个表对应的所述第一指纹信息以便于安全计算系统对一个或多个本地数据库中的所述多个表进行访问;以及聚合结果接收装置140,用于响应于所述安全计算系统确定第二指纹信息与所述第一指纹信息对应一致;且基于所述执行计划及所述多个表计算获得所述聚合结果的情况,接收所述聚合结果,其中,所述第二指纹信息为所述安全计算系统基于所述执行计划及所述多个表的存储位置所访问的所述多个表对应的指纹信息。
有关本发明提供的基于区块链的数据流通的系统的具体细节及益处可参阅上述针对基于区块链的数据流通的方法的描述,于此不再赘述。
相应地,如图7所示,本发明实施例提供一种基于区块链的数据流通的系统,应用于安全计算系统,所述系统可包括:信息接收装置150,用于接收关于查询来自一个或多个本地数据库中的多个表中的多个数据的聚合结果的查询指令的执行计划、及来自所述区块链的与所述多个表对应的第一指纹信息,其中,所述执行计划包括所述多个表的元信息,该元信息包括描述信息及存储位置;访问装置160,用于基于所述执行计划及所述多个表的存储位置访问所述一个或多个本地数据库中的所述多个表;计算装置170,用于计算所述多个表对应的第二指纹信息;比较装置180,用于将所述第二指纹信息与所述第一指纹信息一一比较;聚合结果获取装置190,用于在所述第二指纹信息与所述第一指纹信息对应一致的情况下,基于所述执行计划及所述多个表,计算获得所述聚合结果;以及上传装置200,用于将所述聚合结果上传。
有关本发明提供的基于区块链的数据流通的系统的具体细节及益处可参阅上述针对基于区块链的数据流通的方法的描述,于此不再赘述。
相应地,本发明实施例还提供一种数据使用系统,所述数据使用系统包括所述的基于区块链的数据流通的系统。
相应地,本发明实施例还提供一种安全计算系统,所述安全计算系统包括所述的基于区块链的数据流通的系统。
相应地,本发明实施例还提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令用于使得机器执行所述的基于区块链的数据流通的方法。
相应地,本发明实施例还提供一种处理器,用于运行程序,其中,所述程序被运行时用于执行上述的基于区块链的数据流通的方法。
相应地,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序在被处理器执行时实现所述的基于区块链的数据流通的方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现目标信息存储。目标信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的目标信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (22)

1.一种基于区块链的数据流通的方法,应用于数据使用系统,其特征在于,所述方法包括:
接收查询多个数据的聚合结果的查询指令,其中,所述多个数据来自一个或多个本地数据库中的多个表;
对所述查询指令进行解析,以生成相应的执行计划,其中,所述执行计划包括所述多个表的元信息,该元信息包括描述信息及存储位置;
基于所述多个表对应的描述信息,获取来自所述区块链的所述多个表对应的第一指纹信息;
发送所述执行计划及所述多个表对应的所述第一指纹信息以便于安全计算系统对一个或多个本地数据库中的所述多个表进行访问;以及
响应于所述安全计算系统确定第二指纹信息与所述第一指纹信息对应一致;且基于所述执行计划及所述多个表计算获得所述聚合结果的情况,接收所述聚合结果,其中,所述第二指纹信息为所述安全计算系统基于所述执行计划及所述多个表的存储位置所访问的所述多个表对应的指纹信息。
2.根据权利要求1所述的方法,其特征在于,所述响应于所述安全计算系统确定第二指纹信息与所述第一指纹信息对应一致;且基于所述执行计划及所述多个表计算获得所述聚合结果的情况,接收所述聚合结果包括:
响应于所述安全计算系统确定所述第二指纹信息与所述第一指纹信息对应一致的情况,接收环境认证的通知,并进行所述环境认证;以及
在所述环境认证成功的情况下,响应于所述安全计算系统分别利用数据提供系统提供的多个第一密钥对所述多个表中的数据进行解密、基于所述执行计划从所述多个表中筛选出多个数据;且基于所述多个数据进行计算以获得所述聚合结果的情况,接收所述聚合结果。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在执行所述对所述查询指令进行解析以生成相应的执行计划的步骤的同时,生成第二密钥;以及
发送所述第二密钥至所述安全计算系统。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在执行所述发送所述执行计划及所述多个表对应的所述第一指纹信息的步骤的同时,发送所述多个表的访问方式。
5.一种基于区块链的数据流通的方法,应用于安全计算系统,其特征在于,所述方法包括:
接收关于查询多个数据的聚合结果的查询指令的执行计划及来自所述区块链的与多个表对应的第一指纹信息,其中,所述多个数据来自一个或多个本地数据库中的所述多个表,所述执行计划包括所述多个表的元信息,该元信息包括描述信息及存储位置;
基于所述执行计划及所述多个表的存储位置访问所述一个或多个本地数据库中的所述多个表;
计算所述多个表对应的第二指纹信息;
将所述第二指纹信息与所述第一指纹信息一一比较;
在所述第二指纹信息与所述第一指纹信息对应一致的情况下,基于所述执行计划及所述多个表,计算获得所述聚合结果;以及
将所述聚合结果上传。
6.根据权利要求5所述的方法,其特征在于,所述在所述第二指纹信息与所述第一指纹信息对应一致的情况下,基于所述执行计划及所述多个表,计算获得所述聚合结果包括:
在所述第二指纹信息与所述第一指纹信息对应一致的情况下,接收数据提供系统提供的与所述多个表一一对应的多个第一密钥;
分别利用所述多个第一密钥对所述多个表中的数据进行解密;
基于所述执行计划从所述多个表中筛选出所述多个数据;以及
基于所述多个数据进行计算以获得所述聚合结果。
7.根据权利要求6所述的方法,其特征在于,所述在所述第二指纹信息与所述第一指纹信息对应一致的情况下,接收数据提供系统提供的与所述多个表一一对应的多个第一密钥包括:
在所述第二指纹信息与所述第一指纹信息对应一致的情况下,通知数据提供系统及数据使用系统进行环境认证;以及
响应于所述环境认证成功的结果,接收所述多个第一密钥。
8.根据权利要求5所述的方法,其特征在于,所述方法还包括:
接收第二密钥;以及
在获得所述聚合结果之后,利用所述第二密钥对所述聚合结果进行加密。
9.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在执行所述接收所述执行计划及来自所述区块链的所述多个表对应的第一指纹信息的步骤的同时,接收所述多个表的访问方式,
所述基于所述执行计划及所述多个表的存储位置访问所述一个或多个本地数据库中的所述多个表的步骤包括:基于所述执行计划及所述多个表的存储位置,以所述访问方式访问所述一个或多个本地数据库中的所述多个表。
10.一种基于区块链的数据流通的系统,应用于数据使用系统,其特征在于,所述系统包括:
查询指令接收装置,用于接收查询多个数据的聚合结果的查询指令,其中,所述多个数据来自一个或多个本地数据库中的多个表;
生成装置,用于对所述查询指令进行解析,以生成相应的执行计划,其中,所述执行计划包括所述多个表的元信息,该元信息包括描述信息及存储位置;
指纹获取装置,用于基于所述多个表对应的描述信息,获取来自所述区块链的所述多个表对应的第一指纹信息;
发送装置,用于发送所述执行计划及所述多个表对应的所述第一指纹信息以便于安全计算系统对一个或多个本地数据库中的所述多个表进行访问;以及
聚合结果接收装置,用于响应于所述安全计算系统确定第二指纹信息与所述第一指纹信息对应一致;且基于所述执行计划及所述多个表计算获得所述聚合结果的情况,接收所述聚合结果,其中,所述第二指纹信息为所述安全计算系统基于所述执行计划及所述多个表的存储位置所访问的所述多个表对应的指纹信息。
11.根据权利要求10所述的系统,其特征在于,所述聚合结果接收装置包括:
环境认证单元,用于响应于所述安全计算系统确定所述第二指纹信息与所述第一指纹信息对应一致的情况,接收环境认证的通知,并进行所述环境认证;以及
聚合结果接收单元,用于在所述环境认证成功的情况下,响应于所述安全计算系统分别利用数据提供系统提供的多个第一密钥对所述多个表中的数据进行解密、基于所述执行计划从所述多个表中筛选出多个数据;且基于所述多个数据进行计算以获得所述聚合结果的情况,接收所述聚合结果。
12.根据权利要求10所述的系统,其特征在于,所述生成装置用于对所述查询指令进行解析以生成相应的执行计划的同时,还用于生成第二密钥;以及
所述发送装置还用于,发送所述第二密钥至所述安全计算系统。
13.根据权利要求10所述的系统,其特征在于,所述发送装置还用于,在执行所述发送所述执行计划及所述多个表对应的所述第一指纹信息的步骤的同时,发送所述多个表的访问方式。
14.一种基于区块链的数据流通的系统,应用于安全计算系统,其特征在于,所述系统包括:
信息接收装置,用于接收关于查询多个数据的聚合结果的查询指令的执行计划及来自所述区块链的与多个表对应的第一指纹信息,其中,所述多个数据来自一个或多个本地数据库中的所述多个表,所述执行计划包括所述多个表的元信息,该元信息包括描述信息及存储位置;
访问装置,用于基于所述执行计划及所述多个表的存储位置访问所述一个或多个本地数据库中的所述多个表;
计算装置,用于计算所述多个表对应的第二指纹信息;
比较装置,用于将所述第二指纹信息与所述第一指纹信息一一比较;
聚合结果获取装置,用于在所述第二指纹信息与所述第一指纹信息对应一致的情况下,基于所述执行计划及所述多个表,计算获得所述聚合结果;以及
上传装置,用于将所述聚合结果上传。
15.根据权利要求14所述的系统,其特征在于,所述聚合结果获取装置包括:
接收单元,用于在所述第二指纹信息与所述第一指纹信息对应一致的情况下,接收数据提供系统提供的与所述多个表一一对应的多个第一密钥;
解密单元,用于分别利用所述多个第一密钥对所述多个表中的数据进行解密;
筛选单元,用于基于所述执行计划从所述多个表中筛选出多个数据;以及
处理单元,用于基于所述多个数据进行计算以获得所述聚合结果。
16.根据权利要求15所述的系统,其特征在于,所述接收单元还包括:
通知模块,用于在所述第二指纹信息与所述第一指纹信息对应一致的情况下,通知数据提供系统及数据使用系统进行环境认证;以及
接收模块,用于响应于所述环境认证成功的结果,接收所述多个第一密钥。
17.根据权利要求14所述的系统,其特征在于,所述信息接收装置还用于,接收第二密钥,
所述系统还包括:加密装置,用于利用所述第二密钥对所述聚合结果进行加密。
18.根据权利要求15所述的系统,其特征在于,所述接收装置还用于,接收所述多个表的访问方式,
所述访问装置用于基于所述执行计划及所述多个表的存储位置访问所述一个或多个本地数据库中的所述多个表包括:基于所述执行计划及所述多个表的存储位置,以所述访问方式访问所述一个或多个本地数据库中的所述多个表。
19.一种数据使用系统,其特征在于,所述数据使用系统包括上述权利要求10-13中任一项所述的基于区块链的数据流通的系统。
20.一种安全计算系统,其特征在于,所述安全计算系统包括上述权利要求14-18中任一项所述的基于区块链的数据流通的系统。
21.一种机器可读存储介质,其特征在于,该机器可读存储介质上存储有指令,该指令用于使得机器执行根据权利要求1-4或权利要求5-9中任一项权利要求所述的基于区块链的数据流通的方法。
22.一种处理器,其特征在于,用于运行程序,其中,所述程序被运行时用于执行根据权利要求1-4或权利要求5-9中任一项权利要求所述的基于区块链的数据流通的方法。
CN201910319732.XA 2019-04-19 2019-04-19 数据流通的方法、系统、数据使用系统及安全计算系统 Active CN111832032B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910319732.XA CN111832032B (zh) 2019-04-19 2019-04-19 数据流通的方法、系统、数据使用系统及安全计算系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910319732.XA CN111832032B (zh) 2019-04-19 2019-04-19 数据流通的方法、系统、数据使用系统及安全计算系统

Publications (2)

Publication Number Publication Date
CN111832032A CN111832032A (zh) 2020-10-27
CN111832032B true CN111832032B (zh) 2023-07-04

Family

ID=72912124

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910319732.XA Active CN111832032B (zh) 2019-04-19 2019-04-19 数据流通的方法、系统、数据使用系统及安全计算系统

Country Status (1)

Country Link
CN (1) CN111832032B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109615378A (zh) * 2019-01-24 2019-04-12 上海点融信息科技有限责任公司 基于区块链的安全多方计算方法、装置及可读存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100916244B1 (ko) * 2007-09-03 2009-09-10 전자부품연구원 Soap 오퍼레이션을 이용한 질의된 컨텐츠 서비스방법
US10644885B2 (en) * 2015-07-14 2020-05-05 Fmr Llc Firmware extension for secure cryptocurrency key backup, restore, and transaction signing platform apparatuses, methods and systems
US10778439B2 (en) * 2015-07-14 2020-09-15 Fmr Llc Seed splitting and firmware extension for secure cryptocurrency key backup, restore, and transaction signing platform apparatuses, methods and systems
US10860735B2 (en) * 2016-08-05 2020-12-08 Sensoriant, Inc. Database system for protecting and securing stored data using a privacy switch
US10057276B2 (en) * 2016-09-19 2018-08-21 International Business Machines Corporation Global attestation procedure
US10409812B2 (en) * 2016-12-20 2019-09-10 International Business Machines Corporation Query restart based on changing system resources and an amount of data change
CN108616578A (zh) * 2018-04-09 2018-10-02 上海点融信息科技有限责任公司 跨区块链平台的业务处理方法、设备及计算机可读存储介质
CN109086140A (zh) * 2018-08-21 2018-12-25 上海点融信息科技有限责任公司 在区块链中进行数据处理的方法、装置及存储介质
US10915366B2 (en) * 2018-09-28 2021-02-09 Intel Corporation Secure edge-cloud function as a service

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109615378A (zh) * 2019-01-24 2019-04-12 上海点融信息科技有限责任公司 基于区块链的安全多方计算方法、装置及可读存储介质

Also Published As

Publication number Publication date
CN111832032A (zh) 2020-10-27

Similar Documents

Publication Publication Date Title
US11810080B2 (en) Systems and method for tracking enterprise events using hybrid public-private blockchain ledgers
CN110377239B (zh) 数据签名方法、装置、服务器、系统及存储介质
CN111970129B (zh) 一种基于区块链的数据处理方法、设备以及可读存储介质
CN110033258B (zh) 基于区块链的业务数据加密方法及装置
JP6524347B2 (ja) 情報共有システム
CN109274652B (zh) 身份信息验证系统、方法及装置及计算机存储介质
CN111651794B (zh) 基于联盟链的电子数据管理方法、装置和存储介质
US10250613B2 (en) Data access method based on cloud computing platform, and user terminal
CN109450910A (zh) 基于区块链的数据共享方法、数据共享网络及电子设备
CN110795755A (zh) 基于区块链的建筑项目场景式存证不可篡改方法及系统
US12101399B2 (en) Secure storage techniques utilizing consortium distributed ledgers
CN115296838B (zh) 基于区块链的数据共享方法、系统及存储介质
CN111274599A (zh) 一种基于区块链的数据共享方法及相关装置
CN114020841A (zh) 一种数据共享系统、方法、存储介质和设备
CN106326666A (zh) 一种健康档案信息管理服务系统
CN111008855A (zh) 一种基于改进代理重加密的追溯数据访问控制方法
CN115065542A (zh) 权限验证方法、装置、处理器及电子设备
CN111835687B (zh) 基于区块链的安全协同系统及安全协同方法
CN113259084A (zh) 动产质押风险预警方法、装置、计算机设备和存储介质
CN111832032B (zh) 数据流通的方法、系统、数据使用系统及安全计算系统
US20200028689A1 (en) Location-based and time-based photo authentication
CN116910788B (zh) 一种业务数据的可搜索加密管理方法、装置及存储介质
CN117407849B (zh) 一种基于工业互联网技术的工业数据安全保护方法及系统
US20240242218A1 (en) Secure enclave identity management
KR102638374B1 (ko) 합성곱 신경망(CNN: Convolutional Neual Network) 기반 영상 가치 판단 및 블록체인 기술을 이용한 데이터의 분산 저장 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant