一种云计算环境中基于磁盘驱动的数据底层加密方法。包括步骤:(1)前端驱动利用授权表把内存空间中分配的页面授予后端驱动所在的设备虚拟机;(2)前端对缓冲区中的数据进行加密;(3)把对该磁盘的写请求放入一个和后端驱动共享的环形缓冲区中,并通过事件通道通知后端驱动;(4)后端驱动被唤醒后,读取共享缓冲区中的写磁盘请求,把对应授权表中授权的页面映射到自己的内存空间里,生成一个真正的磁盘访问请求;(5)磁盘写请求完成后,后端驱动释放该映射,在共享缓冲区中放入一个应答,同时通过事件通道唤醒前端驱动。它可确保用户存放在云存储中的重要数据是密文,即使存储池完全暴露出来,也仍能为用户的私密数据提供安全保证。
【技术实现步骤摘要】
本专利技术涉及一种。技术背景云计算是一种面向互联网的分布式计算服务。云存储是在云计算概念上延伸和发 展出来的一个新的概念,是指通过集群应用、网格技术或分布式文件系统等功能,将网络中 大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和 业务访问功能的一个系统。当云计算系统运算和处理的核心是大量数据的存储和管理时, 云计算系统中就需要配置大量的存储设备,那么云计算系统就转变成为一个云存储系统, 所以云存储是一个以数据存储和管理为核心的云计算系统。公有云是为公共普通客户使用 而构建的,计算资源为所有的人共享。私有云是为一个客户或者企业单独使用而构建的,因 而对数据、安全性和服务质量有更高的要求。在公有云和私有云环境中,后端数据存储采用云存储系统,所谓云存储就是将大 量不同类型的存储设备通过软件集合起来协同工作,共同对外提供数据存储服务。这样,在 用户看来,云计算后端就是一个大的存储池,这个存储池被大量用户共享,用户要做的事情 就是往存储池中放数据,而不用关心数据是如何存放的。这样的结果是,用户A的私有数据 有可能和用户B的数据存放在同一个存储服务器上,甚至是同一块磁盘上,用户B如果是一 个黑客,他可以通过某种手段利用虚拟机窃取存储池中的数据,如果A用户的数据是明文, 则用户A的私密资料就完全泄漏了。现有的技术是如何解决云存储中的数据安全的问题的呢?谈到数据安全,我们可 以从两个方面来考虑。首先是数据完整性,即如何保证数据不会丢失,或在灾难面前保证数 据有异地的数据备份,能够方便地实现丢失数据的恢复,这项技术在云存储中通常借助分 布式文件系统中的自恢复技术来实现,比如,开源的集群文件系统项目gluster中,提供了 AFR功能,即auto file r印licate,自动文件备份,通过把几个存储实体设置为一个组,同 组内的存储体的写操作会引起其它实体的写备份,当其中一个存储服务器宕机时,仍能保 证数据安全可靠。另外一方面就是数据的隐秘性了。为解决数据隐私的保护问题,常见的 方法是由用户对数据进行加密,把加密后的密文信息存储在服务端。在加密操作的具体实 现过程中,加密实现方法也是多种多样,常见的用户层工具种类繁多,它们的原理都是需要 用户手动把数据进行加密,使用时再输入对应密钥进行解密;底层的加密方法有加密文件 系统,加密文件系统(ER5)提供一种核心文件加密技术,该技术用于在NTFS文件系统卷上 存储已加密的文件。一旦加密了文件或文件夹,您就可以像使用其他文件和文件夹一样使 用它们。对加密该文件的用户,加密是透明的。这表明不必在使用前手动解密已加密的文 件。您可以正常打开和更改文件。数据完整性和数据的隐秘性二者共同保证了数据的安全属性,本文不对数据完整 性做讨论,只讨论数据的隐秘性。用户层的加密工具虽然可选余地很大,但是它增加了用户的操作负担,延缓了用户正常的数据访问流程,用户会感觉很繁琐,累赘。加密文件系统对用户来说确实是透明的,但是它对用户使用的操作系统却有特殊 的要求,并不是所有的操作系统都支持该种加密文件系统,这样就会限制用户的使用自由, 给用户带来不便。
技术实现思路
本专利技术的目的是提供一种,它可 确保用户存放在云存储中的重要数据是密文,即使存储池完全暴露出来,也仍能为用户的 私密数据提供安全保证。本专利技术采用的技术解决方案为一种,适用于由前端驱动和后端 驱动组成的虚拟磁盘设备,前端驱动是运行在普通虚拟机内核态的驱动程序,负责创建虚 拟设备,并且转发虚拟设备的I/O请求,后端驱动是运行在特权虚拟机中的内核态的驱动 程序,负责接收前端驱动转发的I/O请求,并且通过真正的设备驱动来访问物理设备,完成 I/O请求,其特征在于该方法包括以下步骤(1)当处理磁盘写请求时,前端驱动首先利用授权表把用于存放读取结果的内存 页面授予后端驱动所在的特权虚拟机,使后端驱动具有对该内存页面页面的访问权限;(2)前端驱动判断是否加密,若不加密则转下一步骤,否则对内存页面中的数据进 行加密,继续下一步骤;(3)把对该磁盘的写请求放入一个和后端驱动共享的共享缓冲区中,并通过事件 通道通知后端驱动;(4)后端驱动被唤醒后,读取共享缓冲区中的写磁盘请求,把对应授权表中授权的 内存页面映射到自己的内存空间里,生成一个真正的磁盘访问请求;(5)磁盘写请求完成后,结果已在映射页面里面,后端驱动释放该映射,在共享缓 冲区中放入一个应答,同时通过事件通道唤醒前端驱动。本专利技术提供透明的加密操作,提供多操作系统加密支持,提供较之更底层的磁盘 I/O数据流加密。既对用户屏蔽了加密的动作,又能很容易地给用户提供各种各样的操作系 统版本,包括Windows系列,Iinux主流发行版等。从而在最大程度上既不改变用户使用习 惯又为用户提供数据的隐秘性保证。附图说明图1是前后端驱动原理图2是磁盘前后端驱动模式数据流;图3是加密位置分析图4是前端驱动加密流程图。具体实施方式本专利技术涉及一种,它是基于磁盘 I/O级别所做的数据加密。因此,这里首先详细阐述下xen的磁盘设备驱动模型。Xen是一个开源虚拟化产品,Xen使用一个叫做hypervisor的软件层来调节对真实硬件的访问,实 现在一台单独的计算机上运行多个子操作系统(也就是多个虚拟机)。Xen虚拟化技术分为 全虚拟化和半虚拟化,与此对应,I/O子系统则可以分为前后端驱动模式、仿真设备和直接 分配设备。Xen将客户机称之为虚拟域(Domain),其中0号虚拟域为服务域作为监控程序 的扩展提供系统的管理服务。监控程序拥有部分硬件IO资源如定时器设备、中断设备PIC/ Local APIC/IO APIC等,其他虚拟域也可以拥有部分的IO资源如硬盘网卡等。普通虚拟域 只有虚拟设备而不拥有直接的硬件设备资源访问权。这几种方式各有优缺点,比如仿真设备方式由于是在平台级别的虚拟化,因此具 有很好的通用性,能支持各种Guest OS (客户机操作系统,也就是VM上运行的操作系统), 但这种方法引入了复杂的I/O操作路径,不仅需要在两个虚拟机之间切换,还需要多次的 处理器运行模式的切换。由于上下文切换的代价是很大的,所以这种方法难以实现高性能 的设备。对于磁盘设备、网络设备等I/O访问非常频繁的设备来说,这个缺点尤其明显。既然仿真设备的方法有性能上的瓶颈,那么,有什么办法能够进一步提高虚拟设 备的性能呢?从上面的分析可以看出,提高性能的关键在于减少上下文切换的次数。仿真 设备的方法,只能根据设备硬件手册所规定的接口来实现,并且操作系统的驱动程序也是 根据硬件手册写成,因此很难减少资源捕获的次数,也就是上下文切换的次数。因此一个很 自然的思路就是,重新定义并简化虚拟设备的接口,在一次上下文切换中做尽量多的操作, 从而实现高效的I/O设备。这就是半虚拟化的前后端设备驱动模型,该方法在I/O性能上 较仿真设备有了大幅度提升,是半虚拟化普遍采用的方法。图1中给出了半虚拟化前后端设备I/O模型的原理架构。VBD是半虚拟化I/O模 型在Xen里面的实现,意为虚拟磁盘设备。VBD由前端(frontend)和后端(kickend)组 成。前端是运行在Domain (普通虚拟机)内核态的驱动程序,负责创本文档来自技高网...
【技术保护点】
一种云计算环境中基于磁盘驱动的数据底层加密方法,适用于由前端驱动和后端驱动组成的虚拟磁盘设备,前端驱动是运行在普通虚拟机内核态的驱动程序,负责创建虚拟设备,并且转发虚拟设备的I/O请求,后端驱动是运行在特权虚拟机中的内核态的驱动程序,负责接收前端驱动转发的I/O请求,并且通过真正的设备驱动来访问物理设备,完成I/O请求,其特征在于该方法包括以下步骤:(1)当处理磁盘写请求时,前端驱动首先利用授权表把用于存放读取结果的内存页面授予后端驱动所在的特权虚拟机,使后端驱动具有对该内存页面页面的访问权限;(2)前端驱动判断是否加密,若不加密则转下一步骤,否则对内存页面中的数据进行加密,继续下一步骤;(3)把对该磁盘的写请求放入一个和后端驱动共享的共享缓冲区中,并通过事件通道通知后端驱动;(4)后端驱动被唤醒后,读取共享缓冲区中的写磁盘请求,把对应授权表中授权的内存页面映射到自己的内存空间里,生成一个真正的磁盘访问请求;(5)磁盘写请求完成后,结果已在映射页面里面,后端驱动释放该映射,在共享缓冲区中放入一个应答,同时通过事件通道唤醒前端驱动。
【技术特征摘要】
【专利技术属性】
技术研发人员:牛立新,宋卓,王鹏,胡中,沈启龙,任海宝,徐安,
申请(专利权)人:北京世纪互联工程技术服务有限公司,
类型:发明
国别省市:11[中国|北京]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。