一种控制U盘使用范围的方法与流程

文档序号:12720754阅读:1978来源:国知局
一种控制U盘使用范围的方法与流程

本发明涉及一种控制U盘使用范围的方法,属于信息安全技术领域。



背景技术:

U盘作为一种便携的存储设备广泛的在各种场合下使用,在带来方便的同时也存在泄密的严重隐患。比如公司里的技术图纸、核心代码、商业机密都能通过U盘拷贝出去造成泄密。

在现有的解决方案中,保密U盘是一种常用的保护U盘数据的手段。保密U盘的工作原理是通过强加密的方式将整个U盘分区进行加密处理,形成私有的磁盘格式。使用的时候通过VVOL技术将加密后的U盘分区解密并挂载成虚拟卷,这样用户就能和使用普通的U盘一样使用保密U盘了。而如果U盘带出公司,由于无法通过VVOL进行解密和挂载,U盘中的数据无法使用。

现有的保密U盘能从很大程度上杜绝涉密文件通过U盘泄密,但是控制颗粒度太粗,不太易于使用,当有如下需求时,现有保密U盘无法满足:1、公司里有多个部门,不同的部门分配不同的U盘,不同的部门之间只能使用各自的U盘,或者控制U盘在跨部门的情况下只读。2、动态的对U盘的使用范围进行调整,比如A优盘开始是属于研发部门的,通过管理员调整为B部门的。



技术实现要素:

本发明要解决的技术问题是提供一种控制U盘使用范围的方法,对U盘的使用范围进行细粒度的控制,并且支持灵活定制,随时调整。

为了解决所述技术问题,本发明采用的技术方案是:一种控制U盘使用范围的方法,包括以下步骤:S01)、根据U盘的ID串计算U盘的唯一标识码,用于唯一标识U盘,同一个U盘在不同的终端获取到的标识码始终相同,不同的U盘标识码不同;S02)、根据U盘的唯一标识码生成该U盘的密钥,使用密钥制作保密U盘,将U盘的唯一标识、描述和对应的密钥入库;S03)、对不同的终端或者部门配置密钥策略;S04)、终端检测到保密U盘插入后通过本地缓存的密钥进行保密U盘的挂载。

进一步的,计算U盘唯一标识码的步骤为:1)、通过SetupDiGetClassDevs API接口打开磁盘存储管理接口;2)、通过SetupDiEnumDeviceInterfaces并指定GUID遍历本地拥有的磁盘存储设备;3)、通过CM_Get_Device_ID接口获取USB存储设备的ID串,ID串中包括USB存储的生产序号和批次号;4)、通过crc32算法配合私有掩码计算该ID串的crc32值,将crc32值作为该U盘的唯一标识码。

进一步的,使用密钥制作保密U盘的步骤为:1)、设置保密卷创建选项;2)、在内存中创建保密卷头,保密卷头中写入用户数据;3)、对保密卷头进行加密格式化,将其格式化成制定的文件系统;4)、将经过处理的卷写入U盘存储设备的起始位置;5)、根据设置的密钥对完成加密的U盘进行挂载,挂载成功即为创建成功,挂载失败则重复步骤1-4重新加密。

进一步的,步骤4后,填充随机数据,增加保密U盘的安全性。

进一步的,步骤3中,将保密卷头格式化成NTFS的文件系统。

进一步的,保密U盘挂载的步骤为:1)、获取一个闲置的盘符;2)、设置挂载密码,挂载密码为我步骤3中下发的U盘密钥;3)、应用层给驱动层发送IOCTRL对指定的密盘进行挂载动作。

进一步的,针对有多个密钥的终端,依次尝试所有的密钥,直到成功或者所有的密钥都挂载失败。

本发明的有益效果:本发明保留了现有保密U盘的所有优点,如文件存取效率高、稳定,并且本发明通过U盘唯一标识码对U盘进行识别的统一的管控,即使U盘被格式化掉同样有效;通过U盘识别码配合U盘密钥对U盘的使用范围进行精准的管控,细粒度的控制U盘的使用范围,并能够灵活的调整和补充。

附图说明

图1为现有保密U盘的工作流程;

图2为本发明控制U盘使用范围的方法的流程图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步的说明。

首先对本实施例中出现的缩略语进行解释。

VVOL:Virtual Volume,虚拟卷设备,通过Windows底层磁盘设备驱动生成的虚拟设备。

UUM: U盘唯一标识码,通过U盘生产序号加私有的CRC32算法生成的唯一标识U盘的标识串。

保密U盘:通过底层驱动虚拟设备技术配合数据读写加解密技术实现的一种保护U盘内数据的方案。

NTFS:一种文件系统,和Fat32文件系统相比最大优势是支持单个文件超过4G的大文件。

Json:(JavaScript Object Notation) 是一种轻量级的数据交换格式,本实施例中用于描述给终端下发的保密U盘策略的策略内容。

如图1所示,为现有保密U盘的工作原理图,通过强加密的方式将整个U盘分区进行加密处理,形成私有的磁盘格式,使用的时候通过VVOL技术将加密后的U盘分区解密并挂载成虚拟卷,这样用户就能和使用普通的U盘一样使用保密U盘了。

现有保密U盘能从很大程度上杜绝涉密文件通过U盘泄密,因为如果没有在授信环境中,加密过的U盘不会通过VVOL进行挂载,用户也就无法访问密盘中的文件数据,但是控制颗粒度太粗,不太易于使用,比如有如下需求:1.公司里有多个部门,不同的部门分配不同的U盘,不同的部门之间只能使用各自的U盘,或者控制U盘在跨部门的情况下只读。2.动态的对U盘的使用范围进行调整,比如A优盘开始是属于研发部门的,通过管理员调整为B部门。在出现这些需求时,现有保密U盘不能够满足。

本实施例所述方法通过U盘唯一标识和保密U盘密钥授信技术通过策略对内部U盘的使用范围进行细粒度的控制,并且支持灵活定制,随时调整。

如图2所示,为本发明所述控制U盘使用范围的方法的流程图,该方法包括以下步骤:S01)、首先需要计算U盘的唯一标识码,用于唯一标识一个U盘,同一个U盘要保证在不同的终端获取到的标识码始终相同,不同的U盘标识码要不同。

计算U盘唯一标识码的过程为:

1.通过SetupDiGetClassDevs API接口打开磁盘存储管理接口;

2.通过SetupDiEnumDeviceInterfaces并指定GUID遍历本地拥有的磁盘存储设备;

3.通过CM_Get_Device_ID接口获取USB存储设备的ID串,串中包含USB存储的生产序号和批次号,不同的U盘的数据不一样,类似USB\Vid_1b1a&Pid_0000字符串;

4.通过crc32算法配合私有掩码计算该串的crc32值,结果作为该U盘的唯一标识码。

S02)、根据U盘的唯一标识码生成该U盘的密钥,使用这个密钥制作保密U盘,并将U盘的唯一标识、描述和对应的密钥入库。

使用密钥创建保密U盘的详细步骤为:

1).设置保密卷创建选项,保密卷创建的参数选项包括是否是设备类型、是否是隐藏卷、卷路径、卷大小、隐藏卷大小、文件系统、簇大小、是否支持快速格式化、扇区大小、实际的扇区大小(可能和设置的不同)、密码信息(即设置的密钥);

2).在内存中创建保密卷头,保密卷头中写入用户数据,然后对卷头进行加密格式化;

3).格式化成指定的文件系统,通常配置为NTFS(支持单个文件大小超过4G的大文件);

4).将经过处理的卷写入U盘存储设备的起始位置;

5).填充随机数据,增加保密U盘的安全性;

6).最后尝试通过我们设置的密钥对创建完成设备进行挂载,能挂载成功即为创建成功,挂载失败则重新创建。

S03)、对不同的终端或者部门配置密钥策略。比如技术部门和研发部门,分别下发其持有保密U盘对应的密钥,那技术部门和研发部门就只能用其持有的保密U盘。

保密U盘密钥采用Json格式,针对不同的部门,会有多个密钥。

S04)、终端检测到保密盘插入后通过本地缓存的密钥进行密盘的挂载。

保密U盘挂载的步骤为:

1.挂载保密U盘前首先获取一个闲置的盘符,比如P盘;

2.设置挂载密码为我们策略中下发的U盘密钥;

3.应用层给驱动层发送IOCTRL对指定的密盘进行挂载动作;

4.如果终端有多个密钥依次尝试所有的密钥,直到成功或者所有的密钥都挂载失败。

下面以一个实际应用场景为例说下该方法能达到的效果:

公司有三个部门,技术部、研发部、总经办,要求U盘只能在公司内部使用并且技术部和研发部分别只能使用自己的U盘,总经办需要使用所有的U盘。给所有的U盘注册并生成密钥,技术部和研发部只下发其持有的U盘密钥,总经办下发所有的保密U盘密钥即可实现。如果使用过程中需要调整,比如新买了五个盘,重新注册并给指定部门下发密钥即可。

本发明保留了现有保密U盘的所有优点,如文件存取效率高、稳定,并且本发明通过U盘唯一标识码对U盘进行识别的统一的管控,即使U盘被格式化掉同样有效;通过U盘识别码配合U盘密钥对U盘的使用范围进行精准的管控,细粒度的控制U盘的使用范围,并能够灵活的调整和补充。

以上描述的近视本发明的基本原理和优选实施例,本领域技术人员根据本发明做出的改进和替换,属于本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1