一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

信息共享方法、装置、设备及存储介质与流程

2022-07-31 08:03:54 来源:中国专利 TAG:


1.本发明涉及密码技术领域,尤其涉及一种信息共享方法、装置、设备及存储介质。


背景技术:

2.当前,随着互联网技术的发展,对于个人信息的私密性防护要求也越来越高,例如,在医学领域中,个人健康信息共享的应用可以有助于提高医生诊断的准确性。
3.但是,在实现信息共享的传统技术中,个人信息通常外包给第三方(如云服务提供商),在这种情况下,用户可能会失去对自身信息的直接控制,且云服务提供商存在篡改或泄露个人信息的情况,导致信息在共享时的私密性和完整性较差。


技术实现要素:

4.本发明提供一种信息共享方法、装置、设备及存储介质,其主要目的是保障信息共享的私密性和完整性。
5.为实现上述目的,本发明提供了一种信息共享方法,包括:
6.获取待共享的加密信息,将所述加密信息及所述加密信息对应的哈希值存储至预设区块链中,并将所述加密信息及所述加密信息对应的哈希值分别记录为信息id与信息哈希值id,其中,所述加密信息包括对称加密密文及属性加密密文;
7.接受访问所述加密信息的访问请求,根据所述访问请求及所述信息id,从所述预设区块链中读取所述加密信息包括的对称加密密文及属性加密密文,并对所述属性加密密文执行属性解密,得到第一解密明文;
8.创建所述对称加密密文的关键字索引,根据所述第一解密明文及所述对称加密密文生成关键字令牌,并利用所述关键字令牌执行所述关键字索引,得到所述对称加密密文中的索引数据,对所述对称加密密文中的索引数据执行对称解密,得到第二解密明文;
9.根据所述信息哈希值id,查询所述预设区块链中与所述第二解密明文对应的所述加密信息,得到共享信息。
10.可选地,所述对所述属性加密密文执行属性解密,得到第一解密明文,包括:
11.获取所述属性加密密文的属性公钥、属性私钥及属性访问树,其中,所述访问树包括多个子节点和一个父节点;
12.遍历所述访问树,得到每个子节点返回的子属性值,将所述子属性值进行累积得到父属性值;
13.判断所述父属性值是否满足预设的加密属性值;
14.若所述父属性值不满足所述加密属性值,则解密失败;
15.若所述父属性值满足所述加密属性值,则将所述属性公钥与所述属性私钥进行配对,得到所述第一解密明文。
16.可选地,所述利用所述关键字令牌执行所述关键字索引,得到所述对称加密密文中的索引数据,包括:
17.获取用户输入的关键字及所述关键字的关键字密钥,根据所述关键字密钥生成所述关键字对应的陷门;
18.根据所述陷门及所述关键字令牌在所述对称加密密文中执行所述关键字索引,得到所述对称加密密文中的索引数据。
19.可选地,所述根据所述第一解密明文及所述对称加密密文生成关键字令牌,包括:
20.获取用户输入的关键字及所述对称加密密文的对称密钥,将所述关键字、所述第一解密明文及所述加密密文为预设令牌生成函数的输入参数,得到关键字令牌。
21.可选地,所述对所述对称加密密文中的索引数据执行对称解密,得到第二解密明文,包括:
22.获取所述对称加密密文的对称密钥,将所述对称密钥及所述索引数据作为预设对称解密函数的输入参数,得到第二解密明文。
23.可选地,所述根据所述信息哈希值id,查询所述预设区块链中与所述第二解密明文对应的所述加密信息,得到共享信息,包括:
24.读取所述第二解密明文的明文哈希值;
25.根据所述信息哈希值id及预设的查询语句,获取所述加密信息哈希值;
26.提取所述加密信息哈希值中与所述明文哈希值一致的加密信息作为共享信息。
27.可选地,所述将所述加密信息及所述加密信息对应的哈希值存储至预设区块链中,包括:
28.获取所述预设区块链中存储所述加密信息的默克尔树、所述预设区块链私钥及预设区块链公钥;
29.利用所述预设区块链私钥对所述默克尔树中根节点签名,得到根节点签名;
30.验证所述预设区块链公钥与所述根节点签名是否匹配;
31.若所述预设区块链公钥与所述根节点签名不匹配,则确定所述验证不通过;
32.若所述预设区块链公钥与所述根节点签名匹配,则确定所述验证通过,并将所述加密信息及所述加密信息对应的哈希值存储所述预设区块链中。
33.为了解决上述问题,本发明还提供一种信息共享装置,所述装置包括:
34.加密信息存储模块,用于获取待共享的加密信息,将所述加密信息及所述加密信息对应的哈希值存储至预设区块链中,并将所述加密信息及所述加密信息对应的哈希值分别记录为信息id与信息哈希值id,其中,所述加密信息包括对称加密密文及属性加密密文;
35.属性解密模块,用于接受访问所述加密信息的访问请求,根据所述访问请求及所述信息id,从所述预设区块链中读取所述加密信息包括的对称加密密文及属性加密密文,并对所述属性加密密文执行属性解密,得到第一解密明文;
36.对称解密模块,用于创建所述对称加密密文的关键字索引,根据所述第一解密明文及所述对称加密密文生成关键字令牌,并利用所述关键字令牌执行所述关键字索引,得到所述对称加密密文中的索引数据,对所述对称加密密文中的索引数据执行对称解密,得到第二解密明文;
37.信息共享模块,用于根据所述信息哈希值id,查询所述预设区块链中与所述第二解密明文对应的所述加密信息,得到共享信息。
38.为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
39.存储器,存储至少一个计算机程序;及
40.处理器,执行所述存储器中存储的计算机程序以实现上述所述的信息共享方法。
41.为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个计算机程序,所述至少一个计算机程序被电子设备中的处理器执行以实现上述所述的信息共享方法。
42.本发明实施例中,首先通过获取待共享的加密信息,将所述加密信息及加密信息对应的哈希值存储至预设区块链中,并将所述加密信息及加密信息对应的哈希值分别记录为信息id与信息哈希值id,可以通过区块链管理信息,避免信息外包至第三方时出现篡改或泄露信息的情况;其次,通过对所述属性加密密文执行属性解密,得到第一解密明文,并创建所述对称加密密文的关键字索引,根据所述第一解密明文及所述对称加密密文生成关键字令牌,并利用所述关键字令牌执行所述关键字索引,得到所述对称加密密文中的索引数据,对所述对称加密密文中的索引数据执行对称解密,得到第二解密明文,通过两层解密,进一步确保信息的完整性,并直接通过关键字索引从对称加密密文中准确获取关键字对应的数据,有效避免源数据泄露至第三方;最终,根据所述信息哈希值id,查询所述预设区块链中与所述第二解密明文对应的所述加密信息,得到共享信息,可以使用户快速有效地验证从第三方接收的信息的完整性和隐私性,无需与第三方交互,保障了信息在共享时的私密性和完整性。因此本发明实施例提出的信息共享方法、装置、设备及存储介质可以保障信息共享的私密性和完整性。
附图说明
43.图1为本发明一实施例提供的信息共享方法的流程示意图;
44.图2为本发明一实施例提供的信息共享方法中一个步骤的详细流程示意图;
45.图3为本发明一实施例提供的信息共享方法中一个步骤的详细流程示意图;
46.图4为本发明一实施例提供的信息共享方法中一个步骤的详细流程示意图;
47.图5为本发明一实施例提供的信息共享方法中一个步骤的详细流程示意图;
48.图6为本发明一实施例提供的信息共享装置的模块示意图;
49.图7为本发明一实施例提供的实现信息共享方法的电子设备的内部结构示意图;
50.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
51.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
52.本发明实施例提供一种信息共享方法。所述信息共享方法的执行主体包括但不限于服务端、终端等能够被配置为执行本技术实施例提供的该方法的电子设备中的至少一种。换言之,所述信息共享方法可以由安装在终端设备或服务端设备的软件或硬件来执行,所述软件可以是区块链平台。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。
53.参照图1所示的本发明一实施例提供的信息共享方法的流程示意图,在本发明实施例中,所述信息共享方法包括以下步骤s1-s4:
54.s1、获取待共享的加密信息,将所述加密信息及所述加密信息对应的哈希值存储
至预设区块链中,并将所述加密信息及所述加密信息对应的哈希值分别记录为信息id与信息哈希值id,其中,所述加密信息包括对称加密密文及属性加密密文。
55.本发明实例中,所述待共享的加密信息是指对发送方个人身份进行加密的信息,例如,在医疗健康领域,所述待共享的加密信息可以为患者的个人健康记录信息;所述加密信息对应的哈希值的主要作用是将任意长度的数据计算出一个固定长度的结果数据,且哈希值的抗篡改能力很强,对于任意一个输入,仅是及其微小的改动,哈希值的改变也非常大,可以有效防止加密信息被篡改。
56.本发明实施例中,所述加密信息包括对称加密密文及属性加密密文,其中所述对称加密密文是指利用对称加密技术进行加密后得到的加密信息,所述属性加密密文是指利用属性加密技术对对称加密信息的密钥进行加密得到的加密信息,其中,所述对称加密技可以为sse(searchable symmetric encryption,对称可搜索加密)技术,特点是加密和解密采用的是相同的密钥;所述属性加密技术可以为cp-abe(ciphertext policy attribute based encryption,基于密文策略的属性加密)技术,该技术是通过将属性嵌入对称加密形成的密钥中,符合该属性的用户才能通过密钥配对访问对称加密密文。
57.例如,在医疗健康领域,可以通过利用对称可搜索加密技术对患者的个人健康记录信息进行加密,得到对称加密信息及对称密钥,为了解决单个实体集中管理密钥导致的单点故障问题,本发明实施例再通过利用属性加密技术对对称密钥进行加密,得到属性加密信息。
58.进一步地,本发明实施例通过获取待共享的加密信息,将所述加密信息及所述加密信息对应的哈希值存储至预设区块链中,并将所述加密信息及所述加密信息对应的哈希值分别记录为信息id与信息哈希值id,可以通过区块链管理信息,避免信息外包至第三方时出现篡改或泄露信息的情况。
59.作为本发明的一个实施例,参考图2所示,所述将所述加密信息及所述加密信息对应的哈希值存储至预设区块链中,包括以下步骤s11-s15:
60.s11、获取所述预设区块链中存储所述加密信息的默克尔树、所述预设区块链私钥及预设区块链公钥;
61.s12、利用所述预设区块链私钥对所述默克尔树中根节点签名,得到根节点签名;
62.s13、验证所述预设区块链公钥与所述根节点签名是否匹配;
63.s14、若所述预设区块链公钥与所述根节点签名不匹配,则确定所述验证不通过;
64.s15、若所述预设区块链公钥与所述根节点签名匹配,则确定所述验证通过,并将所述加密信息及所述加密信息对应的哈希值存储所述预设区块链中。
65.其中,所述默克尔树是存储所述加密信息对应哈希值的树,通过区块链的签名验证,可以验证加密信息及加密信息对应的哈希值是否完整存储于预设区块链中,以保障加密信息的信息完整性。
66.本发明一实施例中,若所述预设区块链公钥与所述根节点签名不匹配,说明加密信息及加密信息对应的哈希值在存储至预设区块链之前的信息是不完整,可以将这一情况反馈至用户及开发人员,待开发人员进行追踪。
67.s2、接受访问所述加密信息的访问请求,根据所述访问请求及所述信息id,从所述预设区块链中读取所述加密信息包括的对称加密密文及属性加密密文,并对所述属性加密
密文执行属性解密,得到第一解密明文。
68.本发明实施例中,所述访问请求的请求内容或请求目的因不同的业务场景而异,比如,在医疗健康领域中,所述访问请求可以是用于发起访问所述个人健康记录的加密信息请求。
69.本发明实施例中,将所述信息id作为索引,可以从所述区块链中读取所述加密信息中的对称加密密文及属性加密密文。
70.本发明实施例中,所述第一解密明文是指对属性加密密文进行解密得到的对应属性明文。
71.进一步地,本发明实施例通过根据所述访问请求及所述信息id,从所述预设区块链中读取所述加密信息包括的对称加密密文及属性加密密文,并对所述属性加密密文执行属性解密,得到第一解密明文,只有符合属性加密密文的属性要求的用户才能进行解密,可以验证发出访问请求的发送方的身份信息的合理性,加强对加密的信息的隐私保护。
72.作为本发明一个实施例,参考图3所示,所述对所述属性加密密文执行属性解密,得到第一解密明文,包括以下步骤s21-s25:
73.s21、获取所述属性加密密文的属性公钥、属性私钥及属性访问树,其中,所述访问树包括多个子节点和一个父节点;
74.s22、遍历所述访问树,得到每个子节点返回的子属性值,将所述子属性值进行累积得到父属性值;
75.s23、判断所述父属性值是否满足预设的加密属性值;
76.s24、若所述父属性值不满足所述加密属性值,则解密失败;
77.s25、若所述父属性值满足所述加密属性值,则将所述属性公钥与所述属性私钥进行配对,得到所述第一解密明文。
78.其中,所述访问树是指在进行属性加密时生成的属性结构树,其中,该访问树的每一个节点都存储对应的属性值;所述子属性值是指每个子节点存储的属性值;所述父属性值表示整棵访问树对应的属性值;所述加密属性值是指在进行属性加密时,进行自定义的加密属性值,可以根据需求进行更改。
79.s3、创建所述对称加密密文的关键字索引,根据所述第一解密明文及所述对称加密密文生成关键字令牌,并利用所述关键字令牌执行所述关键字索引,得到所述对称加密密文中的索引数据,对所述对称加密密文中的索引数据执行对称解密,得到第二解密明文。
80.本发明实施例中,所述关键字索引是指自定义的关键字检索,可以根据需求定义不同的关键字。
81.可选地,由于数据外包至第三方时,会对数据进行加密并存储至第三方,为了实现数据加密后也可以进行索引,又不会泄露原始数据至第三方,故创建所述加密信息的关键字索引,其中所述关键字索引可以通过预设的概率函数(如enc函数)进行创建。
82.本发明实施例中,所述索引数据是指加密信息中的与关键字索引相关的数据。
83.本发明实施例中,所述第二解密明文是指将对称加密密文中的索引数据进行解密得到,因此,第二解密明文具体可以包括但不限于用户的身份信息(如姓名、病情、治疗周期等),访问地址、访问对象及访问域名,其中,所述访问地址可以为发起访问请求的系统网站地址;所述访问域名可以是发起访问请求的系统网站ip地址。
84.进一步地,本发明实施例根据所述第一解密明文及所述对称加密密文生成关键字令牌,并利用所述关键字令牌执行所述关键字索引,得到索引数据,可以直接通过关键字索引从对称加密密文中准确获取关键字对应的数据,有效避免源数据泄露至第三方。
85.作为本发明一个实施例,所述根据所述第一解密明文及所述对称加密密文生成关键字令牌,包括:
86.获取用户输入的关键字及所述对称加密密文的对称密钥,将所述关键字、所述第一解密明文及所述加密密文为预设令牌生成函数的输入参数,得到关键字令牌。
87.本发明一实施例中,所述令牌生成函数可以为τs=stoken(k,c,w);
88.其中,τs表示关键字令牌,stoken(k,c,w)表示令牌生成函数,k表示所述第一解密明文,c表示所述对称密钥,w表示所述关键字。
89.进一步地,参考图4所示,所述利用所述关键字令牌执行所述关键字索引,得到所述对称加密密文中的索引数据,包括以下步骤s31-s32:
90.s31、获取用户输入的关键字及所述关键字的关键字密钥,根据所述关键字密钥生成所述关键字对应的陷门;
91.s32、根据所述陷门及所述关键字令牌在所述对称加密密文中执行所述关键字索引,得到所述对称加密密文中的索引数据。
92.其中,所述陷门是指加密后的关键字,包括检索陷门和更新陷门,所述检索陷门的作用为在对称加密密文中检索所需的信息;所述更新陷门的作用为子在对称加密密文中进行增加或删除,进一步地,本发明实施例通过所述陷门可以防止关键字的明文直接泄露至第三方,保证关键字的隐私性。
93.进一步地,本发明实施例通过对所述对称加密密文中的索引数据执行对称解密,得到第二解密明文,可以抵御常规的数据加密攻击手段,有效防止对称加密密文被篡改。
94.作为本发明的一个实施例,所述对所述对称加密密文中的索引数据执行对称解密,得到第二解密明文,包括:
95.获取所述对称加密密文的对称密钥,将所述对称密钥及所述索引数据作为预设对称解密函数的输入参数,得到第二解密明文。
96.本发明一实施例中,所述对称密钥既是公钥也是私钥;所述预设对称解密函数可以为p=d(k,c)。
97.其中,p为第二解密明文,c为索引数据,k为对称密钥,d(k,c)为对称解密函数。
98.s4、根据所述信息哈希值id,查询所述预设区块链中与所述第二解密明文对应的所述加密信息,得到共享信息。
99.本发明实施例中,所述共享信息是指加密信息中与第二解密明文一致的信息,比如,第二解密明文为患者a的个人健康记录,则共享信息也为患者a的个人健康记录。
100.进一步地,本发明实施例通过根据所述信息哈希值id,查询所述预设区块链中与所述第二解密明文对应的所述加密信息,得到共享信息,可以使用户快速有效地验证从第三方接收的信息的完整性和隐私性,无需与第三方交互,保障了信息在共享时的私密性和完整性。
101.作为本发明的一个实施例,参考图5所示,所述根据所述信息哈希值id,查询所述预设区块链中与所述第二解密明文对应的所述加密信息,得到共享信息,包括以下步骤
based encryption,基于密文策略的属性加密)技术,该技术是通过将属性嵌入对称加密形成的密钥中,符合该属性的用户才能通过密钥配对访问对称加密密文。
112.例如,在医疗健康领域,可以通过利用对称可搜索加密技术对患者的个人健康记录信息进行加密,得到对称加密信息及对称密钥,为了解决单个实体集中管理密钥导致的单点故障问题,本发明实施例再通过利用属性加密技术对对称密钥进行加密,得到属性加密信息。
113.进一步地,本发明实施例通过获取待共享的加密信息,将所述加密信息及所述加密信息对应的哈希值存储至预设区块链中,并将所述加密信息及所述加密信息对应的哈希值分别记录为信息id与信息哈希值id,可以通过区块链管理信息,避免信息外包至第三方时出现篡改或泄露信息的情况。
114.作为本发明的一个实施例,所述加密信息存储模块101通过执行下述操作将所述加密信息及所述加密信息对应的哈希值存储至预设区块链中,包括:
115.获取所述预设区块链中存储所述加密信息的默克尔树、所述预设区块链私钥及预设区块链公钥;
116.利用所述预设区块链私钥对所述默克尔树中根节点签名,得到根节点签名;
117.验证所述预设区块链公钥与所述根节点签名是否匹配;
118.若所述预设区块链公钥与所述根节点签名不匹配,则确定所述验证不通过;
119.若所述预设区块链公钥与所述根节点签名匹配,则确定所述验证通过,并将所述加密信息及所述加密信息对应的哈希值存储所述预设区块链中。
120.其中,所述默克尔树是存储所述加密信息对应哈希值的树,通过区块链的签名验证,可以验证加密信息及加密信息对应的哈希值是否完整存储于预设区块链中,以保障加密信息的信息完整性。
121.本发明一实施例中,若所述预设区块链公钥与所述根节点签名不匹配,说明加密信息及加密信息对应的哈希值在存储至预设区块链之前的信息是不完整,可以将这一情况反馈至用户及开发人员,待开发人员进行追踪。
122.所述属性解密模块102,用于接受访问所述加密信息的访问请求,根据所述访问请求及所述信息id,从所述预设区块链中读取所述加密信息包括的对称加密密文及属性加密密文,并对所述属性加密密文执行属性解密,得到第一解密明文。
123.本发明实施例中,所述访问请求的请求内容或请求目的因不同的业务场景而异,比如,在医疗健康领域中,所述访问请求可以是用于发起访问所述个人健康记录的加密信息请求。
124.本发明实施例中,将所述信息id作为索引,可以从所述区块链中读取所述加密信息中的对称加密密文及属性加密密文。
125.本发明实施例中,所述第一解密明文是指对属性加密密文进行解密得到的对应属性明文。
126.进一步地,本发明实施例通过根据所述访问请求及所述信息id,从所述预设区块链中读取所述加密信息包括的对称加密密文及属性加密密文,并对所述属性加密密文执行属性解密,得到第一解密明文,只有符合属性加密密文的属性要求的用户才能进行解密,可以验证发出访问请求的发送方的身份信息的合理性,加强对加密的信息的隐私保护。
127.作为本发明一个实施例,所述属性解密模块102通过执行下述操作对所述属性加密密文执行属性解密,得到第一解密明文,包括:
128.获取所述属性加密密文的属性公钥、属性私钥及属性访问树,其中,所述访问树包括多个子节点和一个父节点;
129.遍历所述访问树,得到每个子节点返回的子属性值,将所述子属性值进行累积得到父属性值;
130.判断所述父属性值是否满足预设的加密属性值;
131.若所述父属性值不满足所述加密属性值,则解密失败;
132.若所述父属性值满足所述加密属性值,则将所述属性公钥与所述属性私钥进行配对,得到所述第一解密明文。
133.其中,所述访问树是指在进行属性加密时生成的属性结构树,其中,该访问树的每一个节点都存储对应的属性值;所述子属性值是指每个子节点存储的属性值;所述父属性值表示整棵访问树对应的属性值;所述加密属性值是指在进行属性加密时,进行自定义的加密属性值,可以根据需求进行更改。
134.所述对称解密模块103,用于创建所述对称加密密文的关键字索引,根据所述第一解密明文及所述对称加密密文生成关键字令牌,并利用所述关键字令牌执行所述关键字索引,得到所述对称加密密文中的索引数据,对所述对称加密密文中的索引数据执行对称解密,得到第二解密明文。
135.本发明实施例中,所述关键字索引是指自定义的关键字检索,可以根据需求定义不同的关键字。
136.可选地,由于数据外包至第三方时,会对数据进行加密并存储至第三方,为了实现数据加密后也可以进行索引,又不会泄露原始数据至第三方,故创建所述加密信息的关键字索引,其中所述关键字索引可以通过预设的概率函数(如enc函数)进行创建。
137.本发明实施例中,所述索引数据是指加密信息中的与关键字索引相关的数据。
138.本发明实施例中,所述第二解密明文是指将对称加密密文中的索引数据进行解密得到,因此,第二解密明文具体可以包括但不限于用户的身份信息(如姓名、病情、治疗周期等),访问地址、访问对象及访问域名,其中,所述访问地址可以为发起访问请求的系统网站地址;所述访问域名可以是发起访问请求的系统网站ip地址。
139.进一步地,本发明实施例根据所述第一解密明文及所述对称加密密文生成关键字令牌,并利用所述关键字令牌执行所述关键字索引,得到索引数据,可以直接通过关键字索引从对称加密密文中准确获取关键字对应的数据,有效避免源数据泄露至第三方。
140.作为本发明一个实施例,所述根据所述第一解密明文及所述对称加密密文生成关键字令牌,包括:
141.获取用户输入的关键字及所述对称加密密文的对称密钥,将所述关键字、所述第一解密明文及所述加密密文为预设令牌生成函数的输入参数,得到关键字令牌。
142.本发明一实施例中,所述令牌生成函数可以为τs=stoken(k,c,w);
143.其中,τs表示关键字令牌,stoken(k,c,w)表示令牌生成函数,k表示所述第一解密明文,c表示所述对称密钥,w表示所述关键字。
144.进一步地,所述对称解密模块103通过执行下述操作利用所述关键字令牌执行所
述关键字索引,得到所述对称加密密文中的索引数据,包括:
145.获取用户输入的关键字及所述关键字的关键字密钥,根据所述关键字密钥生成所述关键字对应的陷门;
146.根据所述陷门及所述关键字令牌在所述对称加密密文中执行所述关键字索引,得到所述对称加密密文中的索引数据。
147.其中,所述陷门是指加密后的关键字,包括检索陷门和更新陷门,所述检索陷门的作用为在对称加密密文中检索所需的信息;所述更新陷门的作用为子在对称加密密文中进行增加或删除,进一步地,本发明实施例通过所述陷门可以防止关键字的明文直接泄露至第三方,保证关键字的隐私性。
148.进一步地,本发明实施例通过对所述对称加密密文中的索引数据执行对称解密,得到第二解密明文,可以抵御常规的数据加密攻击手段,有效防止对称加密密文被篡改。
149.作为本发明的一个实施例,所述对所述对称加密密文中的索引数据执行对称解密,得到第二解密明文,包括:
150.获取所述对称加密密文的对称密钥,将所述对称密钥及所述索引数据作为预设对称解密函数的输入参数,得到第二解密明文。
151.本发明一实施例中,所述对称密钥既是公钥也是私钥;所述预设对称解密函数可以为p=d(k,c)。
152.其中,p为第二解密明文,c为索引数据,k为对称密钥,d(k,c)为对称解密函数。
153.所述信息共享模块104,用于根据所述信息哈希值id,查询所述预设区块链中与所述第二解密明文对应的所述加密信息,得到共享信息。
154.本发明实施例中,所述共享信息是指加密信息中与第二解密明文一致的信息,比如,第二解密明文为患者a的个人健康记录,则共享信息也为患者a的个人健康记录。
155.进一步地,本发明实施例通过根据所述信息哈希值id,查询所述预设区块链中与所述第二解密明文对应的所述加密信息,得到共享信息,可以使用户快速有效地验证从第三方接收的信息的完整性和隐私性,无需与第三方交互,保障了信息在共享时的私密性和完整性。
156.作为本发明的一个实施例,所述信息共享模块104通过执行下述操作根据所述信息哈希值id,查询所述预设区块链中与所述第二解密明文对应的所述加密信息,得到共享信息,包括:
157.读取所述第二解密明文的明文哈希值;
158.根据所述信息哈希值id及预设的查询语句,获取所述加密信息哈希值;
159.提取所述加密信息哈希值中与所述明文哈希值一致的加密信息作为共享信息。
160.其中,所述第二解密明文的明文哈希值可以通过哈希算法如(sha算法)获取;所述预设的查询语句可以为sql查询语句。
161.本发明实施例中,首先通过获取待共享的加密信息,将所述加密信息及加密信息对应的哈希值存储至预设区块链中,并将所述加密信息及加密信息对应的哈希值分别记录为信息id与信息哈希值id,可以通过区块链管理信息,避免信息外包至第三方时出现篡改或泄露信息的情况;其次,通过对所述属性加密密文执行属性解密,得到第一解密明文,并创建所述对称加密密文的关键字索引,根据所述第一解密明文及所述对称加密密文生成关
键字令牌,并利用所述关键字令牌执行所述关键字索引,得到所述对称加密密文中的索引数据,对所述对称加密密文中的索引数据执行对称解密,得到第二解密明文,通过两层解密,进一步确保信息的完整性,并直接通过关键字索引从对称加密密文中准确获取关键字对应的数据,有效避免源数据泄露至第三方;最终,根据所述信息哈希值id,查询所述预设区块链中与所述第二解密明文对应的所述加密信息,得到共享信息,可以使用户快速有效地验证从第三方接收的信息的完整性和隐私性,无需与第三方交互,保障了信息在共享时的私密性和完整性。因此本发明实施例提出的信息共享装置可以保障信息共享的私密性和完整性。
162.如图7所示,是本发明实现信息共享方法的电子设备的结构示意图。
163.所述电子设备可以包括处理器10、存储器11、通信总线12和通信接口13,还可以包括存储在所述存储器11中并可在所述处理器10上运行的计算机程序,如信息共享程序。
164.其中,所述存储器11至少包括一种类型的介质,所述介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:sd或dx存储器等)、磁性存储器、本地磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备的内部存储单元,例如该电子设备的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备的外部存储设备,例如电子设备上配备的插接式移动硬盘、智能存储卡(smart media card,smc)、安全数字(secure digital,sd)卡、闪存卡(flash card)等。进一步地,所述存储器11还可以既包括电子设备的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备的应用软件及各类数据,例如信息共享程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
165.所述处理器10在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(central processing unit,cpu)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器10是所述电子设备的控制核心(control unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如信息共享程序等),以及调用存储在所述存储器11内的数据,以执行电子设备的各种功能和处理数据。
166.所述通信总线12可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述通信总线12总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
167.图7仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图7示出的结构并不构成对所述电子设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
168.例如,尽管未示出,所述电子设备还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备还可以包括多种传感器、蓝牙模块、wi-fi模块等,在此不再赘
述。
169.可选地,所述通信接口13可以包括有线接口和/或无线接口(如wi-fi接口、蓝牙接口等),通常用于在该电子设备与其他电子设备之间建立通信连接。
170.可选地,所述通信接口13还可以包括用户接口,用户接口可以是显示器(display)、输入单元(比如键盘(keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organic light-emitting diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备中处理的信息以及用于显示可视化的用户界面。
171.应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
172.所述电子设备中的所述存储器11存储的信息共享程序是多个计算机程序的组合,在所述处理器10中运行时,可以实现:
173.获取待共享的加密信息,将所述加密信息及加密信息对应的哈希值存储至预设区块链中,并将所述加密信息及加密信息对应的哈希值分别记录为信息id与信息哈希值id,其中,所述加密信息包括对称加密密文及属性加密密文;
174.接受访问所述加密信息的访问请求,根据所述访问请求及所述信息id,从所述预设区块链中读取所述加密信息包括的对称加密密文及属性加密密文,并对所述属性加密密文执行属性解密,得到第一解密明文;
175.创建所述对称加密密文的关键字索引,根据所述第一解密明文及所述对称加密密文生成关键字令牌,并利用所述关键字令牌执行所述关键字索引,得到所述对称加密密文中的索引数据,对所述对称加密密文中的索引数据执行对称解密,得到第二解密明文;
176.根据所述信息哈希值id,查询所述预设区块链中与所述第二解密明文对应的所述加密信息,得到共享信息。
177.具体地,所述处理器10对上述计算机程序的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
178.进一步地,所述电子设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取介质中。所述计算机可读介质可以是非易失性的,也可以是易失性的。所述计算机可读介质可以包括:能够携待所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)。
179.本发明实施例还可以提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序在被电子设备的处理器所执行时,可以实现:
180.获取待共享的加密信息,将所述加密信息及加密信息对应的哈希值存储至预设区块链中,并将所述加密信息及加密信息对应的哈希值分别记录为信息id与信息哈希值id,其中,所述加密信息包括对称加密密文及属性加密密文;
181.接受访问所述加密信息的访问请求,根据所述访问请求及所述信息id,从所述预设区块链中读取所述加密信息包括的对称加密密文及属性加密密文,并对所述属性加密密文执行属性解密,得到第一解密明文;
182.创建所述对称加密密文的关键字索引,根据所述第一解密明文及所述对称加密密
文生成关键字令牌,并利用所述关键字令牌执行所述关键字索引,得到所述对称加密密文中的索引数据,对所述对称加密密文中的索引数据执行对称解密,得到第二解密明文;
183.根据所述信息哈希值id,查询所述预设区块链中与所述第二解密明文对应的所述加密信息,得到共享信息。
184.进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
185.在本发明所提供的几个实施例中,应该理解到,所揭露的介质、设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
186.所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
187.另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
188.对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
189.因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
190.本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
191.此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
192.最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献