CN115828290A - 一种基于分布式对象存储的加解密方法及装置 - Google Patents
一种基于分布式对象存储的加解密方法及装置 Download PDFInfo
- Publication number
- CN115828290A CN115828290A CN202310158887.6A CN202310158887A CN115828290A CN 115828290 A CN115828290 A CN 115828290A CN 202310158887 A CN202310158887 A CN 202310158887A CN 115828290 A CN115828290 A CN 115828290A
- Authority
- CN
- China
- Prior art keywords
- target
- object storage
- encryption key
- target object
- key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
本发明实施例公开了一种基于分布式对象存储的加解密方法及装置,其中该方法包括:分别在目标对象存储客户端和目标对象存储服务端生成公私密钥对;当检测到目标用户在目标对象存储客户端上传目标对象数据时,在目标对象存储服务端使用对称算法随机生成用于加密目标对象数据的目标加密密钥明文;根据目标加密密钥明文,对目标对象数据进行加密处理得到目标加密对象数据;对目标加密密钥明文进行加密处理,得到多个目标子加密密钥密文;当检测到目标用户在目标对象存储客户端请求查看目标对象数据时,对目标加密对象数据进行解密处理得到目标对象数据。本发明可解决当前对象存储在托管密码安全与客户端自设密码的繁琐及传输安全等问题。
Description
技术领域
本发明涉及对象存储数据加解密的技术领域,尤其涉及一种基于分布式对象存储的加解密方法及装置。
背景技术
目前对象存储服务器端提供的保护静态数据常见的二种加密方案有两种,第一种方案是使用对称算法生成唯一的数据密钥来加密每个数据元。作为额外的保护,使用托管密钥加密密钥本身。具体流程:首次将需要加密的对象添加到存储桶时,存储服务网关会自动在用户账号中创建密钥管理服务的数据密钥。当请求加密数据时,存储服务网关使用数据密钥加密数据,并在使用后尽快从内存中删除该数据密钥明文,然后将加密的数据密钥作为元数据与加密数据一起存储。当请求解密数据时,存储服务网关向密钥管理服务发送加密的数据密钥。使用相同的密钥管理服务密钥为密钥解密,然后将数据密钥明文返回到存储服务网关,存储服务网关使用数据密钥解密出数据,并会尽快从内存中删除该数据密钥明文。第二种方案是在客户端设置自己的对称算法的加密密钥,作为请求的一部分提供的加密密钥,存储服务网关在其写入磁盘时管理数据加密,并在访问对象时管理数据解密。
现有在对象存储加密技术对于数据的安全处理,还存在一些不足之处。例如第一种方案中,服务器使用对象存储的托管密钥加密用于加密数据的密钥,由于密钥管理服务中的托管密钥是能直接解密加密密钥的,所以当对象存储服务的密钥管理服务数据被第三方窃取,可以从用户的元数据获取加密密钥密文,然后直接使用托管密钥解密出加密密钥原文,这将意味着整个对象存储中所有用户的数据都不再安全;另外如果客户身份令牌被截取,由于是托管解密,只需要用户身份令牌就直接访问数据,服务端会自动解密并返回数据。第二种方案中,由于客户端设置加密密钥作为请求的一部分提供的加密密钥,在请求中加密密钥是以明文方式传播。容易被第三方监听网络窃取密钥。而且每次加密一个文件都设置一个加密密钥用户也不方便记住这么多密码。如果只设置一个相同的加密密钥,无法保证云存储中所有敏感保密文件的安全。
发明内容
基于此,有必要针对上述问题,提出一种基于分布式对象存储的加解密方法及装置,以解决现有技术的以下问题:托管密钥能直接解密加密密钥的,对象存储服务的密钥管理服务数据容易被第三方窃取,另外加密密钥作为请求的一部分提供的加密密钥,在请求中加密密钥是以明文方式传播,容易被第三方监听网络窃取密钥。
本发明实施例的第一技术方案为:
一种基于分布式对象存储的加解密方法,其包括:分别在目标对象存储客户端和目标对象存储服务端生成公私密钥对,其中所述目标对象存储客户端的公私密钥对包括目标客户端公钥和目标客户端私钥,所述目标对象存储服务端的公私密钥对包括目标服务端公钥和目标服务端私钥;当检测到目标用户在所述目标对象存储客户端上传目标对象数据时,在所述目标对象存储服务端使用对称算法随机生成用于加密所述目标对象数据的目标加密密钥明文;根据所述目标加密密钥明文,对所述目标对象数据进行加密处理得到目标加密对象数据,并将所述目标加密对象数据保存到所述目标对象存储服务端各个节点的目标用户存储桶中;对所述目标加密密钥明文进行加密处理,得到多个目标子加密密钥密文,并将各个所述目标子加密密钥密文保存到所述目标对象存储服务端各节点的所述目标用户存储桶中;当检测到所述目标用户使用其身份信息在所述目标对象存储客户端请求查看所述目标对象数据时,对所述目标加密对象数据进行解密处理得到所述目标对象数据。
本发明实施例的第二技术方案为:
一种基于分布式对象存储的加解密装置,其包括:密钥对生成模块,用于分别在目标对象存储客户端和目标对象存储服务端生成公私密钥对,其中所述目标对象存储客户端的公私密钥对包括目标客户端公钥和目标客户端私钥,所述目标对象存储服务端的公私密钥对包括目标服务端公钥和目标服务端私钥;明文生成模块,用于当检测到目标用户在所述目标对象存储客户端上传目标对象数据时,在所述目标对象存储服务端使用对称算法随机生成用于加密所述目标对象数据的目标加密密钥明文;数据加密模块,用于根据所述目标加密密钥明文,对所述目标对象数据进行加密处理得到目标加密对象数据,并将所述目标加密对象数据保存到所述目标对象存储服务端各个节点的目标用户存储桶中;密文获取模块,用于对所述目标加密密钥明文进行加密处理,得到多个目标子加密密钥密文,并将各个所述目标子加密密钥密文保存到所述目标对象存储服务端各节点的所述目标用户存储桶中;数据解密模块,用于当检测到所述目标用户使用其身份信息在所述目标对象存储客户端请求查看所述目标对象数据时,对所述目标加密对象数据进行解密处理得到所述目标对象数据。
本发明实施例的第三技术方案为:
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:
分别在目标对象存储客户端和目标对象存储服务端生成公私密钥对,其中所述目标对象存储客户端的公私密钥对包括目标客户端公钥和目标客户端私钥,所述目标对象存储服务端的公私密钥对包括目标服务端公钥和目标服务端私钥;当检测到目标用户在所述目标对象存储客户端上传目标对象数据时,在所述目标对象存储服务端使用对称算法随机生成用于加密所述目标对象数据的目标加密密钥明文;根据所述目标加密密钥明文,对所述目标对象数据进行加密处理得到目标加密对象数据,并将所述目标加密对象数据保存到所述目标对象存储服务端各个节点的目标用户存储桶中;对所述目标加密密钥明文进行加密处理,得到多个目标子加密密钥密文,并将各个所述目标子加密密钥密文保存到所述目标对象存储服务端各节点的所述目标用户存储桶中;当检测到所述目标用户使用其身份信息在所述目标对象存储客户端请求查看所述目标对象数据时,对所述目标加密对象数据进行解密处理得到所述目标对象数据。
本发明实施例的第四技术方案为:
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行以下步骤:
分别在目标对象存储客户端和目标对象存储服务端生成公私密钥对,其中所述目标对象存储客户端的公私密钥对包括目标客户端公钥和目标客户端私钥,所述目标对象存储服务端的公私密钥对包括目标服务端公钥和目标服务端私钥;当检测到目标用户在所述目标对象存储客户端上传目标对象数据时,在所述目标对象存储服务端使用对称算法随机生成用于加密所述目标对象数据的目标加密密钥明文;根据所述目标加密密钥明文,对所述目标对象数据进行加密处理得到目标加密对象数据,并将所述目标加密对象数据保存到所述目标对象存储服务端各个节点的目标用户存储桶中;对所述目标加密密钥明文进行加密处理,得到多个目标子加密密钥密文,并将各个所述目标子加密密钥密文保存到所述目标对象存储服务端各节点的所述目标用户存储桶中;当检测到所述目标用户使用其身份信息在所述目标对象存储客户端请求查看所述目标对象数据时,对所述目标加密对象数据进行解密处理得到所述目标对象数据。
采用本发明实施例,具有如下有益效果:
本发明首先通过分别在目标对象存储客户端和目标对象存储服务端生成公私密钥对,当检测到目标用户在所目标对象存储客户端上传目标对象数据时,在目标对象存储服务端使用对称算法随机生成用于加密目标对象数据的目标加密密钥明文,然后根据目标加密密钥明文,对目标对象数据进行加密处理得到目标加密对象数据,并将目标加密对象数据保存到目标对象存储服务端各个节点的目标用户存储桶中,接着对目标加密密钥明文进行加密处理,得到多个目标子加密密钥密文,并将各个目标子加密密钥密文保存到目标对象存储服务端各节点的目标用户存储桶中,最后当检测到目标用户使用其身份信息在目标对象存储客户端请求查看目标对象数据时,对目标加密对象数据进行解密处理得到目标对象数据,可解决当前对象存储在托管密码安全与客户端自设密码的繁琐及传输安全等问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
其中:
图1为一个实施例中基于分布式对象存储的加解密方法一实施方式的实施流程图;
图2为一个实施例中基于分布式对象存储的加解密装置一实施方式的框架结构图;
图3为一个实施例中计算机设备一实施方式的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,结合图1可以得到,本发明实施例的一种基于分布式对象存储的加解密方法,包括以下几个步骤:
步骤S101:分别在目标对象存储客户端和目标对象存储服务端生成公私密钥对,其中所述目标对象存储客户端的公私密钥对包括目标客户端公钥和目标客户端私钥,所述目标对象存储服务端的公私密钥对包括目标服务端公钥和目标服务端私钥。
其中,公钥和私钥是通过非对称加密算法生成的一个密钥对(即一个公钥和一个私钥),其中的一个向外界公开,称为公钥;另一个自己保留,称为私钥。通过这种算法得到的密钥对能保证在世界范围内是唯一的。使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。比如用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密,否则解密将不会成功。
步骤S102:当检测到目标用户在所述目标对象存储客户端上传目标对象数据时,在所述目标对象存储服务端使用对称算法随机生成用于加密所述目标对象数据的目标加密密钥明文。
其中,当用户通过客户端上传目标对象数据(如A文件)到目标对象存储客户端时,所述目标对象存储服务端可使用对称算法(如AES256或者SM4算法等)随机生成加密密钥明文,用于加密目标对象数据。其中,非对称算法生成的加密密钥一般只适用于小文件的加密,因为其加密数据过程很慢,而对称算法生成的加密密钥可以适用于大文件的加密,加密数据速度很快。
步骤S103:根据所述目标加密密钥明文,对所述目标对象数据进行加密处理得到目标加密对象数据,并将所述目标加密对象数据保存到所述目标对象存储服务端各个节点的目标用户存储桶中。
其中,在本步骤中,是将所述目标加密对象数据分成多个数据块后,再将多个数据块分别保存到所述目标对象存储服务端各个节点的目标用户存储桶中。
步骤S104:对所述目标加密密钥明文进行加密处理,得到多个目标子加密密钥密文,并将各个所述目标子加密密钥密文保存到所述目标对象存储服务端各节点的所述目标用户存储桶中。
其中,由于所述目标加密密钥明文容易被盗取来用于解密所述目标加密对象数据,因此需要对所述目标加密密钥明文进行加密处理。在本步骤中,由于将各个所述目标子加密密钥密文保存到所述目标对象存储服务端各节点的所述目标用户存储桶中,即使个别节点的所述目标子加密密钥密文被窃取,也无法获取到完整的加密密钥密文。
步骤S105:当检测到所述目标用户使用其身份信息在所述目标对象存储客户端请求查看所述目标对象数据时,对所述目标加密对象数据进行解密处理得到所述目标对象数据。
在本实施例中,可选地,所述分别在目标对象存储客户端和目标对象存储服务端生成公私密钥对,其中所述目标对象存储客户端的公私密钥对包括目标客户端公钥和目标客户端私钥,所述目标对象存储服务端的公私密钥对包括目标服务端公钥和目标服务端私钥,包括:
第一,在密钥服务初始化时,根据目标用户的身份信息在目标对象存储客户端使用非对称算法随机生成目标客户端公钥和目标客户端私钥。
其中,只有非对称算法才能生成公私密钥对,而只有公私密钥对才能较好地对目标对象数据进行加解密处理。其中,可使用RSA算法或者SM2算法等非对称算法随机生成目标客户端公钥和目标客户端私钥。
第二,将所述目标客户端公钥发送至目标对象存储服务端,并根据所述目标用户的身份信息在所述目标对象存储服务端使用非对称算法随机生成目标服务端公钥和目标服务端私钥。
其中,可使用RSA算法或者SM2算法等非对称算法随机生成目标服务端公钥和目标服务端私钥。
在本实施例中,可选地,所述对所述目标加密密钥明文进行加密处理,得到多个目标子加密密钥密文,并将各个所述目标子加密密钥密文保存到所述目标对象存储服务端各节点的所述目标用户存储桶中,包括:
第一,使用里所码将所述目标加密密钥明文进行编码处理,将所述目标加密密钥明文分为多个具有编码的目标子加密密钥明文。
其中,里所码(Reed-solomon codes,简称RS编码)是一种前向纠错的信道编码,对由校正过采样数据所产生的多项式有效,当接收器正确的收到足够的点后,它就可以恢复原来的多项式,即使接收到的多项式上有很多点被噪声干扰失真。其中,里所码可以在各个所述目标子加密密钥密文解密后,将它们重新合并为所述目标加密密钥明文。
在本步骤中,可选地,将所述目标加密密钥明文分成等长的K个数据块,并根据这K个数据生成M个冗余的校验数据,这样这K+M 块数据中任意M块数据损失, 也可以通过剩下的K块数据计算得到。其中,K和M均为正整数。
第二,根据所述目标客户端公钥对每个所述目标子加密密钥明文进行加密处理,得到多个目标子加密密钥密文。
第三,将各个所述目标子加密密钥密文保存到所述目标对象存储服务端各节点的所述目标用户存储桶中。
其中,将各个所述目标子加密密钥密文分开保存,可以进一步增强所述目标加密密钥明文的安全性,进而进一步增强目标对象数据的安全性。
在本实施例中,可选地,所述当检测到所述目标用户使用其身份信息在所述目标对象存储客户端请求查看所述目标对象数据时,对所述目标加密对象数据进行解密处理得到所述目标对象数据,包括:
第一,当检测到所述目标用户使用其身份信息在所述目标对象存储客户端请求查看所述目标对象数据时,从各个所述目标用户存储桶中获取各个所述目标子加密密钥密文,并将各个所述目标子加密密钥密文发送到所述目标对象存储客户端。
第二,在所述目标对象存储客户端使用所述目标客户端私钥对各个所述目标子加密密钥密文进行解密,解密出各个所述目标子加密密钥明文。
第三,使用里所码将各个所述目标子加密密钥明文进行解码处理,并将解码后的各个所述目标子加密密钥明文合并为所述目标加密密钥明文。
其中,可选地,可以对所述目标客户端私钥设置PIN码,或使用对称加密算法将所述目标客户端私钥保存在所述目标用户自定义的指定地址,这样可以增强所述目标客户端私钥的安全性。
其中,在本实施例中,是先使用所述目标客户端私钥对各个所述目标子加密密钥密文进行解密再进行解码,而只有用户才有所述目标客户端私钥,这样就大大提高了目标对象数据保护的安全性。
在本实施例中,可选地,所述使用里所码将各个所述目标子加密密钥明文进行解码处理,并将解码后的各个所述目标子加密密钥明文合并为所述目标加密密钥明文,之后包括:
第一,使用所述目标服务端公钥将所述目标加密密钥明文进行加密处理,得到目标加密密钥密文。
第二,将所述目标加密密钥密文发送至所述目标对象存储服务端,并使用所述目标服务端私钥对所述目标加密密钥密文进行解密,得到所述目标加密密钥明文。
其中,为了避免在传输过程中导致所述目标加密密钥明文被窃取,需要使用所述目标服务端公钥将所述目标加密密钥明文进行加密处理。因为加密密钥是所述目标服务端公钥,在所述目标对象存储服务端就可以使用所述目标服务端私钥对所述目标加密密钥密文进行解密,得到所述目标加密密钥明文。
在本实施例中,可选地,所述将所述目标加密密钥密文发送至所述目标对象存储服务端,并使用所述目标服务端私钥对所述目标加密密钥密文进行解密,得到所述目标加密密钥明文,之后包括:
第一,将所述目标加密密钥明文保存在所述目标对象存储服务端对应的目标内存中。
第二,根据所述目标加密密钥明文和与其相对应的对称算法(即根据所述目标加密密钥明文和与所述目标加密密钥明文相对应的对称算法),对所述目标加密对象数据进行解密得到所述目标对象数据。
在本实施例中,可选地,所述根据所述目标加密密钥明文和与其相对应的对称算法,对所述目标加密对象数据进行解密得到所述目标对象数据,之后包括:
删除保存在所述目标对象存储服务端对应的所述目标内存中的所述目标加密密钥明文。
请参阅图2,结合图2可以得到,本发明实施例的一种基于分布式对象存储的加解密装置100,其包括:
密钥对生成模块10,用于分别在目标对象存储客户端和目标对象存储服务端生成公私密钥对,其中所述目标对象存储客户端的公私密钥对包括目标客户端公钥和目标客户端私钥,所述目标对象存储服务端的公私密钥对包括目标服务端公钥和目标服务端私钥;
明文生成模块20,用于当检测到目标用户在所述目标对象存储客户端上传目标对象数据时,在所述目标对象存储服务端使用对称算法随机生成用于加密所述目标对象数据的目标加密密钥明文;
数据加密模块30,用于根据所述目标加密密钥明文,对所述目标对象数据进行加密处理得到目标加密对象数据,并将所述目标加密对象数据保存到所述目标对象存储服务端各个节点的目标用户存储桶中;
密文获取模块40,用于对所述目标加密密钥明文进行加密处理,得到多个目标子加密密钥密文,并将各个所述目标子加密密钥密文保存到所述目标对象存储服务端各节点的所述目标用户存储桶中;
数据解密模块50,用于当检测到所述目标用户使用其身份信息在所述目标对象存储客户端请求查看所述目标对象数据时,对所述目标加密对象数据进行解密处理得到所述目标对象数据。
图3示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是终端,也可以是服务器。如图3所示,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现上述的基于分布式对象存储的加解密方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行上述的基于分布式对象存储的加解密方法。本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在另一个实施例中,提出了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:
分别在目标对象存储客户端和目标对象存储服务端生成公私密钥对,其中所述目标对象存储客户端的公私密钥对包括目标客户端公钥和目标客户端私钥,所述目标对象存储服务端的公私密钥对包括目标服务端公钥和目标服务端私钥;当检测到目标用户在所述目标对象存储客户端上传目标对象数据时,在所述目标对象存储服务端使用对称算法随机生成用于加密所述目标对象数据的目标加密密钥明文;根据所述目标加密密钥明文,对所述目标对象数据进行加密处理得到目标加密对象数据,并将所述目标加密对象数据保存到所述目标对象存储服务端各个节点的目标用户存储桶中;对所述目标加密密钥明文进行加密处理,得到多个目标子加密密钥密文,并将各个所述目标子加密密钥密文保存到所述目标对象存储服务端各节点的所述目标用户存储桶中;当检测到所述目标用户使用其身份信息在所述目标对象存储客户端请求查看所述目标对象数据时,对所述目标加密对象数据进行解密处理得到所述目标对象数据。
在另一个实施例中,提出了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行以下步骤:
分别在目标对象存储客户端和目标对象存储服务端生成公私密钥对,其中所述目标对象存储客户端的公私密钥对包括目标客户端公钥和目标客户端私钥,所述目标对象存储服务端的公私密钥对包括目标服务端公钥和目标服务端私钥;当检测到目标用户在所述目标对象存储客户端上传目标对象数据时,在所述目标对象存储服务端使用对称算法随机生成用于加密所述目标对象数据的目标加密密钥明文;根据所述目标加密密钥明文,对所述目标对象数据进行加密处理得到目标加密对象数据,并将所述目标加密对象数据保存到所述目标对象存储服务端各个节点的目标用户存储桶中;对所述目标加密密钥明文进行加密处理,得到多个目标子加密密钥密文,并将各个所述目标子加密密钥密文保存到所述目标对象存储服务端各节点的所述目标用户存储桶中;当检测到所述目标用户使用其身份信息在所述目标对象存储客户端请求查看所述目标对象数据时,对所述目标加密对象数据进行解密处理得到所述目标对象数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
本发明实施例首先通过分别在目标对象存储客户端和目标对象存储服务端生成公私密钥对,当检测到目标用户在目标对象存储客户端上传目标对象数据时,在目标对象存储服务端使用对称算法随机生成用于加密目标对象数据的目标加密密钥明文,然后根据目标加密密钥明文,对目标对象数据进行加密处理得到目标加密对象数据,并将目标加密对象数据保存到目标对象存储服务端各个节点的目标用户存储桶中,接着对目标加密密钥明文进行加密处理,得到多个目标子加密密钥密文,并将各个目标子加密密钥密文保存到目标对象存储服务端各节点的目标用户存储桶中,最后当检测到目标用户使用其身份信息在目标对象存储客户端请求查看目标对象数据时,对目标加密对象数据进行解密处理得到目标对象数据,可解决当前对象存储在托管密码安全与客户端自设密码的繁琐及传输安全等问题。
总之,在本实施例中,对象存储服务端中不存在能直接解密目标加密密钥明文的数据,即使服务端数据被第三方窃取也无法直接解密,由于RS编码过程中分片是使用目标客户端公钥加密的,目标客户端私钥由用户自己保存,直接使用RS解码无法合并还原出目标加密密钥明文。另外,在使用解密还原出的目标加密密钥明文后,在传输过程使用了用户绑定服务器的目标客户端公钥加密了目标加密密钥明文,可以解决用户请求过程中存在的漏洞问题,很好地解决了当前对象存储在托管密码安全与客户端自设密码的繁琐及传输安全等问题。
另外,本发明没有把用于解密的加密密钥托管在服务端上,即使在服务端被第三方入侵后,无法从服务端中得到加密密钥。加密密钥用RS编码分片后使用用户客户端绑定的公钥加密再存储到各节点,在入侵对象存储单一节点中也无法获取完整的加密密钥密文。
其次,由于加密密钥密文使用RS编码,也就是如果有任意小于等于M个校验块的数据在某些节点中因为服务器宕机或者数据丢失的情况下,仍然能通过剩下的数据还原出来加密密钥密文,确保加密密钥密文存储在云存储中的安全性。
其次,利用用户客户端绑定的非对称算法的生成的私钥在客户端完成加密密钥的RS解码及解密,以及加密密钥明文再通过用户绑定的服务端公钥加密,然后服务端完成解密数据后从内存中删除加密密钥明文,由于加密密钥数据一般都非常小,密钥完成解码和交换都会很快,和传统方式在性能和效率接近,但安全性大大提升。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于分布式对象存储的加解密方法,其特征在于,包括:
分别在目标对象存储客户端和目标对象存储服务端生成公私密钥对,其中所述目标对象存储客户端的公私密钥对包括目标客户端公钥和目标客户端私钥,所述目标对象存储服务端的公私密钥对包括目标服务端公钥和目标服务端私钥;
当检测到目标用户在所述目标对象存储客户端上传目标对象数据时,在所述目标对象存储服务端使用对称算法随机生成用于加密所述目标对象数据的目标加密密钥明文;
根据所述目标加密密钥明文,对所述目标对象数据进行加密处理得到目标加密对象数据,并将所述目标加密对象数据保存到所述目标对象存储服务端各个节点的目标用户存储桶中;
对所述目标加密密钥明文进行加密处理,得到多个目标子加密密钥密文,并将各个所述目标子加密密钥密文保存到所述目标对象存储服务端各节点的所述目标用户存储桶中;
当检测到所述目标用户使用其身份信息在所述目标对象存储客户端请求查看所述目标对象数据时,对所述目标加密对象数据进行解密处理得到所述目标对象数据。
2.根据权利要求1所述的基于分布式对象存储的加解密方法,其特征在于,所述分别在目标对象存储客户端和目标对象存储服务端生成公私密钥对,其中所述目标对象存储客户端的公私密钥对包括目标客户端公钥和目标客户端私钥,所述目标对象存储服务端的公私密钥对包括目标服务端公钥和目标服务端私钥,包括:
在密钥服务初始化时,根据目标用户的身份信息在目标对象存储客户端使用非对称算法随机生成目标客户端公钥和目标客户端私钥;
将所述目标客户端公钥发送至目标对象存储服务端,并根据所述目标用户的身份信息在所述目标对象存储服务端使用非对称算法随机生成目标服务端公钥和目标服务端私钥。
3.根据权利要求1所述的基于分布式对象存储的加解密方法,其特征在于,所述对所述目标加密密钥明文进行加密处理,得到多个目标子加密密钥密文,并将各个所述目标子加密密钥密文保存到所述目标对象存储服务端各节点的所述目标用户存储桶中,包括:
使用里所码将所述目标加密密钥明文进行编码处理,将所述目标加密密钥明文分为多个具有编码的目标子加密密钥明文;
根据所述目标客户端公钥对每个所述目标子加密密钥明文进行加密处理,得到多个目标子加密密钥密文;
将各个所述目标子加密密钥密文保存到所述目标对象存储服务端各节点的所述目标用户存储桶中。
4.根据权利要求1所述的基于分布式对象存储的加解密方法,其特征在于,所述当检测到所述目标用户使用其身份信息在所述目标对象存储客户端请求查看所述目标对象数据时,对所述目标加密对象数据进行解密处理得到所述目标对象数据,包括:
当检测到所述目标用户使用其身份信息在所述目标对象存储客户端请求查看所述目标对象数据时,从各个所述目标用户存储桶中获取各个所述目标子加密密钥密文,并将各个所述目标子加密密钥密文发送到所述目标对象存储客户端;
在所述目标对象存储客户端使用所述目标客户端私钥对各个所述目标子加密密钥密文进行解密,解密出各个所述目标子加密密钥明文;
使用里所码将各个所述目标子加密密钥明文进行解码处理,并将解码后的各个所述目标子加密密钥明文合并为所述目标加密密钥明文;
其中,对所述目标客户端私钥设置PIN码,或使用对称加密算法将所述目标客户端私钥保存在所述目标用户自定义的指定地址。
5.根据权利要求4所述的基于分布式对象存储的加解密方法,其特征在于,所述使用里所码将各个所述目标子加密密钥明文进行解码处理,并将解码后的各个所述目标子加密密钥明文合并为所述目标加密密钥明文,之后包括:
使用所述目标服务端公钥将所述目标加密密钥明文进行加密处理,得到目标加密密钥密文;
将所述目标加密密钥密文发送至所述目标对象存储服务端,并使用所述目标服务端私钥对所述目标加密密钥密文进行解密,得到所述目标加密密钥明文。
6.根据权利要求5所述的基于分布式对象存储的加解密方法,其特征在于,所述将所述目标加密密钥密文发送至所述目标对象存储服务端,并使用所述目标服务端私钥对所述目标加密密钥密文进行解密,得到所述目标加密密钥明文,之后包括:
将所述目标加密密钥明文保存在所述目标对象存储服务端对应的目标内存中;
根据所述目标加密密钥明文和与其相对应的对称算法,对所述目标加密对象数据进行解密得到所述目标对象数据。
7.根据权利要求6所述的基于分布式对象存储的加解密方法,其特征在于,所述根据所述目标加密密钥明文和与其相对应的对称算法,对所述目标加密对象数据进行解密得到所述目标对象数据,之后包括:
删除保存在所述目标对象存储服务端对应的所述目标内存中的所述目标加密密钥明文。
8.一种基于分布式对象存储的加解密装置,其特征在于,包括:
密钥对生成模块,用于分别在目标对象存储客户端和目标对象存储服务端生成公私密钥对,其中所述目标对象存储客户端的公私密钥对包括目标客户端公钥和目标客户端私钥,所述目标对象存储服务端的公私密钥对包括目标服务端公钥和目标服务端私钥;
明文生成模块,用于当检测到目标用户在所述目标对象存储客户端上传目标对象数据时,在所述目标对象存储服务端使用对称算法随机生成用于加密所述目标对象数据的目标加密密钥明文;
数据加密模块,用于根据所述目标加密密钥明文,对所述目标对象数据进行加密处理得到目标加密对象数据,并将所述目标加密对象数据保存到所述目标对象存储服务端各个节点的目标用户存储桶中;
密文获取模块,用于对所述目标加密密钥明文进行加密处理,得到多个目标子加密密钥密文,并将各个所述目标子加密密钥密文保存到所述目标对象存储服务端各节点的所述目标用户存储桶中;
数据解密模块,用于当检测到所述目标用户使用其身份信息在所述目标对象存储客户端请求查看所述目标对象数据时,对所述目标加密对象数据进行解密处理得到所述目标对象数据。
9.一种计算机可读存储介质,其特征在于,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1~7任一项所述的基于分布式对象存储的加解密方法。
10.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1~7任一项所述的基于分布式对象存储的加解密方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310158887.6A CN115828290A (zh) | 2023-02-24 | 2023-02-24 | 一种基于分布式对象存储的加解密方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310158887.6A CN115828290A (zh) | 2023-02-24 | 2023-02-24 | 一种基于分布式对象存储的加解密方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115828290A true CN115828290A (zh) | 2023-03-21 |
Family
ID=85522235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310158887.6A Pending CN115828290A (zh) | 2023-02-24 | 2023-02-24 | 一种基于分布式对象存储的加解密方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115828290A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103595793A (zh) * | 2013-11-13 | 2014-02-19 | 华中科技大学 | 一种无需可信第三方支持的云端数据安全删除系统与方法 |
CN103701594A (zh) * | 2014-01-03 | 2014-04-02 | 天地融科技股份有限公司 | 一种数据传输方法及系统 |
CN107409043A (zh) * | 2015-01-23 | 2017-11-28 | 捷德移动安全有限责任公司 | 基于中央加密的存储数据对产品的分布式处理 |
EP3447667A1 (de) * | 2017-08-23 | 2019-02-27 | Bundesdruckerei GmbH | Kryptographische sicherung für eine verteilte datenspeicherung |
CN111585749A (zh) * | 2016-10-26 | 2020-08-25 | 阿里巴巴集团控股有限公司 | 数据传输方法、装置、系统及设备 |
CN112235289A (zh) * | 2020-10-13 | 2021-01-15 | 桂林微网互联信息技术有限公司 | 数据加解密方法、装置、计算设备及存储介质 |
CN114726643A (zh) * | 2022-04-27 | 2022-07-08 | 中国银行股份有限公司 | 云平台上的数据存储、访问方法及装置 |
CN115001681A (zh) * | 2022-06-29 | 2022-09-02 | 浙江大华技术股份有限公司 | 密钥恢复方法、装置、系统、存储介质及电子装置 |
CN115795513A (zh) * | 2022-12-20 | 2023-03-14 | 北京百度网讯科技有限公司 | 文件加密和文件解密方法、装置以及设备 |
-
2023
- 2023-02-24 CN CN202310158887.6A patent/CN115828290A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103595793A (zh) * | 2013-11-13 | 2014-02-19 | 华中科技大学 | 一种无需可信第三方支持的云端数据安全删除系统与方法 |
CN103701594A (zh) * | 2014-01-03 | 2014-04-02 | 天地融科技股份有限公司 | 一种数据传输方法及系统 |
CN107409043A (zh) * | 2015-01-23 | 2017-11-28 | 捷德移动安全有限责任公司 | 基于中央加密的存储数据对产品的分布式处理 |
CN111585749A (zh) * | 2016-10-26 | 2020-08-25 | 阿里巴巴集团控股有限公司 | 数据传输方法、装置、系统及设备 |
EP3447667A1 (de) * | 2017-08-23 | 2019-02-27 | Bundesdruckerei GmbH | Kryptographische sicherung für eine verteilte datenspeicherung |
CN112235289A (zh) * | 2020-10-13 | 2021-01-15 | 桂林微网互联信息技术有限公司 | 数据加解密方法、装置、计算设备及存储介质 |
CN114726643A (zh) * | 2022-04-27 | 2022-07-08 | 中国银行股份有限公司 | 云平台上的数据存储、访问方法及装置 |
CN115001681A (zh) * | 2022-06-29 | 2022-09-02 | 浙江大华技术股份有限公司 | 密钥恢复方法、装置、系统、存储介质及电子装置 |
CN115795513A (zh) * | 2022-12-20 | 2023-03-14 | 北京百度网讯科技有限公司 | 文件加密和文件解密方法、装置以及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109194466B (zh) | 一种基于区块链的云端数据完整性检测方法及系统 | |
US10324892B2 (en) | Security via data concealment | |
US10037330B1 (en) | Security via dynamic data movement in a cloud-based environment | |
CN109151053B (zh) | 基于公共非对称密钥池的抗量子计算云存储方法和系统 | |
CN111523133B (zh) | 一种区块链与云端数据协同共享方法 | |
US11018866B2 (en) | Dynamic second factor authentication for cookie-based authentication | |
US20160337124A1 (en) | Secure backup and recovery system for private sensitive data | |
JP3871996B2 (ja) | データ分割管理方法及びプログラム | |
US10664439B2 (en) | Security via dynamic data movement in a cloud-based environment | |
CN110868291B (zh) | 一种数据加密传输方法、装置、系统及存储介质 | |
CN111294203B (zh) | 信息传输方法 | |
US20220014367A1 (en) | Decentralized computing systems and methods for performing actions using stored private data | |
CN112822255A (zh) | 基于区块链的邮件处理方法、邮件发送端、接收端及设备 | |
WO2022189850A1 (en) | Systems, methods, and computer-readable media for protecting cryptographic keys | |
US10785193B2 (en) | Security key hopping | |
CN114244508B (zh) | 数据加密方法、装置、设备及存储介质 | |
US20190065770A1 (en) | Credentialed encryption | |
CN109412788B (zh) | 基于公共密钥池的抗量子计算代理云存储安全控制方法和系统 | |
KR102024379B1 (ko) | 생체 정보 기반의 전자 서명이 가능한 데이터 전송 장치 및 그 동작 방법 | |
CN113609522B (zh) | 数据授权及数据访问方法和装置 | |
CN115828290A (zh) | 一种基于分布式对象存储的加解密方法及装置 | |
CN114679299A (zh) | 通信协议加密方法、装置、计算机设备和存储介质 | |
CN109302283B (zh) | 基于公共非对称密钥池的抗量子计算代理云存储方法和系统 | |
KR20210036700A (ko) | 트랜잭션에 포함된 평문 데이터의 변경을 지원하는 블록체인 시스템 | |
CN112947855B (zh) | 一种基于硬件安全区的高效加密重复数据删除方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |