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

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

Info

Publication number
CN109190386A
CN109190386A CN201810839094.XA CN201810839094A CN109190386A CN 109190386 A CN109190386 A CN 109190386A CN 201810839094 A CN201810839094 A CN 201810839094A CN 109190386 A CN109190386 A CN 109190386A
Authority
CN
China
Prior art keywords
image planes
equipment
container
image
mirror image
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.)
Granted
Application number
CN201810839094.XA
Other languages
English (en)
Other versions
CN109190386B (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

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 (6)

1.基于Device Mapper的容器镜像分层加密存储方法,通过在块设备上创建资源池,并在资源池上创建带有文件系统的基础设备,所有镜像是基础设备的快照,容器是镜像的快照的机制实现镜像分层存储,其特征在于,包括如下步骤:
s1、初始化资源池;
s2、初始化基础设备;
s3、创建镜像层对应的快照;
s4、激活步骤s3中创建的快照;
s5、加密步骤s4中激活的快照对应的设备;
s6、解密步骤s5中加密了的设备;
s7、格式化步骤s6中解密打开的设备;
s8、将本镜像层的数据写入步骤s7中格式化后的设备中;
s9、关闭所有已解密打开的设备;
s10、激活本镜像层快照。
2.根据权利要求1所述的基于Device Mapper的容器镜像分层加密存储方法,其特征在于,
所述步骤s8中,将本镜像层的数据写入步骤s7中格式化后的设备中,当本镜像层有父镜像层时,先将本镜像层的父镜像层的数据写入步骤s7中格式化后的设备中,然后再将本镜像层的差异数据写入格式化后的设备中。
3.根据权利要求2所述的基于Device Mapper的容器镜像分层加密存储方法,其特征在于,
将本镜像层的父镜像层数据写入格式化的设备前,先将父镜像层所对应的设备进行解密,再把父镜像层的内容拷贝到本镜像层所对应的设备中。
4.根据权利要求3所述的基于Device Mapper的容器镜像分层加密存储方法,其特征在于,
对解密后的设备进行格式化后,为其创建文件系统。
5.根据权利要求1至4任一所述的基于Device Mapper的容器镜像分层加密存储方法,其特征在于,
每一层镜像加密和解密密钥相同,不同镜像层密钥不同;
每一镜像层密钥专用;
所有镜像层密钥由统一的密管系统管理。
6.根据权利要求1至4任一所述的基于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 true CN109190386A (zh) 2019-01-11
CN109190386B 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)

Cited By (7)

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

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050071744A1 (en) * 2003-09-30 2005-03-31 Microsoft Corporation Image file container
CN101901313A (zh) * 2010-06-10 2010-12-01 中科方德软件有限公司 一种Linux文件保护系统及方法
CN103107994A (zh) * 2013-02-06 2013-05-15 中电长城网际系统应用有限公司 一种虚拟化环境数据安全隔离方法和系统
CN103106372A (zh) * 2013-01-17 2013-05-15 上海交通大学 用于Android系统的轻量级隐私数据加密方法及系统
CN104268489A (zh) * 2014-09-26 2015-01-07 浪潮电子信息产业股份有限公司 一种基于device mapper的加密卡性能优化的方法
CN104298472A (zh) * 2014-10-12 2015-01-21 张维加 一种分层实现计算虚拟化的方法与设备
CN104517061A (zh) * 2015-01-16 2015-04-15 中怡(苏州)科技有限公司 加密文件系统的方法及挂载加密文件系统的方法
CN105069353A (zh) * 2015-08-11 2015-11-18 武汉大学 一种基于Docker的可信容器安全加固方法
CN106063218A (zh) * 2014-12-30 2016-10-26 华为技术有限公司 虚拟化系统中加解密的方法、装置和系统
US20170109372A1 (en) * 2015-10-15 2017-04-20 Nec Corporation File access system, method, and program
CN107229467A (zh) * 2017-05-10 2017-10-03 北京海杭通讯科技有限公司 一种基于android容器的device mapper隔离方法
CN107358131A (zh) * 2017-07-13 2017-11-17 北京元心科技有限公司 块设备的加密扩容方法、装置和智能终端
CN107729020A (zh) * 2017-10-11 2018-02-23 北京航空航天大学 一种实现大规模容器快速部署的方法

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050071744A1 (en) * 2003-09-30 2005-03-31 Microsoft Corporation Image file container
CN101901313A (zh) * 2010-06-10 2010-12-01 中科方德软件有限公司 一种Linux文件保护系统及方法
CN103106372A (zh) * 2013-01-17 2013-05-15 上海交通大学 用于Android系统的轻量级隐私数据加密方法及系统
CN103107994A (zh) * 2013-02-06 2013-05-15 中电长城网际系统应用有限公司 一种虚拟化环境数据安全隔离方法和系统
CN104268489A (zh) * 2014-09-26 2015-01-07 浪潮电子信息产业股份有限公司 一种基于device mapper的加密卡性能优化的方法
CN104298472A (zh) * 2014-10-12 2015-01-21 张维加 一种分层实现计算虚拟化的方法与设备
CN106063218A (zh) * 2014-12-30 2016-10-26 华为技术有限公司 虚拟化系统中加解密的方法、装置和系统
CN104517061A (zh) * 2015-01-16 2015-04-15 中怡(苏州)科技有限公司 加密文件系统的方法及挂载加密文件系统的方法
CN105069353A (zh) * 2015-08-11 2015-11-18 武汉大学 一种基于Docker的可信容器安全加固方法
US20170109372A1 (en) * 2015-10-15 2017-04-20 Nec Corporation File access system, method, and program
CN107229467A (zh) * 2017-05-10 2017-10-03 北京海杭通讯科技有限公司 一种基于android容器的device mapper隔离方法
CN107358131A (zh) * 2017-07-13 2017-11-17 北京元心科技有限公司 块设备的加密扩容方法、装置和智能终端
CN107729020A (zh) * 2017-10-11 2018-02-23 北京航空航天大学 一种实现大规模容器快速部署的方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
IOANNIS GIANNAKOPOULOS 等: "Isolation in Docker through Layer Encryption", 《2017 IEEE 37TH INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS (ICDCS)》 *
牟洋: "基于云平台的取证方案应用研究", 《中国优秀博硕士学位论文全文数据库(硕士)》 *
许国春 等: "一种面向特定应用的内核级文件加密技术", 《计算机科学》 *

Cited By (9)

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

Also Published As

Publication number Publication date
CN109190386B (zh) 2021-11-12

Similar Documents

Publication Publication Date Title
CN109190386A (zh) 基于Device Mapper的容器镜像分层加密存储方法
US8064604B2 (en) Method and apparatus for facilitating role-based cryptographic key management for a database
CN102254124B (zh) 一种移动终端信息安全防护系统和方法
JP4398145B2 (ja) 自動データベース暗号化の方法および装置
KR20230021642A (ko) 너츠: 유연한 계위 객체 그래프
US9158933B2 (en) Protection of encryption keys in a database
US10102383B2 (en) Permanently erasing mechanism for encryption information
US11308234B1 (en) Methods for protecting data
US9448949B2 (en) Mobile data vault
KR101405720B1 (ko) 암호화 속성을 이용하는 가속 크립토그래피
US8572372B2 (en) Method for selectively enabling access to file systems of mobile terminals
US7814318B1 (en) Scalable file system configured to make files permanently unreadable
CN107004070A (zh) 利用硬件受保护的数字权限管理进行的媒体解码控制
US8200964B2 (en) Method and apparatus for accessing an encrypted file system using non-local keys
CN104852922B (zh) 基于分布式文件系统的大数据加解密方法
WO2004034184A2 (en) Encrypting operating system
CN103745162B (zh) 一种安全网络文件存储系统
JP2019521537A (ja) ユーザプロファイル内にユーザ情報を安全に格納するシステムおよび方法
JPH10260903A (ja) グループ暗号方法、及びファイル暗号システム
CN104102483A (zh) 安全地使用公共服务以实现私人或企业目的的方法和系统
CN104239820A (zh) 一种安全存储设备
CN107070649B (zh) 一种减少写入的大文件选择性加密方法
US20180276408A1 (en) Systems and methods for secure high speed data generation and access
CN106682521A (zh) 基于驱动层的文件透明加解密系统及方法
CN114175580A (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
GR01 Patent grant
GR01 Patent grant