数据共享方法、装置、系统、设备及介质与流程

文档序号:25301806发布日期:2021-06-04 13:25阅读:89来源:国知局
数据共享方法、装置、系统、设备及介质与流程

1.本发明一般涉及数据共享技术领域,具体涉及一种数据共享方法、装置、系统、设备及介质。


背景技术:

2.随着互联网技术的快速发展,多方联合进行数据融合处理的场景越来越多,所处理的数据往往会涉及多个平台。例如,数据提供方可以提供数据,数据使用方可以对数据提供方提供的数据进行处理,但是考虑到数据的安全性,数据提供方面临数据泄漏的风险。因此,为了防止平台泄漏、使得其他平台盗取共享数据,如何在保证数据安全的情况下实现数据的可信计算和共享显得尤为重要。
3.目前,相关技术中通过在设备的cpu上建立一块区域,该区域称为可信执行环境,能够为数据和代码的执行提供安全空间,并保证数据的机密性和安全性。可信执行环境提供了与系统运行环境隔离的环境,用于保存用户的敏感信息,且能够对明文数据进行计算确保区块链的安全性和隐私性。其中,在软件方面,可以通过可信赖平台模快 (trusted platform module,tpm),在硬件方面,如英特尔的软件保护扩展(software guard extensions,sgx)和arm信任区(trustzone) 和amd的平台安全处理器(platform security processor,psp)。因此,如何在保证数据安全的情况下,实现数据共享是亟待解决的问题。


技术实现要素:

4.鉴于现有技术中的上述缺陷或不足,期望提供一种数据共享方法、装置、系统、设备及介质。
5.第一方面,本申请实施例提供了一种数据共享方法,该方法应用于可信执行方,包括:
6.接收数据提供方发送的输入信息,输入信息包括第一对称秘钥和文件存储地址;
7.接收数据查询方发送的输出信息,输出信息包括数据存储地址和第二对称秘钥;
8.基于文件存储地址,从数据提供方存储设备中读取第一加密数据,第一加密数据是数据提供方基于局部查询条件,在本地数据中心查询符合局部查询条件的查询结果,并将查询结果进行加密处理后存储在数据提供方存储设备中的;
9.基于第一对称秘钥对第一加密数据进行解密处理得到解析结果;
10.基于第二对称秘钥对解析结果进行加密处理,得到第二加密数据并发送至数据查询方,以使得数据查询方基于数据存储地址,将第二加密数据存储至数据查询方存储设备中。
11.第二方面,本申请实施例提供了一种数据共享方法,该方法应用于数据查询方,包括:
12.向数据提供方发送数据查询请求,数据查询请求包括局部查询条件;
13.通过安全传输协议向可信执行方注册输出信息,输出信息包括数据存储地址、第
二对称秘钥;
14.接收可信执行方发送的第二加密数据,第二加密数据是可信执行方基于第一对称秘钥,对第一加密数据进行解密得到解析结果,并通过第二对称秘钥对解析结果进行加密处理得到的,第一加密数据是数据提供方基于局部查询条件,在本地数据中心查询符合局部查询条件的查询结果,并将查询结果进行加密处理后存储在数据提供方存储设备中的;
15.基于数据存储地址,将第二加密数据存储至数据查询方存储设备中。
16.第三方面,本申请实施例提供了一种数据共享方法,该方法应用于数据提供方,包括:
17.接收并响应于数据查询方发送的数据查询请求,获取局部查询条件;
18.基于局部查询条件,在数据中心查询符合局部查询条件的查询结果;
19.对查询结果在可信加密单元中加密处理,得到第一加密数据;
20.将第一加密数据存储至数据提供方存储设备,并接收与第一加密数据对应的文件存储地址;
21.通过安全传输协议向可信执行方注册输入信息,以使得可信执行方基于输入信息,对第一加密数据进行解密处理得到解析结果。
22.第四方面,本申请实施例提供了一种数据共享装置,该装置包括:
23.第一接收模块,用于接收数据提供方发送的输入信息,输入信息包括第一对称秘钥和文件存储地址;
24.第二接收模块,用于接收数据查询方发送的输出信息,输出信息包括数据存储地址和第二对称秘钥;
25.读取模块,用于基于文件存储地址,从数据提供方存储设备中读取第一加密数据,第一加密数据是数据提供方基于局部查询条件,在本地数据中心查询符合局部查询条件的查询结果,并将查询结果进行加密处理后存储在数据提供方存储设备中的;
26.解密模块,用于基于第一对称秘钥对第一加密数据进行解密处理得到解析结果;
27.加密模块,用于基于第二对称秘钥对解析结果进行加密处理,得到第二加密数据并发送至数据查询方,以使得数据查询方基于数据存储地址,将第二加密数据存储至数据查询方存储设备中。
28.第五方面,本申请实施例提供了一种数据共享装置,该装置包括:
29.发送模块,用于向数据提供方发送数据查询请求,数据查询请求包括局部查询条件;
30.注册模块,用于通过安全传输协议向可信执行方注册输出信息,输出信息包括数据存储地址、第二对称秘钥;
31.接收模块,用于接收可信执行方发送的第二加密数据,第二加密数据是可信执行方基于第一对称秘钥,对第一加密数据进行解密得到解析结果,并通过第二对称秘钥对解析结果进行加密处理得到的,第一加密数据是数据提供方基于局部查询条件,在本地数据中心查询符合局部查询条件的查询结果,并将查询结果进行加密处理后存储在数据提供方存储设备中的;
32.存储模块,用于基于数据存储地址,将第二加密数据存储至数据查询方存储设备中。
33.第六方面,本申请实施例提供了一种数据共享装置,该装置包括:
34.获取模块,用于接收并响应于数据查询方发送的数据查询请求,获取局部查询条件;
35.查询模块,用于基于局部查询条件,在数据中心查询符合局部查询条件的查询结果;
36.处理模块,用于对查询结果在可信加密单元中加密处理,得到第一加密数据;
37.存储模块,用于将第一加密数据存储至数据提供方存储设备,并接收与第一加密数据对应的文件存储地址;
38.注册模块,用于通过安全传输协议向可信执行方注册输入信息,以使得可信执行方基于输入信息,对第一加密数据进行解密处理得到解析结果。
39.第七方面,本申请实施例提供了一种数据共享系统,该系统包括:数据查询方、数据提供方和可信执行方;
40.所述可信执行方用于接收数据提供方发送的输入信息,并接收数据查询方发送的输出信息,所述输入信息包括第一对称秘钥和文件存储地址,所述输出信息包括数据存储地址和第二对称秘钥;以及用于基于所述文件存储地址,从数据提供方存储设备中读取第一加密数据,并基于第一对称秘钥对所述第一加密数据进行解密处理得到解析结果,使用第二对称秘钥对所述解析结果进行加密处理,得到第二加密数据并发送至数据查询方;
41.所述数据查询方用于向数据提供方发送数据查询请求,并通过安全传输协议向所述可信执行方注册输出信息,接收所述可信执行方发送的第二加密数据,并基于数据存储地址,将所述第二加密数据存储至数据查询方存储设备中;
42.所述数据提供方用于接收并响应于数据查询方发送的数据查询请求,获取局部查询条件,并基于所述局部查询条件,在数据中心查询符合所述局部查询条件的查询结果,对所述查询结果在可信加密单元中加密处理,得到第一加密数据,并将所述第一加密数据存储至数据提供方存储设备,并接收与所述第一加密数据对应的文件存储地址。
43.第八方面,本申请实施例提供一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行该程序时实现如第一方面的方法或第二方面的方法或第三方面的方法。
44.第九方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序用于实现如第一方面所述的方法或第二方面所述的方法或第三方面所述的方法。
45.综上所述,本申请实施例提供的数据共享方法、装置、系统、设备及介质,可信执行方接收数据提供方发送的输入信息,该输入信息包括第一对称秘钥和文件存储地址,并接收数据查询方发送的输出信息,该输出信息包括数据存储地址和第二对称秘钥,并基于文件存储地址,从数据提供方存储设备中读取第一加密数据,该第一加密数据是数据提供方基于查询条件,在本地数据中心查询符合查询条件的查询结果,并将查询结果进行加密处理后存储在数据提供方存储设备中的,并基于第二对称秘钥对解析结果进行加密处理,得到第二加密数据并发送至数据查询方,以使得数据查询方基于数据查询地址,将第二加密数据存储至数据查询方存储设备中。该技术方案能够基于文件存储地址,从数据提供方存储设备中读取第一加密数据,保证了获取数据的安全,并且基于第一对称秘钥对第一加密
数据进行解密处理得到解析结果后,基于第二对称秘钥对解析结果进行加密处理得到第二加密数据,并存储至完全信任的数据查询方存储设备中,从而在保证数据安全的前提下,实现多方平台之间的数据共享,防止了数据查询方等平台泄漏数据、盗取共享数据,避免给数据提供方带来经济损失。
附图说明
46.通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
47.图1为本申请实施例提供的数据共享系统的结构示意图;
48.图2为本申请实施例提供的数据共享方法的流程示意图;
49.图3为本申请另一实施例提供的数据共享方法的流程示意图;
50.图4为本申请另一实施例提供的数据共享方法的流程示意图;
51.图5为本申请另一实施例提供的数据共享方法的结构示意图;
52.图6为本申请实施例提供的数据共享装置的结构示意图;
53.图7为本申请实施例提供的数据共享装置的结构示意图;
54.图8为本申请实施例提供的数据共享装置的结构示意图;
55.图9为本申请实施例提供的计算机系统的结构示意图。
具体实施方式
56.下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
57.需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
58.可以理解,随着计算机和网络应用的日益广泛发展以及不同领域的业务种类的日益丰富,进行安全性信息交互非常重要。相关技术中通过建立可信执行环境,保证数据和代码的安全性。可信执行环境可以直接获取系统运行环境的信息,而系统运行环境不能获取可信执行环境的信息,这样使得可信执行环境中执行的代码和数据操作,系统层无法偷窥得到,只有代码中预先定义的接口才能对其进行操作,并且,由于可信执行环境的黑箱性质,在可信执行环境中进行运算的是明文数据,而不是同态加密中的复杂密码学运算,其计算效率并未损失,可以在很大程度上提升区块链的安全性和隐私性。
59.目前,所有主流的芯片和软件联盟都有对应的可信执行环境,包括软件方面的tpm,以及硬件方面的intel sgx、arm信任区和amd 的psp,其中,tpm是一种植于计算机内部为计算机提供可信根的芯片,该芯片的规格由可信计算机组来制定。因此,如何在保证数据安全的情况下,实现数据共享非常重要。
60.基于上述缺陷,本申请提供了一种数据共享方法、装置、系统、设备及介质,能够基于文件存储地址,从数据提供方存储设备中读取第一加密数据,保证了获取数据的安全,并且基于第一对称秘钥对第一加密数据进行解密处理得到解析结果后,基于第二对称秘钥对解析结果进行加密处理得到第二加密数据,并存储至完全信任的数据查询方存储设备中,
从而在保证数据安全的前提下,实现多方平台之间的数据共享,防止了数据查询方等平台泄漏数据、盗取共享数据,避免给数据提供方带来经济损失。
61.图1为本申请实施例提供的数据共享系统的结构示意图。如图1 所示,该系统包括:数据提供方101、数据查询方102和可信执行方 103。
62.数据提供方101与数据查询方102之间存在数据共享的需求。例如,数据查询方102可能需要对多个数据进行融合,或者数据查询方 102使用数据提供方101的数据,需要获得数据提供方101的授权。数据查询方102可以通过可信执行方103对数据提供方101的数据进行处理和使用。
63.可选的,上述数据提供方、数据查询方和可信执行方可以是一个,也可以是多个。该数据提供方、数据查询方可以运行在终端设备或服务器上,其中,终端设备例如可以是台式电脑、笔记本电脑、智能手机、平板电脑、电子书阅读器、智能眼镜、智能手表等设备,但并不局限于此。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。
64.数据提供方101与数据查询方102之间可以通过有线或无线方式进行直接或间接地通信。
65.为了进一步说明本申请实施例提供的技术方案,下面结合附图以及具体实施方式对此进行详细的说明。虽然本申请实施例提供了如下实施例或附图所示的方法操作指令步骤,但基于常规或者无需创造性的劳动在所述方法中可以包括更多或者更少的操作指令步骤。在逻辑上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。所述方法在实际的处理过程中或者装置执行时,可按照实施例或者附图所示的方法顺序执行或者并行执行。
66.请参考图2,图2示出了本申请一实施例提供的数据共享方法的流程示意图。如图2所示,该方法可以由可信执行方执行,该方法包括:
67.s101、接收数据提供方发送的输入信息,输入信息包括第一对称秘钥和文件存储地址。
68.具体的,当数据查询方需要从数据提供方进行数据共享时,可以先获取所有查询条件,为了使得数据查询方向数据提供方隐藏真实的查询条件,需要对所有查询条件进行分解,从而得到分解后的局部查询条件,然后对分解后的局部查询条件进行打包处理,得到查询条件数据包,并将查询条件数据包进行处理,生成数据查询请求。
69.在生成数据查询请求后,数据查询方可以基于安全传输协议,通过数据提供方提供的查询接口向数据提供方发送数据查询请求,该数据查询请求中可以包括局部查询条件,该查询条件为分解后的局部查询条件。其中,该查询接口可以但不限于标准的url格式。
70.可选的,该数据查询请求中可以包括数据查询方的身份信息,其中,该身份信息可以是数据查询方的身份标识,身份标识例如可以是数据查询方的令牌,数据提供方接收并响应于该数据查询请求,基于数据查询方的身份信息验证数据查询方的身份是否合法,以及检验查询条件中包含的查询参数是否合法。需要说明的是,在验证数据查询方的身份信息是否合法时,数据提供方可以获取到所有授权的数据查询方的身份信息,判断授权的数
据查询方的身份信息是否存在发送数据查询请求的数据查询方的身份信息,当存在时,则判断数据查询方的身份为合法,当不存在时,则判断数据查询方的身份为不合法,停止对数据查询方进行数据共享。
71.当数据提供方判断数据查询方的身份为合法且查询条件中包含的查询参数为合法时,基于数据查询请求,从本地的数据中心中查询符合该局部查询条件的查询结果,并将查询结果在可信加密单元中进行加密处理,得到第一加密数据。
72.其中,数据提供方可以采用对称加密算法对所述查询结果进行加密处理,得到第一加密数据、第一对称秘钥、与第一加密数据对应的消息验证码,并记录第一加密数据、第一对称秘钥、与第一加密数据对应的消息验证码。其中,该消息验证码为数据指纹,用于验证该第一加密数据是否被篡改。
73.数据提供方可以基于安全传输协议,通过写入接口将第一加密数据写入远程的数据提供方存储设备中,可选的,写入接口可以但不限于标准的url格式。数据提供方存储设备向数据提供方返回第一加密数据对应的文件存储地址。
74.数据提供方在接收到文件存储地址后,向可信执行方注册输入信息,该输入信息包括但不限于与第一加密数据对应的文件存储地址、第一对称秘钥、与第一加密数据对应的消息验证码。可信执行方基于文件存储地址,计算与文件存储地址对应的数据指纹,并检验数据指纹与第一加密数据对应的消息验证码是否一致,得到注册结果并发送至数据提供方。当注册结果指示数据指纹与第一加密数据对应的消息验证码一致时,表示该第一加密数据没有被篡改,即数据提供方在可信执行方注册成功;当注册结果指示数据指纹与第一加密数据对应的消息验证码不一致时,表示可信执行方不能信任该第一加密数据,该第一加密数据可能被篡改,即数据提供方在可信执行方注册失败,可信执行方提示数据提供方注册输入信息失败。
75.s102、接收数据查询方发送的输出信息,输出信息包括数据存储地址和第二对称秘钥。
76.本步骤中,数据查询方可以指定远程数据查询方存储设备中的数据存储地址和第二对称秘钥,并将该数据存储地址和第二对称秘钥作为输出信息,通过安全传输协议向可信执行方注册输出信息。该输出信息可以包括但不限于数据存储地址和第二对称秘钥。
77.其中,数据存储地址为待写入数据的存储地址,第二对称秘钥用于对待写入数据进行加密,以保证待写入数据的安全性。待写入数据可以是可信执行方处理后的解析结果。
78.s103、基于文件存储地址,从数据提供方存储设备中读取第一加密数据,第一加密数据是数据提供方基于查询条件,在本地数据中心查询符合查询条件的查询结果,并将查询结果进行加密处理后存储在数据提供方存储设备中的。
79.s104、基于第一对称秘钥对第一加密数据进行解密处理得到解析结果。
80.s105、基于第二对称秘钥对解析结果进行加密处理,得到第二加密数据并发送至数据查询方,以使得数据查询方基于数据存储地址,将第二加密数据存储至数据查询方存储设备中。
81.可信执行方在接收到数据查询方发送的输出信息后,基于文件存储地址,从数据提供方存储设备中读取第一加密数据,基于第一对称秘钥对第一加密数据进行解密处理得到解析结果。
82.在基于第一对称秘钥对第一加密数据进行解密处理得到解析结果的过程中,可以接收数据查询方发送的数据解析程序包,该数据解析程序包中携带所有查询条件,可以采用第一对称秘钥对第一加密数据进行解密处理,得到结果数据,并将所有查询条件与结果数据进行计算,得到符合所有查询条件的解析结果,例如可以将所有查询条件与结果数据进行逐一比对。
83.可信执行方在得到解析结果后,可以采用对称加密算法,使用第二对称秘钥对解析结果进行加密处理,得到第二加密数据并发送至数据查询方,以使得数据查询方基于数据存储地址,将第二加密数据存储至数据查询方存储设备中。
84.本实施例提供的数据共享方法,可信执行方接收数据提供方发送的输入信息,该输入信息包括第一对称秘钥和文件存储地址,并接收数据查询方发送的输出信息,该输出信息包括数据存储地址和第二对称秘钥,并基于文件存储地址,从数据提供方存储设备中读取第一加密数据,该第一加密数据是数据提供方基于查询条件,在本地数据中心查询符合查询条件的查询结果,并将查询结果进行加密处理后存储在数据提供方存储设备中的,并基于第二对称秘钥对解析结果进行加密处理,得到第二加密数据并发送至数据查询方,以使得数据查询方基于数据查询地址,将第二加密数据存储至数据查询方存储设备中。该技术方案能够基于文件存储地址,从数据提供方存储设备中读取第一加密数据,保证了获取数据的安全,并且基于第一对称秘钥对第一加密数据进行解密处理得到解析结果后,基于第二对称秘钥对解析结果进行加密处理得到第二加密数据,并存储至完全信任的数据查询方存储设备中,从而在保证数据安全的前提下,实现多方平台之间的数据共享,防止了数据查询方等平台泄漏数据、盗取共享数据,避免给数据提供方带来经济损失。
85.图3示出了本申请一实施例提供的数据共享方法的流程示意图。如图2所示,该方法可以由数据查询方执行,该方法包括:
86.s201、向数据提供方发送数据查询请求,数据查询请求包括查询条件。
87.具体的,数据查询方可以获取所有查询条件,并对所有查询条件进行分解,得到分解后的局部查询条件,然后将分解后的局部查询条件进行打包处理,得到查询条件数据包,并对该查询条件数据包进行打包处理,生成数据查询请求。
88.s202、通过安全传输协议向可信执行方注册输出信息,该输出信息包括数据存储地址、第二对称秘钥。
89.数据查询方在生成数据查询请求后,可以基于安全传输协议,通过数据提供方提供的查询接口向数据提供方发送该数据查询请求,使得数据提供方接收并响应于该数据查询请求,并基于局部查询条件,在本地数据中心查询符合局部查询条件的查询结果,并将查询结果进行加密处理后存储在数据提供方存储设备中。
90.可选的,数据查询方在向数据提供方发送数据查询请求时,该数据查询请求中可以包括数据查询方的身份信息,其中,该身份信息可以是数据查询方的身份标识,身份标识例如可以是数据查询方的令牌,数据提供方接收并响应于该数据查询请求,基于数据查询方的身份信息验证数据查询方的身份是否合法,以及检验查询条件中包含的查询参数是否合法。
91.需要说明的是,数据提供方当判断出该数据查询方的身份为合法且查询条件中包含的查询参数为合法时,可以采用对称加密算法,在可信加密单元中将查询结果进行加密
处理,得到第一加密数据,并基于安全传输协议,通过数据提供方提供的写入接口将第一加密数据写入数据提供方存储设备。数据提供方存储设备返回第一加密数据对应的文件存储地址。
92.数据查询方可以指定远程数据查询方存储设备中的数据存储地址和第二对称秘钥,并基于安全传输协议向可信执行方注册输出信息,该输出信息包括但不限于数据存储地址和第二对称秘钥。
93.s203、向可信执行方发送数据解析程序包,数据解析程序包中携带所有查询条件。
94.s204、接收可信执行方发送的第二加密数据,第二加密数据是可信执行方基于所有查询条件,对第一加密数据进行解析得到解析结果,并通过第二对称秘钥对解析结果进行加密处理得到的,第一加密数据是数据提供方基于局部查询条件,在本地数据中心查询符合局部查询条件的查询结果,并将查询结果进行加密处理后存储在数据提供方存储设备中的。
95.数据查询方在向可信执行方注册输出信息后,可以继续向可信执行方发送数据解析程序包,该数据解析程序包中携带所有查询条件。其中,数据提供方可以预先审核数据查询方的数据解析程序包,得到审核结果。如果审核结果指示审核失败,则数据提供方可以拒绝可信执行方通过运行数据解析程序包,读取输入信息。如果审核结果指示审核成功,则数据提供方可以允许可信执行方通过运行数据解析程序包,读取输入信息。
96.当审核成功后,可信执行方可以基于数据提供方发送的输入信息中的文件存储地址,从数据提供方存储设备中读取第一加密数据,并基于所有查询条件和输入信息中的第一对称秘钥,对该第一加密数据进行解密处理得到解析结果。然后通过数据查询方发送的输出信息中的第二对称秘钥对解析结果进行加密处理得到第二加密数据,并将第二加密数据发送至数据查询方。
97.s205、基于数据存储地址,将第二加密数据存储至数据查询方存储设备中。
98.数据查询方接收可信执行方发送的第二加密数据,并基于数据存储地址,将第二加密数据存储至数据查询方存储设备中,并保存该数据存储地址。
99.在将第二加密数据存储至数据查询方存储设备后,可以基于数据存储地址,从查询方存储设备中查询与数据查询地址对应的查询数据,并基于查询数据执行相应的操作。
100.本实施例中数据查询方能够通过安全传输协议向可信执行方注册输出信息,使得可信执行方基于第一对称秘钥,对第一加密数据解密得到解析结果,并通过第二对称秘钥对解析结果进行加密处理得到第二加密数据,并基于数据存储地址,将第二加密数据存储至数据查询方存储设备中,从而在保证数据安全的前提下实现对数据的可信计算和共享,从而防止平台泄漏和盗取共享数据,避免给数据提供方带来损失。
101.图4示出了本申请一实施例提供的数据共享方法的流程示意图。
102.如图2所示,该方法可以由数据提供方执行,该方法包括:
103.s301、接收并响应于数据查询方发送的数据查询请求,获取局部查询条件。
104.s302、基于局部查询条件,在数据中心查询符合局部查询条件的查询结果。
105.s303、对查询结果在可信加密单元中加密处理,得到第一加密数据。
106.s304、将第一加密数据存储至数据提供方存储设备,并接收与第一加密数据对应的文件存储地址。
107.s305、通过安全传输协议向可信执行方注册输入信息,以使得可信执行方基于输入信息,对第一加密数据进行解密处理得到解析结果。
108.具体的,数据查询方可以基于安全传输协议,通过数据提供方提供的查询接口向数据提供方发送查询请求,数据提供方接收并响应于数据查询方发送的数据查询请求,获取局部查询条件,并基于局部查询条件,在数据中心进行数据模糊查询,得到符合局部查询条件的查询结果。
109.其中,当数据提供方在数据中心进行模糊查询的过程中,当未查询到符合该局部查询条件的查询结果时,可以通过消息通知的方式告知数据查询方发送未查询到结果,也可以是采用随机算法填充无效的数据集。
110.数据提供方在得到查询结果后,可以在可信加密单元中对查询结果进行加密处理,得到第一加密数据,并基于安全传输协议,通过写入接口将第一加密数据存储至远程的数据提供方存储设备中,并接收与第一加密数据对应的文件存储地址。
111.其中,可以采用对称加密算法对查询结果进行加密处理,得到第一对称秘钥、与第一加密数据对应的消息验证码,并记录第一对称秘钥、与第一加密数据对应的消息验证码。
112.数据提供方可以通过安全传输协议向可信执行方发送注册输入信息,以使得可信执行方基于输入信息,对第一加密数据进行解密处理得到解析结果。其中,该输入信息还包括与第一加密数据对应的消息验证码和文件存储地址,在通过安全传输协议向可信执行方注册输入信息之后,可信执行方基于文件存储地址,计算与文件存储地址对应的数据指纹,并检验该数据指纹与第一加密数据对应的消息验证码是否一致,得到注册结果并发送至数据提供方。
113.需要说明的是,当注册结果指示数据指纹与第一加密数据对应的消息验证码一致时,表示该第一加密数据没有被篡改,即数据提供方在可信执行方注册成功。当注册结果指示数据指纹与第一加密数据对应的消息验证码不一致时,表示可信执行方不能信任该第一加密数据,该第一加密数据可能被篡改,即数据提供方在可信执行方注册失败,可信执行方提示数据提供方注册输入信息失败。
114.本实施例通过数据提供方接收并响应于数据查询方发送的数据查询请求,获取局部查询条件,并基于局部查询条件,在数据中心查询符合局部查询条件的查询结果,并对查询结果在可信加密单元中加密处理,得到第一加密数据,然后将第一加密数据存储至数据提供方存储设备,并接收与第一加密数据对应的文件存储地址,通过安全传输协议向可信执行方注册输入信息,能够使得可信执行方基于输入信息,对第一加密数据进行解密处理得到解析结果,可以使得第一加密数据在可信执行环境中进行加解密处理,保证了数据安全,实现了数据可信计算和共享,同时避免了其他平台对数据泄漏的风险。
115.为了更清楚地说明本申请,图5为本申请另一实施例提供的数据共享方法的交互示意图。
116.示例性地,请参见图5所示,以行业征信系统中的黑名单共享的场景为例,数据提供方有一批黑名单数据,数据查询方想要通过身份标识查询用户x是否存在数据提供方提供的黑名单中,且用户x的身份标识为110xxx2019xxxx30xx,系统的目标是数据查询方不向数据提供方泄漏用户x的身份标识,同时系统提供方不向数据查询方泄漏任何原始黑名单数据。
117.例如,数据提供方拥有的黑名单数据集合如下表所示:
[0118][0119]
数据查询方先将获取的所有查询条件进行分解,得到分解后的局部查询条件,即将用户x的身份标识id=110xxx2019xxxx30xx分为a、b、c三部分,a=110xxx,b=2019xxxx,c=30xx,数据查询方可以将b部分组成局部查询条件,并基于安全传输协议,通过数据提供方提供的查询接口向数据提供方发送数据查询请求,其中,数据查询方需要提供token等身份信息,即该数据查询请求中可以包括数据查询方的身份信息,其中,身份信息可以是数据查询方的身份标识。数据提供方接收并响应于数据查询请求,解析出该数据查询请求包中的局部查询条件,即b条件,然后通过b条件在本地数据中心查询符合该局部查询条件的查询结果,该查询结果为与b条件匹配的数据集合:
[0120]
r1={“140zzz2019xxxx97xx aa”,“140zzz2019zzzz90zz bb”,“120xxx2019yyyy14yy b”,...,”,“110xxx2019xxxx30xx a”,“430yyy2019zzzz68zz b”,“430yyy2019yyyy99yy cc”};
[0121]
其中,如果数据提供方通过条件b在数据中心进行模糊查询后,数据中心返回的数据集合为空时,则通知数据查询方查无此人,或是使用随机算法填充无效的数据集合r1。
[0122]
数据提供方可以在可信加密单元中将该查询结果进行加密处理,得到第一加密数据,即采用对称加密算法对数据集合r1进行对称加密处理,得到(clipher_text_1,clipher_text_1_cmac)=encrypt(key1, r1),其中,key1为第一对称秘钥,clipher_text_1为对数据集合r1加密处理后的第一加密数据,clipher_text_1_cmac为第一加密数据对应的消息验证码,数据提供方通过安全传输协议将第一加密数据 clipher_text_1写入至数据提供方远程存储设备中,数据提供方存储设备向数据提供方发送与第一加密数据对应的文件存储地址,该文件存储地址可以是url1地址。
[0123]
数据提供方通过安全传输协议向可信执行方注册输入信息input1,该输入信息包括文件存储地址url1地址、第一对称秘钥key1、与第一加密数据对应的消息验证码clipher_text_1_cmac。
[0124]
如果可信执行方中记录数据提供方的注册输入信息input1的过程中,检测到第一加密数据对应的消息验证码clipher_text_1_cmac和基于文件存储地址url1地址读取的第一加密数据clipher_text_1计算出来的数据指纹不一致,则提示数据提供方注册信息失败;如果消息验证码clipher_text_1_cmac和基于文件存储地址url1地址读取的第一加密数据clipher_text_1计算出来的数据指纹一致,则表示数据提供方注册信息成功。其中,token在计算机身份证中是令牌标记的意思,表示访问控制操作主体的系统对象。
[0125]
数据查询方指定远程存储设备的数据存储地址url2地址,并获取第二对称秘钥
key2,通过安全传输协议向可信执行方注册输出信息,该输出信息包括数据存储地址url2地址、第二对称秘钥key2。然后向可信执行方发送数据解析程序包,该数据解析程序包中携带所有查询条件,可信执行方基于数据解析程序包,运行数据解析程序,基于文件存储地址url1地址,从数据提供方存储设备读取第一加密数据 clipher_text_1,并基于第一对称秘钥key1对第一加密数据 clipher_text_1进行解密处理,得到结果数据,并将所有查询条件与结果数据进行计算,得到符合所有查询条件的解析结果,即接收用户x 的身份标识id=110xxx2019xxxx30xx,并读取数据提供方的输入信息input1,由于可信执行方保存了input1的第一对称秘钥key1和文件存储地址url1地址,所以可信执行方解密得到r1的数据节后。由于可信执行方自身使用的技术,数据解析运行程序和操作系统自身均无法偷窥到r1数据集合和第一对称秘钥key1。
[0126]
可选的,上述提供方可以预先审核数据查询方提供的数据解析运行程序包,如果审核失败,则数据提供方可以决绝数据解析运行程序读取输入信息input1。
[0127]
数据解析运行程序将用户x的身份标识 id=110xxx2019xxxx30xx和r1数据集合逐一比对,得到符合所述所有查询条件的解析结果,即得到符合身份证id的记录r2= {“110xxx2019xxxx30xx a”}。通过安全传输协议写入至数据查询方通过output1信息提供的url2指向的远程的数据存储设备中。
[0128]
由于可信执行方保存了output1的第二对称秘钥key2,所以可信执行方可以采用对称加密算法,使用第二对称秘钥key2对解析结果 r2进行加密处理,得到第二加密数据,并通过安全传输协议将第二加密数据写入数据存储地址url2指向的远程查询方存储设备中。由于可信执行方自身的安全保密性,使得数据解析运行程序和操作系统自身无法偷窥到第二对称秘钥key2。
[0129]
数据查询方可以通过第二对称秘钥key2和文件存储地址url2,将第二加密数据还原为解析结果r2,得到身份标识id= 110xxx2019xxxx30xx的信用等级为a。
[0130]
本实施例中,数据查询方没有泄漏完整、待查询的用户身份证id,同时数据提供方也未泄漏原始的用户数据,且保证了数据的可信计算和共享,从而防止平台泄漏和盗取共享数据,避免给数据提供方带来经济损失。
[0131]
应当注意,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
[0132]
图6为本申请实施例提供的数据共享装置的结构示意图。如图6 所示,该装置可以包括:
[0133]
第一接收模块610,用于接收数据提供方发送的输入信息,输入信息包括第一对称秘钥和文件存储地址;
[0134]
第二接收模块620,用于接收数据查询方发送的输出信息,输出信息包括数据存储地址和第二对称秘钥;
[0135]
读取模块630,用于基于文件存储地址,从数据提供方存储设备中读取第一加密数据,第一加密数据是数据提供方基于局部查询条件,在本地数据中心查询符合局部查询条件的查询结果,并将查询结果进行加密处理后存储在数据提供方存储设备中的;
[0136]
解密模块640,用于基于第一对称秘钥对第一加密数据进行解密处理得到解析结果;
[0137]
加密模块650,用于基于第二对称秘钥对解析结果进行加密处理,得到第二加密数据并发送至数据查询方,以使得数据查询方基于数据存储地址,将第二加密数据存储至数据查询方存储设备中。
[0138]
可选的,上述装置还用于:
[0139]
基于文件存储地址,计算与文件存储地址对应的数据指纹;
[0140]
检验数据指纹与第一加密数据对应的消息验证码是否一致,得到注册结果并发送至数据提供方。
[0141]
可选的,上述解密模块640,具体用于:
[0142]
接收数据查询方发送的数据解析程序包,数据解析程序包中携带所有查询条件;
[0143]
采用第一对称秘钥对第一加密数据进行解密处理,得到结果数据;
[0144]
将所有查询条件与结果数据进行计算,得到符合所有查询条件的解析结果。
[0145]
可选的,上述加密模块650,具体用于:
[0146]
采用对称加密算法,使用第二对称秘钥对解析结果进行加密处理,得到第二加密数据。
[0147]
图7为本申请实施例提供的数据共享装置的结构示意图。如图7 所示,该装置可以包括:
[0148]
发送模块710,用于向数据提供方发送数据查询请求,数据查询请求包括局部查询条件;
[0149]
注册模块720,用于通过安全传输协议向可信执行方注册输出信息,输出信息包括数据存储地址、第二对称秘钥;
[0150]
接收模块730,用于接收可信执行方发送的第二加密数据,第二加密数据是可信执行方基于第一对称秘钥,对第一加密数据进行解密得到解析结果,并通过第二对称秘钥对解析结果进行加密处理得到的,第一加密数据是数据提供方基于局部查询条件,在本地数据中心查询符合局部查询条件的查询结果,并将查询结果进行加密处理后存储在数据提供方存储设备中的;
[0151]
存储模块740,用于基于数据存储地址,将第二加密数据存储至数据查询方存储设备中。
[0152]
可选的,上述装置,还用于:
[0153]
获取所有查询条件;
[0154]
对所有查询条件进行分解,得到分解后的局部查询条件;
[0155]
对局部查询条件进行打包处理,得到查询条件数据包;
[0156]
将查询条件数据包进行处理,生成数据查询请求。
[0157]
可选的,上述装置,还用于:
[0158]
向可信执行方发送数据解析程序包,数据解析程序包中携带所有查询条件,以使得可信执行方采用第一对称秘钥,对第一加密数据进行解密处理得到结果数据,并将所有查询条件与结果数据进行计算,得到符合所有查询条件的解析结果。
[0159]
可选的,上述装置,还用于:
[0160]
基于数据存储地址,从查询方存储设备中查询与数据查询地址对应的第二加密数据;
[0161]
采用第二对称秘钥对第二加密数据进行解密处理,得到查询数据;
[0162]
基于查询数据执行相应的操作。
[0163]
图8为本申请实施例提供的数据共享装置的结构示意图。如图8 所示,该装置可以包括:
[0164]
获取模块810,用于接收并响应于数据查询方发送的数据查询请求,获取局部查询条件;
[0165]
查询模块820,用于基于局部查询条件,在数据中心查询符合局部查询条件的查询结果;
[0166]
处理模块830,用于对查询结果在可信加密单元中加密处理,得到第一加密数据;
[0167]
存储模块840,用于将第一加密数据存储至数据提供方存储设备,并接收与第一加密数据对应的文件存储地址;
[0168]
注册模块850,用于通过安全传输协议向可信执行方注册输入信息,以使得可信执行方基于输入信息,对第一加密数据进行解密处理得到解析结果。
[0169]
可选的,上述装置还用于:
[0170]
在可信加密单元中采用对称加密算法对查询结果进行加密处理,得到第一对称秘钥、与第一加密数据对应的消息验证码;
[0171]
记录第一对称秘钥、与第一加密数据对应的消息验证码。
[0172]
本实施例提供的数据共享装置,可以执行上述方法的实施例,其实现原理和技术效果类似,在此不再赘述。
[0173]
另一方面,如图1所示,本申请示出了数据共享系统的示例性结构框图,该系统包括数据查询方102、数据提供方101和可信执行方 103。
[0174]
可信执行方103用于接收数据提供方101发送的输入信息,并接收数据查询方102发送的输出信息,该输入信息包括第一对称秘钥和文件存储地址,输出信息包括数据存储地址和第二对称秘钥;以及用于基于文件存储地址,从数据提供方存储设备中读取第一加密数据,并基于第一对称秘钥对第一加密数据进行解密处理得到解析结果,使用第二对称秘钥对解析结果进行加密处理,得到第二加密数据并发送至数据查询方;
[0175]
数据查询方102用于向数据提供方101发送数据查询请求,并通过安全传输协议向可信执行方注册输出信息,接收可信执行方发送的第二加密数据,并基于数据存储地址,将第二加密数据存储至数据查询方存储设备中;
[0176]
数据提供方用于接收并响应于数据查询方发送的数据查询请求,获取局部查询条件,并基于局部查询条件,在数据中心查询符合局部查询条件的查询结果,对查询结果在可信加密单元中加密处理,得到第一加密数据,并将第一加密数据存储至数据提供方存储设备,并接收与第一加密数据对应的文件存储地址。
[0177]
下面参考图9,其示出了适于用来实现本申请实施例的运行有数据提供方或数据查询方的计算机系统1000的结构示意图。
[0178]
如图9所示,计算机系统1000包括中央处理单元(cpu)1001,其可以根据存储在只读存储器(rom)1002中的程序或者从存储部分 1008加载到随机访问存储器(ram)1003中的
程序而执行各种适当的动作和处理。在ram1003中,还存储有系统1000操作所需的各种程序和数据。cpu1001、rom1002以及ram1003通过总线1004彼此相连。输入/输出(i/o)接口1006也连接至总线1004。
[0179]
以下部件连接至i/o接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如lan 卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至 i/o接口1006。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
[0180]
特别地,根据本公开的实施例,上文参考图2

5描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行图2

5的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。
[0181]
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,前述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0182]
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器包括第一接收模块、第二接收模块、读取模块、解密模块及加密模块。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定,例如,第一接收模块还可以被描述为“用于接收数据提供方发送的输入信息,所述输入信息包括所述第一对称秘钥和文件存储地址”。
[0183]
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如上述实施例中所述的数据共享方法。
[0184]
例如,所述电子设备可以实现如图1中所示的:步骤s101,接收数据提供方发送的输入信息,所述输入信息包括第一对称秘钥和文件存储地址;步骤s102,接收数据查询方发送的输出信息,所述输出信息包括数据存储地址和第二对称秘钥;步骤s103,基于所述文件存储地址,从数据提供方存储设备中读取第一加密数据,所述第一加密数据是所述数据提供方基于局部查询条件,在本地数据中心查询符合所述局部查询条件的查询结果,并将所述查询结果进行加密处理后存储在数据提供方存储设备中的;步骤s104,基于所述第一对
称秘钥对所述第一加密数据进行解密处理得到解析结果;步骤s105,基于所述第二对称秘钥对所述解析结果进行加密处理,得到第二加密数据并发送至所述数据查询方,以使得所述数据查询方基于所述数据存储地址,将所述第二加密数据存储至数据查询方存储设备中。
[0185]
又如,所述电子设备可以实现如图3和图4中所示的各个步骤。
[0186]
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
[0187]
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。
[0188]
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1