一种基于DEVICE MAPPER的加密卡性能优化的方法技术

技术编号:12053638 阅读:74 留言:0更新日期:2015-09-16 17:52
本发明专利技术提供一种基于DEVICE MAPPER的加密卡性能优化的方法,加密卡的API整合到DeviceMapper这个通用块设备内核框架中,实现适用于加密卡的dm-crypt加密块设备模块,进而可以创建加密文件系统,在磁盘存储级别对机密数据进行保护;加密块设备模块为国产加密算法sm1的同步块加密和异步块加密两种方式,并提供了sm1算法注册到内核密码管理器的方法。本发明专利技术的一种基于DEVICE MAPPER的加密卡性能优化的方法和现有技术相比,通过多卡之间的并行来实现速度的提升;在系统的资源利用率方面主要是改变原有的加密卡工作方式,变死等方式为异步工作模式,大量节省cpu时间。

【技术实现步骤摘要】
【专利摘要】本专利技术提供一种基于DEVICE MAPPER的加密卡性能优化的方法,加密卡的API整合到DeviceMapper这个通用块设备内核框架中,实现适用于加密卡的dm-crypt加密块设备模块,进而可以创建加密文件系统,在磁盘存储级别对机密数据进行保护;加密块设备模块为国产加密算法sm1的同步块加密和异步块加密两种方式,并提供了sm1算法注册到内核密码管理器的方法。本专利技术的一种基于DEVICE MAPPER的加密卡性能优化的方法和现有技术相比,通过多卡之间的并行来实现速度的提升;在系统的资源利用率方面主要是改变原有的加密卡工作方式,变死等方式为异步工作模式,大量节省cpu时间。【专利说明】—种基于DEVICE MAPPER的加密卡性能优化的方法
本专利技术涉及计算机存储
,具体地说是一种基于DEVICE MAPPER的加密卡性能优化的方法。
技术介绍
透明加密技术是近年来针对企业文件保密需求应运而生的一种文件加密技术。所谓透明,是指对使用者来说是未知的。当使用者在打开或编辑指定文件时,系统将自动对未加密的文件进行加密,对已加密的文件自动解密。文件在硬盘上是密文,在内存中是明文。一旦离开使用环境,由于应用程序无法得到自动解密的服务而无法打开,从而起来保护文件内容的效果。 为了对磁盘上存储的数据进行加密,需要选定健壮而且安全的加密算法,加密算法是一些公式和法则,它规定了明文和密文之间的变换方法。传统的国际通用的一些加密算法包括DES,RSA,AES等等,但是我国出于安全性的考虑,自行开发商用国密算法,对具有敏感性的内部信息、行政事务信息、经济信息等进行加密保护。 但是,这些国密算法大都以IP核的形式存在于硬件加密卡的芯片中,对如何使用这些加密卡的API接口,在传统的块设备驱动的哪一个层次加入加密模块以及使用什么样的方式调用加密模块的接口提出了挑战。 除此之外,加密卡的性能和磁盘的性能之间的瓶颈问题也一直是开发安全的存储系统所需要面对的问题。如何在加密卡既定的性能极限基础上提高其处理速度成为了一个非常有意义的课题。
技术实现思路
本专利技术的目的是克服现有技术中存在的不足,提供一种基于DEVICE MAPPER的加密卡性能优化的方法。 本专利技术的技术方案是按以下方式实现的,其结构中加密卡的API整合到DeviceMapper这个通用块设备内核框架中,实现适用于加密卡的dm_crypt加密块设备模块,进而可以创建加密文件系统,在磁盘存储级别对机密数据进行保护;加密块设备模块为国产加密算法sml的同步块加密和异步块加密两种方式,并提供了sml算法注册到内核密码管理器的方法。 通过在Device Mapper内核体系结构中添加适用于加密卡驱动工作的模块解决块设备驱动架构调度加密卡加解密接口的问题,并提供了同步和异步的工作方式,提供了包括SSF33,SSF28,SCB2多种加密算法。 在加密卡的驱动代码中实现了添加密码算法到内核的密码管理器的方法。 本专利技术的优点是:本专利技术的一种基于DEVICE MAPPER的加密卡性能优化的方法和现有技术相比,通过多卡之间的并行来实现速度的提升;在系统的资源利用率方面主要是改变原有的加密卡工作方式,变死等方式为异步工作模式,大量节省CPU时间,而且本专利技术具有设计合理、结构简单、使用方便等特点,因而,具有很好的使用价值。 【专利附图】【附图说明】 图1为总体架构说明图。 图2为加密模块说明类图。 图3为访问映射设备说明图。 图4为加密卡并行工作示意图。 【具体实施方式】 下面结合附图对本专利技术的一种基于DEVICE MAPPER的加密卡性能优化的方法作以下详细说明。 如图1-4所示,本专利技术的一种基于DEVICE MAPPER的加密卡性能优化的方法,其结构中加密卡的API整合到Device Mapper这个通用块设备内核框架中,实现适用于加密卡的dm-crypt加密块设备模块,进而可以创建加密文件系统,在磁盘存储级别对机密数据进行保护;加密块设备模块为国产加密算法sml的同步块加密和异步块加密两种方式,并提供了sml算法注册到内核密码管理器的方法。 通过在Device Mapper内核体系结构中添加适用于加密卡驱动工作的模块解决块设备驱动架构调度加密卡加解密接口的问题,并提供了同步和异步的工作方式,提供了包括SSF33,SSF28,SCB2多种加密算法。 在加密卡的驱动代码中实现了添加密码算法到内核的密码管理器的方法。 如图1所示,1数据加密架构图中包括了 7个不同的分层模块,分别是SCS1-1NITIATOR, SCS1-TARGET, I CM,DM, RAID, VDISK, DISK,分别负责了 SCSI 初始化,SCSI传输协议,1缓存和镜像,逻辑卷管理(实现存储分区),磁盘阵列的冗余可靠信管理等等,我们主要是在DM设备映射层进行改造,实现sml加密算法的调用。 我们在非加密卷1流程中加入Device Mapper框架中的crypt类型的加密设备,并映射出来相应的哈希算法、加密算法。我们所需要的sml算法就包含在其中。 我们采用的策略是:(1)在块设备层间加一层块设备用于加密/解密,重新申请b1及其page,以隔离上层明文数据;(2)考虑到加密范围的粒度,且目前内核已有dm-crypt模块支持加密,它使用内核数据加密框架,该框架支持多种加密算法并可按模块添加。 采用这种策略的特点是:(O上下层数据缓存不共享,避免明文和密文共用缓存区引起的潜在的重复加密/解密从而得到错误数据等缺陷;(2)复制b1需要申请相同数量的page,即需要更多内存;(3)该层采用队列的方式接收异步b1请求,可实现更大并发(若加密模块支持);(4)该方式不能对LV,RAID元数据进行加密; (5)由于是增加虚拟块设备层使用通用make_request接口提交请求,稱合度低。 Crypt设备接受上层ICM下发的b1请求,加入到工作队列中异步处理,工作队列通过复制和申请新的b1和bv_page,调用crypto模块的接口进行加密解密操作,将上层明文数据和下层密文数据相隔离具体的调用关系类图如图2所示,其中dm-crypt实现DM架构的target模型,提供crypt设备的创建、读写请求处理、删除等操作,crypto则向应用者提供加密算法分配、设置、加密和解密接口和功能,后端则按照crypto_alg模型调用具体加密算法的设置密钥、加密、解密等接口。 经过改造的Device Mapper设备访问如图3所示,原有的b1经过映射块层,我们需要在这一层中调用加密卡的接口,所以需要把b1经过重定向到硬件中经过一定的加密/解密处理得到的结果再进一步向下或向上层传输(对应读/写操作)。 所有正常传输的数据经过重新定向经过硬件加密卡中进行处理,加密卡的性能必然对系统的性能造成一定的影响,如果加密卡的吞吐量小于系统的原有的吞吐量,那么单加密卡的限制必然会造成系统的性能瓶颈,针对这一问题我们可以更换性能更高的加密卡,但是单个加密卡的性能往往不够实际的需求,所以我们提出了一种多卡并行的模型,让多个加密卡协同并行的工作来达到一定的性能本文档来自技高网
...

【技术保护点】
一种基于DEVICE MAPPER的加密卡性能优化的方法,其特征在于加密卡的API整合到Device Mapper这个通用块设备内核框架中,实现适用于加密卡的dm‑crypt加密块设备模块,进而可以创建加密文件系统,在磁盘存储级别对机密数据进行保护;加密块设备模块为国产加密算法sm1的同步块加密和异步块加密两种方式,并提供了sm1算法注册到内核密码管理器的方法。

【技术特征摘要】

【专利技术属性】
技术研发人员:施培任边泽明张彦哲
申请(专利权)人:浪潮电子信息产业股份有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1