一种基于U盘加密的数据存取方法和系统.pdf

上传人:00062****4422 文档编号:1633458 上传时间:2018-06-30 格式:PDF 页数:14 大小:862.39KB
返回 下载 相关 举报
摘要
申请专利号:

CN201510157987.2

申请日:

2015.04.29

公开号:

CN104751080A

公开日:

2015.07.01

当前法律状态:

实审

有效性:

审中

法律详情:

著录事项变更 IPC(主分类):G06F 21/74变更事项:申请人变更前:山东华软金盾软件有限公司变更后:山东华软金盾软件股份有限公司变更事项:地址变更前:250000 山东省济南市高新区舜华路1号齐鲁软件园5号楼(创业广场E座)四层A408、A410、A412房间变更后:250000 山东省济南市高新区舜华路1号齐鲁软件园5号楼(创业广场E座)四层A408、A410、A412房间|||实质审查的生效IPC(主分类):G06F 21/74申请日:20150429|||公开

IPC分类号:

G06F21/74(2013.01)I; G06F21/79(2013.01)I

主分类号:

G06F21/74

申请人:

山东华软金盾软件有限公司

发明人:

吴永

地址:

250000山东省济南市高新区舜华路1号齐鲁软件园5号楼(创业广场E座)四层A408、A410、A412房间

优先权:

专利代理机构:

北京德和衡律师事务所11405

代理人:

姜寿辉; 王晓

PDF下载: PDF下载
内容摘要

本发明公开了一种基于U盘加密的数据存取方法和系统,包括:步骤1)U盘初始化步骤,在普通的U盘上生成一个虚拟卷映射文件VVMF,并输入一密码对该虚拟卷映射文件进行加密;步骤2)数据读写步骤,接收用户输入的密码,并对比该密码和所述虚拟卷映射文件的加密密码是否相同;其中,若该密码正确,则调用一组预先存储于U盘上的系统驱动文件生成卷设备,加载所述卷设备的盘符于系统盘符目录中,并进一步根据用户的操作进行相应的数据读写。

权利要求书

权利要求书
1.  一种基于U盘加密的数据存取方法,其特征在于,包括:
步骤1)U盘初始化步骤,在普通的U盘上生成一个虚拟卷映射文件VVMF,并输入一密码对该虚拟卷映射文件进行加密;
步骤2)数据读写步骤,接收用户输入的密码,并对比该密码和所述虚拟卷映射文件的加密密码是否相同;
其中,若该密码正确,则调用一组预先存储于U盘上的系统驱动文件生成卷设备,加载所述卷设备的盘符于系统盘符目录中,并进一步根据用户的操作进行相应的数据读写。

2.  根据权利要求1所述的基于U盘加密的数据存取方法,其特征在于,步骤1)中,对该虚拟卷映射文件进行加密时,具体包括:
根据输入的密码随机混淆生成一256字节的数据密钥,并将该数据密钥写入到所述虚拟卷映射文件的卷头中。

3.  根据权利要求1或2所述的基于U盘加密的数据存取方法,其特征在于,步骤2)中,若该密码正确,则进一步校验虚拟卷映射文件的卷头的正确性,其中,若校验不正确,则从虚拟卷映射文件中读取备份卷头,若仍不正确,则不调用U盘上的系统驱动文件生成卷设备。

4.  根据权利要求2所述的基于U盘加密的数据存取方法,其特征在于,将虚拟卷映射文件的文件句柄和所述数据密钥保存于内存中,步骤2)中,根据用户的操作进行相应的数据读写,具体包括:获取用户的数据读取操作指令,并将其转换成对所述卷设备的扇区读取操作;
根据所述扇区获取到所述虚拟卷映射文件的文件偏移量,并根据所述虚拟卷映射文件的文件句柄,读取到相应的文件偏移区域的数据文件,根据内存中记录的数据密钥对以上扇区的文件进行解密,并返给用户。

5.  根据权利要求2所述的基于U盘加密的数据存取方法,其特征在于,将虚拟卷映射文件的文件句柄和所述数据密钥保存于内存中,步骤2)中,根据用户的操作进行相应的数据读写,包括:获取用户的数据写入操作指令,并将其转换成对所述卷设备的扇区写入操作;
根据所述扇区转换成所述虚拟卷映射文件的文件偏移量,并根据所述虚 拟卷映射文件的文件句柄,根据内存中记录的数据密钥对数据进行加密,并向对应的文件偏移区域写入加密后的数据。

6.  一种基于U盘加密的数据存取系统,其特征在于,包括:
初始化模块,用于在普通的U盘上生成一个虚拟卷映射文件VVMF;密码生成模块,用于根据用户输入一密码对该虚拟卷映射文件进行加密;
程序交互模块,用于接收用户输入的密码;
密码认证模块,用于根据所述用户输入的密码,对比该密码和所述虚拟卷映射文件的加密密码是否相同;
虚拟驱动模块,用于若该密码正确时,调用一组预先存储于U盘上的系统驱动文件生成卷设备;
设备加载模块,用于加载所述卷设备的盘符于系统盘符目录中;读写过滤模块,用于根据用户的操作进行相应的数据读写。

7.  根据权利要求1所述的基于U盘加密的数据存取系统,其特征在于,所述密码生成模块,对该虚拟卷映射文件进行加密时,具体包括:
根据输入的密码随机混淆生成一256字节的数据密钥,并将该数据密钥写入到所述虚拟卷映射文件的卷头中。

8.  根据权利要求1或2所述的基于U盘加密的数据存取系统,其特征在于,还包括完整性检测模块,用于当密码认证模块认证密码正确,则进一步校验虚拟卷映射文件的卷头的正确性,其中,若校验不正确,则从虚拟卷映射文件中读取备份卷头,若仍不正确,则不调用U盘上的系统驱动文件生成卷设备。

9.  根据权利要求2所述的基于U盘加密的数据存取系统,其特征在于,将虚拟卷映射文件的文件句柄和所述数据密钥保存于内存中,所述读写过滤模块,根据用户的操作进行相应的数据读写,具体包括:获取用户的数据读取操作指令,并将其转换成对所述卷设备的扇区读取操作;
根据所述扇区获取到所述虚拟卷映射文件的文件偏移量,并根据所述虚拟卷映射文件的文件句柄,读取到相应的文件偏移区域的数据文件,根据内存中记录的数据密钥对以上扇区的文件进行解密,并返给用户。

10.  根据权利要求2所述的基于U盘加密的数据存取系统,其特征在于, 将虚拟卷映射文件的文件句柄和所述数据密钥保存于内存中,所述读写过滤模块,根据用户的操作进行相应的数据读写,包括:获取用户的数据写入操作指令,并将其转换成对所述卷设备的扇区写入操作;
根据所述扇区转换成所述虚拟卷映射文件的文件偏移量,并根据所述虚拟卷映射文件的文件句柄,根据内存中记录的数据密钥对数据进行加密,并向对应的文件偏移区域写入加密后的数据。

说明书

说明书一种基于U盘加密的数据存取方法和系统
技术领域
本发明属于计算机领域,涉及一种基于U盘加密的数据存取方法和系统。
背景技术
U盘做为便捷的电子文档存储工具,在需要经常换用PC的场景下,已经成为必不可或缺的存储交换工具。但“便携”有利也有弊,其中最大的弊端是容易丢失,由于U盘丢失造成的重要文档外泄和个人隐私泄露的例子不胜枚举,这产生了保护U盘数据的需求。
在现有的解决方案中,“保密U盘”是一种常用的U盘数据保护手段。保密U盘的工作方式是将U盘文件系统整个转换成一种私有的文件系统,在安装了特定软件的系统上,将这种文件系统转换成普通的文件系统(NTFS,FAT32等),进而进行文件读写。工作流程如下:
保密U盘在很大程度上杜绝了信息泄密,因为U盘只能在一个授信的环境中使用,在没有安装文件格式转换驱动的终端上根本无法打开。但这带来了新的问题:
1.使用不便,如果确实有需要拿到外部使用,需要在外部安装授信的环境。
2.一旦使用,U盘整个都加密了,而有一些文件确实不需要加密。
发明内容
本发明所要解决的技术问题是提供一种基于U盘加密的数据存取方法,兼顾普通U盘和加密U盘的便利,且不再对所有文件进行加密,U盘原有分区存在,只有在有必要的情况下生成保密的分区(UIP),用户可有选择地将文件存放在原有分区或保密分区,不会影响原有分区的使用。
本发明解决上述技术问题所采取的技术方案如下:
一种基于U盘加密的数据存取方法,包括:
步骤1)U盘初始化步骤,在普通的U盘上生成一个虚拟卷映射文件 VVMF,并输入一密码对该虚拟卷映射文件进行加密;
步骤2)数据读写步骤,接收用户输入的密码,并对比该密码和所述虚拟卷映射文件的加密密码是否相同;
其中,若该密码正确,则调用一组预先存储于U盘上的系统驱动文件生成卷设备,加载所述卷设备的盘符于系统盘符目录中,并进一步根据用户的操作进行相应的数据读写。
进一步地,步骤1)中,对该虚拟卷映射文件进行加密时,具体包括:
根据输入的密码随机混淆生成一256字节的数据密钥,并将该数据密钥写入到所述虚拟卷映射文件的卷头中。
进一步地,步骤2)中,若该密码正确,则进一步校验虚拟卷映射文件的卷头的正确性,其中,若校验不正确,则从虚拟卷映射文件中读取备份卷头,若仍不正确,则不调用U盘上的系统驱动文件生成硬盘盘符。
进一步地,将虚拟卷映射文件的文件句柄和所述数据密钥保存于内存中,步骤2)中,根据用户的操作进行相应的数据读写,具体包括:获取用户的数据读取操作指令,并将其转换成对所述卷设备的扇区读取操作;
根据所述扇区获取到所述虚拟卷映射文件的文件偏移量,并根据所述虚拟卷映射文件的文件句柄,读取到相应的文件偏移区域的数据文件,根据内存中记录的数据密钥对以上扇区的文件进行解密,并返给用户。
进一步地,将虚拟卷映射文件的文件句柄和所述数据密钥保存于内存中,步骤2)中,根据用户的操作进行相应的数据读写,包括:获取用户的数据写入操作指令,并将其转换成对所述卷设备的扇区写入操作;
根据所述扇区转换成所述虚拟卷映射文件的文件偏移量,并根据所述虚拟卷映射文件的文件句柄,根据内存中记录的数据密钥对数据进行加密,并向对应的文件偏移区域写入加密后的数据。
一种基于U盘加密的数据存取系统,包括:
初始化模块,用于在普通的U盘上生成一个虚拟卷映射文件VVMF;密码生成模块,用于根据用户输入一密码对该虚拟卷映射文件进行加密;
程序交互模块,用于接收用户输入的密码;
密码认证模块,用于根据所述用户输入的密码,对比该密码和所述虚拟卷 映射文件的加密密码是否相同;
虚拟驱动模块,用于若该密码正确时,调用一组预先存储于U盘上的系统驱动文件生成卷设备;
设备加载模块,用于加载所述卷设备的盘符于系统盘符目录中;读写过滤模块,用于根据用户的操作进行相应的数据读写。
进一步地,优选的是,所述密码生成模块,对该虚拟卷映射文件进行加密时,具体包括:
根据输入的密码随机混淆生成一256字节的数据密钥,并将该数据密钥写入到所述虚拟卷映射文件的卷头中。
进一步地,优选的是,还包括完整性检测模块,用于当密码认证模块认证密码正确,则进一步校验虚拟卷映射文件的卷头的正确性,其中,若校验不正确,则从虚拟卷映射文件中读取备份卷头,若仍不正确,则不调用U盘上的系统驱动文件生成硬盘盘符。
进一步地,优选的是,将虚拟卷映射文件的文件句柄和所述数据密钥保存于内存中,所述读写过滤模块,根据用户的操作进行相应的数据读写,具体包括:获取用户的数据读取操作指令,并将其转换成对所述卷设备的扇区读取操作;
根据所述扇区获取到所述虚拟卷映射文件的文件偏移量,并根据所述虚拟卷映射文件的文件句柄,读取到相应的文件偏移区域的数据文件,根据内存中记录的数据密钥对以上扇区的文件进行解密,并返给用户。
进一步地,优选的是,将虚拟卷映射文件的文件句柄和所述数据密钥保存于内存中,所述读写过滤模块,根据用户的操作进行相应的数据读写,包括:获取用户的数据写入操作指令,并将其转换成对所述卷设备的扇区写入操作;
根据所述扇区转换成所述虚拟卷映射文件的文件偏移量,并根据所述虚拟卷映射文件的文件句柄,根据内存中记录的数据密钥对数据进行加密,并向对应的文件偏移区域写入加密后的数据。
本发明采取了上述方案以后,不再需要在终端上安装复杂的使用环境,仅使用存在U盘上独立的程序和相应的驱动即可;不再对所有文件进行加密,U盘原有分区存在,只有在有必要的情况下生成保密的分区(UIP),用户可有 选择地将文件存放在原有分区或保密分区,不会影响原有分区的使用。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
下面结合附图对本发明进行详细的描述,以使得本发明的上述优点更加明确。其中,
图1是现有技术的U盘加密方法的工作示意图;
图2是本发明基于U盘加密的数据存取方法的工作示意图;
图3是本发明基于U盘加密的数据存取系统的结构示意图。
具体实施方式
以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
其中,本发明说明书各英文的缩写:
VVMF:Virtual Volume Mapping File,虚拟卷映射文件,用来将一个强加密的文件映射成一个虚拟的磁盘分区。
UIP:USB Internal Partition,USB内部分区,VVMF映射成的一个分区,在主机上以独立盘符形式出现。虽然它是独立的分区,但由于实际存储还在USB存储上,所以叫内部分区。
实施例一:
具体来说,本方案关键点在于创建了VVMF,并在需要使用UIP的时候将VVMF映射到UIP,工作示意图如图2所示,其中,该方法包括:
一种基于U盘加密的数据存取方法,包括:
步骤1)U盘初始化步骤,在普通的U盘上生成一个虚拟卷映射文件VVMF,并输入一密码对该虚拟卷映射文件进行加密;
步骤2)数据读写步骤,接收用户输入的密码,并对比该密码和所述虚拟卷映射文件的加密密码是否相同;
其中,若该密码正确,则调用一组预先存储于U盘上的系统驱动文件生成卷设备,加载所述卷设备的盘符于系统盘符目录中,并进一步根据用户的操作进行相应的数据读写。
进一步地,步骤1)中,对该虚拟卷映射文件进行加密时,具体包括:
根据输入的密码随机混淆生成一256字节的数据密钥,并将该数据密钥写入到所述虚拟卷映射文件的卷头中。
进一步地,步骤2)中,若该密码正确,则进一步校验虚拟卷映射文件的卷头的正确性,其中,若校验不正确,则从虚拟卷映射文件中读取备份卷头,若仍不正确,则不调用U盘上的系统驱动文件生成硬盘盘符。
不再对所有文件进行加密,U盘原有分区存在,只有在有必要的情况下生成保密的分区(UIP),用户可有选择地将文件存放在原有分区或保密分区,不会影响原有分区的使用。
进一步地,将虚拟卷映射文件的文件句柄和所述数据密钥保存于内存中,步骤2)中,根据用户的操作进行相应的数据读写,具体包括:获取用户的数据读取操作指令,并将其转换成对所述卷设备的扇区读取操作;
根据所述扇区获取到所述虚拟卷映射文件的文件偏移量,并根据所述虚拟卷映射文件的文件句柄,读取到相应的文件偏移区域的数据文件,根据内存中记录的数据密钥对以上扇区的文件进行解密,并返给用户。
进一步地,将虚拟卷映射文件的文件句柄和所述数据密钥保存于内存中,步骤2)中,根据用户的操作进行相应的数据读写,包括:获取用户的数据写入操作指令,并将其转换成对所述卷设备的扇区写入操作;
根据所述扇区转换成所述虚拟卷映射文件的文件偏移量,并根据所述虚 拟卷映射文件的文件句柄,根据内存中记录的数据密钥对数据进行加密,并向对应的文件偏移区域写入加密后的数据。
实施例二:
结合实施例对以上方法进行详细说明,其中,在步骤1)中,首先需要在普通的U盘上生成一个VVMF,VVMF本质上和一个普通文件没有什么不同,只是在此文件中模拟一个NTFS文件系统;
并且,程序会保存一个运行副本在原始的U盘中,运行副本包含一个程序(exe文件)和一组卷过滤驱动(32位64位两个sys文件);
步骤2)当需要保存涉密文档时运行存放在原始分区中的程序,输入密码后将生成UIP,用户再将文档存放进UIP中。
如步骤1)所述,UIP是一个虚拟卷,并不会影响原始卷,所以此时U盘本来占用的盘符和UIP盘符同时存在,用户可选择将非涉密文件存入原盘符或将涉密文件存入UIP。当不需要存取涉密文件时,此步骤不必进行,则用户相当于直接使用普通U盘,和平时感觉不到任何差异。
实施例三:
结合具体的程序设计对以上步骤进行详细说明,其中,步骤1)中,U盘初始化步骤,在普通的U盘上生成一个虚拟卷映射文件VVMF时,可以将VVMF的生成本质上是创建一个可以用来映射成UIP的文件,此文件表现形式是一个普通的文件,具体来说,创建过程如下:
1.根据程序输入计算各相关数据,创建的整个VVMF文件中,前128k为头,后128K为头备份,这两部分预留为程序使用,所以数据区为用户输入减去256k。
例如,按程序输入为10M计算,根据相应计算,则数据区总大小为10*1024*1024-256*1024=10223616(bytes),以512字节一个扇区计算,扇区总数为10223616/512=19968。
其中,规定数据偏移为128k,则计算出数据开始扇区为数据偏移除以扇区大小128*1024/512=256
2.在内存中生成卷头,整个卷头512字节,前256字节是描述数据,后256字节是数据密钥,生成过程如下:
1)根据输入的密码进行随机混肴生成256字节的数据密钥,数据密钥非常重要,整个数据区真实数据的加密全部使用此密钥;
2)magic填充成0x54525545,此数字用来标识,将来生成UIP时会首先检查此标记,填充卷头版本号为5(目前的版本号);
3)计算数据密钥crc32;
4)在卷头中记录卷大小(10223616)、加密区起始地址(128k)、加密区大小(对于VVMF来说就是卷大小10223616)、扇区大小(512);
5)计算卷头前252(256字节减去crc校验和本身的大小)的crc32;
6)将步骤1生成的数据密钥附加到卷头的后256字节上
7)将整个卷头在内存中加密,加密时使用的密钥是用户直接输入的密码;
其中,可以看到,用户设定的密码如果丢失,将连卷头都无法解密,而所有数据的加密是使用用户输入的密码生成的数据密钥,所以可近似地认为整个VVMF都是使用用户设定的密码加密的。
在一个实施例中,卷头的数据结构使用C语言结构体来描述为:


3.在实施例中,主要是基于微软的windows系统,则根据以上设计,在创建VVMF文件时,系统调用CreateFile创建VVMF文件,将VVMF文件大小调整到数据区大小加128k,为10354688;
4.将步骤2生成的加密的卷头512bytes写入VVMF文件;
5.填充前128k的剩余部分(128*1024-512=130560)为0;
6.将文件指针移到数据区的起始地址,使用前面计算得到的扇区总数,逐扇区写入0;
7.备份卷头,将文件指针移到128K+数据区大小处,本例中为10354688,然后写入第2步生成的头,不足128K部分填充0。至此,整个VVMF文件的大小和用户输入的大小完全一致,然后关闭VVMF文件的句柄。
8.将VVMF映射成UIP(,其中,具体详情见UIP的生成及VVMF到UIP的读写映射的说明),此时占用一个临时盘符,会使用最后未被占用的盘符,往往是Z:,此时的Z盘是一个未经格式化的磁盘;
9.直接对Z盘进行格式化,调用fmifs.dll的导出函数FormatEx将UIP格式化成NTFS格式。此时对Z盘的格式化引起的扇区数据改变会由卷过滤驱动回写进VVMF文件(详情见UIP的生成及VVMF到UIP的读写映射)。
10.解挂载UIP,此时的VVMF创建成功,以后可以用来直接映射成UIP了。
其中,UIP的生成及VVMF到UIP的读写映射具体包括:
1.UIP的生成由用户主动发起,所以第一步是记录用户输入的密码。
2.在内核中打开VVMF文件,读取前512字节,即生成VVMF时写入的加密卷头。
3.使用用户输入的密码对卷头进行解密,如果解密失败,说明用户输入的密码和生成VVMF时输入的密码不一致,则无法生成UIP。
4.校验卷头的正确性,按包括校验magic、数据密钥CRC,卷头CRC,如果校验失败,说明卷头被破坏,此时尝试从最后128K中的备份卷头
恢复卷头,如果备份卷头仍校验失败,说明卷尾也被破坏,无法生成UIP。
5.从卷头中读出卷的基础属性,如扇区大小,加密区起始地址等,并读出密钥数据。
6.保留已打开的VVMF文件句柄和密钥数据,待下面对UIP进行读写操作时用。
7.内核为UIP生成可用盘符,调用IoCreateDevice创建卷设备,调用IoCreateSymbolicLink生成符号链接。再按WINDOWS的约定为此卷设备生成盘符,如盘符为T时,生成的符号链接名为\DosDevices\T:。此符号链接对于上层来说就是UIP了,对UIP的读写将最终产生对卷设备的读写。
8.卷设备生成后,卷过滤驱动介入工作,为卷设备生成过滤设备,并调用IoAttachDeviceToDeviceStack将过滤设备绑定到卷设备上,如此以来对卷设备的读写将被过滤设备拦截,即对UIP的读写都要经过过滤设备了。将卷过滤设备、上面打开的VVMF文件句柄、密钥数据关联起来,记录到一个全局结构中,接下来产生的任何读写动作都将会被加解密并回写到VVMF上。
实施例四:
分别以读写请求举例,以使得本发明的步骤更加明确,具体来说:
1)如当上层的文件读取经由文件系统转换为对卷设备第100个扇区进行读操作时:卷过滤设备截获到读请求,将扇区转换成VVMF的文件偏移,(100-1)*512+128k(VVMF中卷头预留大小)=181760,则程序会通过关联的VVMF文件句柄,从VVMF文件偏移为181760的地方读取一个扇区的大小 (512字节),使用内存中记录的数据密钥对512字节的缓冲区进行解密,然后返回给读操作的发起者。
2)当上层文件写入经由文件系统转换为对卷设备第200个扇区进行写操作时:卷过滤设备截获取写请求,将扇区转换成VVMF的文件偏移,(200-1)*512+128k(VVMF中卷头预留大小)=232960,则程序会将上层传入的要写入这个扇区的数据先进行加密,再通过关联的VVMF文件句柄,向VVMF文件偏移为232960的地方写入一个扇区。
即读文件时:从VVMF读加密数据->解密->返回给上层。
写文件时:上层写入->加密->写入VVMF文件。
如此在上层完全透明的情况下直接向VVMF中存储加密的数据。
其中,下面以一个实际应用场景为例说下该专利能达到的效果:
某员工在外地出差,公司发了两份文档,新产品操作说明和报价文档,其中报价文档是需要高度保密的;该员工由于网络受限,只能去网吧下载这两份文档。员工来到网吧,只需要插入U盘,将新产品操作说明放入U盘,再运行U盘上的程序,打开UIP后,将报价文档放入UIP即可。
本发明具有以下的优点:
1.不影响正常的使用,如用户想保存不涉密的音乐、视频等文件,完全感受不到U盘和普通U盘有何不同。
2.UIP运行环境简单,不需要在机器上安装管理终端,仅需要在U盘上保留一份用来生成UIP的程序即可。
实施例五:
与上面方法实施例相对应,本发明还公开了一种基于U盘加密的数据存取系统,如图3所示,具体来说,其包括:
初始化模块,用于在普通的U盘上生成一个虚拟卷映射文件VVMF;密码生成模块,用于根据用户输入一密码对该虚拟卷映射文件进行加密;
程序交互模块,用于接收用户输入的密码;
密码认证模块,用于根据所述用户输入的密码,对比该密码和所述虚拟卷映射文件的加密密码是否相同;
虚拟驱动模块,用于若该密码正确时,调用一组预先存储于U盘上的系统驱动文件生成卷设备;
设备加载模块,用于加载所述卷设备的盘符于系统盘符目录中;读写过滤模块,用于根据用户的操作进行相应的数据读写。
进一步地,优选的是,所述密码生成模块,对该虚拟卷映射文件进行加密时,具体包括:
根据输入的密码随机混淆生成一256字节的数据密钥,并将该数据密钥写入到所述虚拟卷映射文件的卷头中。
进一步地,优选的是,还包括完整性检测模块,用于当密码认证模块认证密码正确,则进一步校验虚拟卷映射文件的卷头的正确性,其中,若校验不正确,则从虚拟卷映射文件中读取备份卷头,若仍不正确,则不调用U盘上的系统驱动文件生成硬盘盘符。
进一步地,优选的是,将虚拟卷映射文件的文件句柄和所述数据密钥保存于内存中,所述读写过滤模块,根据用户的操作进行相应的数据读写,具体包括:获取用户的数据读取操作指令,并将其转换成对所述卷设备的扇区读取操作;
根据所述扇区获取到所述虚拟卷映射文件的文件偏移量,并根据所述虚拟卷映射文件的文件句柄,读取到相应的文件偏移区域的数据文件,根据内存中记录的数据密钥对以上扇区的文件进行解密,并返给用户。
进一步地,优选的是,将虚拟卷映射文件的文件句柄和所述数据密钥保存于内存中,所述读写过滤模块,根据用户的操作进行相应的数据读写,包括:获取用户的数据写入操作指令,并将其转换成对所述卷设备的扇区写入操作;
根据所述扇区转换成所述虚拟卷映射文件的文件偏移量,并根据所述虚拟卷映射文件的文件句柄,根据内存中记录的数据密钥对数据进行加密,并向对应的文件偏移区域写入加密后的数据。
本专利在确保了文档安全的前提下解决了这两个问题,不再需要在终端上安装复杂的使用环境,仅使用存在U盘上独立的程序即可;不再对所有文件进行加密,U盘原有分区存在,只有在有必要的情况下生成保密的分区(UIP),用户可有选择地将文件存放在原有分区或保密分区,不会影响原有分区的使 用。
需要说明的是,对于上述方法实施例而言,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。
而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

一种基于U盘加密的数据存取方法和系统.pdf_第1页
第1页 / 共14页
一种基于U盘加密的数据存取方法和系统.pdf_第2页
第2页 / 共14页
一种基于U盘加密的数据存取方法和系统.pdf_第3页
第3页 / 共14页
点击查看更多>>
资源描述

《一种基于U盘加密的数据存取方法和系统.pdf》由会员分享,可在线阅读,更多相关《一种基于U盘加密的数据存取方法和系统.pdf(14页珍藏版)》请在专利查询网上搜索。

本发明公开了一种基于U盘加密的数据存取方法和系统,包括:步骤1)U盘初始化步骤,在普通的U盘上生成一个虚拟卷映射文件VVMF,并输入一密码对该虚拟卷映射文件进行加密;步骤2)数据读写步骤,接收用户输入的密码,并对比该密码和所述虚拟卷映射文件的加密密码是否相同;其中,若该密码正确,则调用一组预先存储于U盘上的系统驱动文件生成卷设备,加载所述卷设备的盘符于系统盘符目录中,并进一步根据用户的操作进行相应。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 >


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1