磁盘数据的处理方法及装置制造方法

文档序号:6535054阅读:302来源:国知局
磁盘数据的处理方法及装置制造方法
【专利摘要】本发明公开了一种磁盘数据的处理方法及装置。其中,该方法包括:接收向虚拟磁盘写入第一数据的写入请求,其中,写入请求携带着写入地址;计算与写入地址对应的虚拟磁盘的写入扇区区间;对第一数据进行加密处理得到加密数据;将加密数据写入该写入扇区区间。采用本发明,解决了现有技术中磁盘数据安全性差的问题,实现了安全保护磁盘数据的效果。
【专利说明】磁盘数据的处理方法及装置
【技术领域】
[0001]本发明涉及数据处理领域,具体而言,涉及一种磁盘数据的处理方法及装置。
【背景技术】
[0002]现有技术中采用开源虚拟机模拟软件QEMU (QEMU:虚拟机模拟器)来仿真硬件环境,VM (VM:虚拟机)运行在QEMU仿真的硬件环境中,对VM可见的磁盘也是由QEMU仿真出来的,在物理服务器上,磁盘实际上是一个文件,但不同于一般的文本文件,它有它的内部格式,现在也是一种比较主流的虚拟机镜像格式:qcow2(qcow2:—种虚拟机镜像格式)。该镜像文件的驱动程序是QEMU代码中的一个模块,它以扇区来管理这个“虚拟磁盘”,包括磁盘空间的分配、释放,包括对磁盘扇区的读写、快照等操作。
[0003]虚拟桌面它的一个优势是集中管控,便于公司、集团IT部门更安全地管理公司的个人PC (PC:个人电脑),但是如果有人把镜像文件(相当于磁盘)拿走,使用QEMU来启动它,或者对qC0W2格式的数据进行破解分析,还原为原始磁盘形态,那么有可能会拿到虚拟机的数据。
[0004]由上可知,在现有解决方案中,镜像文件格式是qcow2,磁盘数据未经加密即存储在镜像文件中,如果镜像文件被窃取,那么磁盘数据就可被获取,不利于个人数据的保密。
[0005]针对现有技术中磁盘数据安全性差的问题,目前尚未提出有效的解决方案。

【发明内容】

[0006]针对相关技术中磁盘数据安全性差的问题,目前尚未提出有效的解决方案,为此,本发明的主要目的在于提供一种磁盘数据的处理方法及装置,以解决上述问题。
[0007]为了实现上述目的,根据本发明的一个方面,提供了一种磁盘数据的处理方法,该方法包括:接收向虚拟磁盘写入第一数据的写入请求,其中,写入请求携带着写入地址;计算与写入地址对应的虚拟磁盘的写入扇区区间;对第一数据进行加密处理得到加密数据;将加密数据写入该写入扇区区间。
[0008]进一步地,将对第一数据进行加密处理得到加密数据的步骤包括:从第一数据中提取符合整个扇区的第一子数据;将第一子数据进行加密处理得到第一加密子数据;从第一数据中提取不足一个扇区的第二子数据;确定与第二子数据对应的第一扇区;获取当前存储在第一扇区内的第三子数据;将第二子数据和第三子数据合并得到第一合并数据;对第一合并数据进行加密处理得到第二加密子数据,其中,加密数据包括第一加密子数据和第二加密子数据。
[0009]进一步地,获取当前存储在第一扇区内的第三子数据的步骤包括:读取第一扇区内的第四子数据,其中,第四子数据为加密的数据;对第四子数据进行解密处理得到第三子数据。
[0010]进一步地,在将加密数据写入该写入扇区区间之后,处理方法还包括:读取与读取请求对应的第二数据,其中,第二数据为加密的数据;将第二数据进行解密处理得到解密后的第二数据。
[0011]进一步地,读取与读取请求对应的第二数据的步骤包括:从读取请求中提取读取地址;计算与读取地址对应的读取扇区区间;从读取扇区区间读取第二数据。
[0012]为了实现上述目的,根据本发明的另一方面,提供了一种磁盘数据的处理装置,该装置包括:接收模块,用于接收向虚拟磁盘写入第一数据的写入请求,其中,写入请求携带着写入地址;第一计算模块,用于计算与写入地址对应的虚拟磁盘的写入扇区区间;加密模块,用于对第一数据进行加密处理得到加密数据;写入模块,用于将加密数据写入该写入扇区区间。
[0013]进一步地,加密模块包括:第一提取模块,用于从第一数据中提取符合整个扇区的第一子数据;第一加密子模块,用于将第一子数据进行加密处理得到第一加密子数据;第二提取模块,用于从第一数据中提取不足一个扇区的第二子数据;确定模块,用于确定与第二子数据对应的第一扇区;获取模块,用于获取当前存储在第一扇区内的第三子数据;合并模块,用于将第二子数据和第三子数据合并得到第一合并数据;第二加密子模块,用于对第一合并数据进行加密处理得到第二加密子数据,其中,加密数据包括第一加密子数据和第二加密子数据。
[0014]进一步地,获取模块包括:第一读取模块,用于读取第一扇区内的第四子数据,其中,第四子数据为加密的数据;第一解密模块,用于对第四子数据进行解密处理得到第三子数据。
[0015]进一步地,处理装置还包括:第二读取模块,用于读取与读取请求对应的第二数据,其中,第二数据为加密的数据;第二解密模块,用于将第二数据进行解密处理得到解密后的第二数据。
[0016]进一步地,第二读取模块包括:第三提取模块,用于从读取请求中提取读取地址;第二计算模块,用于计算与读取地址对应的读取扇区区间;第三读取模块,用于从读取扇区区间读取第二数据。
[0017]采用本发明,在接收到向虚拟磁盘写入第一数据的写入请求之后,计算与写入请求中携带的写入地址对应的写入扇区区间,并在对第一数据进行加密处理得到加密数据之后,将加密数据写入该写入扇区区间。采用本发明,在VM (虚拟机)写入磁盘数据时,先加密,然后写入,解决了现有技术中磁盘数据安全性差的问题,实现了安全保护磁盘数据的效果。
【专利附图】

【附图说明】
[0018]此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0019]图1是根据本发明实施例的磁盘数据的处理装置的结构示意图;以及
[0020]图2是根据本发明实施例的磁盘数据的处理方法的流程图。
【具体实施方式】
[0021]需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。[0022]图1是根据本发明实施例的磁盘数据的处理装置的结构示意图。如图1所示,该装置可以包括:接收模块10,用于接收向虚拟磁盘写入第一数据的写入请求,其中,写入请求携带着写入地址;第一计算模块30,用于计算与写入地址对应的虚拟磁盘的写入扇区区间;加密模块50,用于对第一数据进行加密处理得到加密数据;写入模块70,用于将加密数据写入该写入扇区区间。
[0023]采用本发明,在接收到向虚拟磁盘写入第一数据的写入请求之后,计算与写入请求中携带的写入地址对应的写入扇区区间,并在对第一数据进行加密处理得到加密数据之后,将加密数据写入该写入扇区区间。采用本发明,在VM (虚拟机)写入磁盘数据时,先加密,然后写入,解决了现有技术中磁盘数据安全性差的问题,实现了安全保护磁盘数据的效果。
[0024]在本发明的上述实施例中,加密模块包括:第一提取模块,用于从第一数据中提取符合整个扇区的第一子数据;第一加密子模块,用于将第一子数据进行加密处理得到第一加密子数据;第二提取模块,用于从第一数据中提取不足一个扇区的第二子数据;确定模块,用于确定与第二子数据对应的第一扇区;获取模块,用于获取当前存储在第一扇区内的第三子数据;合并模块,用于将第二子数据和第三子数据合并得到第一合并数据;第二加密子模块,用于对第一合并数据进行加密处理得到第二加密子数据,其中,加密数据包括第一加密子数据和第二加密子数据。
[0025]具体地,获取模块包括:第一读取模块,用于读取第一扇区内的第四子数据,其中,第四子数据为加密的数据;第一解密模块,用于对第四子数据进行解密处理得到第三子数据。
[0026]在上述实施例中,VM (虚拟机)往虚拟磁盘上写入第一数据,磁盘驱动程序接收到写入第一数据的写入请求之后,根据该写入请求中的写入地址计算出要写入的磁盘扇区区间(即上述实施例中的写入扇区区间),将写入的第一数据不足一个扇区的部分(第二子数据),该第二子数据对应第一扇区,先读出该第一扇区的内容(第三子数据),将第二子数据和第三子数据进行合并得到第一合并数据,在合并完成之后,对第一合并数据和第一子数据进行加密处理得到第一加密数据,具体地,采用3des算法对第一子数据和第一合并数据进行加密,加密完成后分别得到第一加密子数据和第二加密子数据,将第一加密子数据和第二加密子数据分别写入对应的扇区。
[0027]根据本发明的上述实施例,处理装置还包括:第二读取模块,用于读取与读取请求对应的第二数据,其中,第二数据为加密的数据;第二解密模块,用于将第二数据进行解密处理得到解密后的第二数据。
[0028]进一步地,第二读取模块包括:第三提取模块,用于从读取请求中提取读取地址;第二计算模块,用于计算与读取地址对应的读取扇区区间;第三读取模块,用于从读取扇区区间读取第二数据。
[0029]在上述实施例中,VM (虚拟机)从虚拟磁盘上读取第二数据,磁盘驱动程序接到读取请求之后,计算出要读取的读取扇区区间,如若要读取的数据不足一个扇区,仍以一个扇区读出,先读出扇区的内容,采用3des算法对第二数据进行解密,得到解密后的第二数据,返回给VM (虚拟机)。
[0030]在本发明的上述实施例中,在qcow2格式的虚拟磁盘驱动程序中,对磁盘的读、写接口,增加了一层,具体来说,在对磁盘的读接口增加了一个解密中间过程,在对磁盘的写接口增加了一个加密中间过程;在磁盘驱动程序中,它对磁盘读写的最小单位是扇区,因此,可以以扇区为单位进行加解密,具体地,采用的加密算法为3des算法,这是个对称加、解密算法,也就是说,明文和密文的长度保持一致,从而可以友好地保护个人数据不被窃取、破解。
[0031]图2是根据本发明实施例的磁盘数据的处理方法的流程图,如图2所示该方法包括如下步骤:
[0032]步骤S202,接收向虚拟磁盘写入第一数据的写入请求,其中,写入请求携带着写入地址。
[0033]步骤S204,计算与写入地址对应的虚拟磁盘的写入扇区区间。
[0034]步骤S206,对第一数据进行加密处理得到加密数据。
[0035]步骤S208,将加密数据写入该写入扇区区间。
[0036]采用本发明,在接收到向虚拟磁盘写入第一数据的写入请求之后,计算与写入请求中携带的写入地址对应的写入扇区区间,并在对第一数据进行加密处理得到加密数据之后,将加密数据写入该写入扇区区间。采用本发明,在VM (虚拟机)写入磁盘数据时,先加密,然后写入,解决了现有技术中磁盘数据安全性差的问题,实现了安全保护磁盘数据的效果。
[0037]在本发明的上述实施例中,将对第一数据进行加密处理得到加密数据的步骤包括:从第一数据中提取符合整个扇区的第一子数据;将第一子数据进行加密处理得到第一加密子数据;从第一数据中提取不足一个扇区的第二子数据;确定与第二子数据对应的第一扇区;获取当前存储在第一扇区内的第三子数据;将第二子数据和第三子数据合并得到第一合并数据;对第一合并数据进行加密处理得到第二加密子数据,其中,加密数据包括第一加密子数据和第二加密子数据。
[0038]具体地,获取当前存储在第一扇区内的第三子数据的步骤包括:读取第一扇区内的第四子数据,其中,第四子数据为加密的数据;对第四子数据进行解密处理得到第三子数据。
[0039]在上述实施例中,VM (虚拟机)往虚拟磁盘上写入第一数据,磁盘驱动程序接收到写入第一数据的写入请求之后,根据该写入请求中的写入地址计算出要写入的磁盘扇区区间(即上述实施例中的写入扇区区间),将写入的第一数据不足一个扇区的部分(第二子数据),该第二子数据对应第一扇区,先读出该第一扇区的内容(第三子数据),将第二子数据和第三子数据进行合并得到第一合并数据,在合并完成之后,对第一合并数据和第一子数据进行加密处理得到第一加密数据,具体地,采用3des算法对第一子数据和第一合并数据进行加密,加密完成后分别得到第一加密子数据和第二加密子数据,将第一加密子数据和第二加密子数据分别写入对应的扇区。
[0040]在本发明的上述实施例中,在将加密数据写入该写入扇区区间之后,处理方法还包括:读取与读取请求对应的第二数据,其中,第二数据为加密的数据;将第二数据进行解密处理得到解密后的第二数据。
[0041]具体地,读取与读取请求对应的第二数据的步骤包括:从读取请求中提取读取地址;计算与读取地址对应的读取扇区区间;从读取扇区区间读取第二数据。[0042]在上述实施例中,VM (虚拟机)从虚拟磁盘上读取第二数据,磁盘驱动程序接到读取请求之后,计算出要读取的读取扇区区间,如若要读取的数据不足一个扇区,仍以一个扇区读出,先读出扇区的内容,采用3des算法对第二数据进行解密,得到解密后的第二数据,返回给VM (虚拟机)。
[0043]在本发明的上述实施例中,在qcow2格式的虚拟磁盘驱动程序中,对磁盘的读、写接口,增加了一层,具体来说,在对磁盘的读接口增加了一个解密中间过程,在对磁盘的写接口增加了一个加密中间过程;在磁盘驱动程序中,它对磁盘读写的最小单位是扇区,因此,可以以扇区为单位进行加解密,具体地,采用的加密算法为3des算法,这是个对称加、解密算法,也就是说,明文和密文的长度保持一致,从而可以友好地保护个人数据不被窃取、破解。
[0044]需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0045]从以上的描述中,可以看出,本发明实现了如下技术效果:
[0046]采用本发明,在接收到向虚拟磁盘写入第一数据的写入请求之后,计算与写入请求中携带的写入地址对应的写入扇区区间,并在对第一数据进行加密处理得到加密数据之后,将加密数据写入该写入扇区区间。采用本发明,在VM (虚拟机)写入磁盘数据时,先加密,然后写入,解决了现有技术中磁盘数据安全性差的问题,实现了安全保护磁盘数据的效果。
[0047]显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0048]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种磁盘数据的处理方法,其特征在于,包括: 接收向虚拟磁盘写入第一数据的写入请求,其中,所述写入请求携带着写入地址; 计算与所述写入地址对应的所述虚拟磁盘的写入扇区区间; 对所述第一数据进行加密处理得到加密数据; 将所述加密数据写入所述写入扇区区间。
2.根据权利要求1所述的处理方法,其特征在于,将对所述第一数据进行加密处理得到加密数据的步骤包括: 从所述第一数据中提取符合整个扇区的第一子数据; 将所述第一子数据进行加密处理得到第一加密子数据; 从所述第一数据中提取不足一个扇区的第二子数据; 确定与所述第二子数据对应的第一扇区; 获取当前存储在所述第一扇区内的第三子数据; 将所述第二子数据和所述第三子数据合并得到第一合并数据; 对所述第一合并数据进行加密处理得到第二加密子数据, 其中,所述加密数据包括所述第一加密子数据和所述第二加密子数据。
3.根据权利要求2所述的处理方法,其特征在于,获取当前存储在所述第一扇区内的第三子数据的步骤包括: 读取所述第一扇区内的第四子数据,其中,所述第四子数据为加密的数据; 对所述第四子数据进行解密处理得到第三子数据。
4.根据权利要求1所述的处理方法,其特征在于,在将所述加密数据写入所述写入扇区区间之后,所述处理方法还包括: 读取与读取请求对应的第二数据,其中,所述第二数据为加密的数据; 将所述第二数据进行解密处理得到解密后的第二数据。
5.根据权利要求4所述的处理方法,其特征在于,读取与读取请求对应的第二数据的步骤包括: 从所述读取请求中提取读取地址; 计算与所述读取地址对应的读取扇区区间; 从所述读取扇区区间读取所述第二数据。
6.一种磁盘数据的处理装置,其特征在于,包括: 接收模块,用于接收向虚拟磁盘写入第一数据的写入请求,其中,所述写入请求携带着写入地址; 第一计算模块,用于计算与所述写入地址对应的所述虚拟磁盘的写入扇区区间; 加密模块,用于对所述第一数据进行加密处理得到加密数据; 写入模块,用于将所述加密数据写入所述写入扇区区间。
7.根据权利要求6所述的处理装置,其特征在于,所述加密模块包括: 第一提取模块,用于从所述第一数据中提取符合整个扇区的第一子数据; 第一加密子模块,用于将所述第一子数据进行加密处理得到第一加密子数据; 第二提取模块,用于从所述第一数据中提取不足一个扇区的第二子数据; 确定模块,用于确定与所述第二子数据对应的第一扇区;获取模块,用于获取当前存储在所述第一扇区内的第三子数据; 合并模块,用于将所述第二子数据和所述第三子数据合并得到第一合并数据; 第二加密子模块,用于对所述第一合并数据进行加密处理得到第二加密子数据, 其中,所述加密数据包括所述第一加密子数据和所述第二加密子数据。
8.根据权利要求7所述的处理装置,其特征在于,所述获取模块包括: 第一读取模块,用于读取所述第一扇区内的第四子数据,其中,所述第四子数据为加密的数据; 第一解密模块,用于对所述第四子数据进行解密处理得到第三子数据。
9.根据权利要求6所述的处理装置,其特征在于,所述处理装置还包括: 第二读取模块,用于读取与读取请求对应的第二数据,其中,所述第二数据为加密的数 据; 第二解密模块,用于将所述第二数据进行解密处理得到解密后的第二数据。
10.根据权利要求9所述的处理装置,其特征在于,所述第二读取模块包括: 第三提取模块,用于从所述读取请求中提取读取地址; 第二计算模块,用于计算与所述读取地址对应的读取扇区区间; 第三读取模块,用于从所述读取扇区区间读取所述第二数据。
【文档编号】G06F21/80GK103745170SQ201410005056
【公开日】2014年4月23日 申请日期:2014年1月2日 优先权日:2014年1月2日
【发明者】杨耀敏, 朱理, 高良伟, 周雄峰, 钟乐员 申请人:浙江云巢科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1