毕业论文--一种基于USB的PC启动加密方法的设计与实现.doc_第1页
毕业论文--一种基于USB的PC启动加密方法的设计与实现.doc_第2页
毕业论文--一种基于USB的PC启动加密方法的设计与实现.doc_第3页
毕业论文--一种基于USB的PC启动加密方法的设计与实现.doc_第4页
毕业论文--一种基于USB的PC启动加密方法的设计与实现.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

华中师范大学毕 业 论 文论文题目:一种基于USB的PC启动加密方法的设计与实现姓 名:_陈梦娟_ _ 学 号:_1411811004_函授站: _江西函授站_ _专 业:_计算机科学与技术_指导教师:_ 黄建宇_ _ 二一三年 三月毕业论文承诺书本人承诺:本人已经了解华中师范大学的毕业论文写作的有关规定;本人的论文是在指导教师指导下独立完成的研究成果。整篇论文除了文中已注明出处或引用的内容外,绝没有侵犯他人知识产权。对本论文所涉及的研究工作做出贡献的个人和集体,均已在文中以明确方式注明。签 名:_陈梦娟_ 日 期:_2013年3月10日_一种基于USB的PC启动加密方法的设计与实现 华中师范大学继续教育学院 计算机科学与技术2011级学生:陈梦娟目 录一.绪论5二.PC固件CMOS加密方式存在隐患及不足5三相关知识、软件和技术简介63.1MBR的主要功能和工作流程63.2 grub的工作原理63.3 kexec的原理7四基于USB的PC启动加密方法的设计与实现84.1设计方案概述84.2设计方案原理及详解8五. 结论9参考文献11一种基于USB的PC启动加密方法的设计与实现【摘要】随着信息技术的发展与广泛应用,无论在商业领域,还是在金融等领域,信息安全都显得非常重要。本文在常用的加密技术的基础上进行了一系列改进和创新,以实现对计算机启动更可靠的加密,提高数据的安全性。在研究对比了现行的多种加密技术之后,本文的基本思路是:通过加密硬盘的主引导记录防止非法开机,而加密MBR会导致计算机无法引导,这就必须借助另一个操作系统来完成MBR的解密工作,本文借助kexec工具在先启动的操作系统运行时替换成另一个操作系统,相比2个操作系统分开启动减少了一次BIOS自检,节约启动时间。通过内核替换方式启动另一个操作系统可以将解密过程置于2个操作系统切换之间,执行时间非常短,解密的中间结果仅仅短时间存在于内存中,提高关键数据(MBR)的安全性。【关键词】 加密 kexec grub 主引导记录一.绪论随着信息技术的发展,信息安全面临着越来越严峻的挑战。危害信息安全的事件层出不穷,数据窃取事件每天都在发生,传统安全设备的加密性能偏弱,CMOS密码等古老的防护措施易于绕行,而伴随着人们对计算机加密的诉求越来越高,各种安全防护措施应运而生沈昌祥,张焕国,冯登国等. 信息安全综述. 中国科学E辑:信息科学J.2007, 37(2): 129-150。本文借助几项常用技术的结合,旨在设计一种简单易行的PC启动加密技术。相对于传统安全保护方式更加安全有效。它克服了CMOS因放电完毕而产生的口令绕行现象,提高数据安全性。采用常见工具U盘作为基础实验设备,而U盘在我们生活随处可见,携带方便,成本低廉,因而很容易找到大量资源,而且很方便实现量产。二.PC固件CMOS加密方式存在隐患及不足CMOS加密,实际上就是在计算机对硬件完成自检后,强制中断对其他硬件设备的检测,加入一个口令确认窗口,如果口令输入错误,那么硬件的检测将被停止。若是连续3次都没有输入正确的口令,则系统将被彻底锁死,唯一的解决办法就是重新启动计算机并再次输入正确的口令。可见,对于一般用户而言,采用CMOS加密能够在启动计算机的时候就增加了一道防护措施。CMOS密码的设置根据用户设置的不同,一般分为两种不同类型的密码:一种就是Supervisor密码(超级用户密码);另一种是User密码(普通用户密码),超级密码相比用户密码可以进入BIOS设置菜单对所有项目进行修改,但是这两类密码都可以破解,权限的高低在破解方法面前全然没有了意义。基于硬件CMOS的安全加密方式可利用“硬”、“软”两方面来破解,具体方法如下:1.“硬”解除方法:将主板上的CMOSRAM进行放电处理,使存储在CMOSRAM中的参数得不到正常的供电导致内容丢失,从而起到解除CMOS密码的目的。操作也很简单:打开机箱,短接电池两个引脚约两秒钟后,将硬盘或光驱、软驱的数据线从主板上拔掉,然后再启动计算机,BIOS会在自检时报告错误并自动进入CMOS,此时就可以重新设置BIOS内容了。2.“软”解除方法:CMOS密码根据需要,可设为普通级用户密码和超级用户级密码两种。前者只是限制对BIOS的修改,可以正常启动电脑和运行各类软件,而后者则对进入电脑和BIOS完全禁止。一种方法是用DOS启动盘启动电脑,进入DOS状态,在DOS命令行输入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-0088H),它负责从活动分区中装载,并运行系统引导程序。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 AA结束标志3.2 grub的工作原理Grub是一种开源操作系统装载程序,用于加载操作系统的内核,为很多开源操作系统采用,国内某开源社区在grub的基础上发展了Grub4Dos GRUB4DOS and WINGRUB EB/OL.(2011-04-21) 2012-03-20. /。能正常工作的grub应该包括一下文件:stage1、stage2、*stage1_5、以及相应的配置文件。stage1被安装硬盘的主引导记录,或者某个活动分区启动扇区,也可是光盘、半导体存储设备等,主要的作用是定位stage2文件完成后续的工作。stage2文件存在特定文件系统中。stage1容量有限,无法识别文件系统,stage1_5的文件负责解释文件系统。Grub简单开机过程如下:按下电源后,计算机自检(POST),如果硬件设备(CPU、内存、硬盘、光驱、各种卡)都没有问题,BIOS会检查各个硬盘的MBR,看有没有可以执行的代码,如果你把grub安装到第一个硬盘的MBR上,那BIOS就会找到它,然后把控制权交个这段代码(其实就是512字节大小的 stage1)。 stage1根据安装时提供的信息,如stage2在什么地方,需不需要加载文件系统的对应的stage1_5文件等,找到stage2文件,并把控制权交给stage2。 stage2会需要特定位置的grub配置文件menu.lst文件(此文件是/boot/gurb/gurb.conf的链接文件),如果找到,就分析其中的内容,形成操作系统选择菜单(Grub管它叫Menu Interface),如果没有找到menu.lst或者这个文件的格式、内容有错误,那就显示grub的命令行提示符。 当你选择了菜单中相应的条目,或者输入了相关的命令,就可以看是引导系统了。比如引导linux的话,stage2会负责将vmlinuz 和initrd(如果有的话)装载到内存,并把控制权交给vmlinuz。 linux的内容完成对硬件的初始化,并把控制权交给init程序,完成后续的工作了。3.3 kexec的原理kexec是一种成熟的fastboot技术,由IBM公司的Eric Biederman于2001年设计,是一种快速切换系统内核的Linux系统内核机制,最初作为一个系统补丁发布,自2.6.13内核版本之后,正式被Linux内核接收。目前由Simon HormanSimon Horman. Kexec. EB/OL.(2010) 2012-03-20. /projects/kexec/维护。Kexec可以从当前运行的内核不需硬件系统停机而直接引导到一个新的内核。Kexec越过硬件重启、BIOS自检以及Bootloader加载阶段,直接跳转到新内核,可以避开操作系统引导序列中固件和Bootloader环节,加速操作系统的重新启动,减少系统启动的时间耗费。Kexec存在的缺陷在于可能导致设备的稳定性差,没有固件的初始化,内核可能无法取得设备初始化时反馈的稳健状态,可能导致设备不可靠。Kexec分为两部分,分别工作在用户态和内核态,一个是用户态的工具,即“kexec-tools”,一个是内核态部分已经包含在内核中。用户态的主要功能是执行kexec的装载,分析装入内核文件格式等。内核态负责处理kexec装载和执行过程中系统调用以及新内核的启动。Kexec分三个阶段执行新内核的启动:将新内核拷贝到内存中;将这个新内核放置在动态内核的内存的位置;将新内核放置在目标地址并覆盖原内核,然后启动新内核。其中前两步完成于内核装载期间,分析内核文件,理论上可以引导任何文件,kexec对支持的内核文件做了严格的限制,仅仅支持可执行链接格式(Executable and Linking Format,ELF)的内核。ELF文件格式由UNIX 系统实验室开发,作为应用程序二进制接口的一部分,是一种可移植的目标文件格式,适用于多种操作系统。其目的是为开发人员提供一组二进制接口定义,减少重复编译和编程,加强代码复用。ELF文件格式包含目标模块格式、可执行文件格式以及调试记录信息与格式。图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. /developerworks/linux/library/l-kexec.html.Cristina B, Sebastian G. Freeboo: an open architecture 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设计方案概述由于常用加密保护方式存在诸多隐患和不足,为此,本文采取一种新的安全保护方式,来提高计算机特别是涉密计算机的安全性,从而作为一种加密技术的补充,防止计算机内信息被非法窃取。本文从其他加密防护措施存在不足入手,利用常见工具U盘,以及简单而有效的措施实现计算机启动防护,防止非授权用户启动操作系统。具体实现步骤如下:Step1:设置从USB设备优先启动。Step2:首先在U盘中安装微型Linux操作系统。Step3:在该操作系统中安装kexec和grub4dos两个工具。Step4:在进入Linux系统后,加密MBR,此时的加密为了验证程序的便利仅仅加密了MBR的前10个字节,加密非法是与0xff异或计算得到的按位取反的值。Step5:利用kexec替换内核,启动grub4dos管理引导程序。Step6:grub4dos从电脑硬盘读入进行过加密处理的MBR,然后对其进行解密得到初始MBR。Step7:执行解密后的MBR,启动硬盘中的Windows系统。4.2设计方案原理及详解目前通用程度较高的X86系列计算机的启动流程如下:图2 x86系列计算机正常启动流程图本文的方法是通过加密MBR,使得硬盘中系统无法正常启动,在U盘中linux下将其读入内存中解密,从而实现正常引导硬盘中Windows系统。图3 基于USB的PC启动加密方案原理图引导部分,是指从U盘中Linux操作系统引导至硬盘中Windows操作系统的过程。进入Linux系统后,加载相关应用。可以使用加密功能对硬盘中MBR进行加密得MBR,使得硬盘中Win

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论