基于虚拟磁盘的数据加密移动存储管理方法转让专利

申请号 : CN201210573220.4

文献号 : CN103065102B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 马俊余杰唐晓东易晓东张卫华孔金珠戴华东吴庆波彭欢

申请人 : 中国人民解放军国防科学技术大学

摘要 :

本发明公开了一种基于虚拟磁盘的数据加密移动存储管理方法,实施步骤如下:1)在移动存储设备的头部写入加密卷标识,在移动存储设备中创建虚拟磁盘加密卷;2)当移动存储设备插入指定的计算机时检查加密卷标识,如果加密卷标识不正确则按普通移动存储设备处理,否则跳转执行下一步;3)根据挂载口令校验虚拟磁盘加密卷信息头,校验通过则执行下一步;4)挂载虚拟磁盘加密卷,调用带有加解密模块的虚拟磁盘驱动程序对虚拟磁盘加密卷进行读写,加解密模块自动实时加解密;最终在卸载移动存储设备时自动卸载所述虚拟磁盘加密卷。本发明具有存储信息安全可靠、安全策略配置灵活、移动存储设备管理简单方便、数据加解密处理透明高效的优点。

权利要求 :

1.一种基于虚拟磁盘的数据加密移动存储管理方法,其特征在于实施步骤如下:

1)在普通移动存储设备的头部写入加密卷标识并创建虚拟磁盘加密卷得到加密移动存储设备,将所述虚拟磁盘加密卷的头部设置根据用户输入的挂载口令进行加密的虚拟磁盘加密卷信息头,所述虚拟磁盘加密卷信息头包含数据加解密密钥、管理策略信息和虚拟磁盘文件系统信息;

2)当移动存储设备插入指定的计算机时,检查移动存储设备的加密卷标识是否正确,如果加密卷标识不正确则判定插入普通移动存储设备;否则判定插入加密移动存储设备并跳转执行下一步;

3)获取用户输入的挂载口令,根据用户当前输入的挂载口令解密加密移动存储设备中的虚拟磁盘加密卷信息头,并对解密后的虚拟磁盘加密卷信息头进行校验,如果校验通过则跳转执行下一步,否则返回执行步骤3)或者禁止挂载虚拟磁盘加密卷并退出;

4)挂载虚拟磁盘加密卷,根据解密虚拟磁盘加密卷信息头得到的数据加解密密钥配置主次密钥,调用所述指定的计算机中带有加解密模块的虚拟磁盘驱动程序根据用户的指令对虚拟磁盘加密卷进行读写,所述加解密模块使用主次密钥对读写虚拟磁盘加密卷的内容进行自动实时加解密,最终在卸载加密移动存储设备时自动卸载所述虚拟磁盘加密卷;

所述虚拟磁盘加密卷信息头还包含完整性校验值,所述管理策略信息中包括用于标识区别虚拟磁盘加密卷的标识位;所述步骤3)对解密后的虚拟磁盘加密卷信息头进行校验的详细步骤如下:

3.1)检测解密虚拟磁盘加密卷信息头后的标识位是否为指定的字符串,如果标识位为指定的字符串,则判定用户输入的挂载口令正确并跳转执行步骤3.2);否则判定用户输入的挂载口令错误,记录口令错误的次数,当所述口令错误的次数小于预设值时返回执行步骤3),当所述口令错误的次数大于或等于预设值时禁止挂载虚拟磁盘加密卷并退出;

3.2)根据解密虚拟磁盘加密卷信息头得到的管理策略信息、虚拟磁盘文件系统信息、数据加解密密钥计算完整性校验值,将计算得到的完整性校验值和解密虚拟磁盘加密卷信息头得到的完整性校验值进行对比,如果两者相同则判定完整性校验通过并跳转执行步骤

4);否则判定完整性校验不通过,禁止挂载虚拟磁盘加密卷并退出。

2.根据权利要求1所述的基于虚拟磁盘的数据加密移动存储管理方法,其特征在于,所述管理策略信息还包含加密移动存储设备的设备编号和单位部门;步骤4)中挂载虚拟磁盘加密卷时还包括检查加密移动存储设备可用性的步骤,所述检查加密移动存储设备可用性的步骤如下:

4.1)获取所述指定的计算机对应的单位部门,获取解密虚拟磁盘加密卷信息头得到的加密移动存储设备的单位部门,比较所述指定的计算机对应的单位部门和加密移动存储设备的单位部门是否相同,如果不相同则判定所述加密移动存储设备为外来单位部门的加密移动存储设备,跳转执行步骤4.2);否则判定所述加密移动存储设备为所述指定的计算机本单位部门的加密移动存储设备,跳转执行步骤4.3);

4.2)根据所述指定的计算机对应的单位部门、加密移动存储设备的设备编号和单位部门从所述指定的计算机中读取加密移动存储设备访问控制权限,所述加密移动存储设备访问控制权限包含所述指定的计算机对应的单位部门是否允许所述加密移动存储设备访问、所述加密移动存储设备的单位部门是否允许所述加密移动存储设备访问所述指定的计算机;如果所述加密移动存储设备访问控制权限均为允许访问,则跳转执行步骤4.3);否则禁止挂载虚拟磁盘加密卷;

4.3)获取解密虚拟磁盘加密卷信息头得到的加密移动存储设备的设备编号,从所述指定的计算机中读取所述加密移动存储设备对应的设备编号是否被锁定的控制规则,如果所述加密移动存储设备对应的设备编号被锁定,则禁止挂载虚拟磁盘加密卷,否则挂载虚拟磁盘加密卷。

3.根据权利要求2所述的基于虚拟磁盘的数据加密移动存储管理方法,其特征在于:

所述步骤1)写入加密卷标识以及创建虚拟磁盘加密卷时,所述加密卷标识对应的字符串标识存储在加密移动存储设备的前16字节空间内;所述虚拟磁盘加密卷信息头写入虚拟磁盘加密卷头部的前1008字节空间内,其中第0~511个共512个字节空间存放管理策略信息,所述管理策略信息包含单位部门、设备编号和标记位,且所述管理策略信息以字符串列表的形式存储;第512~639个共128个字节空间存放虚拟磁盘文件系统信息;第640~

703个共64个字节空间存放用于结合用户输入的挂载口令创建数据加解密密钥的随机数盐值;第704~831个共128个字节空间存放数据加解密密钥;第832~835个共4个字节空间存放完整性校验值;第836~1007个共172个字节空间为保留区。

4.根据权利要求1~3中任意一项所述的基于虚拟磁盘的数据加密移动存储管理方法,其特征在于:所述步骤2)中在插入普通移动存储设备后禁止挂载普通移动存储设备;

或者在插入普通移动存储设备后引导用户指定初始化移动存储设备的文件系统类型,并在用户指定文件系统类型后跳转执行步骤1)进行初始化移动存储设备。

5.根据权利要求4所述的基于虚拟磁盘的数据加密移动存储管理方法,其特征在于:

所述文件系统类型为Ext2文件系统或者Ext3文件系统。

6.根据权利要求5所述的基于虚拟磁盘的数据加密移动存储管理方法,其特征在于:

所述虚拟磁盘驱动程序的加解密模块中内置的加解密算法包括AES、Serpent、Twofish三种基本算法及其组合算法。

7.根据权利要求1~3中任意一项所述的基于虚拟磁盘的数据加密移动存储管理方法,其特征在于:所述步骤4)还包括审计加密移动存储设备操作的步骤,所述审计加密移动存储设备操作的步骤具体是指:将指定的计算机中加密移动存储设备的挂载、卸载和对加密移动存储设备中虚拟磁盘加密卷中文件、文件夹的读写执行操作都记录在本地日志中,所述日志以密文形式记录,所述日志的内容包括操作时间、用户名、日志级别、日志路径,且所述指定的计算机在接入所辖网络时将所述日志同步传送到所辖网络的日志服务器上。

说明书 :

基于虚拟磁盘的数据加密移动存储管理方法

技术领域

[0001] 本发明涉及Linux操作系统下移动存储设备的数据存储及管理方法,具体涉及一种对普通U盘创建虚拟磁盘加密卷实现数据的自动加解密的基于虚拟磁盘的数据加密移动存储管理方法。

背景技术

[0002] 随着信息化的不断发展和深入,计算机已经全面进入了人们的生活和工作中,而U盘(U-disk),作为一种即插即用的USB设备,以其小巧携带方便、存储容量大、性能可靠、传输速度快等优点成为日常生活中必不可少的移动存储设备。但由U盘所引发的数据泄漏等安全问题也日益严重,成为很多企业和个人信息安全防护的重点。
[0003] 为了解决这个问题,加密U盘应运而生。目前加密U盘主要包含三类实现方式:一是简单的密码认证,实际的存储内容并没有经过加密处理;二是硬件加密,通过U盘内部的控制芯片实现实时加密,该类加密U盘需要专门的硬件加解密芯片,硬件成本高;三是软件加密,即通过内置或附带加密软件对数据进行加密,该类加密U盘是目前市面上的主流产品。软件加密U盘刚问世的时候还只是用于国家涉密单位或部门,随着数据泄露问题的加剧和越来越多的用户对个人敏感信息或公司保密信息的安全性的重视,软件加密U盘在民用企事业单位以及个人用户方面也得到广泛应用。软件加密U盘的使用,在一定程度上解决了用户对于个人隐私的担心,大大减少了泄密的可能性,满足了不同单位和个人对于数据安全的需求。但是,现有技术的软件加密U盘存在以下几个问题:
[0004] 1、容易被病毒攻击,窃取资料
[0005] Windows操作系统下病毒肆虐,很多资料的泄漏就是受到病毒的感染。操作系统把U盘作为一个标准的磁盘来管理,对操作系统来说,U盘除了热插拔之外,和硬盘没什么分别,从而导致U盘容易感染病毒。
[0006] 2、密码容易被破解,导致U盘数据容易泄密
[0007] 随着U盘的使用范围不断扩大,市面上出现的破解密码软件也日益增多,U盘的丢失、报废、维修和遭窃等情况的发生很容易被他人借助破解软件获取密码,读取U盘中的加密信息,造成数据的泄漏。
[0008] 3、没有单位权限管理,容易造成内部泄密
[0009] 目前由于内部人员行为所导致的泄密事故占总泄密事故的70%以上,内部泄密成为了目前人们关注的焦点。虽然可以通过管理制定的规范、访问控制的约束和审计手段等防护措施可以很大程度上降低内部泄密风险,但是,U盘的便携性本身就为信息的外带种下了缺陷。该类U盘由于没有单位间的权限设置,所以一旦离开本单位内部环境,就极有可能发生泄密。
[0010] 4、应用层的透明加解密,不方便于软件版本的升级开发
[0011] 基于应用层的透明加解密通过监控应用程序的启动而启动,但由于版本的升级开发可能会导致应用程序的改名和不同应用程序在读写文件时所用的方法不同,以及应用程序中反钩子技术的应用都有可能造成透明加解密的失效。而且,该类透明加解密技术在遇到大文件时,速度较慢。
[0012] 综上所述,现有技术的软件加密U盘容易被病毒攻击,密码容易被破解,没有单位权限管理,容易造成内部泄密,基于应用层的透明加解密与应用程序的关联太紧密,不便于软件版本的升级开发,限制了软件加密U盘的推广和应用。

发明内容

[0013] 本发明要解决的技术问题是提供一种存储信息安全可靠、安全策略配置灵活、移动存储设备管理简单方便、数据加解密处理透明高效的基于虚拟磁盘的数据加密移动存储管理方法。
[0014] 为了解决上述技术问题,本发明采用的技术方案为:
[0015] 一种基于虚拟磁盘的数据加密移动存储管理方法,实施步骤如下:
[0016] 1)在普通移动存储设备的头部写入加密卷标识并创建虚拟磁盘加密卷得到加密移动存储设备,将所述虚拟磁盘加密卷的头部设置根据用户输入的挂载口令进行加密的虚拟磁盘加密卷信息头,所述虚拟磁盘加密卷信息头包含数据加解密密钥、管理策略信息和虚拟磁盘文件系统信息;
[0017] 2)当移动存储设备插入指定的计算机时,检查移动存储设备的加密卷标识是否正确,如果加密卷标识不正确则判定插入普通移动存储设备;否则判定插入加密移动存储设备并跳转执行下一步;
[0018] 3)获取用户输入的挂载口令,根据用户当前输入的挂载口令解密加密移动存储设备中的虚拟磁盘加密卷信息头,并对解密后的虚拟磁盘加密卷信息头进行校验,如果校验通过则跳转执行下一步,否则返回执行步骤3)或者禁止挂载虚拟磁盘加密卷并退出;
[0019] 4)挂载虚拟磁盘加密卷,根据解密虚拟磁盘加密卷信息头得到的数据加解密密钥配置主次密钥,调用所述指定的计算机中带有加解密模块的虚拟磁盘驱动程序根据用户的指令对虚拟磁盘加密卷进行读写,所述加解密模块使用主次密钥对读写虚拟磁盘加密卷的内容进行自动实时加解密,最终在卸载加密移动存储设备时自动卸载所述虚拟磁盘加密卷;
[0020] 所述虚拟磁盘加密卷信息头还包含完整性校验值,所述管理策略信息中包括用于标识区别虚拟磁盘加密卷的标识位;所述步骤3)对解密后的虚拟磁盘加密卷信息头进行校验的详细步骤如下:
[0021] 3.1)检测解密虚拟磁盘加密卷信息头后的标识位是否为指定的字符串,如果标识位为指定的字符串,则判定用户输入的挂载口令正确并跳转执行步骤3.2);否则判定用户输入的挂载口令错误,记录口令错误的次数,当所述口令错误的次数小于预设值时返回执行步骤3),当所述口令错误的次数大于或等于预设值时禁止挂载虚拟磁盘加密卷并退出;
[0022] 3.2)根据解密虚拟磁盘加密卷信息头得到的管理策略信息、虚拟磁盘文件系统信息、数据加解密密钥计算完整性校验值,将计算得到的完整性校验值和解密虚拟磁盘加密卷信息头得到的完整性校验值进行对比,如果两者相同则判定完整性校验通过并跳转执行步骤4);否则判定完整性校验不通过,禁止挂载虚拟磁盘加密卷并退出。
[0023] 所述管理策略信息还包含加密移动存储设备的设备编号和单位部门;步骤4)中挂载虚拟磁盘加密卷时还包括检查加密移动存储设备可用性的步骤,所述检查加密移动存储设备可用性的步骤如下:
[0024] 4.1)获取所述指定的计算机对应的单位部门,获取解密虚拟磁盘加密卷信息头得到的加密移动存储设备的单位部门,比较所述指定的计算机对应的单位部门和加密移动存储设备的单位部门是否相同,如果不相同则判定所述加密移动存储设备为外来单位部门的加密移动存储设备,跳转执行步骤4.2);否则判定所述加密移动存储设备为所述指定的计算机本单位部门的加密移动存储设备,跳转执行步骤4.3);
[0025] 4.2)根据所述指定的计算机对应的单位部门、加密移动存储设备的设备编号和单位部门从所述指定的计算机中读取加密移动存储设备访问控制权限,所述加密移动存储设备访问控制权限包含所述指定的计算机对应的单位部门是否允许所述加密移动存储设备访问、所述加密移动存储设备的单位部门是否允许所述加密移动存储设备访问所述指定的计算机;如果所述加密移动存储设备访问控制权限均为允许访问,则跳转执行步骤4.3);否则禁止挂载虚拟磁盘加密卷;
[0026] 4.3)获取解密虚拟磁盘加密卷信息头得到的加密移动存储设备的设备编号,从所述指定的计算机中读取所述加密移动存储设备对应的设备编号是否被锁定的控制规则,如果所述加密移动存储设备对应的设备编号被锁定,则禁止挂载虚拟磁盘加密卷,否则挂载虚拟磁盘加密卷。
[0027] 所述步骤1)写入加密卷标识以及创建虚拟磁盘加密卷时,所述加密卷标识对应的字符串标识存储在加密移动存储设备的前16字节空间内;所述虚拟磁盘加密卷信息头写入虚拟磁盘加密卷头部的前1008字节空间内,其中第0~511个共512个字节空间存放管理策略信息,所述管理策略信息包含单位部门、设备编号和标记位,且所述管理策略信息以字符串列表的形式存储;第512~639个共128个字节空间存放虚拟磁盘文件系统信息;第640~703个共64个字节空间存放用于结合用户输入的挂载口令创建数据加解密密钥的随机数盐值;第704~831个共128个字节空间存放数据加解密密钥;第832~835个共4个字节空间存放完整性校验值;第836~1007个共172个字节空间为保留区。
[0028] 所述步骤2)中在插入普通移动存储设备后禁止挂载普通移动存储设备;或者在插入普通移动存储设备后引导用户指定初始化移动存储设备的文件系统类型,并在用户指定文件系统类型后跳转执行步骤1)进行初始化移动存储设备。
[0029] 所述文件系统类型为Ext2文件系统或者Ext3文件系统。
[0030] 所述虚拟磁盘驱动程序的加解密模块中内置的加解密算法包括AES、Serpent、Twofish三种基本算法及其组合算法。
[0031] 所述步骤4)还包括审计加密移动存储设备操作的步骤,所述审计加密移动存储设备操作的步骤具体是指:将指定的计算机中加密移动存储设备的挂载、卸载和对加密移动存储设备中虚拟磁盘加密卷中文件、文件夹的读写执行操作都记录在本地日志中,所述日志以密文形式记录,所述日志的内容包括操作时间、用户名、日志级别、日志路径,且所述指定的计算机在接入所辖网络时将所述日志同步传送到所辖网络的日志服务器上。
[0032] 本发明具有下述优点:
[0033] 1、本发明综合运用身份认证和数据加密等安全机制,解决了单独在主机端或设备端采取安全措施存在的安全隐患问题,更好地保护了存储信息的安全,具有存储信息安全可靠、移动存储设备管理简单方便、数据加解密处理透明高效的优点。
[0034] 2、本发明能够对创建的加密移动存储设备进行密码修改、移动存储设备属性修改、设置批准加密移动存储设备外带和允许外部加密移动存储设备使用,相关信息的修改都会重新写入加密移动存储设备的设备信息头并能够保存在计算机上或者同步到计算机所辖网络中的数据库中,具有安全策略配置灵活、管理快捷、使用简单方便的优点。
[0035] 3、本发明在移动存储设备认证挂载成功后,对其所有的读写操作都是对虚拟磁盘的操作,进行读写时调用指定的计算机中带有加解密模块的虚拟磁盘驱动程序根据用户的指令对虚拟磁盘加密卷进行读写,加解密模块使用主次密钥对读写虚拟磁盘加密卷的内容进行自动实时加解密,数据在内核层自动被实时透明的加解密,稳定性好、速度快,能够防止用户由于应用层的加解密而出现的卡顿或者等待;而卸载移动存储设备后,里面的内容又将会变得完全不可访问,具有安全可靠性高的优点。
[0036] 4、本发明虚拟磁盘加密卷信息头进一步包含管理策略信息和完整性校验值,管理策略信息中包括用于标识区别虚拟磁盘加密卷的标识位,对解密后的虚拟磁盘加密卷信息头进行校验使用标识位和完整性校验值对虚拟磁盘加密卷信息头进行双重校验,能够识别出挂载口令错误,用户体验更好;而且还能对虚拟磁盘加密卷信息头进行完整性校验,能够检测出读取虚拟磁盘加密卷信息头的异常错误,具有安全性高、用户体验好的优点。
[0037] 5、本发明虚拟磁盘加密卷信息头中的管理策略信息进一步包含移动存储设备的设备编号和单位部门,移动存储设备初始化后只有在指定的计算机上才能识别成功,挂载虚拟磁盘加密卷时还包括检查移动存储设备可用性,通过认证挂载后可以像使用一个普通分区那样使用加密的虚拟磁盘加密卷,通过虚拟磁盘加密卷信息头中的设备编号和单位部门结合指定计算机上的控制策略,能够实现例如对于不同的单位有不同移动存储设备的配置策略,能够有效的防止移动存储设备在不同单位、不同机器和系统上的使用,最大程度的消除了管理空白区,为信息的保护提供的最大的保障。

附图说明

[0038] 图1为本发明实施例的方法流程示意图。
[0039] 图2为本发明实施例中创建的加密U盘的结构示意图。
[0040] 图3为本发明实施例中指定的计算机用于处理加密U盘的相关模块的框架结构示意图。
[0041] 图4为本发明实施例中指定的计算机对插入U盘的处理流程示意图。

具体实施方式

[0042] 下文以U盘作为移动存储设备为例,对本发明技术方案的具体实施方式进行说明。
[0043] 如图1所示,本实施例基于虚拟磁盘的数据加密移动存储管理方法的实施步骤如下:
[0044] 1)在普通U盘的头部写入加密卷标识并创建虚拟磁盘加密卷得到加密U盘,将虚拟磁盘加密卷的头部设置根据用户输入的挂载口令进行加密的虚拟磁盘加密卷信息头,虚拟磁盘加密卷信息头包含数据加解密密钥、管理策略信息和虚拟磁盘文件系统信息;
[0045] 2)当U盘插入指定的计算机时,检查U盘的加密卷标识是否正确,如果加密卷标识不正确则判定插入普通U盘;否则判定插入加密U盘并跳转执行下一步;
[0046] 3)获取用户输入的挂载口令,根据用户当前输入的挂载口令解密加密U盘中的虚拟磁盘加密卷信息头,并对解密后的虚拟磁盘加密卷信息头进行校验,如果校验通过则跳转执行下一步,否则返回执行步骤3)或者禁止挂载虚拟磁盘加密卷并退出;
[0047] 4)挂载虚拟磁盘加密卷,根据解密虚拟磁盘加密卷信息头得到的数据加解密密钥配置主次密钥,调用指定的计算机中带有加解密模块的虚拟磁盘驱动程序根据用户的指令对虚拟磁盘加密卷进行读写,加解密模块使用主次密钥对读写虚拟磁盘加密卷的内容进行自动实时加解密,最终在卸载加密U盘时自动卸载虚拟磁盘加密卷。
[0048] 本实施例在初始化U盘时在U盘的头部写入加密卷标识,写入加密卷标识的加密U盘在非指定的计算机而言是无法读取的,从而能够实现对加密U盘的安全绑定,使其只能适用于指定的计算机中,从而能够简单有效地实现对加密U盘数据的保密;本实施例创建的虚拟磁盘加密卷被挂载后被当作系统中一个普通的文件,虚拟磁盘驱动程序将原来I/O请求包IRP(I/O Request Package)对实际磁盘的操作转化为对文件的操作,这个文件称为卷文件,最终被虚拟成一个虚拟磁盘加密卷,综合运用身份认证和数据加密等安全机制,解决了单独在主机端或设备端采取安全措施存在的安全隐患问题,更好地保护了存储信息的安全,具有存储信息安全可靠、安全策略配置灵活、U盘管理简单方便、数据加解密处理透明高效的优点。
[0049] 步骤1)写入加密卷标识以及创建虚拟磁盘加密卷时,加密卷标识对应的字符串标识存储在加密U盘的前16字节空间内;虚拟磁盘加密卷信息头写入虚拟磁盘加密卷头部的前1008字节空间内。如表1所示:其中第0~511个共512个字节空间存放管理策略信息,管理策略信息包含单位部门、设备编号和标记位,本实施例中管理策略信息还包括用户名、注册时间等以便于对加密U盘的管理和控制,且管理策略信息以字符串列表的形式存储;第512~639个共128个字节空间存放虚拟磁盘文件系统信息;第640~703个共64个字节空间存放用于结合用户输入的挂载口令创建数据加解密密钥的随机数盐值;第704~
831个共128个字节空间存放数据加解密密钥;第832~835个共4个字节空间存放完整性校验值;第836~1007个共172个字节空间为保留区。
[0050] 表1:虚拟磁盘加密卷信息头的字节空间分布表。
[0051]起始位置 大小(字节) 内容
0 512 管理策略信息
512 128 虚拟磁盘文件系统信息
640 64 随机数盐值
704 128 数据加解密密钥(主次密钥)
832 4 加密卷头前832字节内容的
完整性校验值(CRC-32校验
码)
836 172 保留区
[0052] 如图2所示,字符串标识、管理策略信息、虚拟磁盘文件系统信息、随机数盐值、数据加解密密钥、完整性校验值、保留区依次存放在加密U盘(步骤1)的头部(共占用1024个字节空间)。本实施例中,加密卷标识对应的字符串标识为“REMOVALCRYPTDISK”(共16个字节空间),为了实现加密U盘的保密,防止加密U盘被非指定的计算机识别,本实施例在加密U盘的头部写入只有特定系统才能识别的设备信息头,即在U盘的前1024字节(头部)写入的设备信息头包含加密卷标识和虚拟磁盘加密卷头,其中虚拟磁盘加密卷头部的数据使用用户输入的加载口令加密存储,提供了管理策略配置和文件系统参数等信息,经过以上操作后,加密U盘就有了特制的虚拟磁盘加密卷信息头,通过虚拟磁盘加密卷信息头能够保证了加密U盘在别的系统下无法被识别。管理策略信息中的用户名、单位部门、设备编号、注册时间、标记位、加密口令通过字符串列表的形式存储,其中标记位为固定字符串 “VIRTUAL”,用于校验虚拟磁盘加密卷信息头,确定虚拟磁盘加密卷的格式。
[0053] 步骤2)中对普通U盘处理可根据指定计算机上设置的策略进行不同的处理:如果设定为禁止挂载普通U盘,则步骤2)中在插入普通移动存储设备后禁止挂载普通移动存储设备;如果设定为允许挂载普通U盘,则步骤2)中在插入普通移动存储设备后引导用户指定初始化移动存储设备的文件系统类型,并在用户指定文件系统类型后跳转执行步骤1)进行初始化移动存储设备。本实施例中,指定计算机上设置的策略为允许挂载普通U盘,因此在插入普通移动存储设备后引导用户指定初始化移动存储设备的文件系统类型,并在用户指定文件系统类型后跳转执行步骤1)进行初始化移动存储设备;引导用户指定初始化U盘的文件系统类型为Ext2文件系统或者Ext3文件系统,用户可以根据需要将加密U盘的文件系统类型格式化为Ext2文件系统或者Ext3文件系统,由于整个U盘的头部的1024字节已经写入了信息,因此要从头部偏移1024字节的地方开始创建文件系统,执行格式化操作。
[0054] 本实施例中,虚拟磁盘驱动程序的加解密模块中内置的加解密算法包括AES、Serpent、Twofish三种基本算法及其组合算法,本实施例将著名的加密算法集成到虚拟磁盘驱动程序的加解密模块中,方便算法的更新,虚拟磁盘驱动程序的加解密模块中内置包含AES、Serpent、Twofish三种基本算法及其组合算法在内的多种加解密算法,方便了用户对于加密算法的灵活性选择,暴力破解难度高,安全性高。
[0055] 本实施例中,指定的计算机中对虚拟磁盘加密卷头部的解密和校验、加密U盘的可用性检测、在指定计算机上设置不同单位间的外部U盘挂载允许情况等操作,都是基于位于操作系统的内核层实现的,能够提高操作的流畅度,减少操作发生卡顿的现象。本实施例通过把加解密模块封装在虚拟磁盘驱动程序中,实现了文件的透明加解密和加密U盘携带数据的安全性,通过内核级别的加解密,用户操作虚拟磁盘加密卷时更加高效快速,不容易产生能够提高用户才操作虚拟磁盘加密卷时的使用体验。区别于现有技术基于应用层的加密,本实施例把U盘形成了一个虚拟磁盘,文件系统类型为Linux操作系统支持的Ext2或Ext3,使用OTFE(On-The-Fly Encryption)技术,让U盘卸载挂载时自动完成对数据的加解密操作而不需要用户的干预,文件和数据从普通磁盘复制到加密U盘中时将被自动加密,反之将被自动解密,所有的加解密操作都在内存中进行后台处理,加解密为基于内核层实现的完全透明的加解密,内核层的加密与操作系统的文件系统结合紧密,加解密效率更高,控制更加灵活,运行更加稳定。
[0056] 如前文所示,虚拟磁盘加密卷信息头还包含完整性校验值,管理策略信息中包括用于标识区别虚拟磁盘加密卷的标识位;本实施例在步骤3)利用完整性校验值和标识位对解密后的虚拟磁盘加密卷信息头进行校验时,利用完整性校验值和标识位进行校验,因此能够识别出挂载口令错误,用户体验更好;而且还能对虚拟磁盘加密卷信息头进行完整性校验,能够检测出读取虚拟磁盘加密卷信息头的异常错误。参见图1,本实施例中步骤3)对解密后的虚拟磁盘加密卷信息头进行校验的详细步骤如下:
[0057] 3.1)校验标识位:检测解密虚拟磁盘加密卷信息头后的标识位是否为指定的字符串,如果标识位为指定的字符串,则判定用户输入的挂载口令正确并跳转执行步骤3.2);否则判定用户输入的挂载口令错误,记录口令错误的次数,当口令错误的次数小于预设值(本实施例中预设值为3)时返回执行步骤3),当口令错误的次数大于或等于预设值时禁止挂载虚拟磁盘加密卷并退出;
[0058] 3.2)完整性校验:根据解密虚拟磁盘加密卷信息头得到的管理策略信息、虚拟磁盘文件系统信息、数据加解密密钥计算完整性校验值,将计算得到的完整性校验值和解密虚拟磁盘加密卷信息头得到的完整性校验值进行对比,如果两者相同则判定完整性校验通过并跳转执行步骤4);否则判定完整性校验不通过,禁止挂载虚拟磁盘加密卷并退出。
[0059] 本实施例当用户在指定的计算机上挂载U盘时,需要用户输入挂载口令,读取U盘的加密卷标识和虚拟磁盘加密卷信息头,只有加密卷标识正确的情况下才会解密虚拟磁盘加密卷信息头,只有挂载口令正确,加密U盘才能被正确识别并挂载成功;加密U盘挂载成功才会进一步对标记位进行校验是否为“VIRTUAL”,如果校验通过,则进一步将解密得到的管理策略信息、虚拟磁盘文件信息和数据加解密密钥进行完整性校验,在进行完整性校验通过后再结合当前计算机中读取管理策略信息中的单位部门对U盘的控制权限和当前计算机的机器单位部门对加密U盘的控制权限、加密U盘是否已经在计算机中被标记为锁定判断用户是否具有访问权限,通过上述多重校验以及判断步骤,能够确保U盘的数据不被非法访问,并且也不能被伪造。本实施例判定虚拟磁盘加密卷异常时,则系统会提示用户重新输入挂载口令,三次不正确则U盘会被锁定无法挂载,需要管理员在U盘管理端解锁后才能继续使用。
[0060] 如前文所示,管理策略信息还包含加密U盘的设备编号和单位部门;步骤4)中挂载虚拟磁盘加密卷时利用加密U盘的设备编号和单位部门以及指定的计算机中设置的控制策略实现U盘的可用性控制,从而能够实现基于单位部门的U盘权限控制,安全性更好。参见图1,本实施例中步骤4)中挂载虚拟磁盘加密卷时还包括检查U盘可用性的步骤,检查U盘可用性的步骤如下:
[0061] 4.1)检查单位部门:获取指定的计算机对应的单位部门,获取解密虚拟磁盘加密卷信息头得到的移动存储设备的单位部门,比较指定的计算机对应的单位部门和移动存储设备的单位部门是否相同,如果不相同则判定移动存储设备为外来单位部门的移动存储设备,跳转执行步骤4.2);否则判定移动存储设备为指定的计算机本单位部门的移动存储设备,跳转执行步骤4.3);
[0062] 4.2)检查U盘访问控制权限:根据指定的计算机对应的单位部门、移动存储设备的设备编号和单位部门从指定的计算机中读取移动存储设备访问控制权限,移动存储设备访问控制权限包含指定的计算机对应的单位部门是否允许移动存储设备访问、移动存储设备的单位部门是否允许移动存储设备访问指定的计算机;如果移动存储设备访问控制权限均为允许访问,则跳转执行步骤4.3);否则禁止挂载虚拟磁盘加密卷;
[0063] 4.3)检查U盘是否被锁定:获取解密虚拟磁盘加密卷信息头得到的移动存储设备的设备编号,从指定的计算机中读取移动存储设备对应的设备编号是否被锁定的控制规则,如果移动存储设备对应的设备编号被锁定,则禁止挂载虚拟磁盘加密卷,否则挂载虚拟磁盘加密卷。
[0064] 本实施例中,步骤4)还包括审计加密U盘操作的步骤,审计加密U盘操作的步骤具体是指:将指定的计算机中加密U盘的挂载、卸载和对加密U盘中虚拟磁盘加密卷中文件、文件夹的读写执行操作都记录在本地日志中,日志以密文形式记录,日志的内容包括时间、操作时间、用户名、日志级别、日志路径,且指定的计算机在接入所辖网络时将日志同步传送到所辖网络的日志服务器上。本实施例中,本地日志采用本地日志文件的形式进行存储,此外也可以采用数据库的形式进行存储;本实施例增加的审计记录的步骤能够大大加强了事后追踪泄密的能力。
[0065] 如图3所示,本实施例中指定的计算机包含界面管理模块、创建加密U盘模块、挂载加密U盘模块、虚拟磁盘驱动程序,界面管理模块负责管理U盘,并向创建加密U盘模块、挂载加密U盘模块传递用户选择的各种参数,如加密算法、摘要算法、文件系统类型等,当插入普通U盘时界面管理模块检测U盘的加密卷标识,如果加密卷标识不匹配则界面管理模块提示用户选择参数并传递给创建加密U盘模块,创建加密U盘模块在插入普通U盘时根据界面管理模块传递的参数(加密算法、文件系统类型)通过虚拟磁盘驱动程序实现U盘的初始化,创建加密U盘;如果加密卷标识匹配,则界面管理模块调用挂载加密U盘模块挂载加密U盘,进行验证以及可用性检测后通过虚拟磁盘驱动程序对加密U盘中的虚拟磁盘加密卷进行访问,挂载加密U盘模块在卸载加密U盘时通过卸载虚拟磁盘加密卷。
[0066] 如图4所示,本实施例指定的计算机的各个模块处理插入U盘的流程如下:
[0067] A1)插入U盘后,界面管理模块读取加密标识符,判断插入的U盘是普通U盘或者加密U盘,如果是是普通U盘则跳转执行步骤A2),否则跳转执行步骤A3);
[0068] A2)界面管理模块输出参数选择,界面管理模块输出选择界面,供用户选择是否创建加密U盘,如果选择创建加密U盘则调用创建加密U盘模块创建加密U盘,首先创建U盘头部(加密标识符、虚拟磁盘加密卷信息头),然后创建虚拟磁盘加密卷的文件系统;如果用户选择挂载;如果未选择创建加密U盘,则直接挂载普通U盘;
[0069] A3)挂载加密U盘模块对加密U盘进行认证,认证包含对虚拟磁盘加密卷信息头进行校验(校验标记位、校验完整性校验值、检查加密U盘可用性),如果校验通过则挂载虚拟磁盘加密卷,根据解密虚拟磁盘加密卷信息头得到的数据加解密密钥配置主次密钥,调用指定的计算机中带有加解密模块的虚拟磁盘驱动程序根据用户的指令对虚拟磁盘加密卷进行读写,加解密模块使用主次密钥对读写虚拟磁盘加密卷的内容进行自动实时加解密,最终在卸载加密U盘时自动卸载虚拟磁盘加密卷。
[0070] 除了上述U盘作为移动存储设备的实施例以外,移动存储设备还可以根据需要采用移动硬盘、SD卡、CF卡等移动存储设备,本实施例的技术方案同样也能够实现基于虚拟磁盘的数据加密移动存储管理方法并达到相同的技术效果,在此不再赘述。
[0071] 以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。