一种基于USB的PC启动加密方法的设计与实现 毕业论文.doc

上传人:小小飞 文档编号:3905476 上传时间:2019-10-10 格式:DOC 页数:11 大小:277.02KB
返回 下载 相关 举报
一种基于USB的PC启动加密方法的设计与实现 毕业论文.doc_第1页
第1页 / 共11页
一种基于USB的PC启动加密方法的设计与实现 毕业论文.doc_第2页
第2页 / 共11页
一种基于USB的PC启动加密方法的设计与实现 毕业论文.doc_第3页
第3页 / 共11页
一种基于USB的PC启动加密方法的设计与实现 毕业论文.doc_第4页
第4页 / 共11页
一种基于USB的PC启动加密方法的设计与实现 毕业论文.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《一种基于USB的PC启动加密方法的设计与实现 毕业论文.doc》由会员分享,可在线阅读,更多相关《一种基于USB的PC启动加密方法的设计与实现 毕业论文.doc(11页珍藏版)》请在三一文库上搜索。

1、华中师范大学毕 业 论 文论文题目:一种基于USB的PC启动加密方法的设计与实现姓 名:_ _ _ 学 号:_1411811004_函授站: _江西函授站_ _专 业:_计算机科学与技术_指导教师:_ _ _ 二一三年 三月毕业论文承诺书本人承诺:本人已经了解华中师范大学的毕业论文写作的有关规定;本人的论文是在指导教师指导下独立完成的研究成果。整篇论文除了文中已注明出处或引用的内容外,绝没有侵犯他人知识产权。对本论文所涉及的研究工作做出贡献的个人和集体,均已在文中以明确方式注明。签 名:_ _ 日 期:_2013年3月10日_一种基于USB的PC启动加密方法的设计与实现 目 录一.绪论5二.P

2、C固件CMOS加密方式存在隐患及不足5三相关知识、软件和技术简介63.1MBR的主要功能和工作流程63.2 grub的工作原理63.3 kexec的原理7四基于USB的PC启动加密方法的设计与实现84.1设计方案概述84.2设计方案原理及详解8五. 结论9参考文献11一种基于USB的PC启动加密方法的设计与实现【摘要】随着信息技术的发展与广泛应用,无论在商业领域,还是在金融等领域,信息安全都显得非常重要。本文在常用的加密技术的基础上进行了一系列改进和创新,以实现对计算机启动更可靠的加密,提高数据的安全性。在研究对比了现行的多种加密技术之后,本文的基本思路是:通过加密硬盘的主引导记录防止非法开机

3、,而加密MBR会导致计算机无法引导,这就必须借助另一个操作系统来完成MBR的解密工作,本文借助kexec工具在先启动的操作系统运行时替换成另一个操作系统,相比2个操作系统分开启动减少了一次BIOS自检,节约启动时间。通过内核替换方式启动另一个操作系统可以将解密过程置于2个操作系统切换之间,执行时间非常短,解密的中间结果仅仅短时间存在于内存中,提高关键数据(MBR)的安全性。【关键词】 加密 kexec grub 主引导记录一.绪论随着信息技术的发展,信息安全面临着越来越严峻的挑战。危害信息安全的事件层出不穷,数据窃取事件每天都在发生,传统安全设备的加密性能偏弱,CMOS密码等古老的防护措施易于

4、绕行,而伴随着人们对计算机加密的诉求越来越高,各种安全防护措施应运而生沈昌祥,张焕国,冯登国等. 信息安全综述. 中国科学E辑:信息科学J.2007, 37(2): 129-150。本文借助几项常用技术的结合,旨在设计一种简单易行的PC启动加密技术。相对于传统安全保护方式更加安全有效。它克服了CMOS因放电完毕而产生的口令绕行现象,提高数据安全性。采用常见工具U盘作为基础实验设备,而U盘在我们生活随处可见,携带方便,成本低廉,因而很容易找到大量资源,而且很方便实现量产。二.PC固件CMOS加密方式存在隐患及不足CMOS加密,实际上就是在计算机对硬件完成自检后,强制中断对其他硬件设备的检测,加入

5、一个口令确认窗口,如果口令输入错误,那么硬件的检测将被停止。若是连续3次都没有输入正确的口令,则系统将被彻底锁死,唯一的解决办法就是重新启动计算机并再次输入正确的口令。可见,对于一般用户而言,采用CMOS加密能够在启动计算机的时候就增加了一道防护措施。CMOS密码的设置根据用户设置的不同,一般分为两种不同类型的密码:一种就是Supervisor密码(超级用户密码);另一种是User密码(普通用户密码),超级密码相比用户密码可以进入BIOS设置菜单对所有项目进行修改,但是这两类密码都可以破解,权限的高低在破解方法面前全然没有了意义。基于硬件CMOS的安全加密方式可利用“硬”、“软”两方面来破解,

6、具体方法如下:1.“硬”解除方法:将主板上的CMOSRAM进行放电处理,使存储在CMOSRAM中的参数得不到正常的供电导致内容丢失,从而起到解除CMOS密码的目的。操作也很简单:打开机箱,短接电池两个引脚约两秒钟后,将硬盘或光驱、软驱的数据线从主板上拔掉,然后再启动计算机,BIOS会在自检时报告错误并自动进入CMOS,此时就可以重新设置BIOS内容了。2.“软”解除方法:CMOS密码根据需要,可设为普通级用户密码和超级用户级密码两种。前者只是限制对BIOS的修改,可以正常启动电脑和运行各类软件,而后者则对进入电脑和BIOS完全禁止。一种方法是用DOS启动盘启动电脑,进入DOS状态,在DOS命令

7、行输入debug回车,而后输入:-o 70 00-o 71 00-q解除CMOS密码,重新启动电脑,系统会告诉你CMOS参数丢失,要求你重新设定CMOS参数。经过验证,该方法简单有效。另一种方法是使用免费软件BiosPwds可以直接读取CMOS密码。三相关知识、软件和技术简介3.1MBR的主要功能和工作流程主引导扇区(Master Boot Record)位于硬盘的0柱面0磁头1扇区,该记录占用一个扇区即512个字节,它先于操作系统启动,硬件自检完成后运行,并将系统控制权交给指定的操作系统区。一个扇区的硬盘主引导记录MBR由如表1所示的4个部分组成。1.主引导程序(偏移地址0000H-0088

8、H),它负责从活动分区中装载,并运行系统引导程序。2.出错信息数据区,偏移地址0089H-00E1H为出错信息,00E2H-01BDH全为0字节。3.分区表(DPT,Disk Partition Table)含4个分区项,偏移地址01BEH-01FDH,每个分区表项长16个字节,共64字节为分区项1、分区项2、分区项3、分区项4。4.结束标志字,偏移地址01FE-01FF的2个字节值为结束标志55AA,如果该标志错误系统就不能启动。 表1 MBR的组成结构0000-0088主引导程序主引导程序0089-01BD数据区数据区01BE-01FD分区项1-4(164字节)分区表01FE-01FF55

9、 AA结束标志3.2 grub的工作原理Grub是一种开源操作系统装载程序,用于加载操作系统的内核,为很多开源操作系统采用,国内某开源社区在grub的基础上发展了Grub4Dos GRUB4DOS and WINGRUB EB/OL.(2011-04-21) 2012-03-20. http:/ stage1)。 stage1根据安装时提供的信息,如stage2在什么地方,需不需要加载文件系统的对应的stage1_5文件等,找到stage2文件,并把控制权交给stage2。 stage2会需要特定位置的grub配置文件menu.lst文件(此文件是/boot/gurb/gurb.conf的链接

10、文件),如果找到,就分析其中的内容,形成操作系统选择菜单(Grub管它叫Menu Interface),如果没有找到menu.lst或者这个文件的格式、内容有错误,那就显示grub的命令行提示符。 当你选择了菜单中相应的条目,或者输入了相关的命令,就可以看是引导系统了。比如引导linux的话,stage2会负责将vmlinuz 和initrd(如果有的话)装载到内存,并把控制权交给vmlinuz。 linux的内容完成对硬件的初始化,并把控制权交给init程序,完成后续的工作了。3.3 kexec的原理kexec是一种成熟的fastboot技术,由IBM公司的Eric Biederman于20

11、01年设计,是一种快速切换系统内核的Linux系统内核机制,最初作为一个系统补丁发布,自2.6.13内核版本之后,正式被Linux内核接收。目前由Simon HormanSimon Horman. Kexec. EB/OL.(2010) 2012-03-20. http:/ and Linking Format,ELF)的内核。ELF文件格式由UNIX 系统实验室开发,作为应用程序二进制接口的一部分,是一种可移植的目标文件格式,适用于多种操作系统。其目的是为开发人员提供一组二进制接口定义,减少重复编译和编程,加强代码复用。ELF文件格式包含目标模块格式、可执行文件格式以及调试记录信息与格式。图

12、1 kexec运行过程中的内存分布kexec 还分配了一个用来存储汇编代码的小存根(small stub)的内核页,称为 reboot_code_buffer 。这个存根完成用将要重新启动到的内核来覆盖当前内核并跳转到它的实际工作。一旦内核映像被装载,系统就可以重新启动到它。使用 kexec -e 命令来开始真正重新启动到新内核Hariprasad Nellitheertha. Reboot linux faster using kexec. EB/OL.(2004-05-04) 2012-03-20. http:/ B, Sebastian G. Freeboo: an open archi

13、tecture for network dual boot. Linux JournalJ. 2009,(180).Nichamon N, Narate T, Chokchai L et al. Benefits of software rejuvenation on hpc systems. International Symposium on Parallel and Distributed Processing with ApplicationC. 2010:499-506.。四基于USB的PC启动加密方法的设计与实现4.1设计方案概述由于常用加密保护方式存在诸多隐患和不足,为此,本文采

14、取一种新的安全保护方式,来提高计算机特别是涉密计算机的安全性,从而作为一种加密技术的补充,防止计算机内信息被非法窃取。本文从其他加密防护措施存在不足入手,利用常见工具U盘,以及简单而有效的措施实现计算机启动防护,防止非授权用户启动操作系统。具体实现步骤如下:Step1:设置从USB设备优先启动。Step2:首先在U盘中安装微型Linux操作系统。Step3:在该操作系统中安装kexec和grub4dos两个工具。Step4:在进入Linux系统后,加密MBR,此时的加密为了验证程序的便利仅仅加密了MBR的前10个字节,加密非法是与0xff异或计算得到的按位取反的值。Step5:利用kexec替

15、换内核,启动grub4dos管理引导程序。Step6:grub4dos从电脑硬盘读入进行过加密处理的MBR,然后对其进行解密得到初始MBR。Step7:执行解密后的MBR,启动硬盘中的Windows系统。4.2设计方案原理及详解目前通用程度较高的X86系列计算机的启动流程如下:图2 x86系列计算机正常启动流程图本文的方法是通过加密MBR,使得硬盘中系统无法正常启动,在U盘中linux下将其读入内存中解密,从而实现正常引导硬盘中Windows系统。图3 基于USB的PC启动加密方案原理图引导部分,是指从U盘中Linux操作系统引导至硬盘中Windows操作系统的过程。进入Linux系统后,加载

16、相关应用。可以使用加密功能对硬盘中MBR进行加密得MBR,使得硬盘中Windows系统无法正常启动;如果MBR已经加密,就可以使用启动另一个操作系统的功能,利用kexec切换内核,启动grub4dos管理引导程序,此处grub4dos经过修改源码,加入了解密功能,然后重新编译,grub4dos启动后自动执行预先设定的启动脚本,读取硬盘中加密后的MBR,对其进行解密处理后,解密后校验并执行,即可引导进入硬盘中的Windows系统。利用kexec切换内核命令为:kexec l grub.exekexec e加密部分和解密部分,是指对于硬盘中MBR进行加解密的过程。由于在引导程序中,内存首先读取MB

17、R内容,若MBR内容正确,则该硬盘中系统可被正常引导,否则系统无法正常启动。启动linux系统,对硬盘中MBR进行加密处理,使得硬盘系统无法正常启动;在进入grub4dos后,读取硬盘中加密后MBR所得MBR,执行解密脚本后得初始MBR,grub4dos执行MBR,正常启动硬盘Windows。五. 结论本文基于USB的PC启动加密方法相对于传统安全保护方式更加安全有效,它克服了CMOS因放电完毕而产生的口令绕行现象,相对于简单的操作系统加密而言由于增加了对于硬盘数据的加密,因而数据安全性更高。采用常见工具U盘,携带方便,成本低廉。不足之处在于硬盘数据本身没有加密,仅仅加密了一个硬盘启动的入口,下一步的工作目标是将硬盘主体数据的加密与MBR加密结合起来,实现更加安全的加密方法。参考文献11

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1