
基于身份认证的文件加密.doc
21页摘摘 要要本系统是利用 USB Key 这种硬件设备,由于其内置单片机或智能芯片,可以存储用户的密钥或数字证书,利用 USB Key 内置的密码算法实现对用户身份的认证由于对各种加密算法的比较,本文选择了 MD5 算法实现对 USB Key 的认证模块此设计提出了基于 USB Key 中的加密文件的身份认证模块的思想,利用过滤驱动与操作系统的紧密联系,论述了在实现身份认证模块下过滤驱动的工作原理,并解释了用 MD5 算法实现身份认证的过程系统是利用 VC++来实现当用户在访问 USB Key 之前,首先经过身份认证系统识别身份,然后利用根据用户的身份和授权决定用户是否能够访问某个资源关键词关键词 身份认证,过滤驱动,VC++; 目录目录第一章第一章 绪论绪论..................................................................................................................1 11.1 信息安全和身份认证 ............................................1 1.2 身份认证现状和前景 ............................................1 1.3 论文实现的主要内容 ............................................2第二章第二章 相关技术介绍相关技术介绍..................................................................................................3 32.1 信息加密技术 ..................................................3 2.1.1 信息-摘要算法(MD5 算法) ..................................3 2.1.2 对称密钥体制 ..............................................4 2.2 身份认证技术 ..................................................5 2.2.1 认证技术...................................................5 2.2.2 基于智能卡的认证机制.......................................5 2.3 文件过滤驱动 ..................................................6 2.3.1 过滤驱动的概念.............................................6 2.3.2 过滤驱动的作用 ............................................6第三章第三章 设计过程设计过程..........................................................................................................8 83.1 文件过滤驱动 ..................................................9 3.1.1 创建一个文件过滤驱动需要的 INF 文件.........................9 3.2 实现过滤驱动的基本步骤 ........................................9 3.2.1 附着操作...................................................9 3.2.2 创建指向身份认证模块的 IRP ................................10 3.2.3 完成例程..................................................10 3.3 MD5 身份认证模块.............................................11 3.3.1 基于 USB Key 的认证实现....................................12 3.3.2 MD5 算法在身份认证中的作用................................13 3.4 文件加密部分设计 .............................................14 3.4.1 加/解密算法...............................................144.4.系统检测与结果分析系统检测与结果分析..............................................................................................17174.1 系统测试 .....................................................17 4.2 实验结果 .....................................................17 4.3 存在的不足和解决方法 .........................................17 4.4 总结 .........................................................17致谢致谢..............................................................................................................................1818参考文献参考文献......................................................................................................................19191第一章第一章 绪论绪论1.11.1 信息安全和身份认证信息安全和身份认证随着互联网的不断发展,社会信息化的程度也在不断提高,大到国家军事政治等机密安全,小到如防范商业企业机密泄露、个人信息的泄露等。
网络环境下的信息安全体系是保证信息安全的关键,包括计算机安全操作系统、各种安全协议、安全机制,直至安全系统,其中任何一个安全漏洞便可以威胁全局安全为了保障个人信息的安全,人们采用了各种方法来保障自己系统的安全本文利用的是身份认证技术来给自己的加密文件添上一层安全屏蔽认证技术是信息安全理论与技术的一个重要方面,它主要包括信息认证与身份认证两个方面的内容,信息认证用于保证信息的完整性与抗否认性,身份认证则用于鉴别用户身份,限制非法用户访问资源其中,身份认证是安全技术的一个重要方面,在用户访问 USB Key 硬件中的文件时,必须通过某种形式的身份验证机制来证明他们的身份,验证用户的身份与所宣称的是否一致,然后才能实现对硬件中加密文件的访问,身份认证是安全系统中的第一道关卡,用户在访问安全系统之前,首先经过身份认证系统识别身份,然后由安全系统根据用户的身份和授权数据库决定用户是否能够访问某个资源1.21.2 身份认证现状和前景身份认证现状和前景目前国内很多网络应用程序使用的认证方法都是最简单的口令形式类似于 Unix 操作系统登陆过程中输入用户名/口令的基本认证方式就是系统事先保存每个用户的二元组信息(IDx,PWx)。
进入系统时用户 X 输入用户名和口令,系统根据保存的用户信息与用户输入的信息相比较,从而判断用户身份的合法性,这种身份认证方法很不安全,极易受到攻击另一种应用较多的认证技术是基于证书的数字签名认证技术如:Kerberos 协议和 PKI 协议认证技术,这种基于证书的认证技术必须以完善的证书授权中心 CA 体系为基础,需要建立一个法律上合法、公正的第三方参与认证,此种认证方式在安全性上有了很大的提高,是目前国际上研究的重点本论文中身份认证模块是当用户欲进入 USB Key 中查找自己所需的加密文件时,在过滤驱动中加载的能检测到 UBS Key 中是否有加密文件的函数,如果检测到有加密文件,则弹出窗口让用户输入身份2认证信息,如果正确则用户进入 USB Key 中使用加密文件,若不正确则不能使用本论文设计的身份认证技术与国内中大多数使用的身份认证技术有很大区别,只是简单的利用了身份认证的原理,并没有做太多深入的研究,只是众多身份认证形式中的一种,即利用 USB Key 中内置的密码算法实现对用户身份的认证在现实社会中,身份认证的形式还有很多,目前存在的很多统一身份认证系统主要采用了目录服务技术,使用目录服务器中存储用户的信息,在应用服务器遵从统一的目录服务标准的情况下,和目录服务器通信,进行统一认证。
1.31.3 论文实现的主要内容论文实现的主要内容本文的研究内容是为文件加密系统设计一个用户身份认证系统,该系统要研究根据对 USBKey 中加密文件的访问权限进行身份认证,针对对 I/O 管理器发出的 IRP 进行截断,并由过滤驱动对 IRP 信号进行修改,以达到可以进行身份认证同时,利用过滤驱动实现对 USBKey 中文件加/解密最终完成针对 USB Key 中加密文件,可以通过身份认证验证是否进行文件的读写权限3第二章第二章 相关技术介绍相关技术介绍2.12.1 信息加密技术信息加密技术2.1.12.1.1 信息信息- -摘要算法(摘要算法(MD5MD5 算法)算法)信息摘要简要地描述了一份较长的信息或文件,它可以被看做一份长文件的“数字指纹” 信息摘要用于创建数字签名,对于特定的文件而言,信息摘要是唯一的,信息摘要可以被公开,它不会透漏相应文件的任何内容这是一种与消息认证码结合使用以确保信息完整性的技术主要使用单向散列函数算法,可用于检验消息的完整性,和通过散列密码直接以文本形式保存等,目前广泛使用的算法有 MD4、MD5、SHA-1.MD5(MD 表示信息摘要)是由 Ron Rivest 设计的专门用于加密处理的,并广泛使用的 HASH 函数,它们产生一种 128 位信息摘要,除彻底搜寻外,没有更快的方法对其加以攻击,而其搜索时间一般需要1025 年之久。
对 MD5 算法简要的叙述可以为: MD5 以 512 位分组来处理输入的信息,且每一分组又被划分为 16 个 32 位子分组,经过了一系列的处理后,算法的输出由四个 32 位分组组成,将这四个 32 位分组级联后将生成一个 128 位散列值在 MD5 算法中,首先需要对信息进行填充,使其字节长度对 512 求余的结果等于 448因此,信息的字节长度(Bits Length)将被扩展至 N*512+448,即 N*64+56 个字节(Bytes) ,N 为一个正整数填充的方法如下,在信息的后面填充一个 1 和无数个 0,直到满足上面的条件时才停止用 0 对信息的填充然后,在在这个结果后面附加一个以 64 位二进制表示的填充前信息长度经过这两步的处理,现在的信息字节长度=N*512+448+64=(N+1)*512,即长度恰好是512 的整数倍这样做的原因是为满足后面处理中对信息长度的要求 MD5 中有四个 32 位被称作链接变量(Chaining Variable)的整数参数,他们分别为:A=0x01234567,B=0x89abcdef。