【技术实现步骤摘要】
云存储系统与数据读写方法、设备及存储介质
[0001]本申请涉及云存储
,尤其涉及一种云存储系统与数据读写方法
、
设备及存储介质
。
技术介绍
[0002]随着用户数据的爆发性增长,云上各种分布式存储系统,例如块存储
、
文件系统
、
对象存储
、
表格存储
、
数据库等承接了用户越来越多的数据,而支持用户数据加密是保护用户数据安全性常用的手段
。
[0003]云存储系统较为常用的加解密方案是:存储系统的接入层负责管理用户密钥,并在用户写入数据时,根据用户密钥对数据进行加密后进行持久化存储;在用户读取数据时,从持久化存储介质中读取加密数据,根据用户密钥对加密数据进行解密后提供给用户
。
[0004]现有云存储系统采用的加解密方案设计实现难度较大,在需要更新用户密钥进行安全升级时,需要对加密数据进行解密再重新加密,成本高,且灵活性和可扩展性较差
。
技术实现思路
[0005]本申请的多个方面提供一种云存储系统与数据读写方法
、
设备及存储介质,用以提高云存储系统的灵活性和可扩展性,降低云存储系统的加密成本
。
[0006]本申请实施例提供一种云存储系统,包括:用户交互层
、
存储持久化层以及位于用户交互层和存储持久化层之间的至少一个存储服务层;用户交互层包括密钥管理节点,用于管理用户主密钥,并向与其相邻的存储服务层提供用户 ...
【技术保护点】
【技术特征摘要】
1.
一种云存储系统,其特征在于,包括:用户交互层
、
存储持久化层以及位于所述用户交互层和所述存储持久化层之间的至少一个存储服务层;所述用户交互层包括密钥管理节点,所述密钥管理节点用于管理用户主密钥,并向与其相邻的存储服务层提供所述用户主密钥;所述存储服务层包括存储服务节点,所述存储服务节点用于生成本层存储服务密钥,并在数据读写过程中,根据上一层提供的密钥对本层存储服务密钥进行加解密,以及将本层存储服务密钥提供给下一层,以供下一层对其密钥进行加解密;所述存储持久化层包括存储持久化节点,所述存储持久化节点用于生成数据加密密钥,并在数据读写过程中,根据与其相邻的存储服务层提供的存储服务密钥对所述数据加密密钥进行加解密,以及根据所述数据加密密钥对用户数据进行加解密
。2.
根据权利要求1所述的系统,其特征在于,所述存储服务层中的存储服务节点具体用于:在用户写入第一数据时,生成本层存储服务密钥,根据上一层提供的密钥对本层存储服务密钥进行加密,以得到本层存储服务密钥的密文并保存;以及将所述第一数据和本层存储服务密钥发送给与其相邻的下一存储服务层或存储持久化层,以供与其相邻的下一存储服务层或存储持久化层继续对所述第一数据进行写入处理;所述存储持久化层中的存储持久化节点具体用于:在用户写入第一数据时,生成数据加密密钥,根据所述数据加密密钥对所述第一数据进行加密,以得到数据密文并持久化存储;以及根据与其相邻的存储服务层提供的存储服务密钥,对所述数据加密密钥进行加密,以得到所述数据加密密钥的密文并持久化存储
。3.
根据权利要求2所述的系统,其特征在于,所述存储服务层中的存储服务节点具体用于:在用户读取第二数据时,根据上一层提供的密钥对本层存储服务密钥的密文进行解密,得到本层存储服务密钥;将所述第二数据的标识信息和本层存储服务密钥发送给与其相邻的下一存储服务层或存储持久化层,以供与其相邻的下一存储服务层或存储持久化层对所述第二数据进行读取处理;以及接收与其相邻的下一层存储服务层或存储持久化层返回的所述第二数据,并将所述第二数据返回给与其相邻的上一存储服务层或所述用户的计算节点;所述存储持久化层中的存储持久化节点具体用于:在用户读取第二数据时,根据与其相邻的存储服务层提供的存储服务密钥对所述数据加密密钥的密文进行解密,以得到数据加密密钥;根据所述数据加密密钥对所述第二数据的数据密文进行解密,以得到所述第二数据,并将所述第二数据发送给与其相邻的存储服务层
。4.
根据权利要求1‑3任一项所述的系统,其特征在于,与所述用户交互层相邻的存储服务层中的存储服务节点还用于:在所述用户主密钥发生变化的情况下,使用变化前的用户主密钥对加密后的本层存储服务密钥进行解密以得到本层存储服务密钥;以及使用变化后的用户主密钥对本层存储服务密钥重新进行加密;和
/
或所述存储持久化层中的存储持久化节点还用于:更新数据加密密钥,使用更新前的数据加密密钥解密出用户数据,并使用更新后的数据加密密钥重新对用户数据进行加密;以及根据与其相邻的存储服务层提供的存储服务密钥,对更新后的数据加密密钥进行加密,并替换更新前的数据加密密钥的加密结果
。
5.
一种云存储系统,其特征在于,包括:用户交互层和存储持久化层;所述用户交互层包括密钥管理节点,用于管理用户主密钥,并向所述存储持久化层提供所述用户主密钥;所述存储持久化层包括存储持久化节点,用于生成数据加密密钥,并在数据读写过程中,根据所述数据加密密钥对用户数据进行加解密,以及根据所述用户主密钥对所述数据加密密钥进行加解密
。6.
一种数据读写方法,其特征在于,适用于云存储系统中的至少一个存储服务层中的存储服务节点,所述方法包括:生成本层存储服务密钥,并在数据读写过程中根据上一层提供的密钥对本层存储服务密钥进行加解密处理,所述本层存储服务密钥是所述存储服务节点所属目标存储服务层的存储服务密钥,所述上一层提供的密钥为用户主密钥或为所述目标存储服务层的上一层的存储服务密钥;将本层存储服务密钥提供给下一层,所述下一层实现为与所述目标存储服务层相邻的下一层存储服务层或者云存储系统中的存储持久化层
。7.
根据权利要求6所述的方法,其特征在于,生成本层存储服务密钥,在数据写过程中,根据上一层提供的密钥对本层存储服务密钥进行加解密处理,包括:在用户写入第一数据时,生成本层存储服务密钥,并接收上一层提供的密钥,所述上一层实现为云存储系统中的用户交互层,或者实现为与所述目标存储服务层相邻的上一层存储服务层;根据上一层提供的密钥对本层存储服务密钥进行加密并保存加密得到的本层存储服务密钥的密文,以及将所述第一数据和本层存储服务密钥发送给下一层
。8.
根据权利要求7所述的方法,其特征在于,在数据读过程中,根据上一层提供的密钥对本层存储服务密钥进行加解密处理,包括:在用户读取第二数据时,获取上一层提供的密钥;根据上一层提供的密钥对本层存储服务密钥的密文进行解密,得到本层存储服务密钥;将所述第二数据的标识信息和本层存储服务密钥发送给下一层;以及接收其相邻的下一层存储服务层或存储持久化层返回的所述第二数据并发送给上一层
。9.
根据权利要求8所述的方法,其特征在于,生成本层存储服务密钥,包括:在接收到待存储数据时,将所述待存储数据划分为至少一个数据分片;为所述至少一个数据分片生成至少一个本层存储服务密钥;其中,所述待存储数据为所述第一数据或者为上一层存储服务层发送的数据分片;根据上一层提供的密钥对本层存储服务密钥进行加密并保存加密得到的本层存储服务密钥的密文,包括:根据上一层提供的与所述待存储数据对应的密钥,对所述至少一个本层存储服务密钥分别进行加密并保存至少一个本层存储服务密钥的密文,以及建立所述待存储数据对应的密钥
、
所述至少一个数据分片的标识以及所述至少一个本层存储服务密钥的密文之间的第一对应关系;
将所述第一数据和本层存储服务密钥发送给下一层,包括:将所述至少一个数据分片
、
所述至少一个本层存储服务密钥以及所述至少一个数据分片与所述至少一个本层存储服务密钥之间的第二对应关系发送给下一层
。10.
根据权利要求9所述的方法,其特征在于,根据上一层提供的密钥对本层存储服务密钥的密文进行解密,得到本层存储服务密钥,包括:根据所述上一层提供的密钥,查询所述第一对应关系,以...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。