APP下载

计算机安全登录与文件保护系统

2010-09-17赖宗力李跃捷

网络安全技术与应用 2010年5期
关键词:加解密驱动程序解密

赖宗力 李跃捷

北京应用物理与计算数学研究所 北京 100088

0 引言

随着以计算技术、通讯技术为主的信息技术的快速发展,互联网的广泛应用以及信息电器的普及,信息安全已成为人们广为关注的问题,例如Windows2000留有后门和奔腾-4芯片进行客户记录的情况,更加深了对于所用系统安全性的关注。我国计算机安全防护能力处于发展的初级阶段,许多计算机基本上处于不设防状态,对保护普遍采取的措施是访问权限控制,这种方式虽然起到一定的保护作用,但对于许多用户来说并未从根本上解决防泄密问题。这就像用不上锁的文件柜来存放重要的机密文件,很容易受到内部窃贼窥视、计算机木马窃取、病毒和网络黑客的攻击,具有极大的危险性。经过权威部门统计目前很多政府机关和企事业单位信息资产70%的泄密都是由于电脑中的信息在存储环节没有严格遵守规定得到应有的保护造成的。现在各单位对下属各部门的固定电脑基本采取权限控制、令牌登录、联网监测、打印拷贝登记审核等措施。但是作为单位的领导、科研部门的课题负责人、学术带头人经常需要外出进行投标、汇报工作、学术交流等事务。不可避免地随身携带笔记本电脑或信息存储器,如果携带笔记本电脑或信息存储器存有的重要信息遭到抢劫、失窃、遗忘造成一定时间的失控,其不仅会给单位造成巨大的经济损失,甚至会危及国家的安全和社会的稳定。因此随身携带的笔记本电脑及信息存储器的防抢、防丢、防窃的安全措施是我们考虑的重点问题。也就是说你万一丢窃的电脑硬盘被非法者卸下,作为另一台电脑的副盘使用,原有的权限控制、令牌登录等措施都失去作用。文件信息的安全自然也无法保障;更进一步说,如果用户采取修改硬盘主引导程序的分区表方式给硬盘加锁阻止非法用户登录,其非法者也可利用市场硬盘数据恢复工具恢复分区表或拷贝获得硬盘文件内容。同样文件信息的安全也无法获得保障。因此市场需要一种加密体与被加密体相分离携带,硬件与软件相结合的方法来强化信息安全措施。

1 系统的主要构成及功能设计

本项目主要研究的内容是解决计算机安全登录与信息安全保护。该系统是由含有USB接口的智能卡(称为99KEY电子钥匙)及软件组成。它是在WINDOWS平台上使用的,其一能够对计算机硬盘中的重要信息进行加密和保护。该产品可将硬盘中的重要数据集中存放在安全文件夹—保险箱中,系统可自动将这个文件夹隐藏,自动对该文件夹中的全部文件内容进行加密、解密(文件无格式、大小容量限制,数秒至数分钟之内快速完成加、解密工作)用户的个人信息和加密密钥及部分加密算法存放在电子钥匙中,在对安全文件夹使用者的合法身份验证时和文件的加解密时必须由硬件和软件共同实现上述过程。保证了系统的安全性和可靠性。其二对远程传输过程中的信息进行加密,认证读取。其三对计算机和登录采取硬件(99KEY)和软件口令相结合办法进行身份确认,确保计算机合法用户安全登录系统。

1.1 含有USB接口的智能卡的技术要求

(1)符合USB2.0技术规范,通讯速率》1.5MBIT/S;

(2)10万次热插拔,最大功耗100mW;

(3)支持RSA 1024bit、ECC 160bit/192bit 公钥密码算法,直接在芯片内生成RSA或ECC密钥;

(4)电源5±10%V,由USB接口直接供给;

(5)内置SmartCOS PK 安全操作系统;

(6)环境温度:0℃~70℃,相对湿度:30%~95%;

(7)采用国家密码管理委员会批准的算法;

(8)生成10E38全球惟一EKEY序列号。

1.2 运用软件部分的技术要求

(1)采用先进的多层C/S结构,具有设计开发灵活性和扩展性;

(2) 采用Visual C++平台开发,使系统运行稳定并可移植;

(3)采用先进的组件技术;

(4)具有再开放的平台和接口;

(5)用户界面友好简单快捷;

(6)网络通信规程:统一为TCP/IP;

(7)用户安装方便,系统自动检测用户的网络及软件环境,自行进行软件安装。

2 系统的基本原理及关键技术解决

我们能否做到像链路加密机的工作方式一样,明文送出加密机即加密,密文进入加密机即解密,实现明文文件写入硬盘即加密,从硬盘读出即解密呢?也就是说做一个类似加密机工作方式的驱动程序,放入计算机操作系统中,用它来控制对硬盘的读写操作。实现我们的加解密过程。

通常在Windows操作系统中,用户应用程序(用户进程)对硬件的访问都要经过操作系统的管理程序(系统进程)来实现。系统管理程序由众多的设备驱动程序组成,从而形成操作系统的核心层,这个核心层负责对用户请求的调度和管理,控制对操作系统资源的访问,这些系统资源包括诸如硬盘、内存、显示器、键盘、鼠标及其他外部设备等。因此我们设计开发的计算机安全登录与信息安全保护系统的基本思路就是寻找一种硬件、软件相结合方法。让其不工作时加密工具与被加密体分离保管,需要时合二为一。加密和解密进程在操作系统底层实现的,而用户的个人信息和加密密钥及部分加密算法存放在电子钥匙中,当操作系统对文件发出“写”指令时,由虚拟设备驱动程序拦截内存中将要进行写操作的数据流,同时调用 99KEY中的加密密钥及部分加密算法和加密参数,将数据进行加密处理后进入指定的硬盘空间。由于这种方法是动态实现加密处理,无论系统出现死机或断电,存入硬盘的数据始终是密文,使得加密文件的安全性更加可靠;最重要的是由于产品是基于个人应用,使用者无须对文件加/解密进行任何操作,在对文件进行保存、另存为、拷贝粘贴、拖动的过程中自动完成了对文件的加密和解密,使科研人员所配备的笔记本电脑和活动硬盘中科研课题内容进行加密,万一被窃取也只是乱码密文,以增加信息的安全性。

项目的关键技术是在操作系统层实现对数据的动态加密和解密。通俗点说通过一种基于机器指令的过程拦截技术实现对数据库系统和文件系统所有数据存取的操作进行拦截和控制,进而实现本地数据库内容和文件内容的数据保存到硬盘是进行加密处理的,从硬盘读到数据库系统到内存时再进行解密处理;而且当远程访问数据库系统时,通过拦截网络访问的发送和读写操作实现对发起方的数据进行加密和认证保护,对接受方则进行解密和验证。

例如:Windows9x操作系统使用两个优先权保护级分别为Ring0和Ring3级。系统进程运行于Ring0级(最高的访问级别),因而具有对系统全部资源的访问权和管理权;而普通用户进程运行于Ring3级,只能访问自己的程序空间,不允许对系统资源进行直接访问,因此许多操作受到限制。显然这种普通用户进程是无法胜任实时加解密工作的。因此我们要实现的驱动程序(后台监视进程)必须运行在Ring0优先级,而实现这一目的基础就是虚拟设备驱动程序VxD技术。虚拟设备驱动程序,用作 Windows9x系统和物理设备之间的接口。但它不仅适用于硬件设备,也适用于按VxD规范所编制的各种软件“设备”。

VxD有两种装入方式:静态装入与动态装入。静态装入就是随虚拟机管理器(VMM)一起装入,即系统启动时加载,系统关闭时卸载。动态装入是被调用时才被加载,调用完毕就被卸载。在这两种方式下,VxD都是和VMM紧密地联系在一起的,这使得VxD可以完成应用程序一些无法完成的功能:VxD可以不受限制地访问硬件设备,检查操作系统数据结构,访问任意地址内存,I/O端口,内存区域访问,甚至截取硬件中断。

VxD技术的实质是:通过加载具有Ring0最高优先级的VxD,运行于 Ring3上的应用程序能够以一定的接口控制VxD的动作,从而达到控制系统的目的。实时加解密软件之所以要使用VxD技术,关键有二:①VxD拥有系统最高运行权限;②许多Windows9x系统底层功能只能在VxD中调用,应用程序如果要用到系统的底层功能必须编个VxD作为中介。VxD作为应用程序在系统中的一个代理,应用程序通过它来完成任何自己本身做不到的事情,通过这一手段,Windows9x系统为普通应用程序留下了扩充接口。

实时加解密的关键技术是FileHooking(俗称钩子程序),加解密应用程序通过使用静态加载的VxD,间接获得了对Windows9x系统的控制权,但要实现对系统中所有文件 I/O(输入/输出)操作的实时监控,还要用到另一种关键技术-FileHooking,通过挂接一个处理函数,截获所有与文件 I/O操作有关的系统调用。Windows9x使用 32位保护模式可安装文件系统(IFS),由可安装文件系统管理器(IFSManager)协调对文件系统和硬件设备的访问,它接收以Win32API函数调用形式向系统发出的文件I/O请求,再将请求转给文件系统驱动程序FSD,由它调用低级别的IOS系统实现最终访问。每个文件I/O API调用都有一个特定的FSD函数与之对应,IFSManager负责完成由API到FSD的参数装配工作,在完成文件I/O API函数参数的装配之后转相应FSD执行之前,它会调用一个称为FileSystemApiHookFunction的Hooker函数。通过安装自己的 Hooker函数,就可以截获系统内所有对文件I/O的API调用,并适时对相关文件进行加解密操作,从而实现实时加解密。

图1 系统底层示意图

3 结束语

本项目产品的主要核心部分内容业已通过了检测和科技成果鉴定(如:国家保密局涉密信息系统安全保密测评中心J0031检测报告;中国人民解放军信息安全测评中心军密认字第 0256号;公安部计算机信息系统安全产品质量监督检验中心公计检 030091,等等)。其电子钥匙存放国家商密级加解密算法,实施动态加密,一次一密。基本可以满足既定用户要求,在具体实施过程中,仅仅需要根据用户不同层次需求差异,进一步完善和改进界面管理模块,对用户提供方便实用的管理界面,使用户可以对当前的规则进行各种操作。即:双因子安全登录;USB输出控制;联网控制;文件物理删除;禁用安全模式;盘符隐藏;网络信息隔离;网络通讯信息传输加密;双方身份认证识别,权限分配等等。

[1]戴七剑,涂彦晖.数据恢复技术.电子工业出版社.2005.

[2]张仕斌,万武南,张金全,孙宣东.应用密码学.西安电子科技大学出版社.2009.

[3]Atulkahate著,金名等译.密码学与网络安全.清华大学出版社.2005.

[4]毛德操.Windows内核情景分析(上下).电子工业出版社.2005.

[5]蒋静,虚志伟.操作系统原理技术与编程.机械工业出版社.2003.

猜你喜欢

加解密驱动程序解密
炫词解密
解密“一包三改”
炫词解密
阻止Windows Update更新驱动程序
计算机硬件设备驱动程序分析
PDF中隐私数据的保护方法
电子取证中常见数据加解密理论与方法研究
基于FPGA的LFSR异步加解密系统
网络数据传输的加解密系统研究
解密“大调解”