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

一种数据上链审核方法、审计系统、装置、设备及介质与流程

2023-02-01 20:58:09 来源:中国专利 TAG:


1.本发明涉及数据加密技术领域,尤其涉及一种数据上链审核方法、审计系统、装置、设备及介质。


背景技术:

2.随着云计算的快速发展和应用落地,越来越多的用户将海量数据存储到云服务器上,以方便远程办公和进行在线数据操作。用户数据上云后,因无法控制其数据实际存储位置、访问权限和访问方式,数据的机密性、完整性和可用性都面临实际风险。
3.但云服务平台上面的海量数据存在泄漏和被篡改的风险,某些重要数据遭到破坏将给用户造成巨大的损失。目前,为了保证数据安全主要依赖于pki(public key infrastructure,公钥基础设施)体制的证书进行数据审计,其证书生成、证书存储、证书更新和证书吊销都是耗时且昂贵的,导致了现有数据进行云存储时存在审计成本高以及参与方较多信息安全性较差的问题。


技术实现要素:

4.本发明提供了一种数据上链审核方法、审计系统、装置、设备及介质,以解决现有数据进行云存储时存在审计成本高以及参与方较多信息安全性较差的问题。
5.根据本发明的一方面,提供了一种数据上链审核方法,包括:
6.获取用户原始加密数据以及用户原始加密数据的数据上传时间;
7.对用户原始加密数据进行解密,得到待处理解密数据,并对待处理解密数据进行加密,得到目标加密数据;
8.对目标加密数据进行压缩,得到目标摘要数据,并根据目标摘要数据以及用户身份标识,生成目标签名数据;
9.根据目标签名数据、目标加密数据、用户身份标识以及用户原始加密数据的数据上传时间,生成目标上链数据;
10.在将目标上链数据传输至区块链之后,接收用户审计请求,并根据用户审计请求进行数据反馈,以供用户根据反馈数据进行审计。
11.根据本发明的另一方面,提供了一种区块链的数据审计系统,包括csp、密钥生成模块以及用户审计客户端,其中,
12.csp,用于本发明任一实施例中的数据上链审核方法;
13.密钥生成模块,用于对目标质数关联数据集进行随机数据选择,得到第一主密钥;设置第一循环群以及第二循环群;根据第一哈希函数、第一循环群、第二哈希函数、第二循环群以及目标质数关联数据集,确定上链配置公开数据,并对上链配置公开数据进行公开;根据上链配置公开数据中的第一主密钥以及用户公钥,生成用户私钥;
14.用户审计客户端,用于向csp发送用户审计请求,并接收csp根据用户审计请求发送的反馈数据,以供用户根据反馈数据进行审计。
15.根据本发明的另一方面,提供了一种数据上链审核装置,包括:
16.数据获取模块,用于获取用户原始加密数据以及用户原始加密数据的数据上传时间;
17.数据加密模块,用于对用户原始加密数据进行解密,得到待处理解密数据,并对待处理解密数据进行加密,得到目标加密数据;
18.签名数据生成模块,用于对目标加密数据进行压缩,得到目标摘要数据,并根据目标摘要数据以及用户身份标识,生成目标签名数据;
19.目标上链数据生成模块,用于根据目标签名数据、目标加密数据、用户身份标识以及用户原始加密数据的数据上传时间,生成目标上链数据;
20.审计请求处理模块,用于在对目标上链数据传输至区块链之后,接收用户审计请求,并根据用户审计请求进行数据反馈,以供用户根据反馈数据进行审计。
21.根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
22.至少一个处理器;以及
23.与所述至少一个处理器通信连接的存储器;其中,
24.所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的数据上链审核方法。
25.根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的数据上链审核方法。
26.本发明实施例的技术方案,通过获取用户原始加密数据以及用户原始加密数据的数据上传时间,进而对用户原始加密数据进行解密,得到待处理解密数据,并对待处理解密数据进行加密,得到目标加密数据,从而对目标加密数据进行压缩,得到目标摘要数据,并根据目标摘要数据以及用户身份标识,生成目标签名数据,进一步根据目标签名数据、目标加密数据、用户身份标识以及用户原始加密数据的数据上传时间,生成目标上链数据,从而在将目标上链数据传输至区块链之后,接收用户审计请求,并根据用户审计请求进行数据反馈,以供用户根据反馈数据进行审计。在本方案中,将需要在云端存储的数据存储于区块链,可以借助区块链的不可篡改性保证云端存储数据的安全性,而用户自己可以将本地存储的原始数据与云端存储的数据进行自主审计,无需借助第三方证书进行审计,解决了现有数据进行云存储时存在审计成本高以及参与方较多信息安全性较差的问题,能够在保证数据安全性的前提下,降低审计成本。
27.应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
28.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
29.图1为本发明实施例一提供的一种数据上链审核方法的流程图;
30.图2为本发明实施例二提供的一种数据上链审核方法的流程图;
31.图3是本发明实施例三提供的一种区块链的数据审计系统示意图;
32.图4为本发明实施例四提供的一种数据上链审核装置的结构示意图;
33.图5示出了可以用来实施本发明的实施例的电子设备的结构示意图。
具体实施方式
34.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
35.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“原始”、“目标”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
36.实施例一
37.图1为本发明实施例一提供的一种数据上链审核方法的流程图,本实施例可适用于对用户存储于云服务器的数据进行低成本审计的情况,该方法可以由数据上链装置来执行,该数据上链装置可以采用硬件和/或软件的形式实现,该数据上链装置可配置于电子设备中。电子设备可以是云端计算机设备或者云端服务器设备等。如图1所示,该方法包括:
38.s110、获取用户原始加密数据以及用户原始加密数据的数据上传时间。
39.其中,用户原始加密数据可以是用户发送的,需要存储至云端的原始数据的加密结果。数据上传时间可以是获取用户原始加密数据的时刻。
40.在本发明实施例中,可以先获取用户经客户端发送的用户原始加密数据,进而对用户原始加密数据上传至云端设备(云端服务器或云端计算机等)的时刻进行记录,得到用户原始加密数据的数据上传时间。
41.s120、对用户原始加密数据进行解密,得到待处理解密数据,并对待处理解密数据进行加密,得到目标加密数据。
42.其中,待处理解密数据可以是对用户原始加密数据进行解密处理,得到的数据解密结果。目标加密数据可以是对待处理解密数据进行加密处理后,得到的数据加密结果。
43.在本发明实施例中,对用户原始加密数据的数据上传时间进行记录之后,基于已知的任意一种解密算法,对用户原始加密数据进行解密,得到待处理解密数据,进而为了保证数据上链的数据安全性,进一步对待处理解密数据进行加密处理,并将加密处理结果作为目标加密数据。
44.s130、对目标加密数据进行压缩,得到目标摘要数据,并根据目标摘要数据以及用
户身份标识,生成目标签名数据。
45.其中,目标摘要数据可以是利用安全哈希函数计算的目标加密数据的摘要。用户身份标识可以是发送用户原始加密数据的用户身份凭证。可选的,不同的用户分配不同的用户身份标识,通过用户身份标识对用户原始加密数据的发送者进行区分。目标签名数据可以是对目标摘要数据以及用户身份标识进行数据签名处理,得到的签名数据。
46.在本发明实施例中,可以利用安全哈希函数对目标加密数据进行压缩,得到目标加密数据的摘要,从而将目标加密数据的摘要,作为目标摘要数据,获取用户原始加密数据的发送者的用户身份标识,进而将目标摘要数据以及该用户身份标识进行数字签名处理,得到目标签名数据。
47.s140、根据目标签名数据、目标加密数据、用户身份标识以及用户原始加密数据的数据上传时间,生成目标上链数据。
48.其中,目标上链数据可以是与用户原始加密数据匹配的需要保存至区块链的数据。
49.在本发明实施例中,可以基于哈希函数对用户身份标识进行处理,得到判别数据正确性的验证数据,进而将验证数据、目标签名数据、目标加密数据以及用户原始加密数据的数据上传时间进行数据组合,得到目标上链数据。
50.s150、在将目标上链数据传输至区块链之后,接收用户审计请求,并根据用户审计请求进行数据反馈,以供用户根据反馈数据进行审计。
51.其中,用户审计请求可以是发送用户原始加密数据的发送者发送的数据审计请求,用于对目标上链数据进行审核。反馈数据可以是云端设备根据用户审计请求向用户发送的反馈数据。
52.在本发明实施例中,生成目标上链数据之后,可以将目标上链数据传输至区块链进行存储,如果接收到发送用户原始加密数据的发送者发送的用户审计请求,则对用户审计请求进行解析,从而将与用户审计请求匹配的目标上链数据作为反馈数据,并将反馈数据发送至用户,以供用户对反馈数据进行审计,判断反馈数据是否被篡改。
53.本发明实施例的技术方案,通过获取用户原始加密数据以及用户原始加密数据的数据上传时间,进而对用户原始加密数据进行解密,得到待处理解密数据,并对待处理解密数据进行加密,得到目标加密数据,从而对目标加密数据进行压缩,得到目标摘要数据,并根据目标摘要数据以及用户身份标识,生成目标签名数据,进一步根据目标签名数据、目标加密数据、用户身份标识以及用户原始加密数据的数据上传时间,生成目标上链数据,从而在将目标上链数据传输至区块链之后,接收用户审计请求,并根据用户审计请求进行数据反馈,以供用户根据反馈数据进行审计。在本方案中,将需要在云端存储的数据存储于区块链,可以借助区块链的不可篡改性保证云端存储数据的安全性,而用户自己可以将本地存储的原始数据与云端存储的数据进行自主审计,无需借助第三方证书进行审计,解决了现有数据进行云存储时存在审计成本高以及参与方较多信息安全性较差的问题,能够在保证数据安全性的前提下,降低审计成本。
54.实施例二
55.图2为本发明实施例二提供的一种数据上链审核方法的流程图,本实施例以上述实施例为基础进行具体化。给出了对用户原始加密数据进行解密,得到待处理解密数据的
具体的可选的实施方式,如图2所示,该方法包括:
56.s210、获取用户原始加密数据以及用户原始加密数据的数据上传时间。
57.s220、对用户原始加密数据进行解析,确定目标待解密数据以及辅助验证数据。
58.其中,目标待解密数据可以是用户原始加密数据中与用户实际需要在区块链存储的数据相关联的数据。辅助验证数据可以是用户原始加密数据解析结果中除目标待解密数据外的,用于数据验证的数据。
59.在本发明实施例中,可以对用户原始加密数据进行数据解析,确定用户原始加密数据中,与用户实际需要在区块链存储的数据相关联的目标待解密数据以及辅助验证数据。
60.s230、对辅助验证数据以及csp私钥,进行双线性映射,得到双线性映射结果。
61.其中,csp(cloud service provider,云服务提供商)私钥可以是根据第一主密钥以及csp公钥确定的秘钥。csp私钥与csp公钥属于一对密钥,使用csp公钥加密的数据可以通过csp私钥进行解密。csp公钥可以是根据csp的身份标识以及安全哈希函数确定的秘钥。csp,本身拥有大量的云服务器,能针对用户大量数据进行存储,计算资源丰富。双线性映射结果可以是对辅助验证数据以及csp私钥进行双线性映射得到的数据。
62.在本发明实施例中,可以使用辅助验证数据以及csp私钥做双线性映射,得到双线性映射结果。
63.s240、根据双线性映射结果、第一哈希函数以及目标待解密数据,确定待处理解密数据。
64.其中,第一哈希函数可以是一种已知的安全哈希函数,用于对双线性映射结果进行处理。
65.在本发明实施例中,可以利用第一哈希函数对双线性映射结果进行处理,进而将处理结果与目标待解密数据进行异或运算,得到待处理解密数据。
66.s250、对待处理解密数据进行加密,得到目标加密数据。
67.在本发明的一个可选实施例中,对待处理解密数据进行加密,得到目标加密数据,可以包括:获取用户公钥;根据用户公钥以及对称加密算法,对待处理解密数据进行加密,得到目标加密数据。
68.其中,用户公钥可以是根据用户身份标识以及加密算法生成的秘钥。用户公钥与用户私钥为一对秘钥,使用用户公钥加密的数据可以通过用户私钥进行解密。
69.在本发明实施例中,可以先获取根据用户身份标识生成的用户公钥,进而选择一种对称加密算法,从而根据用户公钥以及选择的对称加密算法,对待处理解密数据进行加密处理,得到目标加密数据。
70.s260、对目标加密数据进行压缩,得到目标摘要数据,并根据目标摘要数据以及用户身份标识,生成目标签名数据。
71.在本发明的一个可选实施例中,根据目标摘要数据以及用户身份标识,生成目标签名数据,可以包括:根据csp私钥对目标摘要数据以及用户身份标识进行加密,得到目标签名数据。
72.在本发明实施例中,可以基于数据签名算法,利用csp私钥对目标摘要数据以及用户身份标识进行数据签名处理,得到目标签名数据。
73.s270、根据目标签名数据、目标加密数据、用户身份标识以及用户原始加密数据的数据上传时间,生成目标上链数据。
74.s280、在将目标上链数据传输至区块链之后,接收用户审计请求,并根据用户审计请求进行数据反馈,以供用户根据反馈数据进行审计。
75.在本发明的一个可选实施例中,接收用户审计请求,并根据用户审计请求进行数据反馈,可以包括:获取与用户审计请求匹配的待处理用户审计数据;基于用户公钥对待处理用户审计数据中的目标待解密签名数据进行解密,得到待比较摘要;在待比较摘要与用户审计目标数据的摘要相同时,根据用户审计请求进行数据反馈。
76.其中,待处理用户审计数据可以是将与用户审计请求关联的数据进行加密、摘要提取以及数据签名处理后得到的数据。目标待解密签名数据可以是待处理用户审计数据中的签名数据。用户审计目标数据可以待处理用户审计数据中除目标待解密签名数据之外的数据,用于对目标上链数据进行数据审计。待比较摘要可以是基于用户私钥对目标待解密签名数据进行解密,得到的签名数据。
77.在本发明实施例中,可以获取用户通过客户端发送的与用户审计请求匹配的待处理用户审计数据,进而对待处理用户审计数据进行解析,得到用户审计目标数据,并利用用户公钥对待处理用户审计数据中的目标待解密签名数据进行解密,得到待比较摘要。进一步,对用户审计目标数据进行数据压缩,得到用户审计目标数据的摘要,从而将待比较摘要与用户审计目标数据的摘要进行比较,若待比较摘要与用户审计目标数据的摘要相同,则将与用户审计请求匹配的区块链存储的数据,发送至用户审计请求的发送者的客户端,完成对用户审计请求的数据反馈。
78.在本发明的一个可选实施例中,根据用户审计请求进行数据反馈,可以包括:获取目标上链数据的链上地址,并基于用户公钥对链上地址进行加密,得到审计应答数据;将审计应答数据发送至用户登录的客户端,以供用户根据审计应答数据进行数据审计。
79.其中,链上地址可以是目标上链数据在区块链上的存储地址。审计应答数据可以是向用户反馈的,采用用户公钥对链上地址进行加密的加密结果。
80.在本发明实施例中,可以先获取目标上链数据的链上地址,进而基于加密算法,采用用户公钥对链上地址进行加密,得到审计应答数据,从而将审计应答数据发送至用户登录的客户端,以供用户根据审计应答数据进行数据审计,即根据审计应答数据确定与用户审计请求匹配的区块链上存储的数据,进行审计。
81.本发明实施例的技术方案,通过对用户原始加密数据进行解析,确定目标待解密数据,以及辅助验证数据,进而对辅助验证数据以及csp私钥,进行双线性映射,得到双线性映射结果,并根据双线性映射结果、第一哈希函数以及目标待解密数据,确定待处理解密数据,从而对待处理解密数据进行加密,得到目标加密数据,进而对目标加密数据进行压缩,得到目标摘要数据,并根据目标摘要数据以及用户身份标识,生成目标签名数据,进一步根据目标签名数据、目标加密数据、用户身份标识以及用户原始加密数据的数据上传时间,生成目标上链数据,从而在将目标上链数据传输至区块链之后,接收用户审计请求,并根据用户审计请求进行数据反馈,以供用户根据反馈数据进行审计。在本方案中,将需要在云端存储的数据存储于区块链,可以借助区块链的不可篡改性保证云端存储数据的安全性,而用户自己可以将本地存储的原始数据与云端存储的数据进行自主审计,无需借助第三方证书
进行审计,解决了现有数据进行云存储时存在审计成本高以及参与方较多信息安全性较差的问题,能够在保证数据安全性的前提下,降低审计成本。
82.实施例三
83.图3是本发明实施例三提供的一种区块链的数据审计系统示意图,如图3所示,区块链的数据审计系统,包括csp310、密钥生成模块320以及用户审计客户端330,其中,
84.csp310,用于执行如上述任意实施例中的数据上链审核方法;
85.密钥生成模块320,用于对目标质数关联数据集进行随机数据选择,得到第一主密钥;设置第一循环群以及第二循环群;根据第一哈希函数、第一循环群、第二哈希函数、第二循环群以及目标质数关联数据集,确定上链配置公开数据,并对上链配置公开数据进行公开;根据上链配置公开数据中的第一主密钥以及用户公钥,生成用户私钥;
86.用户审计客户端330,用于向csp310发送用户审计请求,并接收csp310根据用户审计请求发送的反馈数据,以供用户根据反馈数据进行审计。
87.其中,密钥生成模块320可以是秘钥生成中心,为用户和csp310提供相关秘钥生成、备份、验证等功能,其具有高度可信性。用户审计客户端330可以是具备数据交互、数据存储以及数据显示的设备。第一主密钥可以是密钥生成模块320从目标质数关联数据集中随机数据选择出的数据。第一循环群可以是预先设置的循环乘法群。第二循环群可以是预先设置的循环加法群。上链配置公开数据可以是密钥生成模块320公开的数据,用于对用户原始加密数据进行上链处理。第二哈希函数可以用于将目标生成元组成设定长度的字符串。
88.目标质数关联数据集可以是基于预先设置的大于0的质数确定的数据集。示例性的,假设预先设置的大于0的质数为p,则目标质数关联数据集为{1,2,

,p-1}。
89.在本发明实施例中,密钥生成模块320设置一个大于0的质数,进而根据设置的质数生成目标质数关联数据集,并从目标质数关联数据集进行随机数据选择,将随机选择得到的数据作为第一主密钥,从而设置第一循环群以及第二循环群,第一循环群与第二循环群满足双线性映射,从而将第一哈希函数、第一循环群、第二哈希函数、第二循环群、目标生成元、第一循环群与第二循环群满足的双线性映射、以目标生成元为底第一主密钥为指数的幂运算结果,以及目标质数关联数据集作为上链配置公开数据,从而将上链配置公开数据进行公开,还可以将以用户公钥为底,并且第一主密钥为指数的幂运算结果作为用户私钥。csp310可以获取密钥生成模块320公开的上链配置公开数据以及用户私钥,从而基于上述数据完成任意实施例中的数据上链审核方法。区块链的数据审计系统中的用户审计客户端330,可以向csp310发送用户审计请求,并接收csp310根据用户审计请求发送的反馈数据,以供用户根据反馈数据进行审计。
90.本方案主要涉及用户、csp和密钥生成模块(简记为kgc)三方实体,通过三者之间的交互过程实现客户数据审计。
91.前期准备阶段:每个用户,选定好csp为其提供服务后需要进行注册,csp向用户提供唯一的用户身份标识idu,同时csp也有相应的csp身份标识idc。csp和用户分别与kgc交互,并通过kgc根据其身份标识产生公钥,具体为:kgc通过安全信道收到idu,并根据idu生成用户公钥:pku=h1(idu),其中h1为第二哈希函数,之后再相应产生用户私钥sku,并将用户私钥传输给用户,kgc在本地做备份存储;同时kgc也收到idc,并根据idc生成csp公钥:
pkc=h1(idc),相应生成csp私钥skc,传输给csp,kgc在本地备份存储。
92.用户可能在不同时间和地点登录自己的云服务账号并进行相关的操作,用户原始加密数据中的元数据主要包括其上传的文件m和操作日志log,本方案中以m为例进行数据上链和审核的介绍,并假定相关操作后用户上传至云端的数据为m’,同时本地暂存了m。
93.利用基于身份的密码体制将用户数据加密后传送给csp:
94.(1)上链配置公开数据生成:利用相关密码学知识,考虑一个相当大的质数p。存在一个目标生成元a,并创建一个双线性映射e:g1×
g1→
g2,其中,g1为目标生成元a生成的一个循环加法群即第二循环群,g2为目标生成元a生成的一个循环乘法群,即第一循环群。kgc在目标质数关联数据集z
p*
中进行随机选择,产生一个第一主密钥s,其中z
p*
={1,2,...,p-1},并计算p=as。除此之外,为了后续的操作,kgc中保留有第一哈希函数以及第二哈希函数,分别是h1:{0,1}
*

g1(表示由0和1组成的任意长度的字符串到g1的映射,h1为第二哈希函数),h2:g2→
{0,1}n(表示g2到由0和1组成的长度为n的字符串的映射,h2为第一哈希函数)。在kgc中,对第一主密钥s保密,公开的信息包括:p,a,e,g1,g2,n,p,h1以及h2。
95.双线性映射定义如下:设g1、g2都是阶为p的循环群,如果映射e:g1×
g1→
g2满足以下性质:双线性性:对于任意a,b∈z
p
和r,s∈g1,有e(ra,sb)=e(r,s)
ab
;非退化性:存在r,s∈g1,使得e(r,s)≠1
g2
。这里1
g2
代表g2群的单位元;可计算性:存在有效的算法对任意的r,s∈g1,可以计算e(r,s)的值。称e是一个双线性映射。双线性映射可以通过有限域上的超椭圆曲线上的tate对或weil对来构造。
96.(2)用户及csp秘钥生成:该过程已经在前期准备阶段中提及,此处详细描述。用户公钥pku=h1(idu);用户私钥sku=(pku)s,表示pku的s次幂;csp公钥pkc=h1(idc),csp私钥skc=(pkc)s,表示pkc的s次幂。
97.(3)文件数据加密:用户想在客户端上传文件m至csp,为了保证其数据安全和隐私性,用户需要进行以下过程:类似于(1)中kgc选择第一主密钥s,此时用户需要自z
p*
中随机选择第二主密钥r;对数据m进行加密,得到m=h2(e(p,pkc)r)

m,表示使用p和pkc在e上做双线性映射的结果求其r次幂,再将该结果使用h2进行哈希后与m进行异或运算。同时,为了便于验证,生成辅助验证数据n=ar。得到这两个结果后,生成密文c(用户原始加密数据),其中c=(m,n),之后用户将c发送给csp。
98.(4)csp接受数据并验证:csp收到c后,首先进行解密操作,得到待处理解密数据m=h2(e(n,skc))

m,表示使用n和skc在e上做双线性映射的结果使用h2进行哈希后,与m进行异或运算。此后,csp将用户数据在上链时记为m’。
99.基于上述过程中的操作,整个数据传送过程中,为保证用户文件m的完整性和不被篡改,需满足下式:
100.e(n,skc)=e(ar,(pkc)s)=e(p,pkc)r101.此处简易证明如下:
102.左边两个式子形成的等式:
103.n=ar,同时skc=(pkc)s,只要s和r能够保证不泄露,则带入后显然等式成立。
104.右边两个式子形成的等式:
105.异或运算中,x
⊕y⊕
y=x,其中x与y∈{0,1}
*
,

代表异或操作,显然其满足交换律和结合律。
106.由密文生成式:证明如下:
[0107][0108][0109]
因为在解密过程中m=h2(e(n,skc))

m,因此只要证明e(ar,(pkc)s)=e(p,pkc)r的正确性就能证明原数据m的正确性,下面进行证明:
[0110]
e(ar,(pkc)s)
[0111]
=e(a,(pkc))
rs
[0112]
=e(as,(pkc))r[0113]
=e(p,pkc)r[0114]
证明完毕,上述过程中主要用到双线性映射e的双线性性质。
[0115]
数据入链:用户上传数据c至csp时,csp产生时间戳记录st’(用户原始加密数据的数据上传时间),同时用户也将在本地同时记录st’,之后可在不同时间和地点对自己存储在云端的数据进行读取、添加、修改、删除等操作并产生相应日志,具体入链过程和方法如下所示:
[0116]
1)数据加密:为了保证用户数据的隐私,需要对其进行处理。选择一个安全的加密算法,利用用户公钥进行对m’加密,即:
[0117]
c’=enc
pku
(m’),表示使用pku作为秘钥对m’采用enc算法进行加密,其中c’为用户在云端数据m’加密后的密文。
[0118]
2)数字签名:由于用户上传的文件可能较大,在得到c’后,可以利用安全哈希函数进行压缩得到目标摘要数据d’,即:d’=hash(c’)。之后进行签名,考虑到后续操作,此处签名时加入idu,整个签名方案如下:
[0119]
γ’=sig
skc
(d’,idu),表示将d’和idu一起使用skc作为私钥进行加密得到目标签名数据。
[0120]
3)生成目标上链数据:经过1)与2)步骤处理后,可以对上述操作的结果组合,同时为了保证idu的正确性,对其进行处理,得到:i’=hash(idu),并结合csp记录的时间戳st’,最终得到上链数据datac,即:datac=(c’,γ’,i’,st’)
[0121]
之后datac入链,并得到其链上地址ac,对应时间戳为st,csp保存此时间戳-地址对(st,ac)。
[0122]
用户提出审计请求:
[0123]
在csp将目标上链数据上链后,用户出于某种原因认为需要对自己在云端的数据进行审计时,可以向csp提出用户审计请求ar,csp需要验证用户的身份,并给与请求回应。为了方便,本方案可采用数字签名技术。具体操作过程如下:
[0124]
(1)用户审计请求ar,请求审计数据的上传时间戳为st,用户公钥为pku,csp公钥为pkc。首先进行加密处理,得到cc=enc
pkc
(ar,st,pku),之后再经过安全哈希函数处理,形成摘要d=hash(cc),csp进行签名得到目标待解密签名数据γ=sig
skc
(d),然后组成签字
后的待处理审计数据datau=(cc,γ)传输给csp。
[0125]
(2)csp收到datau后,利用私钥skc解密cc,得到(ar,st,pku),之后用pkc对签名γ解密,得到摘要待比较摘要d’,最后判断d’是否与hash(cc)相等,若不等则放弃收到的数据datau,否则进入下一步操作。
[0126]
(3)此时csp已经对用户发送的信息和身份进行了验证,之后便回应用户审计请求。其从所存储的(st,ac)对中找到对应的ac,并将此发送给用户,并采用公钥加密方式,得到审计应答数据aa=enc
pku
(ac),从而将aa发送给用户。
[0127]
(4)用户从csp处接受到aa,并用sku解密,得到要所需审计数据的区块链地址ac用于下一步的审计,其中ac=dec
sku
(aa),表示使用sku解密审计应答数据aa。
[0128]
用户审计:
[0129]
用户通过上述操作后,可以从区块链上得到csp入链数据:datac=(c’,γ’,i’,st’)
[0130]
用户在之前上传数据m至csp后,在本地端利用自身独有的安全哈希函数h对m进行了压缩,并保留(st,h(m))在本地上。
[0131]
用户将验证st与st’是否相等。只要在用户和csp记载时间戳一致的情况下,并且用户不存在恶意发起审计请求的情况下显然是相等的,在区块链上此数据具有完整性保证。之后,用户为了得到m’以及相关验证,需要进行如下操作:
[0132]
(1)首先利用csp公钥pkc对签名解密,得到(d’,idu)=dec
pkc
(γ’),之后对idu进行验证,判断i’是否与hash(idu)相等,若相等则说明csp确实是对该用户的数据进行了上链;
[0133]
(2)利用sku对c’进行解密,得到m’=dec
sku
(c’),同时对本环节上一步骤(1)中得到的d’进行验证,即判断d’是否与hash(c’)相等,确定c’是否被修改;
[0134]
(3)若上一步中c’确定未被修改,则经过解密得到的m’即为csp在云端对用户数据m的实际存储记录;
[0135]
(4)由于csp中具体操作人员在存储用户的数据时可能由于失误、恶意删改、系统故障等原因造成客户数据完整性的损坏,经过上述相关操作,此时客户可以方便地对其进行审计。
[0136]
(5)用户在本地找出st对应的h(m)并且对m’同样进行压缩得到h(m’),判断两者是否相等,此时不论结果怎样,完成了数据审计,用户可以根据审计结果进行后续的操作。
[0137]
利用基于身份的加密方案实现了用户数据上传到csp,并提出了其正确性要求:
[0138]
数据隐私性保护:用户在上传文件数据m到csp的过程中,利用基于身份的加密技术,采用了一些诸如des(data encryption standard,数据加密标准)、aes(advanced encryption standard,高级加密标准)的加密算法对数据进行了加密,在不安全的信道上进行传输,也能抵御恶意攻击者的部分攻击。同时,在csp将用户数据入链过程中,采用了公钥加密和数字签名技术,保证了在上链过程中数据的安全性。并证明了该基于bdh假设的身份加密方案,在非标准模型下,也即随机语言模型下,对于选择明文攻击具有抵御性。对于在链下本地存储的信息,一方面考虑到已经在比较可靠的云服务器中存储,另一方面为了节省本地存储资源,以及对数据进行保密和日后数据审计,已经对其利用安全的哈希函数进行压缩处理,攻击者得到也无法推导出原始数据。在区块链上由csp上传的用户数据,由
于使用用户身份信息进行了公钥加密和数字签名,只要用户私钥没有泄露,区块链上其他节点就无法解密此数据。
[0139]
用户匿名机制:为了保证csp和用户在区块链中实现身份匿名,即区块链身份与真实身份的不可关联性:云服务商与用户和用户在使用区块链时,其它节点无法通过云服务商与用户在区块链上的身份,关联到其在现实中的身份。本方案中利用id保护机制,用户和csp在与kgc交流生成私钥时,其可能暴露身份的id都经过安全哈希处理并得到公钥,此时其他第三方或者恶意实体显然无法通过公钥对应到用户和csp的身份。同时,在csp将用户数据上链时,同样对用户id经过处理再进行传输入链,区块链上其他节点显然不能得到用户id。
[0140]
数据完整性性和不可篡改性:本方案中,数据完整性和不可篡改性主要通过区块链结构特点加以保证。csp在将用户数据经过处理上链后,认为此后在区块链上的这些数据不可篡改,也即数据完整可靠。除此之外,在区块链中运用的相关密码学技术对于其维持此特性具有重要意义。密码学上的hash函数能够保障数据的完整性。has函数通常用来构造数据的短“指纹”,类似于数据压缩,并且数据一旦改变,指纹就不再正确。即使数据被存储在不安全的地方,通过重新计算数据的指纹并验证指纹是否改变,就能够检测数据的完整性。在本方案中各个过程涉及到的哈希函数,包括用户身份的保密、本地数据压缩、区块链上的merkl树结构等等,都被认为是安全的,具有良好的原像稳固、第二原像稳固乃至碰撞稳固。数字签名技术是公钥加密和数字摘要技术的综合运用。通过它,可以保证数据在传输过程中无法被篡改,实际区块链网络中会在记录数据时通过数字签名验证交易的有效性,只会将验证通过的交易打包到区块中,并且在每个客户端在接收到一个新的区块是也会做这个验证。
[0141]
实施例四
[0142]
图4为本发明实施例四提供的一种数据上链审核装置的结构示意图。如图4所示,该装置包括:数据获取模块410、数据加密模块420、签名数据生成模块430、目标上链数据生成模块440以及审计请求处理模块450,其中,
[0143]
数据获取模块410,用于获取用户原始加密数据以及用户原始加密数据的数据上传时间;
[0144]
数据加密模块420,用于对用户原始加密数据进行解密,得到待处理解密数据,并对待处理解密数据进行加密,得到目标加密数据;
[0145]
签名数据生成模块430,用于对目标加密数据进行压缩,得到目标摘要数据,并根据目标摘要数据以及用户身份标识,生成目标签名数据;
[0146]
目标上链数据生成模块440,用于根据目标签名数据、目标加密数据、用户身份标识以及用户原始加密数据的数据上传时间,生成目标上链数据;
[0147]
审计请求处理模块450,用于在对目标上链数据传输至区块链之后,接收用户审计请求,并根据用户审计请求进行数据反馈,以供用户根据反馈数据进行审计。
[0148]
本发明实施例的技术方案,通过获取用户原始加密数据以及用户原始加密数据的数据上传时间,进而对用户原始加密数据进行解密,得到待处理解密数据,并对待处理解密数据进行加密,得到目标加密数据,从而对目标加密数据进行压缩,得到目标摘要数据,并根据目标摘要数据以及用户身份标识,生成目标签名数据,进一步根据目标签名数据、目标
加密数据、用户身份标识以及用户原始加密数据的数据上传时间,生成目标上链数据,从而在将目标上链数据传输至区块链之后,接收用户审计请求,并根据用户审计请求进行数据反馈,以供用户根据反馈数据进行审计。在本方案中,将需要在云端存储的数据存储于区块链,可以借助区块链的不可篡改性保证云端存储数据的安全性,而用户自己可以将本地存储的原始数据与云端存储的数据进行自主审计,无需借助第三方证书进行审计,解决了现有数据进行云存储时存在审计成本高以及参与方较多信息安全性较差的问题,能够在保证数据安全性的前提下,降低审计成本。
[0149]
可选的,数据加密模块420包括待处理解密数据获取单元,用于对所述用户原始加密数据进行解析,确定目标待解密数据以及辅助验证数据;对所述辅助验证数据以及csp私钥,进行双线性映射,得到双线性映射结果;根据所述双线性映射结果、第一哈希函数以及所述目标待解密数据,确定所述待处理解密数据。
[0150]
可选的,数据加密模块420包括目标加密数据获取单元,用于获取用户公钥;根据所述用户公钥以及对称加密算法,对所述待处理解密数据进行加密,得到目标加密数据。
[0151]
可选的,签名数据生成模块430,用于根据所述csp私钥对所述目标摘要数据以及用户身份标识进行加密,得到所述目标签名数据。
[0152]
可选的,审计请求处理模块450,用于获取与用户审计请求匹配的待处理用户审计数据;基于用户公钥对所述待处理用户审计数据中的目标待解密签名数据进行解密,得到待比较摘要;在待比较摘要与用户审计目标数据的摘要相同时,根据所述用户审计请求进行数据反馈。
[0153]
可选的,审计请求处理模块450,具体用于获取所述目标上链数据的链上地址,并基于用户公钥对链上地址进行加密,得到审计应答数据;将所述审计应答数据发送至用户登录的客户端,以供用户根据所述审计应答数据进行数据审计。
[0154]
本发明实施例所提供的数据上链审核装置可执行本发明任意实施例所提供的数据上链审核方法,具备执行方法相应的功能模块和有益效果。
[0155]
实施例五
[0156]
图5示出了可以用来实施本发明的实施例的电子设备的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
[0157]
如图5所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(rom)12、随机访问存储器(ram)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(rom)12中的计算机程序或者从存储单元18加载到随机访问存储器(ram)13中的计算机程序,来执行各种适当的动作和处理。在ram 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、rom 12以及ram 13通过总线14彼此相连。输入/输出(i/o)接口15也连接至总线14。
[0158]
电子设备10中的多个部件连接至i/o接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通
信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0159]
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如数据上链审核方法。
[0160]
在一些实施例中,数据上链审核方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由rom 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到ram 13并由处理器11执行时,可以执行上文描述的数据上链审核方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据上链审核方法。
[0161]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0162]
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0163]
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0164]
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且
可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0165]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、区块链网络和互联网。
[0166]
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务中,存在的管理难度大,业务扩展性弱的缺陷。
[0167]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
[0168]
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献