买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:中国电子科技网络信息安全有限公司
摘要:本发明的基于Device Mapper的容器镜像分层加密存储方法,主要采用dm‑crypt对具体的快照设备进行加密。一个镜像层对应Device Mapper下的一个逻辑设备,使用当前镜像层的密钥通过dm‑crypt模块对该逻辑设备加密。需要使用镜像层时,使用镜像层密钥通过dm‑crypt模块解密打开之前加密过的设备,解密打开的设备就是一个可访问的设备,通过绑定到文件系统后提供给用户使用。本发明改进了现有的容器镜像存储机制,提出了镜像分层加密存储的安全机制,实现了容器镜像层数据安全隔离,既实现了容器的存储安全,也可以通过分层加密实现对容器的访问控制。方便安全管理人员根据不同的需要向不同权限的用户提供应用服务,使得容器的应用安全得到显著提升。
主权项:1.基于Device Mapper的容器镜像分层加密存储方法,通过在块设备上创建资源池,并在资源池上创建带有文件系统的基础设备,所有镜像是基础设备的快照,容器是镜像的快照的机制实现镜像分层存储,其特征在于,包括如下步骤:s1、初始化资源池;s2、初始化基础设备;s3、创建镜像层对应的快照;s4、激活步骤s3中创建的快照;s5、加密步骤s4中激活的快照对应的设备;s6、解密步骤s5中加密了的设备;s7、格式化步骤s6中解密打开的设备;s8、将本镜像层的数据写入步骤s7中格式化后的设备中;s9、关闭所有已解密打开的设备;s10、激活本镜像层快照。
全文数据:基于DeviceMapper的容器镜像分层加密存储方法技术领域本发明涉及容器技术领域,具体地说,涉及一种容器镜像分层加密存储方法。背景技术容器虚拟化技术目前已经发展成熟并开始大量应用。容器镜像作为容器虚拟化技术的重要组成部分,承载了容器的具体业务,决定了容器具体会做什么。一个镜像可以是运行一个简单的独立的命令,然后就退出;也可以像一个数据库软件一样复杂,等用户来向里面添加数据,存储数据,然后使用数据。问题随之而来,当我们并不想其他人能访问到镜像里面的数据是怎么办。更进一步的,容器镜像是基于copyonwriteCoW技术来实现的,一个镜像是由1到N层的镜像层叠加组成,每一层都是一个完整的运行环境并且是只读的。用户使用镜像,对其修改并保存修改,镜像就会新增加一层镜像层。容器镜像在DeviceMapper机制下的存储实现如图1所示,首先在块设备上创建一个资源池,然后在资源池上创建一个带有文件系统的基础设备,所有镜像都是这个基础设备的快照,而容器则是镜像的快照。在DeviceMapper中,一个快照就对应一个设备,而每个镜像层都对应一个快照,对父镜像层做快照操作得到子镜像层,通过这样的机制实现了镜像的分层结构和存储优化。目前的容器镜像存储是开放式的,镜像每一层数据都很容易被获取到。分层存储很容易带来敏感数据残留的安全问题。例如,用户A定制了一个镜像A给自己使用,其中存储了A用户的一个私有密钥。然后A用户将该密钥删除后,重新生成了一个新的镜像B给用户B使用。用户B获取到新的镜像后,很容器获取到其父镜像层中的数据,导致用户A的私钥被用户B获取到。发明内容为了解决上述问题,本发明提供一种DeviceMapper的容器镜像分层加密存储方法,来隔离不同镜像层用户间的数据访问,防止镜像层间数据残留。本发明的基于DeviceMapper的容器镜像分层加密存储方法,通过在块设备上创建资源池,并在资源池上创建带有文件系统的基础设备,所有镜像是基础设备的快照,容器是镜像的快照的机制实现镜像分层存储,包括如下步骤:s1、初始化资源池;s2、初始化基础设备;s3、创建镜像层对应的快照;s4、激活步骤s3中创建的快照;s5、加密步骤s4中激活的快照对应的设备;s6、解密步骤s5中加密了的设备;s7、格式化步骤s6中解密打开的设备;s8、将本镜像层的数据写入步骤s7中格式化后的设备中;s9、关闭所有已解密打开的设备;s10、激活本镜像层快照;其中,所述步骤s8中,将本镜像层的数据写入步骤s7中格式化后的设备中,当本镜像层有父镜像层时,先将本镜像层的父镜像层的数据写入步骤s7中格式化后的设备中,然后再将本镜像层的差异数据写入格式化后的设备中。将本镜像层的父镜像层数据写入格式化的设备前,先将父镜像层所对应的设备进行解密,再把父镜像层的内容拷贝到本镜像层所对应的设备中。每一层镜像加密和解密密钥相同,不同镜像层密钥不同;每一镜像层密钥专用;所有镜像层密钥由统一的密管系统管理。本发明采用基于DeviceMapper机制的dm-crypt工具对镜像对应的快照设备进行加密;一个镜像层对应DeviceMapper下的一个逻辑设备,使用当前镜像层的密钥通过dm-crypt模块对该逻辑设备加密;需要使用镜像层时,使用该镜像层密钥通过dm-crypt模块解密打开之前加密过的设备,解密打开的设备就是一个可访问的设备,通过绑定到文件系统后提供给用户使用。本发明改进了现有的容器镜像存储机制,提出了镜像分层加密存储的安全机制,实现了容器镜像层数据安全隔离,既实现了容器的存储安全,也可以通过分层加密实现对容器的访问控制。方便安全管理人员根据不同的需要向不同权限的用户提供应用服务,使得容器的应用安全得到显著提升。附图说明图1是现有技术下容器镜像存储工作原理示意图;图2是现有技术下容器镜像存储流程示意图;图3是本发明容器镜像加密存储流程示意图;图4是本发明的容器镜像加密存储密钥对应示意图;图5是本发明的容器镜像加密工作原理示意图。具体实施方式为了更好的理解本发明,下面结合附图详细说明本发明。如图2所示,在现有的镜像分层存储中,镜像的第一层快照从基础设备中创建快照,后续的镜像层都是基于其父镜像层创建快照而来。新建的快照已经包含了父层的所有内容,然后再在此基础上写入当前镜像层的内容,形成了一个新的完整的镜像层快照。如图3所示,本发明的基于DeviceMapper的容器镜像分层加密存储方法,针对镜像层1,s11、初始化资源池;s12、初始化基础设备;s13、创建镜像层1对应的快照;s14、激活快照;s15、加密对应设备,即加密激活的快照对应的设备;s16、解密对应设备,即解密加密了的设备;s17、格式化解密打开的设备;s18、将镜像层1的父镜像层数据写入格式化后的设备中;s19、写入镜像层1的差异数据;s110、关闭所有已解密打开的设备;s111、激活镜像层1快照.针对镜像层2,s21、初始化资源池;s22、初始化基础设备;s23、创建镜像层2对应的快照;s24、激活快照;s25、加密对应设备,即加密激活的快照对应的设备;s26、解密对应设备,即解密加密了的设备;s27、格式化解密打开的设备;s28、将镜像层2的父镜像层级镜像层1的数据写入格式化后的设备中;s29、写入镜像层2的差异数据;s210、关闭所有已解密打开的设备;s211、激活镜像层2快照。其中,将镜像层1的数据写入格式化后的镜像层2的设备之前,先将镜像层1的内容解密再写入。本发明中,所有的快照都是基于基础设备创建快照而来,而不是基于父镜像层的快照而创建快照。相对于现有技术来说,本发明中,当快照创建好后,首先要对快照对应的设备进行加密,设备加密后,再将其解密打开,然后格式化解密设备,最后写入镜像层的数据,如果当前的镜像层有父层,需要先将父层的内容解密拷贝到格式化后的解密设备中,然后再写入当前镜像层的数据。最后将所有打开的解密设备关闭,获得一个所有镜像层都经过加密的镜像。通过本发明的分层加密方法,实现了对镜像分成加密,如图4所示,每一层镜像都使用专为其分配的密钥进行加解密,这些密钥都由统一的密管系统管理。镜像存储在系统中时,其每一层对应的设备都被加密,且相互之间密钥不痛,数据隔离,用户也就不能随意获取其中的数据。本发明对镜像层的加密,主要采用dm-crypt对具体的快照设备进行加密。dm-crypt是Linux内核提供的一个磁盘加密工具,也是基于DeviceMapper机制。因此,能够很好的整合到整个镜像分层加密流程中。dm-crypt模块通过DeviceMapper虚拟一个块设备,并在bio转发的时候将数据加密后存储来实现块设备的加密。如图5所示,一个镜像层对应DeviceMapper下的一个逻辑设备,使用当前镜像层的密钥通过dm-crypt模块对该逻辑设备加密。需要使用镜像层时,使用镜像层密钥通过dm-crypt模块解密打开之前加密过的设备,解密打开的设备就是一个可访问的设备,通过绑定到文件系统后提供给用户使用。本发明改进了现有的容器镜像存储机制,提出了镜像分层加密存储的安全机制,实现了容器镜像层数据安全隔离,既实现了容器的存储安全,也可以通过分层加密实现对容器的访问控制。方便安全管理人员根据不同的需要向不同权限的用户提供应用服务,使得容器的应用安全得到显著提升。以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
权利要求:1.基于DeviceMapper的容器镜像分层加密存储方法,通过在块设备上创建资源池,并在资源池上创建带有文件系统的基础设备,所有镜像是基础设备的快照,容器是镜像的快照的机制实现镜像分层存储,其特征在于,包括如下步骤:s1、初始化资源池;s2、初始化基础设备;s3、创建镜像层对应的快照;s4、激活步骤s3中创建的快照;s5、加密步骤s4中激活的快照对应的设备;s6、解密步骤s5中加密了的设备;s7、格式化步骤s6中解密打开的设备;s8、将本镜像层的数据写入步骤s7中格式化后的设备中;s9、关闭所有已解密打开的设备;s10、激活本镜像层快照。2.根据权利要求1所述的基于DeviceMapper的容器镜像分层加密存储方法,其特征在于,所述步骤s8中,将本镜像层的数据写入步骤s7中格式化后的设备中,当本镜像层有父镜像层时,先将本镜像层的父镜像层的数据写入步骤s7中格式化后的设备中,然后再将本镜像层的差异数据写入格式化后的设备中。3.根据权利要求2所述的基于DeviceMapper的容器镜像分层加密存储方法,其特征在于,将本镜像层的父镜像层数据写入格式化的设备前,先将父镜像层所对应的设备进行解密,再把父镜像层的内容拷贝到本镜像层所对应的设备中。4.根据权利要求3所述的基于DeviceMapper的容器镜像分层加密存储方法,其特征在于,对解密后的设备进行格式化后,为其创建文件系统。5.根据权利要求1至4任一所述的基于DeviceMapper的容器镜像分层加密存储方法,其特征在于,每一层镜像加密和解密密钥相同,不同镜像层密钥不同;每一镜像层密钥专用;所有镜像层密钥由统一的密管系统管理。6.根据权利要求1至4任一所述的基于DeviceMapper的容器镜像分层加密存储方法,其特征在于,采用基于DeviceMapper机制的dm-crypt工具对镜像对应的快照设备进行加密;一个镜像层对应DeviceMapper下的一个逻辑设备,使用当前镜像层的密钥通过dm-crypt模块对该逻辑设备加密;需要使用镜像层时,使用该镜像层密钥通过dm-crypt模块解密打开之前加密过的设备,解密打开的设备就是一个可访问的设备,通过绑定到文件系统后提供给用户使用。
百度查询: 中国电子科技网络信息安全有限公司 基于Device Mapper的容器镜像分层加密存储方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。