基于可信计算的移动文件保险柜
2012-07-12四川大学软件学院
四川大学软件学院 龙 鹏
基于可信计算的移动文件保险柜
四川大学软件学院 龙 鹏
U盘的主要特点,也是我们喜欢用它的原因,大小适宜、性能可靠,我们可以把它挂在胸前、吊在钥匙串上、甚至放进钱包里。另外,它还具有防潮防磁、耐高低温等特性,安全可靠性很好。U盘几乎不会让水或灰尘渗入,也不会被刮伤,而这些在旧式的携带式存储设备(例如光盘、软盘片)等是严重的问题。可以观察到,现在的我们,平均每个人至少都拥有一到两个U盘。对于个人来说,他们的U盘里面存放的也许是日常的一些学习资料,个人照片等等,也许还有私人的一些东西,对于企业来说,U盘里储存的可能是员工的资料,也可能是商业机密,不管是个人,还是企业,如果遗失了移动存储设备,造成的后果也许是不堪设想。
本文所实现的系统使用可信计算模块(TPM)作为硬件安全基础设备,在内核和应用层对U盘的访问权限进行控制,只有安全U盘才能够在装有本系统的主机上使用,普通的移动存储设备不可以使用。安全U盘只有经过授权后才有可能在同一台服务器管理范围内的制定主机上使用,其他主机同样不可使用。若在没有网络、网络上没有服务器或者没有主机注册到服务器时,可以作为只能在本地使用的个人安全U盘。基于可信计算的安全U盘系统使用全盘加密方式存储数据,保护数据信息,防止由于移动存储设备丢失,被窃取而产生的数据泄密问题,防止了故意从内部环境偷窃数据信息的行为,也在一定程度上防止了移动存储设备交叉使用的行为,杜绝了安全隐患。
可信计算;虚拟磁盘;文件过滤;对称算法;非对称算法
1.涉及技术
1.1 可信计算
1.1.1 可信计算
可信是一种期望,在这种期望下设备按照特定的目的以特定的方式运转。可信计算的主要思路是在计算机平台上引入安全芯片架构,通过提供的安全特性来提高终端的安全性。
1.1.2 可信计算平台
可信计算平台的核心是TPM芯片,由TSS软件协议栈配合TPM芯片对可信计算平台提供支持,以保证可信计算平台能够提供基于硬件保护的安全存储和各种密码运算功能。
1.1.3 可信计算平台模块TPM
可信计算的核心是TPM安全芯片,TPM安全芯片好似可信计算技术的底层核心固件,并且被称为安全PC产业链的“信任原点”,在实际的环境中,TPM安全芯片被嵌入到主板上,提供完整性度量与验证,数据安全保护以及身份认证等功能。TPM安全芯片在更底层进行更高级别的防护。
1.1.4 TPM芯片的优势
将加密、解密、认证等基本的安全功能写入硬件芯片,并且能够确保芯片中的信息不能在外部通过软件随意获取,同时提高加解密速度。
通过TPM芯片管理密码,无需手动生成密文,方便快捷。
1.2 虚拟磁盘驱动
虚拟磁盘就是用内存中虚拟出一个或者多个磁盘的技术,内存的速度要比硬盘快的多,就要利用这一点,在内存中虚拟出一个或者多个硬盘就可以加快磁盘的数据交换速度,从而提高电脑的运行速度。
在解挂载磁盘后,别人也就找不到你的文件,另外在其中加入透明加密的功能,起到保密文件的作用。
1.3 文件过滤驱动
目前对主机访问控制的方法有两种:一是利用windows提供的应用编程接口函数,另一种就是开发过滤驱动。文件过滤驱动是驱动层中特殊的一种驱动,是一种核心模式的驱动,之所以把它从驱动层分离出来时因为过滤驱动是不可见的,他们把自己贴在其他驱动之上,并且拦截对底层驱动设备对象的请求。
从windows内核层面来控制用户对虚拟磁盘映像文件的加载,修改,删除,再从进程判断应用程序,两个层面上保护用户数据安全。
2.系统总体构架
本文所提出的基于可信计算的移动文件保险柜适用范围为企业、军事单位、部门与部门之间、以及小范围人群之间。本项目的适用人群是单位内部员工或者普通个人。使用可信计算模块(TPM)作为硬件安全基础设备,在内核和应用层对U盘的访问权限进行控制,只有安全U盘才能够在装有本系统的主机上使用,普通的移动存储设备不可以使用。安全U盘只有经过授权后才有可能在同一台服务器管理范围内的制定主机上使用,其他主机同样不可使用。若在没有网络、网络上没有服务器或者没有主机注册到服务器时,可以作为只能在本地使用的个人安全U盘。基于可信计算的移动文件保险柜系统使用全盘加密方式存储数据,保护数据信息,防止由于移动存储设备丢失,被窃取而产生的数据泄密问题,防止了故意从内部环境偷窃数据信息的行为,也在一定程度上防止了移动存储设备交叉使用的行为,杜绝了安全隐患。
基于可信计算的移动文件保险柜系统专为U盘丢失泄密、控制U盘或者移动存储设备使用、保护数据安全的一套基于windows内核级的解决方案。
该方案主要包括以下模块:
1)TPM芯片管理;
2)密钥操作;
3)数据库管理;
4)网络数据传输;
5)安全U盘模块;
6)审计安全模块;
7)文件过滤模块;
8)虚拟磁盘模块。
以上几个模块能够从客户端和服务器两个方面保证用户的移动数据安全提供有效、可靠的保护机制,并且为企业内部移动设备控制使用提供了有利的保障。
上面这些数据的结合机制,能够为用户提供U盘访问控制、数据加密、TPM芯片管理、U盘使用者授权、审计查看、安全U盘制作、安全U盘授权、U盘数据备份、U盘测速等功能。
图1简单描述了一个公司内部,或者部门、研究院内部网络拓扑图,包括电脑(台式机和笔记本电脑)、服务器、U盘,防火墙,用户等。
图2描述了系统总体架构。
3.核心模块设计
3.1 安全U盘模块
安全U盘模块是基于可信计算的U盘系统重要模块之一,是应用层用户操作最频繁的模块,基于可信计算的移动文件保险柜,核心功能是限制U盘的使用,让U盘按照我们预先的设定规则来使用,本模块是应用层模块,调用内核层的API来使用,应用层界面设计是顺序处理,同一时间,只能执行其中某个操作。
用户首选选择需要制作安全U盘的U盘,然后点击制作按钮,弹出子对话框,输入安全U盘信息,若取消,返回制作安全U盘主界面,结束,若制作,入制作成功,返回制作安全U盘主界面,若失败,也返回制作安全U盘主界面,结束。
用户进入打开安全U盘主界面,首先选择要打开哪个U盘上面安全U盘,然后选择要打开哪个安全U盘文件,如果这时候取消,则返回打开安全U盘主界面,若选择打开,若打开失败,显示失败信息,并返回打开安全U盘主界面,若打开成功,显示成功信息,返回安全U盘主界面
3.2 文件过滤驱动模块
文件过滤驱动模块是基于可信计算的移动文件保险柜系统的内核模块之一,过滤驱动是驱动层中特殊的一种驱动,是一种核心模式驱动,之所以把它从驱动层中分离出来是因为过滤驱动是不可见的,他们把自己贴在其他驱动之上,并且拦截对底层驱动设备对象的请求,它是可扩展的,更重要的是无论当前新功能是否可用它都允许增加新功能,文件过滤驱动要么利用I/O请求的初始目标驱动提供服务,要么利用其他用户服务或者核心模式软件来提供新增加的功能,在本驱动中,由于简单的设置FastIo所有例程都返回为false,这样所有的操作都会通过IRP请求来操作,系统就能监控所有的文件操作了。
文件过滤驱动模块在本系统中,必须一直启动,保证服务的正常运行,它提供最关键最核心的功能,包括限制U盘的使用,不能让内外部U盘直接插入主机就可以使用;进程访问的控制,不能让其他一切进程访问U盘,必须通过基于可信计算的移动文件保险柜系统应用层访问;U盘的识别,随时监控U盘的插入,识别插入的是否为U盘;监控系统卷绑定,绑定卷的时候,需要本系统监视下才能完成,必须严格控制U盘的访问;U盘文件使用监控等等。
3.3 虚拟磁盘驱动模块
虚拟磁盘驱动模块是另一个基于可信计算的移动文件保险柜系统的内核模块之一,主要功能是将某个文件映射为磁盘,计算机对该磁盘的所有操作,都重定向到对应映射文件,同时在上面增加透明加解密的功能。在得到上层的写IRP包时,对写缓冲区中的数据加密后写入文件,而当得到上层的读IRP包时,先从文件中读取相应的长度的数据,解密后写入读缓冲区,从而完成了对上层文件系统的透明加解密。
安全U盘模块是用户操作最频繁的模块,那么虚拟磁盘驱动模块则是最终最底层被操作的模块,在安装有基于可信计算的移动文件保险柜系统的局域网内部,对U盘的任何访问包括读写都是通过将映射文件虚拟成系统磁盘后,在该虚拟磁盘上面的操作,而不是直接对U盘的操作。本模块最重要的功能就是将文件映射为磁盘,同时在读写的时候,增加透明加解密。
3.4 芯片管理模块
TPM芯片管理模块是可信计算的最基础的部分,主要是为用户提供管理TPM芯片的接口,其中包括建立所有者,清除所有者,修改获得授权的口令等基本信息。设计出该模块的主要目的是将用户对芯片的授权管理等基本操作进行封装,从而其它模块的建立奠定基础。本系统是非常驻内存,为一个单一程序,实行顺序处理。
TPM芯片管理模块主要包含的功能有创建所有者,清除所有者,修改所有者口令,修改SRK认证口令,还有查看TPM芯片某些信息的功能。本模块主要为用户提供管理TPM芯片的基本功能,让用户更好的使用TPM芯片,同时让也让TPM芯片更好的为我们系统服务。
4.总结
基于可信计算的移动文件保险柜系统能够为企业提供一套完整的U盘(移动设备)使用和数据保护管理系统。在核心功能上面,本系统实现了对U盘的进程访问控制、数据加密、制作打开关闭安全U盘、对可信计算TPM芯片的管理、数据加密的功能,同时提供了安全U盘授权、数据库维护、审计日志查看、防止U盘病毒等功能。这些功能基本涵盖所有用户需求,并且本软件注重性能和易用性,客户端界面友好,业务逻辑清晰。
[1]秦佳,王卜乐.基于USB驱动的移动介质管理系统[J].计算机与数字工程,2010,38(4):113-114.
[2]邹敬轩,蔡皖东.基于WDF过滤驱动的USB存储设备监控系统[J].计算机工程与科学,2010,32(3):42-44.
[3]李锦山,舒辉,董卫宇等.基于驱动层的UsB存储设备安全监控技术[J].计算机工程,2008,34(8):255-257.
[4]http://www.huaweisymantec.com/cn/Product_Solution/Solution/Education/DSM_TSM/.
[5]W.A.Arbaugh,D.J.Farber,and J.M.Smith.A secure and reliable bootstrap architecture.In Proc.1997 IEEE Symposium on Security and Privacy,pages 14 65-71.IEEE Computer Society Press,1997.
[6]B.Balacheff,L.Chen,S.Pearson,and G.Proudler.Trusted Computing Platforms:TCPA Technology in Context.Prentice Hall International,2003.
[7]J.G.Dyer,M.Lindemann,R.Sailer,L.Van Doorn,S.W.Smith,and S.Weingart.Building the IBM 4758 secure coprocessor.IEEE Computer,34(10):57-66,2001.
[8]The Trusted Computing Group.TPM main version 1.2 part 1 design principles,2003.Available from http://www.trustedcomputinggroup.org.
[9]The Trusted Computing Group.Main specification version 1.1b,2003.Available from http://www.trustedcomputinggroup.org.