CN104268489A - 一种基于device mapper的加密卡性能优化的方法 - Google Patents
一种基于device mapper的加密卡性能优化的方法 Download PDFInfo
- Publication number
- CN104268489A CN104268489A CN201410502219.1A CN201410502219A CN104268489A CN 104268489 A CN104268489 A CN 104268489A CN 201410502219 A CN201410502219 A CN 201410502219A CN 104268489 A CN104268489 A CN 104268489A
- Authority
- CN
- China
- Prior art keywords
- encryption
- encrypted card
- block
- performance optimization
- card
- 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
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000005457 optimization Methods 0.000 title claims abstract description 13
- 230000001360 synchronised effect Effects 0.000 claims abstract description 4
- MIVWVMMAZAALNA-IJLUTSLNSA-N SCB2 Chemical compound CCCCCCC[C@@H](O)[C@H]1[C@H](CO)COC1=O MIVWVMMAZAALNA-IJLUTSLNSA-N 0.000 claims description 3
- MIVWVMMAZAALNA-UHFFFAOYSA-N SCB2 Natural products CCCCCCCC(O)C1C(CO)COC1=O MIVWVMMAZAALNA-UHFFFAOYSA-N 0.000 claims description 3
- 230000008569 process Effects 0.000 description 6
- 239000010410 layer Substances 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000015654 memory Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 239000011229 interlayer Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/80—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种基于DEVICE MAPPER的加密卡性能优化的方法,加密卡的API整合到DeviceMapper这个通用块设备内核框架中,实现适用于加密卡的dm-crypt加密块设备模块,进而可以创建加密文件系统,在磁盘存储级别对机密数据进行保护;加密块设备模块为国产加密算法sm1的同步块加密和异步块加密两种方式,并提供了sm1算法注册到内核密码管理器的方法。本发明的一种基于DEVICE MAPPER的加密卡性能优化的方法和现有技术相比,通过多卡之间的并行来实现速度的提升;在系统的资源利用率方面主要是改变原有的加密卡工作方式,变死等方式为异步工作模式,大量节省cpu时间。
Description
技术领域
本发明涉及计算机存储技术领域,具体地说是一种基于DEVICE MAPPER的加密卡性能优化的方法。
背景技术
透明加密技术是近年来针对企业文件保密需求应运而生的一种文件加密技术。所谓透明,是指对使用者来说是未知的。当使用者在打开或编辑指定文件时,系统将自动对未加密的文件进行加密,对已加密的文件自动解密。文件在硬盘上是密文,在内存中是明文。一旦离开使用环境,由于应用程序无法得到自动解密的服务而无法打开,从而起来保护文件内容的效果。
为了对磁盘上存储的数据进行加密,需要选定健壮而且安全的加密算法,加密算法是一些公式和法则,它规定了明文和密文之间的变换方法。传统的国际通用的一些加密算法包括DES,RSA,AES等等,但是我国出于安全性的考虑,自行开发商用国密算法,对具有敏感性的内部信息、行政事务信息、经济信息等进行加密保护。
但是,这些国密算法大都以IP核的形式存在于硬件加密卡的芯片中,对如何使用这些加密卡的API接口,在传统的块设备驱动的哪一个层次加入加密模块以及使用什么样的方式调用加密模块的接口提出了挑战。
除此之外,加密卡的性能和磁盘的性能之间的瓶颈问题也一直是开发安全的存储系统所需要面对的问题。如何在加密卡既定的性能极限基础上提高其处理速度成为了一个非常有意义的课题。
发明内容
本发明的目的是克服现有技术中存在的不足,提供一种基于DEVICE MAPPER的加密卡性能优化的方法。
本发明的技术方案是按以下方式实现的,其结构中加密卡的API整合到Device Mapper这个通用块设备内核框架中,实现适用于加密卡的dm-crypt加密块设备模块,进而可以创建加密文件系统,在磁盘存储级别对机密数据进行保护;
加密块设备模块为国产加密算法sm1的同步块加密和异步块加密两种方式,并提供了sm1算法注册到内核密码管理器的方法。
通过在Device Mapper内核体系结构中添加适用于加密卡驱动工作的模块解决块设备驱动架构调度加密卡加解密接口的问题,并提供了同步和异步的工作方式,提供了包括SSF33,SSF28,SCB2多种加密算法。
在加密卡的驱动代码中实现了添加密码算法到内核的密码管理器的方法。
本发明的优点是:
本发明的一种基于DEVICE MAPPER的加密卡性能优化的方法和现有技术相比,通过多卡之间的并行来实现速度的提升;在系统的资源利用率方面主要是改变原有的加密卡工作方式,变死等方式为异步工作模式,大量节省cpu时间,而且本发明具有设计合理、结构简单、使用方便等特点,因而,具有很好的使用价值。
附图说明
图1为总体架构说明图。
图2为加密模块说明类图。
图3为访问映射设备说明图。
图4为加密卡并行工作示意图。
具体实施方式
下面结合附图对本发明的一种基于DEVICE MAPPER的加密卡性能优化的方法作以下详细说明。
如图1-4所示,本发明的一种基于DEVICE MAPPER的加密卡性能优化的方法,其结构中加密卡的API整合到Device Mapper这个通用块设备内核框架中,实现适用于加密卡的dm-crypt加密块设备模块,进而可以创建加密文件系统,在磁盘存储级别对机密数据进行保护;
加密块设备模块为国产加密算法sm1的同步块加密和异步块加密两种方式,并提供了sm1算法注册到内核密码管理器的方法。
通过在Device Mapper内核体系结构中添加适用于加密卡驱动工作的模块解决块设备驱动架构调度加密卡加解密接口的问题,并提供了同步和异步的工作方式,提供了包括SSF33,SSF28,SCB2多种加密算法。
在加密卡的驱动代码中实现了添加密码算法到内核的密码管理器的方法。
如图1所示,IO数据加密架构图中包括了7个不同的分层模块,分别是SCSI-INITIATOR,SCSI-TARGET,ICM,DM,RAID,VDISK,DISK,分别负责了SCSI初始化,SCSI传输协议,IO缓存和镜像,逻辑卷管理(实现存储分区),磁盘阵列的冗余可靠信管理等等,我们主要是在DM设备映射层进行改造,实现sm1加密算法的调用。
我们在非加密卷IO流程中加入Device Mapper框架中的crypt类型的加密设备,并映射出来相应的哈希算法、加密算法。我们所需要的sm1算法就包含在其中。
我们采用的策略是:
(1)在块设备层间加一层块设备用于加密/解密,重新申请bio 及其page,以隔离上层明文数据;
(2)考虑到加密范围的粒度,且目前内核已有dm-crypt 模块支持加密,它使用内核数据加密框架,该框架支持多种加密算法并可按模块添加。
采用这种策略的特点是:
(1)上下层数据缓存不共享,避免明文和密文共用缓存区引起的潜在的重复加密/解密从而得到错误数据等缺陷;
(2)复制bio 需要申请相同数量的page,即需要更多内存;
(3)该层采用队列的方式接收异步bio 请求,可实现更大并发(若加密模块支持);
(4)该方式不能对LV,RAID 元数据进行加密;
(5)由于是增加虚拟块设备层使用通用make_request 接口提交请求,耦合度低。
Crypt设备接受上层ICM下发的bio请求,加入到工作队列中异步处理,工作队列通过复制和申请新的bio和bv_page,调用crypto模块的接口进行加密解密操作,将上层明文数据和下层密文数据相隔离
具体的调用关系类图如图2所示,其中dm-crypt 实现DM架构的target模型,提供crypt 设备的创建、读写请求处理、删除等操作,crypto则向应用者提供加密算法分配、设置、加密和解密接口和功能,后端则按照crypto_alg模型调用具体加密算法的设置密钥、加密、解密等接口。
经过改造的Device Mapper设备访问如图3所示,原有的bio经过映射块层,我们需要在这一层中调用加密卡的接口,所以需要把bio经过重定向到硬件中经过一定的加密/解密处理得到的结果再进一步向下或向上层传输(对应读/写操作)。
所有正常传输的数据经过重新定向经过硬件加密卡中进行处理,加密卡的性能必然对系统的性能造成一定的影响,如果加密卡的吞吐量小于系统的原有的吞吐量,那么单加密卡的限制必然会造成系统的性能瓶颈,针对这一问题我们可以更换性能更高的加密卡,但是单个加密卡的性能往往不够实际的需求,所以我们提出了一种多卡并行的模型,让多个加密卡协同并行的工作来达到一定的性能需求,从而不会影响原有的磁盘吞吐量。具体的方法可参照如图4所示。
在实际的加密卡性能测试的过程中,我们还发现在既有的驱动中采用了ndelay()函数原子等待DMA中断,该等待方式会大量消耗浪费CPU,造成计算资源的浪费,为此我们开发了适用于加密卡异步工作的加密算法调用的模式,在大量数据传输过程中,使得cpu的利用率从30~40%下降到10~20%。
本发明的一种基于DEVICE MAPPER的加密卡性能优化的方法其加工制作非常简单方便,按照说明书附图所示即可加工。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。
Claims (3)
1.一种基于DEVICE MAPPER的加密卡性能优化的方法,其特征在于加密卡的API整合到Device Mapper这个通用块设备内核框架中,实现适用于加密卡的dm-crypt加密块设备模块,进而可以创建加密文件系统,在磁盘存储级别对机密数据进行保护;
加密块设备模块为国产加密算法sm1的同步块加密和异步块加密两种方式,并提供了sm1算法注册到内核密码管理器的方法。
2.根据权利要求1所述的一种基于DEVICE MAPPER的加密卡性能优化的方法,其特征在于通过在Device Mapper内核体系结构中添加适用于加密卡驱动工作的模块解决块设备驱动架构调度加密卡加解密接口的问题,并提供了同步和异步的工作方式,提供了包括SSF33,SSF28,SCB2多种加密算法。
3.根据权利要求1所述的一种基于DEVICE MAPPER的加密卡性能优化的方法,其特征在于在加密卡的驱动代码中实现了添加密码算法到内核的密码管理器的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410502219.1A CN104268489A (zh) | 2014-09-26 | 2014-09-26 | 一种基于device mapper的加密卡性能优化的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410502219.1A CN104268489A (zh) | 2014-09-26 | 2014-09-26 | 一种基于device mapper的加密卡性能优化的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104268489A true CN104268489A (zh) | 2015-01-07 |
Family
ID=52160009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410502219.1A Pending CN104268489A (zh) | 2014-09-26 | 2014-09-26 | 一种基于device mapper的加密卡性能优化的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104268489A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104615941A (zh) * | 2015-01-29 | 2015-05-13 | 华为技术有限公司 | Android用户分区的快速加密方法、装置和终端设备 |
CN109190386A (zh) * | 2018-04-04 | 2019-01-11 | 中国电子科技网络信息安全有限公司 | 基于Device Mapper的容器镜像分层加密存储方法 |
CN113468563A (zh) * | 2021-06-24 | 2021-10-01 | 曙光信息产业股份有限公司 | 虚拟机数据加密方法、装置、计算机设备和存储介质 |
-
2014
- 2014-09-26 CN CN201410502219.1A patent/CN104268489A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104615941A (zh) * | 2015-01-29 | 2015-05-13 | 华为技术有限公司 | Android用户分区的快速加密方法、装置和终端设备 |
CN109190386A (zh) * | 2018-04-04 | 2019-01-11 | 中国电子科技网络信息安全有限公司 | 基于Device Mapper的容器镜像分层加密存储方法 |
CN109190386B (zh) * | 2018-04-04 | 2021-11-12 | 中国电子科技网络信息安全有限公司 | 基于Device Mapper的容器镜像分层加密存储方法 |
CN113468563A (zh) * | 2021-06-24 | 2021-10-01 | 曙光信息产业股份有限公司 | 虚拟机数据加密方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2013226133B2 (en) | Using storage controller bus interfaces to secure data transfer between storage devices and hosts | |
CA2868766C (en) | Systems and methods for secure third-party data storage | |
US7908476B2 (en) | Virtualization of file system encryption | |
TWI620093B (zh) | 用於保全電腦大容量儲存資料的方法和裝置 | |
CN110618947A (zh) | 用于利用存储器加密引擎的安全i/o的技术 | |
US10372628B2 (en) | Cross-domain security in cryptographically partitioned cloud | |
TW201723918A (zh) | 安全子系統 | |
WO2017206754A1 (zh) | 分布式文件系统的存储方法和存储装置 | |
CN101877246A (zh) | 加密u盘实现方法 | |
US11531626B2 (en) | System and method to protect digital content on external storage | |
CN104268489A (zh) | 一种基于device mapper的加密卡性能优化的方法 | |
US8738935B1 (en) | Verified erasure of data implemented on distributed systems | |
CN104123371A (zh) | 基于分层文件系统的Windows内核文件透明过滤的方法 | |
CN108563603B (zh) | 一种基于uasp协议的高效数据加密设备 | |
CN202041958U (zh) | 一种支持sata接口的加密卡 | |
CN102467625B (zh) | 一种数据保护方法、装置及系统 | |
CN104298473A (zh) | 一种虚拟磁盘与虚拟机嵌套实现计算虚拟化的方法与设备 | |
CN105844167A (zh) | 一种虚拟加密卷与虚拟应用嵌套的虚拟化的方法与设备 | |
US10277565B2 (en) | Enterprise service bus logging | |
EP4350557A1 (en) | Data storage method and apparatus, device, and readable storage medium | |
US11722299B1 (en) | Spatially-bound cryptographic storage | |
Ma et al. | Implementing efficient management and security of removable storage by FVM | |
Khashan et al. | Dynamic Multimedia Encryption Using a Parallel File System Based on Multi-Core Processors. Cryptography 2023, 7, 12 | |
Ningxia et al. | Study on Trusted Vitual Machine Platform Based on Cipher Card | |
TW201418999A (zh) | 資料存取的方法及雲端伺服器系統 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150107 |
|
WD01 | Invention patent application deemed withdrawn after publication |