Windows下可移动存储设备中途岛之战电影 加密系统的研究与实现
王飞平;高发桂
【摘要】提出一种基于文件过滤驱动实现的软件加密方案,主要讨论普通U盘密
盘化,即加密U盘。在这种方案下,系统提供两种透明加密方式:第一种,为每
个U盘设置一个密码,数据的加解密在内存中进行;第二种,每个加密盘的密钥
绑定为智能密码钥匙,数据的加解密在智能密码钥匙中进行。分析及实验证明,第
一种方式能够在保证一定安全性的前提下,降低成本,第二种方式安全性进一步得
到增强,密钥永不出设备。%Inthisscheme,thesystemprovidestwokindsof
transparentencryptionmethods:Forthefirstone,wetapasswordfor
eachUSBflashdisk,andtheencryptionanddecryptionofthedataare
doneinthememory;eachencryptionkeybindingfor羽毛球英文 thesmartkeyforthe
condone,eechUSBkeyisboundasasmartone,andthedataencryption
lysisandexperi-ments
showthatthefirstmethodcanreducethecostunderthepremiof
guaranteeingcertaincurity,andthecondmethodcanfurtherenhanc
curityandthekeycanneverbeoutofthedevice.
【期刊名称】《湖北民族学院学报(自然科学版)》
【年(卷),期】2016(034)004
【总页数】5页(P442-445,450)
【关键词】文件系统过滤驱动;对称加密算法;加密U盘;信息安全;智能密码钥匙
【作者】王飞平;高发桂
【作者单位】杭州电子科技大学计算机学院,浙江杭州310018;湖北民族学院信
息工程学院,湖北恩施445000
【正文语种】中文
【中图分类】TP309.7
随着信息技术的发展,移动存储设备的使用越来越广泛,由此引发的数据泄露问题
日渐严重[1].为了阻止可移动存储设备泄露机密数据,目前采用的方式主要有存储
数据的加密和访问控制[2],市场上有很多这样的产品,但它们大多基于应用层
(ring3)开发,没有做在文件系统层面,导致用户体验很差.针对存储数据的加密,
微软的EFS加密文件系统可以很好的保证文件在NTFS文件系统上的安全性,但
是它也具有很明显的缺点,包括FAT文件系统无法使用、在证书丢失或者发生系
统错误时[3],加密文件将无法正常访问.针对文件的访问控制,比如严格控制可移
动存储设备的读写操作,将设备变成只读设备或者对设备的写操作进行关键词检查,
这种方式存在检索速度慢和关键词存在歧义导致检索结果不正确的情况[4].以上基
于文件内容的访问控制机制没有考虑到存储介质的安全性,因为存储介质上存储的
依然是明文.基于以上因素的考虑,加密U盘[5]应运而生.加密方式分为硬件级加密
[5]以及软件级加密[6]两种.硬件加密一般是通过可移动存储设备内部的控制芯片加
密,能够实现实时加密,并且加解密在设备内部完成,这种方式安全性较好,但是
设计复杂,成本较高,同时没有软件加密的普适性(一套软件加密任意可移动设
备)[7],本文讨论的可移动存储设备指普通U盘,主要实现普通U盘的密盘化.
本文提出的基于Windows过滤驱动的可移动存储设备加密的实现方案,通过文件
系统过滤驱动程序把文件加密与Windows文件系统无缝集成,加解密操作对用户
透明,便于操作和应用.针对密钥的管理,本文主要介绍密钥为口令以及密钥在智
能密码钥匙中的方式[8],其中以智能密码钥匙加密的方式为最安全,以密钥口令
的方式为最经济.以上两种方式,只有经过用户配置的U盘,其文件数据才会被加
密,数据的加解密对用户透明,不同的是智能密码钥匙加解密数据在设备中进行,
密钥在智能密码钥匙中无法导出.密钥为口令的方式采取一个U盘一个密钥的方式,
初始化加密U盘时指定密码,对密码使用HASH算法生成256位字符串作为该U
盘的对称加解密密钥.密钥在智能密码钥匙中的方式,加密U盘的对称密钥保存在
智能密码钥匙内部,此种方式对系统性能影响较小,数据加解密运算在智能密码钥
匙中进行,加快了加密文件的访问速度.本文首先介绍了加密U盘的目标,其次介
绍了数据透明加解密的实现原理[9];基于密钥存储位置不同的两种加解密方式而
实现的加密U盘;最后对加密U盘做了功能性测试.
为了克服现有U盘数据防泄漏系统的不足,使本文介绍的方案具有高安全性和实
用性,提出以下目标:
1)安全性高,如果待加密的U盘安全性要求非常高,可以采用智能密码钥匙的方
式进行透明加密,对于操作不属于自己的加密U盘,系统将返回拒绝访问;
2)用户体验好,打开属于自己的加密U盘中的文件时与操作普通文件一样,加密
文件的数据加解密以透明的方式进行,用户无法感知加解密行为;
3)效率高,用户及应用程序操作加密U盘在效率上无明显影响;
4)密钥丢恢复机制,针对密钥为口令的方式,第一次设置时,系统提示用户以明文
文件的方式保存加密U盘的密码,此文件只在第一次设置时生成,用户自行拷贝
好删除源文件,一旦用户忘记密码,以此文件来导入该加密U盘的密钥;针对智
能密码钥匙的加密,加密U盘第一次绑定智能密码钥匙时,随机生成对称密钥的
种子密钥,同时导出对称密钥的密文,以文件的方式保存,此文件只在第一次设置
时生成,用户自行拷贝好删除源文件,一旦用户智能密码钥匙丢失或者损坏,以此
文件来恢复智能密码钥匙;
5)安全保护成本低,为保证加密U盘系统的实用性,安全成本不能太高;
2.1文件系统过滤驱动的工作原理
在基于NT内核的Windows操作系统中,文件过滤驱动是I/O子系统的一个组件,
为用户提供在磁盘等非易失性介质上存储数据的服务.NT内核的I/0管理器是可扩
展的,支持分层驱动模型,每个IRP的处理分别经过各层驱动程序,直到某层驱
动程序完成这个IRP请求.文件系统过滤驱动是针对文件系统而言的,它既可以位
于文件系统之上,也可以被放置在文件系统驱动与存储设备驱动之间.I/O管理器
根据用户的文件操作请求构造I合作合同 RP发送到文件系统驱动程序,文件系统驱动程序
将文件系统的操作转化成对应于存储设备驱动程序的操作,并且通过I/O管理器
来调用存储设备驱动程序.通过文件系统过滤驱动程序生成附加设备挂载在存储设
备之上,上层应用的文件操作对应的IRP请求将会先转至文件过滤驱动程序,经
过文件过滤驱动的处理后,发送给存储设备程序完成该请求,从而完成实现控制文
件系统的目的,起到接管文件系统函数调用的作用[10].
2.2加密U盘的总体设计模型
基于文件过滤驱动的加密U盘的总体设计模物业维修工 型如图1所示.
用户设置某个U盘为加密U盘时,需要选择该加密U盘对应的加密方式,分为密
钥为口令的加密方式以及智能密码钥匙加密方式.绑定之后生成的密钥恢复文件,
需要用户保存,以便于口令或者智能密码钥匙设备遗失或者故障时进行密钥恢复工
作.用户启动加密软件后,如果没有某个加密U盘正确的口令或者是没有智能密梦见玉碎 码
钥匙,其无法正常访问加密U盘的文件内容.
2.3加密密钥的管理
考虑到用户群体不同,其追求安全性、效率、性价比的侧重点不同,本方案采用两
种加密方式:口令加密以及智能密码钥匙加密.口令加密方式采用256位密钥的
AES对称加密算法[11],而智能密码钥匙加密采用符合国密标准的SM1算法[12],
在智能密码钥匙内部完成数据的加解密,密钥永不出设备,只能导出密钥密文[13].
如果是口令加密,第一次输入密钥后,本地以密文的方式保存密钥.
针对加解密密钥生成方式的不同,加解密处理流程不同.具体流程如下:
1)对于口令加密的方式,合法的用户(有正确口令)打开加密文件时,分析文件头部
4KB的数据,监测该文件是否属于此U盘的文件,文件头上包含密文的usb序列
号信息(具有唯一性),如果该密文不是属于此加密U盘,则IRP返回拒绝访问;如
果是属于自己的加密文件,请求应用层用户密钥,将U盘盘符与用户密钥绑定,
在用户读取该加密文件时,经过盘符名查询文件加解密密钥,从而解密数据;合法
的用户以写入的方式打开原有的加密文件或者新建文件时,请求应用层用户密钥,
将盘符名与用户密钥绑定,在用户写入文件时,使用该密钥加密明文数据;
2)对于智能密码钥匙加密的方式,合法的用户(有正确智能密码钥匙)打开加密文件
时,分析文件头部4KB的数据,监测该文件是否属于此U盘的文件,文件头上包
含密文的usb序列号信息(具有唯一性),如果该密文不是属于此加密U盘,则IRP
返回拒绝访问;如果是属于自己的加white 密文件,解析文件加密标识,获取密钥密文,
将盘符名与用户密钥密文绑定,在用户读取该加密文件时,经过盘符名查询文件加
解密密钥密文,将解密请求通过I/O输出到应用层,在智能密码钥匙中解密密文
数据;合法的用户新建文件或者修改加密文件时,请求应用层用户密钥密文,将盘
符名与用户密钥密文绑定,在用户写入文件时,将加密请求通过I/O输出到应用
层,在智能密码钥匙中加密明文数据;
2.4文件加密标识的创建
文件加密标识是存储在加密文件头上4096字节的数据,其数据结构如下:
typedefstruct_tag_FilterEntryFile_Header_Flags
{
WCHARheader_flags[4];//加密文件标记
INT32ver;//版本
UCHARusbid[64];//U盘唯一序列号
INT32flag;//标记加密方式口令或者智能密码钥匙
UCHARcret[128];//密钥密文
INT32cretlength;//密钥密文长度
UCHARchecked[16];//结构效验防止用户恶意修改加密标识
INT32timetoken;//写入时间戳
}FilterEntryFile_Header_Flags,*LPFilterEntryFile_Header_Flags;
在这个结构成员中,header_flags代表加密标记,用来表示一个文件是否为加密
文件,ver为版本号,usbid为加密U盘硬件序列号,flag标识该文件的加密方式,
cret以及cretlength只在加密方式为智能密码钥匙时有效,checked为整个
数据结构的数字签名,用以防止客户恶意修改加密标识,timetoken为加密标识
的写入时间.
加密标识的写入时机为IRP_MJ_CLOSE,当FCB的引用计数到0就能判断当前没
有程序在操作文件,可以修改文件内容.
2.5加解密文件处理
1)基于口令加解密文件具体过程如下图2所示.
在文件过滤驱动的IRP_MJ_READ请求中处理数据解密.对于读取文件的操作,如
果该文件为非加密文件或者所在位置为非用户所设置加密U盘,则IRP直接下发
至设备存储驱动程序,反之为读取合法密文,等待存储设备驱动程序成功读取数据
后在完成函数中解密数据.
在IRP_MJ_WRITE中处理数据的加密,如果该文件所在位置为非用户所设置加密
U盘则IRP直接下发至设备存储驱动程序,反之需要读取待写入的数据,使用对
称算法加密明文数据,然后下发至设备驱动程序.
2)基于智能密码钥匙加解密文件具体过程如下图3所示.
在文件过滤驱动的IRP_MJ_READ请求中拦截文件读取操作.对于读取文件的操作,
如果该文件为非加密文件或者所在位置为非用户所设置加密U盘,则IRP直接下
发至设备存储驱动程序,反之为读取合法密文,等待存储设备驱动程序成功读取数
据后在完成函数中通过I/O方式等待智能密码钥匙解密数据并返回.
在IRP_MJ_WRITE请求中拦截文件写入操作,如果该文件所在位置为非用户所设
置加密U盘则IRP直接下发至设备存储驱动程序,反之需要读取待写入的数据,
将读取的明文数据等待智能密码钥匙加密完成,IRP请求下发至设备驱动程序.
2.6加密U盘设计方案分析
1)安全性,基于智能密码钥匙加解密方式,密钥永不出设备,数据的加解密操作在
设备中进行,无需担心密钥的管理;
2)用户体验及效率问题,基于Windows过滤驱动实现的加密U盘系统与
Windows文件系统无缝集成,不影响应用程序访问方式以及用户操作习惯,复杂
的密钥管理由过滤驱动程序自行完成,用户只需记住加密U盘的口令或者保存好
自己的智能密码钥匙.文件内容加解密采用对称算法加密,效率上可以接受;
3)密钥丢失恢复机制,第一次为加密U盘选择加密方式时,系统会生成密钥恢复
文件,用户需要妥善保管该文件,是密钥恢复的唯一凭证;
4)安全保护成本低,无论是基于口令或者智能密码钥匙的加密方式,其成本都比纯
硬件的加密U盘低,其实用性较强.
3.1测试环境
主机:Inter(R)Core(TM)i3-2330M,3GB内存;操作系统:Win7系统;
测试U盘规格:Kingston(DT101G2)8G;测试智能密码钥匙规格:华大优盘智
能密码钥匙.
3.2功能测试
结果显示,在序列号为2C0B481970CF2F387CCF2244的加密U盘中,txt格式
的文件被成功添加加密标识.
本文针对目前市场上加密U盘的不足,提出了针对U盘的基于口令和智能密码钥
匙的加密方案.本方案考虑成本提供两种加密方式,较高安全要求的场景使用智能
密码钥匙加密方案,如军用U盘防泄漏的场景;而一般企业U盘数据保护使用基
于口令加密方案.实验结果表明,加密U盘操作方便,稳定性高,适应从winxp
到win10的各个版本,具有较高的可靠性及安全性.
【相关文献】
[1]胡宏银,姚峰,何成万.一种基于文件过滤驱动的Windows文件安全保护方案[J].计算机应用,
2009,29(1):168-171.
[2]赵远.基于安全终端的U盘用户访问控制技术研究[D].南京:南京理工大学,2009.
[3]龙丹,周学军,田燕妮.加密文件系统(EFS)技术研究[J].微计算机信息,2006,22(5):238-239.
[4]熊聪聪,汪鹏.一种新型的USB存储设备访问控制[J].自动化仪表,2011,32(12):16-19.
[5]张维君,王威,任立鹏.基于MC9S12UF32加密U盘的研究与设计[J].中国科技信息,2009(19):
128-129.
[6]李小波.基于文件过滤驱动的Windows文件保护系统的研究与实现[D].上海:上海交通大
学,2010.
[7]于晓艳.基于AC4384芯片带加密U盘的USBKey设计与实现[D].济南:山东大学,2015.
[8]张亚飞.基于可信环境执行环境的智能密码钥匙设计与实现[D].西安:西安电子科技大学,2014.
[9]李凡.刘学照,卢安,等.WindowsNT内核下文件系统过滤驱动开发[J].华中科技大学学报(自然
科学版),2003,31(1):19-21.
[10]sNTfilesysteminternals[M].NewYork:0’Reillv&Associates,1997.
[11]卿德定.AES和DES算法改进及其在文件管理中的应用研究[D].长春:东北大学,2013.
[12]刑凯.基于国密算法的电子认证系统设计与实现[D].济南:齐鲁工业大学,2015.
[13]邵旭东.USB智能密码钥匙访问控制技术研究[D].上海:上海交通大学,2008.
本文发布于:2023-03-23 20:50:12,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/1679575814361513.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:移动存储设备.doc
本文 PDF 下载地址:移动存储设备.pdf
留言与评论(共有 0 条评论) |