一种数据处理方法、系统、设备和计算机可读存储介质与流程

文档序号:25878723发布日期:2021-07-16 18:15阅读:92来源:国知局
一种数据处理方法、系统、设备和计算机可读存储介质与流程

1.本发明涉及云环境中数据处理技术领域,尤其涉及一种数据处理方法、数据处理系统、设备以及计算机可读存储介质。


背景技术:

2.随着云计算的快速发展,云端数据存储得到了广泛的应用,另一方面,在云端数据存储、分享过程中产生了一系列数据安全问题,相对技术中,采用了同态加密(homomorphic encryption,he)、代理重加密(proxy re-encryption,pre)、cryptdb等方案,可以实现对在云端存储的密文数据的计算、查询和数据分享。
3.然而,对于he、pre以及cryptdb而言,它们更关注数据在云端进行的计算和查询处理,只能实现加密后的共享数据的整体共享,而无法按照用户的实际需求实现加密后的共享数据的有针对性的灵活共享。


技术实现要素:

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.当检测到第三实体发送的数据共享请求时,基于所述数据共享请求,向第四实体发送第一数据的确定请求;其中,所述第一数据的确定请求携带有数据共享证书;所述第四实体用于表示管理所述数据共享证书的实体;其中,所述第一数据为共享数据的全部或部分数据;
48.接收所述第三实体发送的第一数据获取方式;其中,所述第一数据获取方式用于表示在所述第一实体中获取第一数据的方式。
49.一种数据处理设备,所述数据处理设备包括:
50.第三处理器和第一数据收发器;
51.其中,所述第一数据收发器,用于接收第一实体发送的第一数据的确定请求;所述第一实体用于表示存储共享数据的实体;所述第一数据是所述共享数据的全部或部分数据;
52.所述第三处理器,用于当检测到所述第一数据收发器接收到所述第一数据的确定请求时,获取所述第一数据的确定请求中的数据共享证书;所述第一数据是所述共享数据的全部或部分数据;
53.所述第三处理器,还用于基于所述数据共享证书,确定第一数据获取方式;其中,所述第一数据获取方式用于表示从所述第一实体中获取所述第一数据的方式;
54.所述第一数据收发器,还用于发送第一数据获取方式至所述第一实体。
55.一种数据处理设备,所述数据处理设备应用于第一实体中,所述第一实体用于表示存储共享数据的实体;所述数据处理设备包括:
56.第四处理器和第二数据收发器;
57.其中,所述第二数据收发器,用于接收第三实体发送的数据共享请求;
58.所述第四处理器,用于当检测到所述第二数据收发器收到所述数据共享请求时,基于所述数据共享请求,向第四实体发送第一数据的确定请求;其中,所述第一数据的确定请求携带有数据共享证书;所述第四实体用于表示管理所述数据共享证书的实体;其中,所述第一数据为共享数据的全部或部分数据;所述数据共享请求用于表示所述第三实体对所述第一数据的共享请求;
59.所述第二数据收发器,还用于接收所述第四实体发送的第一数据获取方式;其中,
所述第一数据获取方式用于表示在所述第一实体中获取第一数据的方式。
60.一种计算机可读存储介质,所述计算机存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如前任一项所述的数据处理方法的步骤。
61.本发明实施例所提供的数据处理方法、数据处理设备以及计算机可读存储介质,当检测到第一实体发送的第一数据的确定请求时,获取第一数据的确定请求中的数据共享证书;其中,所述第一实体用于表示存储共享数据的实体;所述第一数据是所述共享数据的全部或部分数据;基于数据共享证书,确定第一数据获取方式;其中,第一数据获取方式用于表示从第一实体中获取第一数据的方式;发送第一数据获取方式至第一实体。
62.由此,本发明实施例提供的数据处理方法、系统、设备以及计算机可读存储介质,数据处理设备仅根据存储共享数据的实体即第一实体的第一数据的确定请求,就可以确定与第一数据对应的第一数据获取方式,因而实现了第一实体中存储的共享数据的有针对性的数据灵活共享。
附图说明
63.图1为本发明实施例提供的第一种数据处理方法的流程示意图;
64.图2为本发明实施例提供的第二种数据处理方法的流程示意图;
65.图3为本发明实施例提供的第三种数据处理方法的流程示意图;
66.图4a为本发明实施例提供的第四种数据处理方法的流程示意图;
67.图4b为本发明实施例提供的第五种数据处理方法的流程示意图;
68.图5为本发明实施例提供的数据处理方法的实现流程图;
69.图6为本发明实施例提供的数据处理方法中对原始数据加密获得共享数据过程图;
70.图7为本发明实施例提供的数据处理方法中明文获取、第二密钥获取以及第一密钥确定过程图;
71.图8为本发明实施例提供的数据处理方法中第三实体对第二数据解密流程图;
72.图9为本发明实施例提供的第一种数据处理系统的结构图;
73.图10为本发明实施例提供的第二种数据处理系统的结构图;
74.图11为本发明实施例提供的第一种数据处理设备的结构图;
75.图12为本发明实施例提供的第二种数据处理设备的结构图。
具体实施方式
76.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
77.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
78.本发明提供的数据处理方法,涉及云环境中数据处理技术领域,尤其涉及一种数据处理方法、系统、设备和计算机可读存储介质,具体涉及一种云环境中隐私数据的共享方法。
79.随着云计算的快速发展,以及个人、企业对其越来越巨大的数据存储量的存储需
求,越来越多的个人、企业选择将其数据存储在云端。将数据存储在云端,极大的解决了个人和企业的数据存储不便的问题,也缓解了个人和企业的存储设备存储能力有限、计算能力较低的问题。
80.然而,另一方面,个人和企业存储在云端的数据,很容易受到攻击。比如恶意服务器可能试图分析外包数据,或者好奇的服务器管理员可能会为了某些目的而偷看敏感数据。相关技术中,作为数据拥有者的个人和企业,通常会采用将数据存储至云端之前,将数据进行加密的方案来保护其数据的私密性和安全性,但对数据明文进行加密,得到密文,再将密文存储在云端,使得云端服务器对数据的处理受限,因此,会降低云服务的质量,进而,也会使得基于云端的数据共享难以实现。
81.为了使得云端存储的数据安全性得到保证,并且,使得云端存储的数据可以在不同的个人之间、企业之间进行数据共享,相关技术中提供了一系列数据加密处理方案。
82.同态加密方案,即he方案,是一种对称加密算法,同态加密是一类具有特殊自然属性的加密方法,与一般加密算法相比,同态加密除了能实现基本的加密操作之外,还能实现密文间的多种计算功能,即先计算后解密可等价于先解密后计算。这个特性对于保护信息的安全具有重要意义,利用同态加密技术可以先对多个密文进行计算之后再解密,不必对每一个密文解密而花费高昂的计算代价;利用同态加密技术可以实现无密钥方对密文的计算,密文计算无须经过密钥方,既可以减少通信代价,又可以转移计算任务,由此可平衡各方的计算代价;利用同态加密技术可以实现让解密方只能获知最后的结果,而无法获得每一个密文的消息,可以提高信息的安全性。
83.同态加密的这一特性使用户的数据和隐私可以得到相应的安全保障,因此,同态加密被应用于许多现实场景来保证数据的安全。例如,银行需要在不暴露交易数据的前提下授权第三方数据处理中心对交易数据进行分析。银行为了保证数据的机密性,把交易数据加密后,再交给第三方数据处理中心来进行分析、处理。第三方数据处理中心得到加密数据后,进行分析得出结果,然后返回结果给银行。在这个过程中,第三方数据处理中心得到的仅仅是交易数据的密文,所以它的操作都是在加密数据的基础上完成的,故此数据处理中心并不知晓交易数据的明文。
84.he可以分为完全同态加密(fully homomorphic encryption,fhe)和部分同态加密方案(somewhat homomorphic encryption,swhe)。虽然完全同态加密方案具有重要的理论意义,但其效率还远远不能满足实际应用场景的需求。部分同态加密方案作为完全同态加密方案的一个更有效的解决方案,可以有效地进行任意次数的同态加法和一定数量的同态乘法运算。
85.代理重加密(proxy re-encryption,pre)被设计用于云环境中的隐私数据共享。在代理重加密方案中,a想和b共享一些隐私数据,但是她不愿意把密钥共享给b。a用她的公钥pk
a
加密她的数据,并将加密的数据发送给一个半可信的云服务提供商。pre方案允许a向云服务提供商提供与b相关的重加密密钥rk
a

b
。云服务提供商可以利用重加密密钥重新加密起初用a的公钥pk
a
加密的密文,该过程可以将用pk
a
加密的密文转换成可以用b的私钥sk
b
解密的密文,且不会泄露关于私钥sk
a
和sk
b
以及密文的任何信息。然而,在pre方案中,数据拥有者需要为不同的用户生成不同的重加密密钥。更糟的是,数据拥有者需要事先决定数据与共享用户的对应关系。如果数据拥有者不能预知数据共享策略,那么数据拥有者需要
重新下载、加密数据。因此,代理重加密不适合数据不断增加,且共享请求来自不同用户的场景。
86.cryptdb是一个著名的加密系统,它允许云服务提供商在密文上处理查询。cryptdb采用洋葱式嵌套现有简单的可搜索加密算法,通过云服务供应商不同程度的解密来实现一些具体的计算。
87.但是在上述各种加密方案中,对于he、pre以及cryptdb而言,它们更关注数据在云端进行的计算和查询处理,但是无法按照用户的实际需求实现加密数据的灵活共享,而只能实现整体加密数据的共享,并且,在pre方案中,数据拥有者需要提前确定其与共享用户的之间的共享关系,因此,pre并不适合数据量变化较快、且共享请求来源多样化的共享方案。
88.在实际的数据共享中,有一种情况是,用户希望获得满足一定条件的共享数据,而不是全部数据。这种情况下,用户没有必要从云服务提供商下载所有的数据,这可能会导致额外的工作量。因此,数据共享方案应该考虑用户对共享数据的计算需求问题。而上述各种数据加密方案中,无法帮助用户实现其获取其满足一定条件的云端数据中的部分数据,而不是全部数据的目的。
89.基于以上各种数据加密方案中的缺陷,本发明实施例提供了一种数据处理方法,该数据处理方法可以是由数据处理设备的处理器等来实现的,具体的,该数据处理设备可以是可信第三方机构的实体,如图1所示,该方法包括以下步骤:
90.步骤101、当检测到第一实体发送的第一数据的确定请求时,获取第一数据的确定请求中的数据共享证书。
91.其中,第一实体用于表示存储共享数据的实体;第一数据是共享数据的全部或部分数据。
92.在步骤101中,第一实体用于表示存储共享数据的实体,具体地,第一实体,可以是云端服务器实体。
93.在一种实施方式中,第一实体可以是云服务提供商的提供的实体(cloud service provider,csp)。
94.在一种实施方式中,第一实体可以是aws(amazing website serive),或者,azure。其中,aws是云计算服务平台,aws面向用户提供包括弹性计算、存储、数据库、物联网在内的一整套云计算服务,帮助企业降低it投入和维护成本。azure的主要目标是为开发者提供一个平台,帮助开发可运行在云服务器、数据中心、网页和计算机上的应用程序。云计算的开发者能使用微软全球数据中心的储存、计算能力和网络基础服务。
95.在步骤101中,共享数据,是第二实体提供的数据,并且,该共享数据是基于原始数据或明文经过加密之后的数据;其中,第二实体,可以是数据拥有者(data owner,do)。
96.在一种实施方式中,共享数据,可以是第二实体对明文数据根据需要执行加密操作后得到的数据。
97.在一种实施方式中,共享数据,可以是第二实体对明文数据经过第一加密操作和第二加密操作之后,上传至第一实体的。其中,第一加密操作与第二加密操作不同。
98.在步骤101中,数据共享证书,用于表示对数据完整性和安全性鉴权进行检测的依据。
99.在一种实施方式中,数据共享证书,可以是数字证书。数字证书,是一串能够表明网络用户身份信息的数字,提供了一种在计算机网络上验证网络用户身份的方式,因此数字证书又称为数字标识。数字证书对网络用户在计算机网络交流中的信息和数据等以加密或解密的形式保证了信息和数据的完整性和安全性。在数字认证技术中,数字证书的内容经过证书认证机构(certificate authority,ca)的认证和签名,用于保证数据的完整性,在对数字证书进行传输和存储时也必须保证其完整性。
100.数字证书,具备安全性、唯一性和便利性的特点。数字证书按照用户身份的不同而给予其相应的访问权限。
101.在一种实施方式中,数据共享证书,可以是为证明公钥(public key)的共享证书,由ca认证和签名。其中,公钥是密钥对中公开的部分,公钥通常用于加密会话密钥、验证数字签名,或加密可以用相应的私钥解密的数据。私钥则是非公开的部分。使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。比如用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密,否则解密将不会成功。
102.在步骤101中,第一数据的确定请求,表示用于确定第一数据的请求。
103.在一种实施方式中,第一数据的确定请求,可以用于表示从共享数据中确定第一数据的请求。
104.在一种实施方式中,第一数据的确定请求,还可以用于表示从共享数据中确定出与第一数据相关的数据信息的请求,比如,第一数据的数据量大小。
105.在一种实施方式中,第一数据的确定请求,还可以用于表示从共享数据中确定出与第一数据与共享数据关系的请求,比如,第一数据占用共享数据的比例,以及,第一数据是否存在共享数据中。
106.步骤102、基于数据共享证书,确定第一数据获取方式。
107.其中,第一数据获取方式用于表示从第一实体中获取第一数据的方式。
108.在一种实施方式中,第一数据获取方式,可以用于表示从第一实体中获取第一数据的方式,比如是从第一实体的存储第一数据的地址中获取第一数据。
109.相应地,基于数据共享证书,确定第一数据获取方式的实现方式,可以是:
110.基于数据共享证书的完整性、有效性以及数据共享证书中携带的鉴权信息,确定第一数据在第一实体中存储的地址。
111.在一种实施方式中,第一数据获取方式,可以用于表示从第一实体中获取第一数据的方式,比如是从第一实体的存储第一数据的数据存储路径中获取第一数据。
112.相应地,基于数据共享证书,确定第一数据获取方式的实现方式,可以是:
113.基于数据共享证书的完整性、有效性以及数据共享证书中携带的鉴权信息,确定第一数据在第一实体中的数据存储路径。
114.在一种实施方式中,第一数据获取方式,可以表示从第一实体中获取第一数据存储方式的方式,如此,可以基于该数据存储方式,获取第一数据。比如,第一数据存储在第一实体的数据库中,需要从数据库中获取第一数据,那么,第一数据获取方式,则表示需要从第一实体的数据库中获取第一数据。
115.相应地,基于数据共享证书,确定第一数据获取方式的实现方式,可以是:基于数据共享证书的完整性、有效性以及数据共享证书中携带的鉴权信息,确定第一数据在第一
实体的数据库中的存储地址。
116.更进一步地,基于数据共享证书,确定第一数据获取方式的实现方式,可以是:
117.基于数据共享证书的完整性、有效性以及数据共享证书中携带的鉴权信息,确定第一数据存储在第一实体的哪个具体的数据库中,以及在该数据库中的哪个位置存储。
118.在一种实施方式中,第一数据获取方式,还可以用于表示从第一实体中能否获取第一数据。
119.相应地,基于数据共享证书,确定第一数据获取方式的实现方式,可以是:
120.基于数据共享证书的完整性、有效性以及数据共享证书中携带的鉴权信息,确定第一数据是否存储在第一实体中。若第一数据存储在第一实体中,则可以从第一实体中获取第一数据,若第一数据并未存储在第一实体中,则无法从第一实体中获取第一数据。
121.步骤103、发送第一数据获取方式至第一实体。
122.在步骤103中,数据处理设备将第一数据获取方式发送至第一实体,以供第一实体根据第一数据获取方式得到第一数据。
123.在本发明实施例提供的数据处理方法中,当检测到第一实体发送的第一数据的确定请求时,获取第一数据的确定请求中的数据共享证书,基于该数据共享证书,确定第一数据获取方式,并将第一数据获取方式发送至第一实体。因此,在本发明实施例所提供的数据处理方法中,数据处理设备仅根据存储共享数据的实体即第一实体的第一数据的确定请求,就可以确定与第一数据对应的第一数据获取方式,因而使得第一实体的数据共享操作更加灵活,针对性更强,用户体验更好。
124.基于前述实施例,本发明实施例提供了一种数据处理方法,该方法由数据处理设备实现,如图2所示,该方法包括如下步骤:
125.步骤201、当检测到第一实体发送的第一数据的确定请求时,获取第一数据的确定请求中的数据共享证书。
126.其中,第一实体用于表示存储共享数据的实体;第一数据是共享数据的全部或部分数据。
127.步骤202、基于数据共享证书以及共享数据索引表,确定第一数据索引。
128.其中,共享数据索引表存储有共享数据中每一数据块的地址索引;第一数据索引用于表示第一数据在第一实体中的存储位置。
129.在步骤202中,第一数据索引,表示第一数据在第一实体中的存储位置,可以是第一数据在第一实体中的物理存储位置。
130.在一种实施方式中,第一数据索引,表示的第一数据在第一实体中的存储位置,可以是第一数据在第一实体中的逻辑存储位置,比如文件路径。
131.在一种实施方式中,第一数据索引,表示的第一数据在第一实体中的存储位置,可以是第一数据在第一实体中数据库中的存储位置。
132.在一种实施方式中,第一数据索引,表示的第一数据在第一实体中的存储位置,可以是第一数据在第一实体中某一数据库中的存储位置,比如,第一数据存储在第一实体的第一数据库中的存储位置。
133.在步骤202中,共享数据中每一数据块,用于表示第二实体在第一实体中存储的共享数据的每一数据块。
134.在一种实施方式中,在do将可共享的共享数据存储至第一实体之前,已经将共享数据进行了切块划分,得到至少两个数据块,这些数据块可以包括第1数据块至第n数据块。其中,n为大于或等于2的整数。
135.相应地,第一实体根据自身的存储规则和计算规则,为每一数据块都分配存储空间,每一存储空间都有对应的存储地址,由此,至少两个数据块,至少对应两个数据块的存储地址,即第一地址、第二地址,以及第n地址;那么,至少两个数据块,对应至少两个地址索引,即第一索引,第二索引,以及第n索引,由此,数据共享索引表中存储有至少两个地址索引。
136.在一种实施方式中,do存储至第一实体的可共享的共享数据,可以只有一个数据块。
137.相应地,第一实体为该唯一的数据块分配了存储空间,该存储空间对应的有位移的存储地址,那么,该数据块对应唯一的一个地址索引,数据共享索引表中存储有该共享数据唯一的一个地址索引。
138.在一种实施方式中,do将加密后的可共享的共享数据,存储至至少两个第一实体,相应地,至少两个第一实体中的每一实体,都为共享数据中的每一数据块分配了存储空间,每一存储空间都有对应的地址索引,因此,共享数据索引表中存储有至少两个第一实体中存储的共享数据的每一数据块的地址索引。
139.在步骤202中,基于共享证书以及共享数据索引表,确定的第一数据索引,可以是表示共享数据的全部数据的索引。
140.在一种实施方式中,基于共享证书以及共享数据索引表,确定的第一数据索引,可以是基于共享证书以及数据索引表,确定出共享数据的部分数据的索引。
141.在一种实施方式中,基于共享证书以及共享数据索引表,确定的第一数据索引,可以是基于共享证书以及数据索引表,确定出共享数据中第一数据的一个地址索引。
142.在一种实施方式中,基于共享证书以及共享数据索引表,确定的第一数据索引,可以是基于共享证书以及数据索引表,确定出共享数据中第一数据的至少两个地址索引。
143.步骤203、基于第一数据索引以及第一数据的确定请求,确定第一数据获取方式。
144.在步骤203中,基于第一数据索引以及第一数据的确定请求,确定第一数据获取方式,可以通过步骤a1-a2来实现:
145.步骤a1、基于第一数据的确定请求和第一密钥表,确定第一密钥。
146.其中,第一密钥表存储有共享数据中每一数据块的密钥;第一密钥用于表示第一数据在第一实体中的解密密钥。
147.在步骤a1中,第一密钥,表示第一数据在第一实体中的解密密钥。
148.在一种实施方式中,第一密钥,可以用于表示第一数据在第一实体中的解密方法,比如,解密所采用的算法,解密所采用的方案。
149.对应地,第一密钥表中,存储有第一数据在第一实体中解密的至少一种解密方法。
150.在一种实施方式中,第一密钥,可以是第一数据在第一实体中执行第一解密操作时所使用的解密密钥。
151.对应地,第一密钥表中,存储有第一数据在第一实体中解密的至少一种解密密钥。
152.在一种实施方式中,第一密钥,可以是第一数据在第一实体中执行第一解密操作
时所用的解密密钥对应的公钥。
153.对应地,第一密钥表中,存储有第一数据在第一实体中执行第一解密操作时所用的解密密钥对应的公钥。
154.在一种实施方式中,第一密钥表中存储的第一密钥,还可以用于表示第一数据在不同的第一实体中的解密方式。
155.在一种实施方式中,第一密钥表中存储的第一密钥,还可以用于表示第一数据在不同的第一实体中的解密密钥。
156.在一种实施方式中,第一密钥表中存储的第一密钥,还可以用于表示第一数据在不同的第一实体中执行第一解密操作时所用的解密密钥对应的公钥。
157.在步骤a1中,基于第一数据的确定请求和第一密钥表,确定的第一密钥,可以是第一数据在第一实体中的解密方式。
158.在步骤a1中,基于第一数据的确定请求和第一密钥表,确定的第一密钥,可以是第一数据在第一实体中的解密密钥。
159.在步骤a1中,基于第一数据的确定请求和第一密钥表,确定的第一密钥,可以是第一数据在第一实体中执行第一解密操作时所用的解密密钥对应的公钥。
160.步骤a2、基于第一数据索引以及第一密钥,确定第一数据获取方式。
161.在步骤a2中,基于第一数据索引,可得到第一数据在第一实体中的存储位置。
162.在步骤a2中,基于第一密钥,可以确定第一数据的解密方式、解密密钥,或者,与解密密钥对应的公钥。
163.那么,基于第一数据索引以及第一密钥,就可以在第一实体中获取共享数据中的第一数据,并且,将第一数据进行解密的密钥,由此,可以确定第一数据获取方式。
164.在一种实施方式中,在步骤a2之前,还可以通过步骤b1-b2来实现:
165.步骤b1、接收第二实体发送的共享数据鉴权消息。
166.其中,第二实体用于表示第一实体存储的共享数据的数据来源实体。
167.在步骤b1中,第二实体用于表示第一实体中存储的可共享的共享数据的数据来源实体。
168.在一种实施方式中,第二实体可以是do。
169.在一种实施方式中,第二实体可以是个人类型的do。
170.在一种实施方式中,第二实体可以是企业或社会组织类型的do。
171.在步骤b1中,数据处理设备接收的第二实体发送的共享数据鉴权消息,可以包括共享数据在第一实体中的加密信息。
172.在一种实施方式中,共享数据鉴权消息,不仅可以包括共享数据在第一实体中的加密信息,还可以包括共享数据中每一数据块的划分信息。
173.在一种实施方式中,共享数据鉴权消息,不仅可以包括共享数据在第一实体中的加密信息、共享数据中每一数据块的划分信息,还可以包括共享数据中每一数据块的数据共享证书。
174.在一种实施方式中,共享数据鉴权消息,不仅可以包括共享数据在第一实体中的加密信息、共享数据中每一数据块的划分信息、包括共享数据中每一数据块的数据共享证书,还可以包括时间戳,其中,时间戳中携带的时间信息,以及时间顺序信息,可以有效地防
止第二实体与数据处理设备之间的消息重复发送,以及篡改等数据攻击行为的发生。
175.步骤b2、基于共享数据鉴权消息,得到第一密钥表。
176.在步骤b2中,数据处理设备,可以从数据共享鉴权消息中,得到共享数据中在第一实体中的加密信息,基于该加密信息,得到第一密钥表。
177.在一种实施方式中,数据处理设备,可以从数据共享鉴权消息中,得到共享数据中在第一实体中的解密信息,基于该解密信息,得到第一密钥表。
178.在一种实施方式中,步骤b2,还可以通过步骤c1-c2来实现:
179.步骤c1、基于共享数据鉴权消息,得到共享数据中每一数据块的第一密钥。
180.在步骤c1中,共享数据中每一数据块的第一密钥,可以相同,也就是说,在第一实体中存储的共享数据中的每一数据块,可以采用相同的加密密钥、或者加密方式执行加密操作。
181.相应地,基于共享数据鉴权消息,得到共享数据中每一数据块的第一密钥,可以是一个密钥,或者,一种加密方式。
182.在一种实施方式中,共享数据中每一数据块的第一密钥,可以不同,也就是说,在第一实体中存储的共享数据中的每一数据块,可以采用不同的加密密钥执行加密操作。具体地,可以根据每一数据块在共享数据中重要性权重对其执行不同的加密操作。
183.相应地,基于共享数据鉴权消息,得到共享数据中每一数据块的第一密钥,可以是不同的加密密钥,或者,不同的加密方式。
184.在一种实施方式中,若共享数据只有一个数据块,则对应地,共享数据鉴权消息中仅包括与该唯一的数据块对应的唯一第一密钥。
185.步骤c2、基于每一数据块的第一密钥,建立第一密钥表。
186.在一种实施方式中,若共享数据中的每一数据块均使用相同的加密密钥或加密方式,那么,第一密钥表中包括与每一数据块对应的加密密钥,或者,加密方式。
187.在一种实施方式中,若共享数据仅被划分为唯一一个数据块,则第一密钥表中包括与该唯一的数据块对应的第一密钥。
188.在一种实施方式中,在步骤202之前,还可以执行步骤d1-d2:
189.步骤d1、接收第二实体发送的共享数据鉴权消息。
190.其中,第二实体用于表示第一实体存储的共享数据的数据来源实体;
191.步骤d2、基于共享数据鉴权消息,建立共享数据索引表。
192.在一种实施方式中,步骤d2,还可以通过步骤e1-步骤e2来实现:
193.步骤e1、基于共享数据鉴权消息,获取共享数据中每一数据块的地址索引。
194.在一种实施方式中,共享数据鉴权消息中,可以包括共享数据中的每一数据块在第一实体中的逻辑存储位置,那么,共享数据中每一数据块的数据索引就是共享数据中的每一数据块在第一实体中的逻辑存储位置。
195.相应地,基于共享数据鉴权消息,建立的共享数据索引表,包括共享数据中的每一数据块的地址索引,即共享数据中每一数据块在第一实体中的逻辑存储位置,那么,共享数据中每一数据块的数据索引就是共享数据中的每一数据块在第一实体中的逻辑存储位置。
196.在一种实施方式中,共享数据鉴权消息中,可以包括共享数据中的每一数据块在第一实体中的物理存储位置,那么,共享数据中每一数据块的数据索引就是共享数据中的
每一数据块在第一实体中的物理存储位置。
197.相应地,基于共享数据鉴权消息,建立的共享数据索引表,包括共享数据中的每一数据块的地址索引,即共享数据中的每一数据块在第一实体中的物理存储位置。
198.在一种实施方式中,共享数据鉴权消息中,可以包括共享数据中的每一数据块在第一实体中的数据库中的存储位置,那么,共享数据中每一数据块的数据索引就是共享数据中的每一数据块在第一实体中的数据库中的逻辑存储位置。
199.相应地,基于共享数据鉴权消息,建立的共享数据索引表,可以包括共享数据中的每一数据块的地址索引,即共享数据中的每一数据块在第一实体中的数据库中的存储位置。
200.在一种实施方式中,共享数据鉴权消息中,可以包括共享数据中的每一数据块在第一实体中的某一数据库中的存储位置。那么,共享数据中每一数据块的数据索引就是共享数据中的每一数据块在第一实体中的某一数据库中的逻辑存储位置。
201.相应地,基于共享数据鉴权消息,建立的共享数据索引表,可以包括共享数据中的每一数据块的地址索引,即共享数据中的每一数据块在第一实体中的某一数据库中的存储位置。
202.步骤e2、基于每一数据块的地址索引,建立共享数据索引表。
203.在步骤e2中,将共享数据中每一数据块的地址索引,并将地址索引按照一定的计算方式进行计算并存储,从而建立共享数据索引表。
204.步骤204、发送第一数据获取方式至第一实体。
205.本发明实施例提供的数据处理方法,当检测到第一实体发送的第一数据的确定请求时,获取第一数据的确定请求中的数据共享证书,然后基于数据共享证书以及共享数据索引表,确定第一数据索引,并基于第一数据索引以及第一数据的确定请求,确定第一数据获取方式,最后将第一数据获取方式发送至第一实体。
206.由此,本发明实施例提供的数据处理方法中,数据处理实体可以根据事先建立的共享数据索引表中以及第一数据的确定请求,确定第一数据在第一实体中的存储位置,并且根据第一密钥表以及第一数据的确定请求,确定第一数据在第一实体中的解密方式,从而使得第一实体可以灵活的获取共享数据中的指定部分,并且将该指定部分进行解密,所以,本发明实施例提供的数据处理方法,使得共享数据的实现过程更加灵活,用户体验更好。
207.基于前述实施例,本发明实施例提供了一种数据处理方法,该数据处理方法由数据处理设备执行,该数据处理方法可以通过如下步骤来实现:
208.步骤301、当检测到第三实体发送的数据共享请求时,基于数据共享请求,向第四实体发送第一数据的确定请求。
209.其中,第一数据的确定请求携带有数据共享证书;第四实体用于表示管理数据共享证书的实体;其中,第一数据为共享数据的全部或部分数据;数据共享请求用于表示第三实体对第一数据的共享请求。
210.在步骤301中,第三实体,用于表示对共享数据具有共享需求的实体。
211.在一种实施方式中,第三实体,可以是想要获取共享数据中的全部或部分数据的设备实体,具体的,可以是个人用户拥有的电子设备。
212.在一种实施方式中,第三实体,可以是想要获取共享数据中的全部或部分数据的企业或社会组织的设备实体,具体的,可以是企业或社会组织用户拥有的电子设备。
213.在步骤301中,第四实体,用于表示管理数据共享证书的实体,具体地,可以是可信第三方机构(trusted agency,ta)的实体。
214.第四实体,用于表示管理数据共享证书的实体。
215.在一种实施方式中,第四实体,可以是数据共享系统中可信的管理机构的实体,该实体为所有参与共享数据的存储、查询、请求、获取的实体和网络节点设备用户分配一对公钥/私钥对,并提供密钥管理服务,另一方面,该实体还可以接收do定义的共享数据的共享策略,并基于该共享策略,处理第一实体,即云端存储实体的第一数据的确定请求。
216.在步骤301中,数据共享请求,用于表示第三实体对共享数据中的第一数据的共享请求。
217.在一种实施方式中,数据共享请求中,包括了第三实体想要请求的共享数据中第一数据中包括的共享数据的一个数据块,或者某些数据块的数据共享证书。
218.在步骤301中,当检测到需要共享数据的第三实体发送的数据共享请求后,获取数据共享请求中的与第一数据相关的信息,得到第一数据的确定请求,并向第四实体发送第一数据的确定请求。
219.步骤302、接收第四实体发送的第一数据获取方式。
220.其中,第一数据获取方式用于表示在第一实体中获取第一数据的方式。
221.在步骤302中,第一数据获取方式是第四实体通过前述实施例中步骤101-102,或者,步骤201-步骤203中的操作确定的。
222.本发明实施例提供的数据处理方法,当检测到第三实体发送的数据共享请求时,基于数据共享请求,向第四实体发送第一数据的确定请求,并接收第四实体发送的第一数据获取方式。因此,本发明实施例提供的数据处理方法实现的过程中,数据处理设备接收第三实体发送的数据共享请求后,并不直接响应数据共享请求,而是解析数据共享请求,并将得到的第一数据的确定请求转发至第四实体,数据处理设备根据第四实体提供的第一数据获取方式执行数据共享操作,从而使得数据共享更加灵活,针对性更强。并且,数据处理设备不再直接操作共享数据,也无法获知共享数据的内容,进一步保证了数据分享过程中的安全性。
223.基于前述实施例,本发明实施例提供了一种数据处理方法,如图4a所示,该方法包括以下步骤:
224.步骤401、当检测到第三实体发送的数据共享请求时,基于数据共享请求,获取数据共享证书。
225.在一种实施方式中,从第三实体发送的数据共享请求中,获取数据共享证书。
226.在一种实施方式中,可以从数据共享请求中,获取与第一数据对应的一个数据块的共享证书。
227.在一种实施方式中,可以从数据共享请求中,获取与第一数据对应的至少两个数据块的共享证书。
228.在一种实施方式中,可以从数据共享请求中,获取第一数据中部分数据块的共享证书。
229.在一种实施方式中,可以从数据共享请求中,获取第一数据中全部数据块的共享证书。
230.步骤402、基于数据共享证书以及数据共享请求,得到第一数据的确定请求。
231.在一种实施方式中,从数据共享请求中获取与第一数据相关的其他数据信息,结合数据共享证书,得到第一数据的确定请求。
232.在一种实施方式中,从数据共享请求中,获取第三实体发送请求的时间信息,并将第一实体自身的时间信息进行填充,结合数据共享证书,得到第一数据的确定请求。
233.步骤403、向第四实体发送第一数据的确定请求。
234.步骤404、接收第四实体发送的第一数据获取方式。
235.本发明实施例提供的数据处理方法,当检测到第三实体发送的数据共享请求时,基于数据共享请求,获取数据共享证书,然后基于数据共享证书以及数据共享请求,得到第一数据的确定请求,并将第一数据的确定请求发送至第四实体,接收第四实体返回的第一数据获取方式,并基于该第一数据获取方式,执行第一数据的确定和第一解密操作,进而将解密之后仍然为密文的第二数据发送至第三实体。
236.由此,本发明实施例提供的数据处理方法中,数据处理设备无法得知共享数据的存储位置,也无法得知共享数据对应的明文信息,而是基于第四实体的指示对共享数据进行查找和第一解密操作,使得第三实体仅能获取共享数据中依然为密文的全部或部分数据,从而使得共享数据的共享过程更加可信,更加灵活,针对性更强。
237.基于前述实施例,本申请实施例提供了一种信息处理方法,如图4b所示,该信息处理方法包括如下步骤:
238.步骤501、当检测到第三实体发送的数据共享请求时,基于数据共享请求,向第四实体发送第一数据的确定请求。
239.其中,第一数据的确定请求携带有数据共享证书;第四实体用于表示管理数据共享证书的实体;第一数据为共享数据的全部或部分数据;数据共享请求用于表示第三实体对第一数据的共享请求。
240.步骤502、接收第四实体发送的第一数据获取方式。
241.其中,第一数据获取方式用于表示在第一实体中获取第一数据的方式。
242.步骤503、基于第一数据获取方式,得到第一密钥。
243.其中,第一密钥,用于表示第一实体解密第一数据的密钥。
244.基于前述实施例的说明,第一数据获取方式中,携带了解密第一数据所需要的第一密钥。因此,可以基于第一数据获取方式,得到第一密钥。
245.步骤504、基于第一数据获取方式,得到第一数据索引。
246.其中,第一数据索引,用于表示第一数据在第一实体中的存储地址。
247.基于前述实施例的说明,第一数据获取方式中,携带了第一数据索引。因此,可以基于第一数据获取方式,得到第一数据索引。
248.在一种实施方式中,步骤504之后,还可以执行步骤g1-g2:
249.步骤g1、基于第一数据索引,确定第一数据;
250.在步骤g1中,第一实体可以基于第一数据索引,确定第一数据在第一实体中的存储位置,其中,该存储位置可以为逻辑存储地址或者物理存储地址。
251.相应地,第一实体可以根据第一数据在第一实体中的存储位置,确定第一数据。
252.步骤g2、基于第一密钥解密第一数据,得到第二数据。
253.其中,第二数据是第二实体使用第二密钥对原始数据加密后的数据;第一数据用于表示使用第一密钥对第二数据加密后的数据;第二实体用于表示第一实体中存储的共享数据的数据来源实体。
254.在步骤g2中,原始数据,可以是第二实体需要存储在第一实体中的明文数据。
255.在步骤g2中,第二数据,可以是第二实体使用第二密钥对明文数据执行第一次加密操作后的数据。
256.在步骤g2中,第一数据,可以是第二实体使用第一密钥对第二数据执行第二次加密操作后的数据。
257.也就是说,在本发明实施例中,第二实体分别使用第二密钥和第一密钥对原始数据,即明文执行了两次加密操作,并将加密之后的数据存储至第一实体中。
258.在第一实体获知第一密钥的条件下,第一实体可以使用第一密钥对第一数据执行第一解密操作,从而得到第二数据。
259.在一种实施方式中,在步骤g2之后,还可以执行如下步骤h1:
260.步骤h1、发送第二数据至第三实体,以供第三实体使用第二密钥解密第二数据,得到目标数据。
261.由前述实施方式的说明可知,第二数据,仍然是密文,是第二实体使用第二密钥加密之后的数据。
262.第三实体想要拿到与第一数据对应的明文,仍然需要执行一次解密操作,即第二解密操作。
263.在本发明实施例中,为了保证第三实体可以对第二数据执行第二解密操作,还需要在步骤401之前执行如下操作:
264.第三实体接收第二实体发送的共享数据的数据获取信息;第三实体基于该数据获取信息,得到数据共享证书以及第二密钥。
265.在一种实施方式中,共享数据中的每一数据块的数据共享证书以及第二密钥均不同。
266.在一种实施方式中,共享数据中的每一数据块的数据共享证书以及第二密钥可以相同。
267.在一种实施方式中,第三实体获取到了第二实体发送的共享数据的中全部数据块的数据共享证书以及第二密钥。
268.在一种实施方式中,第三实体获取到了第二实体发送的共享数据的中部分数据块的数据共享证书以及第二密钥。
269.由此,第三实体,可以基于第二密钥解密第二数据,得到期望的数据明文。
270.本申请实施例提供的数据处理方法,当检测到第三实体发送的数据共享请求时,基于数据共享请求,向第四实体发送第一数据的确定请求,接收第四实体发送的第一数据获取方式,基于第一数据获取方式,得到第一密钥,基于第一数据获取方式,得到第一数据索引。由此,本申请实施例提供的数据处理方法中,数据处理设备接收第三实体发送的数据共享请求后,并不直接响应数据共享请求,而是解析数据共享请求,并将得到的第一数据的
确定请求转发至第四实体,数据处理设备根据第四实体提供的第一数据获取方式获取第一密钥和第一数据索引,从而实现了在保证共享数据安全性的条件下,可以灵活的共享数据。
271.基于前述实施例,本发明实施例提供了一种数据处理方法的具体流程,如图5所示。
272.本发明实施例提供的一种数据处理方法中的第一实体,可以是csp,是提供公共云服务的实体。它拥有高性能的机器和功能强大的数据库软件,为数据拥有者存储和管理数据。云服务提供商还接收来自用户的共享请求,并将请求转发给受信任的权威机构以验证用户的权限,并提供计算、存储和下载服务。它可以与用户协作,通过对外包的加密数据执行特定计算,从而让用户获得有用的共享数据。
273.本发明实施例提供的一种数据处理方法中的第二实体,可以是在图5中的do,do是拥有数据并将加密数据外包给公有云的实体。do通常是使用存储和处理能力有限的移动设备的用户。do需要经常与其他用户共享云中存储的敏感数据。数据拥有者定义共享策略以与授权用户共享数据,并将策略发送给可信的第三方,共享政策由第三方执行。
274.本发明实施例提供的一种数据处理方法中的第三实体,可以是图5中的user,是需要获取有用的存储在云服务提供商中的共享数据的实体。在数据拥有者授权后,它可以申请从云服务提供商处下载共享数据,并使用数据拥有者提供的解密密钥解密数据。
275.本发明实施例提供的一种数据处理方法中的第四实体,可以是图5中的ta,ta是安全的数据共享系统中的可信管理机构,它为所有参与系统的实体分配一对公/私密钥对,并提供密钥服务。它接收数据拥有者定义的共享策略并为数据拥有者执行该策略。
276.下面将在图5的基础上,对本发明提供的数据处理方法进行详细的说明。
277.首先,将在下文的数据处理方法流程中需要用到的符号在表1中进行说明。在表1中,aes是密码学中的高级加密标准(advanced encryption standard,aes);n是一个较大的值,并且,n用于表示基于共享数据处理算法所能承载的数据量。
278.[0279][0280]
表1
[0281]
在图5中,在整个数据分享过程开始之前,首先由do将原始数据,即明文执行第一加密过程和第二加密过程,得到共享数据,并将共享数据存储至csp中。
[0282]
do将data
x
的数据共享证书、data
x
的地址索引通过消息msg1发送给ta,并且,在msg1发送之前,还需要绑定t,可以有效防止消息重复和篡改攻击,具体的,msg1所携带的消息内容如下所示:
[0283][0284]
其中,cert=cert(data
x
),为data
x
的数据共享证书,index=index_data
x
,为data
x
的地址索引。并且,msg1使用ta的公钥pk
ta
加密,这样可以保证只有ta能够解密并获得该消息的内容。
[0285]
同时,do还需要将data
x
的数据共享证书、发送至user,以保证user在向csp发送数据共享请求时,可以将数据共享证书携带在数据共享请求中,并且,user还可以使用对第二数据执行第二解密操作,从而得到需要的明文数据。具体地,do发送给user的消息msg2如下:
[0286][0287]
其中,cert=cert(data
x
)。en(sk
do
,cert)用于表示经过do签名的数据共享证书。由于msg2是使用user的公钥加密的,因此只有拥有解密密钥的user才能获得msg2的消息内容。同样地,msg2也包含时间戳,可以有效防止重复和篡改攻击。为了防止伪造和篡改,do将签名过后的共享证书发送给user。
[0288]
当user想要请求共享数据中的全部或部分数据,即第一数据时,可以向csp发送数据共享请求,在数据共享请求中,携带有do发送的签名之后的共享证书,具体地,user发送给csp的数据共享请求msg3如下所示:
[0289]
msg3=en(pk
csp
,request||en(sk
do
,cert)||t)
[0290]
其中request用于表示包含用户的查询,data
*
=data
x
×
data
y
,data
*
是由数据块data
x
和数据块data
y
通过乘法计算得到的。这里,cert=(cert(data
x
),cert(data
y
))。为了
保证msg3只能由csp解密而不能被攻击者窃取,user用csp的公钥加密msg3,并且为其绑定了时间戳。正如上文所述,时间戳可以有效防止篡改和重复攻击。
[0291]
csp在收到数据共享请求之后,根据该数据共享请求,通过执行前述实施例中步骤301,或者,步骤401-步骤402的操作,可以得到第一数据的确定请求,并将其发送至ta,具体地,csp发送至ta的第一数据的确定请求msg4如下所示:
[0292]
msg4=en(pk
ta
,en(sk
do
,cert(data
x
))||en(sk
do
,cert(data
y
))||t)
[0293]
同样地,msg4也是由ta的公钥密码并且绑定了时间戳t,以防止攻击。en(sk
do
,cert(data
x
))和en(sk
do
,cert(data
y
))分别表示数据块data
x
和data
y
的经过sk
do
的数据共享证书,并且,msg4使用ta公钥pk
ta
加密,可以保证只有ta可以对msg4执行解密操作,获取msg4所包含的上述数据块的数据共享证书。
[0294]
ta在收到第一数据的确定请求之后,基于第一数据的确定请求,通过执行前述实施例中步骤101-102,或者,步骤201-203中的操作,从而确定第一数据获取方式,并将第一数据获取方式发送至csp,具体地,ta发送至csp的消息msg5如下所示:
[0295][0296]
其中,index=(index_data
x
,index_data
y
)。result用于表示ta根据第一数据的确定请求确定的结果,包括第一密钥和第一数据索引index。
[0297]
具体地,ta获得user的共享证书cert(data
x
)和cert(data
y
)后,ta查询共享数据索引表来获得数据块data
x
和data
y
对应的第一数据索引index_data
x
和index_data
y
,同时,还需要将csp解密的密钥第一密钥,即和一并添加至msg5中,以供csp对共享数据执行第一解密操作。为了保护msg5,ta用csp的公钥加密msg5并绑定了时间戳t。
[0298]
csp在收到第一数据获取方式的消息msg5之后,基于第一数据索引分别获取data
x
和data
y
,并进行乘法计算,得到第一数据,然后使用第一密钥对第一数据执行第一解密操作,然后将解密之后得到的第二数据即en(data
*
)发送至user,其中csp发送至user的消息msg6如下所示:
[0299]
msg6=en(pk
user
,en(data
*
)||t)
[0300]
其中,msg6使用user的公钥pk
user
加密,这样可以保证只有user才可以对msg6执行解密操作。
[0301]
user收到msg6后,从msg6中获得csp第二数据en(data
*
),并用密钥从第二数据中来恢复数据块data
*
,data
*
=data
x
×
data
y
。其中,。其中,为user解密en(data
*
)的密钥。
[0302]
具体的,本发明给出一个具体的实施例来解释上述数据处理过程,如图6所示,可以设置g=2,n=35。用户user想要在csp中存储的共享数据中获取共享数据中的数据块a和b对应的明文数据的乘积c=a*b。
[0303]
do将和发送给ta。do将
发送给user。同时,do用密钥和分别加密列a和b,如图6所示。do用行编号r、列密钥和为每行生成项密钥key
item
。每个项都是由行编号和对应的项密钥进行加密的。例如,第1行的项密钥是:,
[0304][0305]
利用项密钥加密第1行的明文,得到的密文en(a)的值是:
[0306]
data
a
·
(key
item
)-1
modn=2
·
(8)-1
mod35=9
[0307]
分别使用以上方法对a执行运算,可以得到en(a)为[9,22,34]。
[0308]
do使用对en(a)进行aes加密,得到e(a)为[9,22],用对en(b)进行aes加密,得到e(b)为[31,29],并将加密后的数据存储在csp。其中,(key
item
)-1
表示key
item
关于1模n的乘法逆元,即(key
item
)-1
key
item modn=1。
[0309]
user发送包含查询c=a
×
b的数据共享请求给csp。计算过程如图7所示。在收到ta发送的第一数据获取方式之后,csp从msg5中获得和以对加密的列a和b进行第一解密操作。并计算c的密文。对于c中的第1行,项的值为en(a)
×
en(b)modn=9
×
31mod35=34。用户用和生成列c的列密钥,
[0310]
如图8所示,用户使用计算c的明文。对于第1行,通过项密钥key
item
来计算项的值key
item
×
en(c)modn=29
×
34mod35=6。
[0311]
需要说明的是,在图6、7、8中,e(r)用于表示加密之后的列数据的行号。
[0312]
经过以上计算过程,本发明实施例提供的数据处理方法,在csp无法得知共享数据具体内容和存储地址的前提下,在ta的第一数据获取方式的协助下,可以对共享数据执行计算,并且,可以支持user获取的是其所需要的目标数据,从而使得共享数据的共享过程更加灵活,针对性更强。
[0313]
由此,本发明实施例提供的数据处理方法,可以实现不向半信任的云服务提供商透漏用户敏感数据,do只需要将数据加密并存储至csp,然后将数据认证信息发送给user,并不需要do事先确定与user之间的对应关系,也不需要因为共享数据发生改变、或者共享数据日益庞大而执行重新构建上述对应关系,以及,下载全部共享数据,并更新共享数据中的加密方案的操作,因此,本发明实施例提供的数据处理方法,降低了do通信和计算成本,使得do和user可以获得更灵活、更便捷的数据共享服务。
[0314]
基于前述实施例,本发明实施例提供了一种数据处理系统5,如图9所示,该数据处理系统5包括:第一处理器51、第一存储器52和第一通信总线53,其中:
[0315]
第一通信总线53用于实现第一处理器51和第一存储器52之间的通信连接。
[0316]
第一处理器51用于执行第一存储器52中存储的数据处理方法的程序,以实现如下步骤:
[0317]
当检测到第一实体发送的第一数据的确定请求时,获取第一数据的确定请求中的
数据共享证书;其中,第一实体用于表示存储共享数据的实体;第一数据是共享数据的全部或部分数据;
[0318]
基于数据共享证书,确定第一数据获取方式;其中,第一数据获取方式用于表示从第一实体中获取第一数据的方式;
[0319]
发送第一数据获取方式至第一实体。
[0320]
本发明实施例提供的数据处理系统,当检测到第一实体发送的第一数据的确定请求时,获取第一数据的确定请求中的数据共享证书,然后确定第一数据获取方式,最后将第一数据获取方式发送至第一实体。
[0321]
由此,本发明实施例提供数据处理系统使得第一实体可以灵活的确定共享数据中的指定部分,使得共享数据的实现过程更加灵活,用户体验更好。
[0322]
基于前述实施例,本发明实施例提供了一种数据处理系统6,如图10所示,该数据处理系统6包括:第二处理器61、第二存储器62和第二通信总线63,其中:
[0323]
第二通信总线63用于实现第二处理器61和第二存储器62之间的通信连接。
[0324]
第二处理器61用于执行第二存储器62中存储的应用于第一实体中的数据处理方法的程序,其中,第一实体表示存储共享数据的实体,以实现如下步骤:
[0325]
当检测到第三实体发送的数据共享请求时,基于数据共享请求,向第四实体发送第一数据的确定请求;其中,第一数据的确定请求携带有数据共享证书;第四实体用于表示管理数据共享证书的实体;其中,第一数据为共享数据的全部或部分数据;数据共享请求用于表示第三实体对第一数据的共享请求;
[0326]
接收第四实体发送的第一数据获取方式;其中,第一数据获取方式用于表示在第一实体中获取第一数据的方式。
[0327]
由此,本发明实施例提供的数据处理系统无需得知共享数据的存储位置,也无需得知共享数据对应的明文信息,而只能基于第四实体的指示对共享数据执行操作,使得第三实体可以获取共享数据中依然为密文的全部或部分数据,从而使得共享数据的共享过程更加安全可信,更加灵活,针对性也更强。
[0328]
基于前述实施例,本发明实施例提供了一种数据处理设备7,如图11所示,该数据处理设备7包括第三处理器71和第一数据收发器72;
[0329]
其中,第一数据收发器72,用于接收第一实体发送的第一数据的确定请求;第一实体用于表示存储共享数据的实体;第一数据是共享数据的全部或部分数据;
[0330]
第三处理器71,用于当检测到第一数据收发器接收到第一数据的确定请求时,获取第一数据的确定请求中的数据共享证书;第一数据是共享数据的全部或部分数据;
[0331]
第三处理器71,还用于基于数据共享证书,确定第一数据获取方式;其中,第一数据获取方式用于表示从第一实体中获取第一数据的方式;
[0332]
第一数据收发器72,还用于发送第一数据获取方式至第一实体。
[0333]
在本发明的其他实施例中,第三处理器71,用于基于数据共享证书,确定第一数据获取方式,包括:
[0334]
基于数据共享证书以及共享数据索引表,确定第一数据索引;其中,共享数据索引表存储有共享数据中每一数据块的地址索引;第一数据索引用于表示第一数据在第一实体中的存储位置;
[0335]
基于第一数据索引以及第一数据的确定请求,确定第一数据获取方式。
[0336]
在本发明的其他实施例中,第三处理器71,用于基于第一数据索引以及第一数据的确定请求,确定第一数据获取方式,包括:
[0337]
基于第一数据的确定请求和第一密钥表,确定第一密钥;其中,第一密钥表存储有共享数据中每一数据块的密钥;第一密钥用于表示第一数据在第一实体中的解密密钥;
[0338]
基于第一数据索引以及第一密钥,确定第一数据获取方式。
[0339]
在本发明的其他实施例中,第三处理器71,用于基于第一数据的确定请求和第一密钥表,确定第一密钥之前,还包括:
[0340]
接收第二实体发送的共享数据鉴权消息;其中,第二实体用于表示第一实体存储的共享数据的数据来源实体;
[0341]
基于共享数据鉴权消息,得到第一密钥表。
[0342]
在本发明的其他实施例中,第三处理器71,用于基于数据共享证书以及共享数据索引表,确定第一数据索引之前,还包括:
[0343]
接收第二实体发送的共享数据鉴权消息;其中,第二实体用于表示第一实体存储的共享数据的数据来源实体;
[0344]
基于共享数据鉴权消息,建立共享数据索引表。
[0345]
由此,本发明实施例提供的数据设备可以根据事先建立的共享数据索引表中以及第一数据的确定请求,确定第一数据在第一实体中的存储位置,并且根据第一密钥表以及第一数据的确定请求,确定第一数据在第一实体中的解密方式,从而使得第一实体可以灵活的获取共享数据中的指定部分,并且将该指定部分进行解密,所以,本发明实施例提供的数据处理设备,使得共享数据的实现过程更加灵活,更加能够满足实际共享数据的需求,用户体验更好。
[0346]
基于前述实施例,本发明实施例提供了一种数据处理设备8,数据处理设备8应用于第一实体中,第一实体用于表示存储共享数据的实体;如图12所示,其中,数据处理设备8包括第四处理器81和第二数据收发器82;其中,
[0347]
第二数据收发器82,用于接收第三实体发送的数据共享请求;
[0348]
第四处理器81,用于当检测到第二数据收发器82收到数据共享请求时,基于数据共享请求,向第四实体发送第一数据的确定请求;其中,第一数据的确定请求携带有数据共享证书;第四实体用于表示管理数据共享证书的实体;其中,第一数据为共享数据的全部或部分数据;数据共享请求用于表示第三实体对第一数据的共享请求;
[0349]
第二数据收发器82,还用于接收第四实体发送的第一数据获取方式;其中,第一数据获取方式用于表示在第一实体中获取第一数据的方式。
[0350]
在本发明的其他实施方式中,第四处理器81,还用于基于数据共享请求,获取数据共享证书;
[0351]
基于数据共享证书以及数据共享请求,得到第一数据的确定请求。
[0352]
在本发明的其他实施方式中,第四处理器81,还用于在第二数据收发器82接收第四实体发送的第一数据获取方式之后,还用于:
[0353]
基于第一数据获取方式,得到第一密钥;其中,第一密钥,用于表示第一实体解密第一数据的密钥;
[0354]
基于第一数据获取方式,得到第一数据索引;其中,第一数据索引,用于表示第一数据在第一实体中的存储地址。
[0355]
在本发明的其他实施方式中,第四处理器81,还用于:
[0356]
基于第一数据索引,确定第一数据;
[0357]
基于第一密钥解密第一数据,得到第二数据;其中,第二数据是第二实体使用第二密钥对原始数据加密后的数据;第二实体用于表示第一实体中存储的共享数据的数据来源实体。
[0358]
在本发明的其他实施方式中,第二数据收发器82,还用于:
[0359]
发送第二数据至第三实体,以供第三实体使用第二密钥解密第二数据,得到目标数据。
[0360]
基于此,本发明实施例提供的数据处理设备,当检测到第三实体发送的数据共享请求时,基于数据共享请求,获取数据共享证书,然后基于数据共享证书以及数据共享请求,得到第一数据的确定请求,并将第一数据的确定请求发送至第四实体,接收第四实体返回的第一数据获取方式,并基于该第一数据获取方式,执行第一数据的确定和第一解密操作,进而将解密之后仍然为密文的第二数据发送至第三实体。
[0361]
因此,在数据处理设备确定第一数据并发送第二数据至第三实体的过程中,数据处理设备对其存储的共享数据的存储位置、以及获取共享数据对应的明文的方式是未知的,其可以根据第四实体发送的第一数据获取方式来确定第一数据,并基于第一数据得到第二数据,所以,本发明实施例提供的数据处理设备的数据处理过程针对性更强。
[0362]
基于前述实施例,本发明实施例提供了一种计算机可读存储介质,该计算机存储介质存储有一个或者多个程序,一个或者多个程序可被一个或者多个处理器执行,以实现图1-2或图3-4任一所述的数据处理方法的步骤。
[0363]
上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述
[0364]
本申请所提供的各方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
[0365]
本申请所提供的各产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
[0366]
本申请所提供的各方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
[0367]
需要说明的是,上述计算机可读存储介质可以是只读存储器(read only memory,rom)、可编程只读存储器(programmable read-only memory,prom)、可擦除可编程只读存储器(erasable programmable read-only memory,eprom)、电可擦除可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、磁性随机存取存储器(ferromagnetic random access memory,fram)、快闪存储器(flash memory)、磁表面存储器、光盘、或只读光盘(compact disc read-only memory,cd-rom)等存储器;也可以是包括上述存储器之一或任意组合的各种电子设备,如移动电话、计算机、平板设备、个人数字助理等。
[0368]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排
他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0369]
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0370]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所描述的方法。
[0371]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0372]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0373]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0374]
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1