基于单文件系统磁盘加密与恢复的方法

文档序号:6460195阅读:136来源:国知局
专利名称:基于单文件系统磁盘加密与恢复的方法
技术领域
本发明属于计算机存储系统结构领域,尤其是一种基于单文件系 统磁盘加密与恢复的方法。利用单文件系统作为计算机系统上的可靠 磁盘这一方法,对磁盘上的文件内容进行加密、备份与恢复操作,从 而大大提高现有存储系统的安全性。同时,本发明还能够被应用于现
已被广为使用的移动存储外设(包括USB移动硬盘,优盘,闪存卡 等),明显改善移动存储外设的安全性能。
背景技术
当今,对于计算机系统的安全性的威胁来自很多方面,其中对于 磁盘数据的破坏是最为严重的威胁之一。根据著名数据调研机构 Gartner公司的调查数据表明在经历了数据完全丢失而导致系统停 运的企业中,有2/5再也没能恢复运营,余下的企业也有1/3在两年 内宣告破产。也就是说,六成企业因数据完全丢失而倒闭。而部分数 据丢失或被盗同样会给企业造成损失,但很多企业仍未采取相应措 施。根据7月底IT Policy Compliance Group发布的《为什么需要合规 性-风险之下的信誉与收入》的最新研究报告中,同样显示了令人担 忧的结果87%的被调査企业未部署适当的法规遵从和IT管理方案 以减少数据丢失风险,也就是说,10家企业中就有约9家面临因数 据丢失或被盗而导致的财务风险。另外一个威胁磁盘数据安全性的问 题就是磁盘或者移动存储外设的丢失。无论是别人有意窃取还是自己 不慎丢失,这种情况下,如果没有可靠的加密算法对存储设备上的数 据进行加密,都会导致在磁盘上的某些重要的保密数据外泄。小到个 人,将被侵犯个人隐私,大到国家,将威胁到国家安全。
从数据恢复的角度讲,可以采用多种不同的备份方式对数据进行 备份保护, 一旦数据由于意外而损坏或者丢失,都可以进行恢复。按 照备份粒度的不同可以分为块级增量备份,文件级备份和整个的磁盘级备份。对于备份量的大小,块级是最少的。磁盘级是最多的。
从数据加密的角度讲,采用高级加密算法对整个数据进行加密,
降低加密数据被破解的可能性。这样,即使在移动存储外设丢失的情
况下,仍然能保证数据的不外泄,保密数据不会落入敌对势力手中。 因此关键的问题在于如何利用数据恢复与加密技术,提高计算机
系统的安全性,降低来自各个方面的对于重要数据的威胁,同时应该
具有廉价性和通用性。
目前,移动存储设备(如移动硬盘,闪存盘)的使用越来越广泛,
几乎已经成为PC机的标准配置。移动存储设备己经和硬盘一样成为
PC机的存储体系中不可缺少的一个重要环节。对于移动存储设备上
数据的保护与其他设备一样重要。

发明内容
本发明的目的是提供一种能够提高现有存储系统的安全性一种 基于单文件系统磁盘加密与恢复的方法。
本发明的技术方案是基于单文件系统磁盘加密与恢复的方法, 其特征是含有如下步骤对用户指定了文件名的单文件行格式化,同 时设置该文件的大小以及该文件加载为磁盘后进入该磁盘的登陆密 码;
将格式化完毕的文件加载为计算机系统的一个本地磁盘,盘符由 用户指定,提供给用户使用;
在用户使用过程中,对磁盘上的读写操作进行解密或者加密; 卸载该加载磁盘。
所述将文件加载为计算机本地磁盘步骤包括判断用户使用模 式,根据使用模式执行相关命令;
如果用户是以管理员模式将文件加载为磁盘,用户可以向加载的 磁盘中添加Log.txt文件,用来提供只读文件的文件名称,同时添加 DRLog加文件,用来提供需要备份和恢复的文件名称;向加载的磁 盘中添加Log.txt和DRLog.txt中包含的文件,同时添加允许在用户 模式下自由使用并且不需要备份还原的文件;
如果用户是以用户模式将文件加载为磁盘,对于磁盘上由Log.txt指定名字的文件,在用户模式下,只能进行读操作;对于磁盘上的其
他文件,在用户模式下可以进行任意操作。
对磁盘上的读写操作进行解密或者加密步骤包括每次磁盘上的 读操作都执行以数据块为单位的解密操作,每次磁盘上的写操作都执 行以数据块为单位的加密操作。
卸载加载磁盘步骤具体包括下列内容判断是否需要备份 DRLog.txt中的文件,如果需要备份,则在命令行模式中,以备份模 式退出;如果不需要备份,则继续判断是否需要恢复DRLog.txt中的 文件,需要恢复,则在命令行模式中,以恢复模式退出;如果不需要 恢复DRLog.txt中的文件,则按普通方式退出。
所述备份模式为从管理员模式退出时,系统备份DRLog.txt中的 文件,文件的备份以隐藏文件的形式存储,然后执行磁盘卸载操作。
所述备份模式为从管理员模式退出时,系统恢复DRLog.txt中的 文件,然后执行磁盘卸载操作。
本发明的效果是本发明的核心内容在于利用单文件作为一个文 件系统,作为主机上某些数据(往往是保密或者不能丢失损坏的重要 数据)的存储介质,并对于其中的重要数据进行备份,以备数据恢复 使用。同时整个单文件系统是一个经过高强度加密算法进行加密之后 的文件,无论是在主机硬盘丢失还是移动存储外设丢失的情况下,都 能保证数据不被外泄。
本发明具有下列特点(l)通用性,成本低——在现有的硬盘和
移动存储设备上就可以实现,而无需增加任何硬件设备;(2)高效性 ——对于单文件系统上的任何操作,就如同实在本地的任何一个磁盘 上操作一样的迅速快捷。而且由于USB协议发展到2.0,其最高传输 速率480Mpbs; IEEE-1394也处于同一数量级。因此对于移动存储外 设上单文件系统的操作也不会感觉到延迟;(3)先进性——数据加密, 备份与恢复技术的发展方兴未艾,从技术角度来讲不会过时。
本发明主要的创新点如下1、利用单个文件作为一个文件系统 加载成磁盘;2、单文件本身是经过高强度加密算法加密的文件;3、 每次对所加载磁盘的文件读写操作都是加密的操作。
下面结合附图和实施例对本发明做进一步的说明。


图1为本发明的操作流程图2是本发明FormatVolume程序流程框图3是本发明MountVolume程序流程框图4是本发明TCSDReadLog和TCStopDelete程序流程框图5是本发明TCDRReadLog程序流程框图。
具体实施例方式
基于单文件系统的磁盘加密与恢复方法的软硬件构成如下 PC机、移动设备、单文件系统磁盘加密与恢复软件、相关的应用 程序和Windows平台。如图1所示,整个系统的运行过程如下
步骤l:使用Format命令格式化一个单文件,如文件是A,在此 过程中,可以设置这个单文件A的大小,以及加载成磁盘后进入文 件系统时候的密码。
步骤2:以管理员模式将单文件A加载成系统的一个磁盘,如X, 这个盘符可以由用户自由选择。此操作在命令行中完成。
步骤3:管理员向X盘中添加Log.txt文件,用来提供只读文件 的文件名称,同时添加DRLog.txt文件,用来提供需要备份和恢复的 文件的文件名称。
步骤4:管理员向X盘中添加Log.txt和DRLog.txt中包含的文 件。同时,添加允许在用户模式下自由使用并且不需要备份还原的文 件。
步骤5:退出加载时候做如下判断
是否需要备份DRLog.txt中的文件?若是,在命令行模式中,以 备份模式退出;是否需要恢复DRLog.txt中的文件?若是,在命令行 模式中,以恢复模式退出。如果不是以上两种情况中的任意一种。那 么就正常退出。
步骤6:由用户图形界面加载磁盘X,输入在Format时候提供的 密码,文件系统便可以为用户使用。下面就相关问题介绍如下
1、磁盘结构巻头(Volume Header)
本发明使用Format时候输入的用户密码,并不是在后面使用中 简单的判别是否匹配。而是有此密码产生一系列的加密过程。 Volume Header的加密
首先,Volume Header的加密处理是在程序调用Format时候完成 的。程序读取被Format的单文件A的前512bytes,将其放入RAM。 这512bytes的前64bytes作为随机特征值(salt)。 Salt在Volume创建 的时候由随机数生成器填充产生。
其次,用户输入的密码和上一步中读取的salt被传递给了 Volume Header的密钥产生函数HMAC-RIPED-160。生成加密Volume Header 需要的主密钥和副密钥。由于使用的是512bits的salt。所以对于每个 用户密码都能产生2512个密钥。大大降低了密钥被破解的可能性。
再次,使用AES-256加密算法对Volume Header进行加密。密钥 来自于上一步所产生的主、副密钥,密钥的长度是256bits (因为是 AES-256加密算法)。
最后,由随即数产生器填充单文件A前512bytes中。从#288位 开始的主密钥和从#256位开始的副密钥。它们的作用是为文件读写 加密操作提供密钥。
Volume Header解密成功的标准
解密操作执行完之后,如果单文件A前512bytes的#64bytes开 始的后4个bytes的ASCII String,,TRUE", 并且位于#72 CRC-32chechsum的最后256bytes的解密值与#8的解密值匹配,那么 Volume Header的解密成功。
2、文件读写加密
在Volume Header解密成功之后,可以从单文件A的前512bytes 的#288和#256读出主副密钥。
当A加载成磁盘X之后,每次对于X上的文件的读操作都是经 过AES-256加密算法解密的。对于其上文件的写操作都是经过 AES-256加密算法加密的。而且,不管是在管理员模式还是用户模式都会运行加密和解密。
因此,保证了对于SFCB上的数据都是密文而没有明文存在。保 证了文件内容的保密性。
3、 1/0请求的截获
I/O请求的截获是在内核层实现的。对于I/O请求存在这两者情况
第一种情况,此种I/O请求是不需要截获的,这种时候,把IPR
传递给下层驱动程序去处理。
第二种情况,需要截获IRP中的特定I/0请求。当IRP的主功能 码是读或者写的时候,不能将这个IRP传递给下层驱动程序,此时, 需要程序进入特定的完成例程中。例如,如果是读操作,那么在完成 例程中,对读出的数据进行解密。如果是写操作,那么在完成例程中, 对将要写入的数据进行加密操作。
4、应用领域
本发明除了可以应用于主机硬盘还能够应用于移动存储设备。 目前,支持连接接口协议的存储设备已被大多数主流的操作系统 支持,包括Windows系列,Linux , MACOS, Solaris等。 一般而言, 将这些设备连接到计算机上后,操作系统利用其驱动程序将这些设备 作为单独的存储分区——如在Windows 2000下,被作为一个新的磁 盘;而在Linux下,则可以作为一个独立的磁盘映射到某一 目录,而 后对其的操作与对本机的硬盘操作没有区别。因此,对移动存储设备 的安装与使用已由操作系统解决。这也说明,本发明具有较大的可移 植性与易用性。
Windows系统下的参考实现
本发明已经在Windows XP系统进行了成功应用,其具体的系统 组成如下Windows XP Professional (sp2);本发明的Format程序, 用户界面和驱动程序;主机硬盘或者USB 2.0的移动存储设备。流 程说明如下
本发明在Windows下包含了用户级和内核级两层调用。
1、用户级调用的主要函数包括FormatVolume和MountVolume。操作流程如下
调用FormatVolume函数Format单文件A。包括磁盘大小和登陆 密码(这个需要人工指定),调用MountVolume函数将单文件A加载 为用户选定的磁盘(比如X:)。、
具体包括如下步骤(参见图2,)发出输入格式化文件名称的命 令,读取需要格式化文件的名称,对指定文件进行格式化,读取磁盘 字节长度和进入文件系统的密码,对MountVolume进行加密,启动 MountVolume程序,将指定文件加载为用户选定的磁盘。
MountVolume程序流程框图见图3,首先判断文件是否加载,如 果判断结果是加载,则提示用户文件已经记载,如果判断结果是文件 没有加载,则验证用户输入的密码,将密码和参数由用户态传给内核 态,对Volume Header进行解密,获取磁盘读写密钥,将文件加载成 磁盘。
2、内核级调用的主要函数包括TCDRReadLog, TCSDReadLog 和TCStopDelete,操作流程如下
根据用户的输入进行如下判断,磁盘加载模式是管理员模式还 是用户模式,退出磁盘加载模式时,要求恢复,备份还是正常退出。 如果是管理员模式加载磁盘时,对于磁盘的任何操作都是 不被截获的。如果是用户模式加载磁盘,则调用函数TCSDReadLog 来获得可读、不可写入、不可删除的文件的名称,之后调用函数 TCStopDelete来防止指定文件被删除。
TCSDReadLog和TCStopDelete程序流程框图见图4,具体包括下 列步骤从Log.txt文件获取需要保护的文件名,将文件名传递给防 删改函数,以共享读的形式在内核态打开占用文件,在卸载磁盘时关 闭被占用的文件的句柄。
如果是管理员模式退出的话进行如下判断,如果要求备份,那么 在退出命令的最后添加/i,将对所有由函数TCDRReadLog提供的文 件进行备份操作。如果要求恢复,那么在退出命令的最后添加/r,将 对所有由函数TCDRReadLog提供的文件进行恢复操作,如果是正常 退出,那么直接卸载磁盘。
在函数FormatVolume中,执行了 Volume Header的加密操作, 同时,产生了AES加密的密钥。在函数MountVolume中,如果用户 输入的密码正确,那么首先就是要对Volume Header进行解密操作,从而获得密钥,密钥的作用是对每次磁盘上的读写操作进行加密或者 解密。
当磁盘卸载退出的时候,通过截取I/O请求中的自定义的
dismount命令,以及其后所跟随的参数可以判定,此次退出是需要备 份,恢复还是正常的退出。在函数TCDRReadLog根据参数选取不同 的分支来执行。函数TCDRReadLog流程图见图5,具体包括下列步 骤管理员模式下卸载磁盘输入参数,如果是备份,则从DRLog.txt 获取备份或者恢复的文件名,文件级别备份,备份以隐藏文件存储, 用户不可删改,完成磁盘卸载,如果是恢复,则从DRLog.txt获取备 份或者恢复的文件名,文件级别恢复,备份以隐藏文件存储,用户不 可删改,完成磁盘卸载。
在文件加载成为磁盘之后,调用函数TCSDReadLog函数来解析 文件Log.txt中的文件,将获得的文件名传递给TCStopDelete函数, TCStopDelete在内核态以共享读的形式打开占用接收到的文件,从而 达到防止重要文件被删改的目的。当磁盘卸载的时候,释放所有被占 用的文件的句柄。
权利要求
1、基于单文件系统磁盘加密与恢复的方法,其特征是含有如下步骤---对用户指定了文件名的单文件进行格式化,同时设置该文件的大小以及该文件加载为磁盘后进入该磁盘的登陆密码;---将格式化完毕的文件加载为计算机系统的一个本地磁盘,盘符由用户指定,提供给用户使用;---在用户使用过程中,对磁盘上的读写操作进行解密或者加密;---卸载该加载磁盘。
2、 根据权利要求1所述的基于单文件系统的磁盘加密与恢复的 方法,其特征在于所述将文件加载为计算机本地磁盘步骤包括…-判断用户使用模式,根据使用模式执行相关命令; 如果用户是以管理员模式将文件加载为磁盘,用户可以向加载的 磁盘中添加Log.txt文件,用来提供只读文件的文件名称,同时添加 DRLog.txt文件,用来提供需要备份和恢复的文件名称;向加载的磁 盘中添加Log.txt和DRLog.txt中包含的文件,同时添加允许在用户 模式下自由使用并且不需要备份还原的文件;如果用户是以用户模式将文件加载为磁盘,对于磁盘上由Log.txt 指定名字的文件,在用户模式下,只能进行读操作;对于磁盘上的其 他文件,在用户模式下可以进行任意操作。
3、 根据权利要求1所述的基于单文件系统的磁盘加密与恢复的 方法,其特征在于对磁盘上的读写操作进行解密或者加密步骤包括 每次磁盘上的读操作都执行以数据块为单位的解密操作,每次磁盘上 的写操作都执行以数据块为单位的加密操作。
4、 根据权利要求1所述的基于单文件系统的磁盘加密与恢复的 方法,其特征在于卸载加载磁盘步骤具体包括下列内容判断是否需 要备份DRLog.txt中的文件,如果需要备份,则在命令行模式中,以 备份模式退出;如果不需要备份,则继续判断是否需要恢复DRLog.txt 中的文件,需要恢复,则在命令行模式中,以恢复模式退出;如果不 需要恢复DRLog.txt中的文件,则按普通方式退出。
5、 根据权利要求4所述的基于单文件系统的磁盘加密与恢复的 方法,其特征在于所述备份模式为从管理员模式退出时,系统备份DRLog.txt中的文件,文件的备份以隐藏文件的形式存储,然后执行 磁盘卸载操作。
6、根据权利要求4所述的基于单文件系统的磁盘加密与恢复的 方法,其特征在于所述备份模式为从管理员模式退出时,系统恢复 DRLog.txt中的文件,然后执行磁盘卸载操作。
全文摘要
一种能够提高现有存储系统的安全性的基于单文件系统磁盘加密与恢复的方法。技术方案是含有如下步骤对用户指定了文件名的单文件进行格式化,同时设置该文件的大小以及该文件加载为磁盘后进入该磁盘的登陆密码;将格式化完毕的文件加载为计算机系统的一个本地磁盘,盘符由用户指定,提供给用户使用;在用户使用过程中,对磁盘上的读写操作进行解密或者加密;卸载该加载磁盘。
文档编号G06F21/24GK101295342SQ20081005674
公开日2008年10月29日 申请日期2008年1月24日 优先权日2008年1月24日
发明者辉 张, 张悠慧 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1