数据的验证方法、装置及相关设备与流程

本技术实施例涉及云计算领域,尤其涉及一种数据的验证方法、装置及相关设备。
背景技术:
1、近年来,云计算在诸多领域得到了广泛的应用。云计算将信息处理视为一种服务,如外包存储、外包计算等。利用云计算减轻了客户的存储管理负担,实现了独立地理位置的通用数据访问。目前,在云计算技术领域中,对于云存储的数据进行验证,一般要求用户将存储在云上的所有数据下载至本地,然后进行验证,但是这类方式由于保密性不好且适应性较差,导致出现了现有技术对数据验证效果较差的问题。
技术实现思路
1、本技术实施例提供一种数据的验证方法、装置及相关设备,以解决现有技术中对数据验证效果较差的问题。
2、为解决上述问题,本技术是这样实现的:
3、第一方面,本技术实施例提供了一种数据的验证方法,应用于客户端,所述方法包括:
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、本技术提供一种数据的验证方法、装置及相关设备,应用于客户端,所述方法包括:对待存储数据进行加密,得到加密密文和签名数据,所述加密密文与所述签名数据相对应;将所述加密密文和哈希数据上传至服务器,以及将所述加密密文和所述签名数据上传至区块链,所述哈希数据为对所述加密密文进行哈希计算得到的数据;向所述服务器发送第一数据验证请求,以及,向所述区块链发送第二数据验证请求,所述第一数据验证请求用于对所述服务器存储的所述加密密文的数据完整性进行验证,所述第二数据验证请求用于对所述区块链存储的所述签名数据的安全性进行验证;接收所述服务器响应于所述第一数据验证请求发送的第一反馈信息,以及,接收所述区块链响应于所述第二数据验证请求发送的第二反馈信息,所述第一反馈信息用于指示所述服务器存储的所述加密密文是否完整以及所述区块链存储的所述签名数据是否安全。本技术通过对待存储数据进行加密后,得到加密密文、签名数据以及哈希数据,并将加密密文和哈希数据上传至服务器,以及将所述加密密文和所述签名数据上传至区块链从而实现了利用区块链对待存储数据的安全性和完整性能进行验证,提高了数据验证的效果。
技术研发人员:何智旺
技术所有人:中移(苏州)软件技术有限公司
备 注:该技术已申请专利,仅供学习研究,如用于商业用途,请联系技术所有人。
声 明 :此信息收集于网络,如果你是此专利的发明人不想本网站收录此信息请联系我们,我们会在第一时间删除
