CN109190386B - 基于Device Mapper的容器镜像分层加密存储方法 - Google Patents

基于Device Mapper的容器镜像分层加密存储方法 Download PDF

Info

Publication number
CN109190386B
CN109190386B CN201810839094.XA CN201810839094A CN109190386B CN 109190386 B CN109190386 B CN 109190386B CN 201810839094 A CN201810839094 A CN 201810839094A CN 109190386 B CN109190386 B CN 109190386B
Authority
CN
China
Prior art keywords
mirror
mirror image
layer
container
image layer
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.)
Active
Application number
CN201810839094.XA
Other languages
English (en)
Other versions
CN109190386A (zh
Inventor
王进
刘丽
刘晓毅
何喆颐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Electronic Technology Cyber Security Co Ltd
Original Assignee
China Electronic Technology Cyber Security Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Electronic Technology Cyber Security Co Ltd filed Critical China Electronic Technology Cyber Security Co Ltd
Publication of CN109190386A publication Critical patent/CN109190386A/zh
Application granted granted Critical
Publication of CN109190386B publication Critical patent/CN109190386B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明的基于Device Mapper的容器镜像分层加密存储方法,主要采用dm‑crypt对具体的快照设备进行加密。一个镜像层对应Device Mapper下的一个逻辑设备,使用当前镜像层的密钥通过dm‑crypt模块对该逻辑设备加密。需要使用镜像层时,使用镜像层密钥通过dm‑crypt模块解密打开之前加密过的设备,解密打开的设备就是一个可访问的设备,通过绑定到文件***后提供给用户使用。本发明改进了现有的容器镜像存储机制,提出了镜像分层加密存储的安全机制,实现了容器镜像层数据安全隔离,既实现了容器的存储安全,也可以通过分层加密实现对容器的访问控制。方便安全管理人员根据不同的需要向不同权限的用户提供应用服务,使得容器的应用安全得到显著提升。

Description

基于Device Mapper的容器镜像分层加密存储方法
技术领域
本发明涉及容器技术领域,具体地说,涉及一种容器镜像分层加密存储方法。
背景技术
容器虚拟化技术目前已经发展成熟并开始大量应用。容器镜像作为容器虚拟化技术的重要组成部分,承载了容器的具体业务,决定了容器具体会做什么。一个镜像可以是运行一个简单的独立的命令,然后就退出;也可以像一个数据库软件一样复杂,等用户来向里面添加数据,存储数据,然后使用数据。问题随之而来,当我们并不想其他人能访问到镜像里面的数据是怎么办。更进一步的,容器镜像是基于copy on write(CoW)技术来实现的,一个镜像是由1到N层的镜像层叠加组成,每一层都是一个完整的运行环境并且是只读的。用户使用镜像,对其修改并保存修改,镜像就会新增加一层镜像层。容器镜像在DeviceMapper机制下的存储实现如图1所示,首先在块设备上创建一个资源池,然后在资源池上创建一个带有文件***的基础设备,所有镜像都是这个基础设备的快照,而容器则是镜像的快照。在Device Mapper中,一个快照就对应一个设备,而每个镜像层都对应一个快照,对父镜像层做快照操作得到子镜像层,通过这样的机制实现了镜像的分层结构和存储优化。
目前的容器镜像存储是开放式的,镜像每一层数据都很容易被获取到。分层存储很容易带来敏感数据残留的安全问题。例如,用户A定制了一个镜像A给自己使用,其中存储了A用户的一个私有密钥。然后A用户将该密钥删除后,重新生成了一个新的镜像B给用户B使用。用户B获取到新的镜像后,很容器获取到其父镜像层中的数据,导致用户A的私钥被用户B获取到。
发明内容
为了解决上述问题,本发明提供一种Device Mapper的容器镜像分层加密存储方法,来隔离不同镜像层用户间的数据访问,防止镜像层间数据残留。
本发明的基于Device Mapper的容器镜像分层加密存储方法,通过在块设备上创建资源池,并在资源池上创建带有文件***的基础设备,所有镜像是基础设备的快照,容器是镜像的快照的机制实现镜像分层存储,包括如下步骤:
s1、初始化资源池;
s2、初始化基础设备;
s3、创建镜像层对应的快照;
s4、激活步骤s3中创建的快照;
s5、加密步骤s4中激活的快照对应的设备;
s6、解密步骤s5中加密了的设备;
s7、格式化步骤s6中解密打开的设备;
s8、将本镜像层的数据写入步骤s7中格式化后的设备中;
s9、关闭所有已解密打开的设备;
s10、激活本镜像层快照;
其中,所述步骤s8中,将本镜像层的数据写入步骤s7中格式化后的设备中,当本镜像层有父镜像层时,先将本镜像层的父镜像层的数据写入步骤s7中格式化后的设备中,然后再将本镜像层的差异数据写入格式化后的设备中。将本镜像层的父镜像层数据写入格式化的设备前,先将父镜像层所对应的设备进行解密,再把父镜像层的内容拷贝到本镜像层所对应的设备中。
每一层镜像加密和解密密钥相同,不同镜像层密钥不同;每一镜像层密钥专用;所有镜像层密钥由统一的密管***管理。
本发明采用基于Device Mapper机制的dm-crypt工具对镜像对应的快照设备进行加密;一个镜像层对应Device Mapper下的一个逻辑设备,使用当前镜像层的密钥通过dm-crypt模块对该逻辑设备加密;需要使用镜像层时,使用该镜像层密钥通过dm-crypt模块解密打开之前加密过的设备,解密打开的设备就是一个可访问的设备,通过绑定到文件***后提供给用户使用。
本发明改进了现有的容器镜像存储机制,提出了镜像分层加密存储的安全机制,实现了容器镜像层数据安全隔离,既实现了容器的存储安全,也可以通过分层加密实现对容器的访问控制。方便安全管理人员根据不同的需要向不同权限的用户提供应用服务,使得容器的应用安全得到显著提升。
附图说明
图1是现有技术下容器镜像存储工作原理示意图;
图2是现有技术下容器镜像存储流程示意图;
图3是本发明容器镜像加密存储流程示意图;
图4是本发明的容器镜像加密存储密钥对应示意图;
图5是本发明的容器镜像加密工作原理示意图。
具体实施方式
为了更好的理解本发明,下面结合附图详细说明本发明。
如图2所示,在现有的镜像分层存储中,镜像的第一层快照从基础设备中创建快照,后续的镜像层都是基于其父镜像层创建快照而来。新建的快照已经包含了父层的所有内容,然后再在此基础上写入当前镜像层的内容,形成了一个新的完整的镜像层快照。
如图3所示,本发明的基于Device Mapper的容器镜像分层加密存储方法,针对镜像层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内核提供的一个磁盘加密工具,也是基于Device Mapper机制。因此,能够很好的整合到整个镜像分层加密流程中。dm-crypt模块通过Device Mapper虚拟一个块设备,并在bio转发的时候将数据加密后存储来实现块设备的加密。如图5所示,一个镜像层对应Device Mapper下的一个逻辑设备,使用当前镜像层的密钥通过dm-crypt模块对该逻辑设备加密。需要使用镜像层时,使用镜像层密钥通过dm-crypt模块解密打开之前加密过的设备,解密打开的设备就是一个可访问的设备,通过绑定到文件***后提供给用户使用。
本发明改进了现有的容器镜像存储机制,提出了镜像分层加密存储的安全机制,实现了容器镜像层数据安全隔离,既实现了容器的存储安全,也可以通过分层加密实现对容器的访问控制。方便安全管理人员根据不同的需要向不同权限的用户提供应用服务,使得容器的应用安全得到显著提升。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

Claims (4)

1.基于Device Mapper的容器镜像分层加密存储方法,通过在块设备上创建资源池,并在资源池上创建带有文件***的基础设备,所有镜像是基础设备的快照,容器是镜像的快照的机制实现镜像分层存储,其特征在于,包括如下步骤:
s1、初始化资源池;
s2、初始化基础设备;
s3、创建镜像层对应的快照;
s4、激活步骤s3中创建的快照;
s5、加密步骤s4中激活的快照对应的设备;
s6、解密步骤s5中加密了的设备;
s7、格式化步骤s6中解密打开的设备;
s8、将本镜像层的数据写入步骤s7中格式化后的设备中;当本镜像层有父镜像层时,先将本镜像层的父镜像层的数据写入步骤s7中格式化后的设备中,然后再将本镜像层的差异数据写入格式化后的设备中;将本镜像层的父镜像层数据写入格式化的设备前,先将父镜像层所对应的设备进行解密,再把父镜像层的内容拷贝到本镜像层所对应的设备中;
s9、关闭所有已解密打开的设备;
s10、激活本镜像层快照。
2.根据权利要求1所述的基于Device Mapper的容器镜像分层加密存储方法,其特征在于,
对解密后的设备进行格式化后,为其创建文件***。
3.根据权利要求1或2任一所述的基于Device Mapper的容器镜像分层加密存储方法,其特征在于,
每一层镜像加密和解密密钥相同,不同镜像层密钥不同;
每一镜像层密钥专用;
所有镜像层密钥由统一的密管***管理。
4.根据权利要求1或2任一所述的基于Device Mapper的容器镜像分层加密存储方法,其特征在于,
采用基于Device Mapper机制的dm-crypt工具对镜像对应的快照设备进行加密;
一个镜像层对应Device Mapper下的一个逻辑设备,使用当前镜像层的密钥通过dm-crypt模块对该逻辑设备加密;需要使用镜像层时,使用该镜像层密钥通过dm-crypt模块解密打开之前加密过的设备,解密打开的设备就是一个可访问的设备,通过绑定到文件***后提供给用户使用。
CN201810839094.XA 2018-04-04 2018-07-26 基于Device Mapper的容器镜像分层加密存储方法 Active CN109190386B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810303889 2018-04-04
CN2018103038899 2018-04-04

Publications (2)

Publication Number Publication Date
CN109190386A CN109190386A (zh) 2019-01-11
CN109190386B true CN109190386B (zh) 2021-11-12

Family

ID=64937131

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810839094.XA Active CN109190386B (zh) 2018-04-04 2018-07-26 基于Device Mapper的容器镜像分层加密存储方法

Country Status (1)

Country Link
CN (1) CN109190386B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112306621A (zh) * 2019-07-24 2021-02-02 中兴通讯股份有限公司 容器分层部署方法及***
CN110928639B (zh) * 2019-10-22 2022-12-02 西安雷风电子科技有限公司 一种Windows虚拟化镜像分层管理方法及装置
CN110830571A (zh) * 2019-11-05 2020-02-21 许继集团有限公司 一种业务数据备份与提取方法及计算机可读介质
CN111124956B (zh) * 2019-11-22 2023-03-07 海光信息技术股份有限公司 一种容器保护方法、处理器、操作***及计算机设备
CN113032736A (zh) * 2021-03-05 2021-06-25 海能达通信股份有限公司 Docker分层镜像的加解密方法及相关装置
CN115688067A (zh) * 2022-09-30 2023-02-03 金航数码科技有限责任公司 一种基于容器的数据存储及访问控制方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104268489A (zh) * 2014-09-26 2015-01-07 浪潮电子信息产业股份有限公司 一种基于device mapper的加密卡性能优化的方法
CN104517061A (zh) * 2015-01-16 2015-04-15 中怡(苏州)科技有限公司 加密文件***的方法及挂载加密文件***的方法
CN106063218A (zh) * 2014-12-30 2016-10-26 华为技术有限公司 虚拟化***中加解密的方法、装置和***

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7480382B2 (en) * 2003-09-30 2009-01-20 Microsoft Corporation Image file container
CN101901313B (zh) * 2010-06-10 2013-12-18 中科方德软件有限公司 一种Linux文件保护***及方法
CN103106372B (zh) * 2013-01-17 2015-10-28 上海交通大学 用于Android***的轻量级隐私数据加密方法及***
CN103107994B (zh) * 2013-02-06 2017-02-08 中电长城网际***应用有限公司 一种虚拟化环境数据安全隔离方法和***
CN104298472A (zh) * 2014-10-12 2015-01-21 张维加 一种分层实现计算虚拟化的方法与设备
CN105069353B (zh) * 2015-08-11 2017-10-24 武汉大学 一种基于Docker的可信容器安全加固方法
JP2017076264A (ja) * 2015-10-15 2017-04-20 日本電気株式会社 ファイルアクセスシステム、方法及びプログラム
CN107229467A (zh) * 2017-05-10 2017-10-03 北京海杭通讯科技有限公司 一种基于android容器的device mapper隔离方法
CN107358131A (zh) * 2017-07-13 2017-11-17 北京元心科技有限公司 块设备的加密扩容方法、装置和智能终端
CN107729020B (zh) * 2017-10-11 2020-08-28 北京航空航天大学 一种实现大规模容器快速部署的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104268489A (zh) * 2014-09-26 2015-01-07 浪潮电子信息产业股份有限公司 一种基于device mapper的加密卡性能优化的方法
CN106063218A (zh) * 2014-12-30 2016-10-26 华为技术有限公司 虚拟化***中加解密的方法、装置和***
CN104517061A (zh) * 2015-01-16 2015-04-15 中怡(苏州)科技有限公司 加密文件***的方法及挂载加密文件***的方法

Also Published As

Publication number Publication date
CN109190386A (zh) 2019-01-11

Similar Documents

Publication Publication Date Title
CN109190386B (zh) 基于Device Mapper的容器镜像分层加密存储方法
JP6609010B2 (ja) 複数許可データセキュリティ及びアクセス
US11695806B2 (en) Intercepting calls for encryption handling in persistent access multi-key systems
US10594481B2 (en) Replicated encrypted data management
US8510552B2 (en) System and method for file-level data protection
US9043614B2 (en) Discarding sensitive data from persistent point-in-time image
US8412934B2 (en) System and method for backing up and restoring files encrypted with file-level content protection
CN102254124B (zh) 一种移动终端信息安全防护***和方法
US8433901B2 (en) System and method for wiping encrypted data on a device having file-level content protection
US9473297B2 (en) Achieving storage efficiency in presence of end-to-end encryption using downstream decrypters
US20170272412A1 (en) Confining data based on location
US20180152296A1 (en) Electronic data protection method and device and terminal device
US20120216052A1 (en) Efficient volume encryption
CN103488954B (zh) 一种文件加密***
JP2017126318A (ja) コンピュータプログラム、秘密管理方法及びシステム
US10061932B1 (en) Securing portable data elements between containers in insecure shared memory space
CN103745162B (zh) 一种安全网络文件存储***
WO2024045407A1 (zh) 虚拟磁盘安全存储方法
CN110213051A (zh) 一种目录细粒度的加解密方法和***
CN114036538A (zh) 一种基于虚拟块设备的数据库透明加解密实现方法及***
EP3227822A1 (en) Secure document management
WO2022001878A1 (en) System generated data set encryption key
US20210176053A1 (en) Symmetrically encrypt a master passphrase key
CN108319872A (zh) 一种封闭容器生成方法、装置及设备
JPH10340232A (ja) ファイル複写防止装置及びファイル読込装置

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
GR01 Patent grant
GR01 Patent grant