System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于计算机,具体涉及一种保密数据查询系统及方法。
技术介绍
1、在当今互联网时代,档案保密数据的重要性日益凸显。档案中所包含的数据不仅关乎个人隐私、商业机密,甚至还涉及社会稳定和国家安全等方面。档案数据的保密性对于维护数据安全、保护权益和确保决策的准确性至关重要,因此档案数据的保密性值得高度关注。
2、档案不仅仅要保存,更重要的是使用。档案数据的查询与共享在现代社会中扮演着至关重要的角色。无论是学术研究、政府管理、企业运营还是个人生活,都离不开对数据的获取和共享。在互联网时代,数据量十分庞大,网络安全问题也日益突出,像黑客攻击,数据泄露等安全威胁时有发生。电子档案的安全和使用备受关注。此外,不同机构和组织之间存在数据孤岛,数据共享困难的问题,极大地限制了数据资源的充分利用和共享。
技术实现思路
1、本专利技术是为了解决现有的保密数据查询方式存在数据共享困难的问题,进而提出一种保密数据查询系统,以及保密数据查询方法。
2、一种保密数据查询系统,包括客户端、服务器、fabric区块链子系统和数据库;
3、客户端:用于用户登录;还用于为用户提供输入接口实现需要保密的数据输入以及实现保密查询信息的查询输入;
4、服务器:以链下数据存储的方式将用户注册时的用户注册信息存储到数据库中,所述用户注册信息包括用户登录数据、用户身份信息;根据用户的登录信息对用户的登录进行验证;
5、用于将用户上传的需要保密的数据进行加密,然后通过
6、用于将用户上传的保密查询信息进行零知识证明,验证通过后向fabric区块链子系统发送查询请求,接收返回的查询信息并反馈给客户端;
7、还用于将共享客户端对应用户的共享数据部分进行加密;共享客户端对应用户为fabric区块链子系统上被允许获取的共享数据部分的用户;需要保密的数据中的共享数据部分为需要保密的数据中的允许区块链上的用户获取的数据内容;
8、还用于根据共享客户端对应用户的共享数据部分查询信息向fabric区块链子系统发送共享数据查询请求,并接收密文结果返回给参与共享数据的各客户端;
9、数据库:用于存储用户对应的用户注册信息,以及根据用户id生成的哈希值和进行零知识证明的proof和verify;
10、fabric区块链子系统:使用fabric联盟链对需要保密的数据进行保存,所述需要保密的数据是经过加密算法加密后的保密数据;
11、同时还用于对需要保密的数据中的共享数据部分进行保存;需要保密的数据中的共享数据部分是是经过加密算法加密后的保密数据。
12、进一步地,服务器将用户上传的需要保密的数据进行加密的过程包括:对第一用户的个人信息的加密过程和对第二用户上传的第一用户关联信息;
13、第一用户为保密信息的对象用户,即保密信息当事人;第二用户为第一用户关联信息的和上传用户。
14、进一步地,服务器将用户上传的需要保密的数据进行加密的过程采用cp-abe算法实现加密。
15、进一步地,服务器将共享客户端对应用户的共享数据部分进行加密的过程采用paillier算法实现加密。
16、进一步地,所述数据库采用mysql数据库。
17、一种保密数据查询方法,基于所述的一种保密数据查询系统进行数据查询,所述查询方法包括保密数据的查询步骤;
18、所述保密数据的查询步骤包括:
19、a、数据查询方不是此数据拥有方时的保密数据查询:
20、s301、将查询数据请求发送给服务器,服务器根据哈希值、proof和verify进行零知识证明的验证;
21、s302、服务器基于fabric区块链子系统从区块链中取出想要查询的密文数据;
22、s303、服务器根据查询方的身份属性调用cp-abe算法对应的decrypt函数对数据进行解密;
23、s304、服务器将解密的数据返回给查询方;
24、b、数据查询方是此数据拥有方时的保密数据查询:
25、s401、将查询数据请求发送给服务器;
26、s402、服务器基于fabric区块链子系统从区块链中取出想要查询的密文数据;
27、s403、服务器根据查询方的身份属性调用cp-abe算法对应的decrypt函数对数据进行解密;
28、s404、服务器将解密的数据返回给查询方。
29、进一步地,所述查询方法还包括共享数据的查询步骤;
30、所述共享数据的查询步骤包括:
31、s501、客户端向服务器发送共享数据查询请求;
32、s502、服务器根据请求将多个客户端共享的密文数据进行加密计算,本实施方式中使用paillier算法加密;
33、s503、当共享数据的客户端大于三时,服务器将计算的密文结果返回给参与共享数据的各客户端。
34、进一步地,所述查询方法在需要保密的数据上传以后进行查询;
35、需要保密的数据上传步骤包括:
36、s101、通过客户端将需要保密的数据发送到服务器;
37、s102、服务器调用setup函数对cp-abe算法初始化;
38、s103、服务器依据身份属性集调用keygen生成加密所需的密钥;
39、s104、服务器使用s103中生成的密钥对需要保密的数据进行加密,得到加密数据;
40、s105、服务器将加密数据上传到fabric区块链子系统中。
41、进一步地,所述数据查询方不是此数据拥有方时的保密数据查询过程需要利用客户端分享保密数据后,基于向被分享者提供分享信息的id和分享码proof进行查询;客户端分享保密数据的过程包括:
42、s201、服务器将用户的id传入零知识证明模块;
43、s202、服务器调用init函数初始化零知识证明;
44、s203、服务器使用hash算法,根据用户的id生成哈希值并存入数据库;
45、s204、服务器调用generatepv函数,根据s201中的id和s204中生成的哈希值生成用于进行零知识证明的proof和verify,并将其存入数据库。
46、有益效果:
47、本专利技术不仅可以实现本人对保密数据的查询,同时实现非被人基于分享信息的id和分享码proof对其他人的保护数据的查询,而且还可以实现保密的数据中的共享数据部分被允许区块链上的用户获取,即实现共享数据的查询过程保密查询,因此本专利技术可以很好的解决保密数据查询中数据共享困难的问题,在保证保密数据不被泄露的前提下实现必要情况下的部分数据共享。
本文档来自技高网...【技术保护点】
1.一种保密数据查询系统,其特征在于,包括客户端、服务器、Fabric区块链子系统和数据库;
2.根据权利要求1所述的一种保密数据查询系统,其特征在于,服务器将用户上传的需要保密的数据进行加密的过程包括:对第一用户的个人信息的加密过程和对第二用户上传的第一用户关联信息;
3.根据权利要求2所述的一种保密数据查询系统,其特征在于,服务器将用户上传的需要保密的数据进行加密的过程采用CP-ABE算法实现加密。
4.根据权利要求1所述的一种保密数据查询系统,其特征在于,服务器将共享客户端对应用户的共享数据部分进行加密的过程采用Paillier算法实现加密。
5.根据权利要求1至4任意一项所述的一种保密数据查询系统,其特征在于,所述数据库采用MySQL数据库。
6.一种保密数据查询方法,其特征在于,基于权利要求5所述的一种保密数据查询系统进行数据查询,所述查询方法包括保密数据的查询步骤;
7.根据权利要求6所述的一种保密数据查询方法,其特征在于,所述查询方法还包括共享数据的查询步骤;
8.根据权利要求6或7
9.根据权利要求6或7所述的一种保密数据查询方法,其特征在于,所述数据查询方不是此数据拥有方时的保密数据查询过程需要利用客户端分享保密数据后,基于向被分享者提供分享信息的Id和分享码proof进行查询;客户端分享保密数据的过程包括:
...【技术特征摘要】
1.一种保密数据查询系统,其特征在于,包括客户端、服务器、fabric区块链子系统和数据库;
2.根据权利要求1所述的一种保密数据查询系统,其特征在于,服务器将用户上传的需要保密的数据进行加密的过程包括:对第一用户的个人信息的加密过程和对第二用户上传的第一用户关联信息;
3.根据权利要求2所述的一种保密数据查询系统,其特征在于,服务器将用户上传的需要保密的数据进行加密的过程采用cp-abe算法实现加密。
4.根据权利要求1所述的一种保密数据查询系统,其特征在于,服务器将共享客户端对应用户的共享数据部分进行加密的过程采用paillier算法实现加密。
5.根据权利要求1至4任意一项所述的一种保密数据查询系统,其...
【专利技术属性】
技术研发人员:刘新,李蔚昌,梁兰英,郭宇,
申请(专利权)人:内蒙古科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。