本发明属于云计算存储领域,具体涉及一种基于哈希共识机制的云计算存储方法及系统。
背景技术:
1、云计算存储是一种通过互联网将数据存储在远程服务器上的方式。它可以提供高效、灵活、安全的数据存储服务,同时也能节省企业的存储成本。随着云计算技术的快速发展,云存储逐渐成为了一种重要的数据存储方式,并得到了广泛的应用。
2、传统的数据存储方式面临着以下几个问题:
3、数据安全问题:在云计算存储中,用户的数据被存储在云服务器上,而这些云服务器可能会被黑客攻击或者内部人员恶意操作,导致用户的数据被窃取或者篡改,因此如何保证数据的安全性是一个重要问题。
4、存储性能问题:随着数据量的增加,云存储系统的存储性能也会面临挑战。如何提高存储性能,使得用户能够快速地读取和写入数据,是一个亟待解决的问题。
5、数据隐私问题:在云计算存储中,用户的数据可能会被存储在不同的地方,涉及到数据隐私的问题。如何保护用户的数据隐私,防止数据被泄露或者被不正当地使用,是一个重要问题。
6、如今云计算存储的安全性和隐私保护仍是用户关注的重点,并且存储安全和隐私保护技术还需要考虑到系统的性能和可用性,所以如何进一步通过存储安全和隐私保护技术解决数据加密、访问控制等问题仍是当下研究重点。
7、如授权公告号为cn106294585b的中国专利公开了一种云计算平台下的存储方法,包括:1.构建基于hadoop分布式文件系统的云数据备份系统,所述系统从物理上分为客户端、备份服务器和hadoop分布式文件系统集群;2.客户端中保存着为本机提供服务的备份服务器的信息,当需要备份或恢复时向备份服务器发出相应请求;3.备份服务器接收到客户客户端的请求,进行文件的备份和恢复,文件上传恢复的时候,采用文件分割的方式来管理文件,文件上传之前将文件分割成小文件块,再将文件块进行上传;文件恢复的时候是先下载文件的文件块,所有文件块下载完成之后将文件块合并成原来的文件。该发明提出了一种新的基于云计算平台的存储方法,提高了文件存储的效率。
8、如申请公开号为cn111917761a的专利公开了一种基于区块链云计算的数据安全保护方法,属于区块链技术领域,包括以下步骤:云计算存储服务器上设置供数据持有者自定义的访问权限,服务器通过访问权限后计算持有者上传的数据;通过将云计算中分布的各个存储服务器组成区块链子链,在每次数据更新过程中会生成服务器操作日志,将操作日志按照时间顺序保存在区块链的母链区块中;服务器记录更新数据的数据持有者身份信息,通过该公钥对保存在区块中的操作日志进行加密。云计算系统中的服务器在存储数据过程中,生成数据更新的操作日志,通过区块链的不可更改性来保存操作日志,使数据在受到破坏时,可以借助操作日志恢复到最新的更新节点,增加了数据保存的安全性。
9、如申请公开号为cn108494780a的专利公开了一种基于云计算的安全存储方法,该方法包括:云平台的支付应用服务器pas与金融交易终端tue通过安全通信方法来传输金融事件数据e_data;支付应用服务器pas将前台的金融事件数据e_data存储至云平台的金融数据存储服务器ms中。该发明提出了一种基于云计算的安全存储方法,提高了金融业务数据管理系统的安全性和可靠性。
10、以上专利都存在本背景技术提出的问题:只对数据加密一次,所以当存储到云服务器的数据被恶意修改时,这类云计算存储方法对这类恶意操作毫无察觉,虽然能恢复数据,但是无法防范处理,且加密后存储到云服务器后,用户查找存储的文件时间复杂度很高。
11、公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域普通技术人员所公知的现有技术。
技术实现思路
1、本发明所要解决的技术问题是克服现有技术的缺陷,提供一种基于哈希共识机制的云计算存储方法及系统,将哈希算法和共识机制结合使用,设计了一种双重加密机制,可以提供更加安全和可靠的数据存储服务。
2、为解决上述技术问题,本发明提供如下技术方案:
3、一方面,本发明提供一种基于哈希共识机制的云计算存储方法,包括以下步骤:
4、s1:计算待存储数据的哈希值;
5、s2:生成待存储数据的唯一标识符和原始文件索引表;
6、s3:加密待存储数据,得到密文;
7、s4:将所述密文存储至云服务器;
8、s5:云服务器返回存储逻辑地址和授权码;
9、s6:将待存储数据的哈希值和所述授权码进行联合加密,得到索引哈希值,并将待存储数据存储到区块链中。
10、作为本发明所述基于哈希共识机制的云计算存储方法的一种优选方案,其中:所述计算待存储数据的哈希值的方法如下:
11、令待存储数据为m,基于sha-3算法计算m的哈希值,公式如下:
12、z=keccak[r,c](m||'01',d);
13、其中,z为m的哈希值;keccak表示混合函数;r为keccak混合函数的固定参数,c为keccak混合函数的容量参数;m||'01'表示将m与后缀01进行拼接;d表示z的长度。
14、作为本发明所述基于哈希共识机制的云计算存储方法的一种优选方案,其中:所述生成待存储数据的唯一标识符和原始文件索引表的方法如下:
15、s21:基于待存储数据的时间戳生成唯一标识符,计算公式如下:
16、uid=ts+rn;
17、其中,uid为所述唯一标识符;ts为待存储数据的时间戳,rn为随机数;
18、s22:将待存储数据的哈希值和唯一标识符绑定,生成原始文件索引表;
19、作为本发明所述基于哈希共识机制的云计算存储方法的一种优选方案,其中:所述加密待存储数据的方法为rsa加密,具体如下:
20、选择两个不同的质数p和q,并计算它们的乘积n;
21、计算欧拉函数φ(n),公式如下:
22、φ(n)=(p-1)*(q-1);
23、选择一个整数e,满足1<e<φ(n),且e与φ(n)互质;
24、使用扩展欧几里得算法计算e的模反元素d,公式如下:
25、d×e≡1(modφ(n));
26、对待存储数据m进行加密,得到密文c,公式如下:
27、c=me mod n。
28、作为本发明所述基于哈希共识机制的云计算存储方法的一种优选方案,其中:所述密文在云服务器的存储方式为分布式存储。
29、作为本发明所述基于哈希共识机制的云计算存储方法的一种优选方案,其中:所述返回存储逻辑地址的方法如下:
30、通过元数据存储系统收集所述密文的每个数据块存储位置的物理地址cmap;
31、将所述物理地址转换成存储逻辑地址clog,公式如下:
32、clog=loc(cmap);
33、通过loc函数将文件名、数据块编号、存储节点编号提取出来并映射到逻辑地址clog,并将逻辑地址clog进行返回。
34、作为本发明所述基于哈希共识机制的云计算存储方法的一种优选方案,其中:所述返回授权码的方法如下:
35、生成一个随机数p作为对称密钥;使用对称密钥p对密文c进行加密,得到二次加密后的密文c';
36、通过非对称密钥加密p,得到加密后的对称秘钥p';
37、将加密后的对称密钥p'和二次加密后的密文c'组合成授权码auth,并将授权码返回。
38、作为本发明所述基于哈希共识机制的云计算存储方法的一种优选方案,其中:所述得到索引哈希值,并将待存储数据存储到区块链中的具体方法如下:
39、s61:生成中间哈希值;公式如下:
40、hmid=hash(z,auth);
41、其中,hmid表示中间哈希值,hash表示计算哈希值,(z,auth)表示待存储数据的哈希值z与授权码auth的拼接;
42、s62:通过非对称加密算法生成公钥和私钥;
43、s63:通过所述公钥生成索引哈希值,公式如下:
44、hfin=epb(hmid,hn);
45、其中,hfin表示索引哈希值;eepb表示公钥加密函数;hn为当前区块链的前n个区块的哈希值的拼接,形式如下:
46、hn=h1||h2||......||hn;
47、其中,h1,h2,……,hn分别表示当前区块的前1,2,……,n个区块的哈希值,||为拼接符号;
48、s64:将索引哈希值hfin与存储逻辑地址clog进行绑定,得到服务器文件索引表tservice;
49、s65:将待存储数据存储到区块链中;
50、作为本发明所述基于哈希共识机制的云计算存储方法的一种优选方案,其中:所述将待存储数据存储到区块链中的方法如下:将所述索引哈希值hfin发送给所有参与共识的节点;每个参与共识的节点使用所述私钥对索引哈希值进行解密,公式如下:
51、(hmid,hn)=epr(hfin);
52、其中,epr表示私钥解密函数;
53、每个节点将解密结果和节点的算力发送给其他节点;其他节点对所述解密结果进行验证;将验证通过的节点的算力添加到共识中。
54、第二方面,本发明提供一种基于哈希共识机制的云计算存储系统,包括数据压缩加密模块、分布式存储模块、索引哈希值生成模块、共识机制模块;其中:
55、数据压缩加密模块用于计算待存储数据的哈希值以及对待存储数据进行加密,生成密文;
56、分布式存储模块用于将密文以分布式存储的形式存储到云存储服务器上;
57、索引哈希值生成模块用于根据授权码和待加密文件的哈希值生成索引哈希值;
58、共识机制模块用于加将加密后的授权操作信息通过共识机制记录到区块链中。
59、与现有技术相比,本发明所达到的有益效果如下:
60、将哈希算法和共识机制结合使用,通过一种双重加密结构,可以提供更加安全和可靠的数据存储服务;不仅解决了传统云存储中存在的数据安全问题和存储效率问题,还能够确保数据的一致性和完整性。
61、将索引哈希值存储到区块链网络中,实现数据的去重和可追溯性;在云计算存储中解决了数据的安全存储和快速检索的问题,具有较高的实用性和可行性,可以被广泛应用于各种类型的云计算存储领域,例如对象存储、文件存储、块存储等。