【技术实现步骤摘要】
一种透明的对象存储加解密方法、对象存储系统及介质
本专利技术涉及计算机加密领域,尤其涉及一种透明的对象存储加解密方法、对象存储系统及介质。
技术介绍
存储局域网(SAN)和网络附加存储(NAS)是目前两种主流网络存储架构,对象存储(Object-basedStorage)是一种新的网络存储架构。对象存储综合了SAN和NAS的优点,同时具有SAN的高速直接访问和NAS的分布式数据共享等优势,提供了具有高性能、高可靠性、跨平台的数据共享的存储体系结构。随着对象存储的广泛应用,数据的安全性成为一个不可忽视的问题,海量的数据以明文的形式存储在存储服务器,传统的防火墙、反病毒软件、入侵检测等信息安全防护措施已难以独立应对数据安全问题,加强数据自身安全已迫在眉睫。Swift是构建在标准硬件存储基础设施之上,通过软件实现的支持多租户模式、容器和对象读写操作的对象存储。Swift采用层次数据模型,共设三层逻辑结构:Account/Container/Object(即账户/容器/对象),每层节点数均没有限制,可以任意扩展。这里的账户和个人账户不是一个概念,可理解为租户,用来做顶层的隔离机制,可以被多个个人账户所共同使用;容器代表封装一组对象,类似文件夹或目录;叶子节点代表对象,由元数据和内容两部分组成。SwiftAPI是一组基于HTTP的REST服务接口,对账户、容器和对象进行操作。通过SwiftAPI可以对接不同的后端对象存储系统。
技术实现思路
本专利技术要解决的技术问题就在于:针对现有 ...
【技术保护点】
1.一种透明的对象存储加解密方法,其特征在于,对象存储系统前端的加密服务层对客户端请求的处理步骤包括:/n1)通过WEB框架模块接收客户端发起的对象存储请求,依次将请求报文解析、路由分解、参数解析后,判断请求是否为对象操作请求,是则执行步骤2),否则执行步骤3);/n2)将请求根据对象请求方法的类型进行处理,将处理后的数据重新组织请求报文并通过Swift API发送到对象存储系统,等待对象存储系统的响应报文,收到对象存储系统的响应报文后处理响应报文,最后将处理后数据重新组织响应报文并通过Swift API返回客户端,如果请求报文包含对象明文数据,进行对象数据加密处理,如果响应报文包含对象密文数据,进行对象数据解密处理;/n3)将请求路由到反向代理,由反向代理转发请求到对象存储系统,并将响应报文返回客户端。/n
【技术特征摘要】
1.一种透明的对象存储加解密方法,其特征在于,对象存储系统前端的加密服务层对客户端请求的处理步骤包括:
1)通过WEB框架模块接收客户端发起的对象存储请求,依次将请求报文解析、路由分解、参数解析后,判断请求是否为对象操作请求,是则执行步骤2),否则执行步骤3);
2)将请求根据对象请求方法的类型进行处理,将处理后的数据重新组织请求报文并通过SwiftAPI发送到对象存储系统,等待对象存储系统的响应报文,收到对象存储系统的响应报文后处理响应报文,最后将处理后数据重新组织响应报文并通过SwiftAPI返回客户端,如果请求报文包含对象明文数据,进行对象数据加密处理,如果响应报文包含对象密文数据,进行对象数据解密处理;
3)将请求路由到反向代理,由反向代理转发请求到对象存储系统,并将响应报文返回客户端。
2.根据权利要求1所述的透明的对象存储加解密方法,其特征在于,步骤2)包括:
对象请求方法是PUT时的处理步骤,具体包括:读取加密类型,再通过加密类型获取密钥和加密接口,读取对象明文数据,通过明文数据计算明文数据长度和明文MD5值,并将明文数据长度、明文MD5值和密钥作为对象操作模块的自定义元数据,然后使用获取的加密接口对请求报文的对象明文数据加密处理为对象密文数据,并将对象操作模块的自定义元数据和加密后的对象密文数据重新组织请求报文发送到对象存储系统,接收到对象存储系统的响应报文后,再对响应报文元数据中的Etag替换为明文MD5值,长度替换为明文数据长度,最后将处理后的响应报文返回客户端。
3.根据权利要求2所述的透明的对象存储加解密方法,其特征在于,步骤2)包括对象请求方法是GET时的处理步骤,具体包括:首先将请求报文转发到对象存储系统,然后接收对象存储系统的响应报文,将响应报文中对象操作模块的自定义元数据取出,将其中的明文MD5值写入响应报文头的ETag域,将其中的明文数据长度写入响应报文头中的长度域,然后删除响应报文中对象操作模块的自定义元数据;从响应报文相关的数据结构域中获取加密类型和密钥,将对象密文数据解密处理,最后将处理后的报文返回客户端。
4.根据权利要求2所述的透明的对象存储加解密方法,其特征在于,步骤2)包括对象请求方法是HEAD时的处理步骤,具体包括:先将请求报文发送到对象存储系统,接收到响应报文后,通过响应报文元数据判断对象是否为动态大对象,是则使用容器的GET接口和对象前缀获取动态大对象的所有分段对象信息,再逐个获取所有分段对象的元数据,根据对象操作模块的自定义元数据中的明文数据长度和明文MD5值计算出动态大对象的明文数据长度和明文Etag,然后将计算出的动态大对象的明文数据长度和明文Etag写入返回报文的长度和Etag域;否则直接将对象操作模块的自定义元数据中的明文数据长度和明文MD5值写入返回报文的长度和Etag域;最后将处理后的响应报文返回客户端。
5.根据权利要求2所述的透明的对象存储加解密方法,其特征在于,步骤2)包括对象请求方法是POST时的处理步骤,具体包括:先发送一个HEAD请求对对象存储系统获取请求对象的元数据,将获取到的对象操作模块的自定义元数据加入到原请求报文中,再将请求报文发送到对象存储系统,并将响应报文返回客户端。
6.根据权利要求2所述的透明的对象存储加解密方法,其特征在于,步骤2)包括:
对象请求方法是COPY时的处理步骤,具体包括:先从请求报文元数据判断是否需要刷新元数据,如果需要刷新元数据,则先使用HEAD方法获取一次对象的元数据,然后把对象操作模块的自定义元数据取出来加入到请求报文中,然后再发送请求报文到对象存储系统;如果不需要刷新元数据,则直接将请求报文发送到对象存储系统;接收到对象存储系统的响应报文后,将对象操作模块的自定义元数据从响应报文中删除,然后将响应报文返回客户端...
【专利技术属性】
技术研发人员:苏军,卿兵,刘振宇,刘文清,申锟铠,杨涛,
申请(专利权)人:湖南麒麟信安科技有限公司,
类型:发明
国别省市:湖南;43
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。