BIOS模块中计算机安全问题

姓名:刘哲宁

学号16020520053

摘要:随着计算机网络化已经在各行各业中得到迅猛发展,网络信息安全越来越受到广大用户的关注,从整体网络化的信息保密到单台计算机的安全与通讯保密已然成为了研究重点。目前,计算机的单机信息保密方面的研究已经初见成效,大致可分为三方面的重点研究:数据完整与保密研究、系统完整性与可信度研究、服务拒绝研究。提出一种基于BIOS模块的计算机底层输入输出安全子系统的设计方案,利用密码学提供的信息摘要、身份识别和数据加密等手段,提供计算机系统的完整性合法性检测,用户身份识别和硬盘数据保护,实现对计算机单机的安全服务。

关键词:BIOS安全系统;完整性与合法性检测;用户身份识别;硬盘数据保护

0引言

随着计算机网络化已经在各行各业中得到迅猛发展,网络信息安全越来越受到广大用户的关注,从整体网络化的信息保密到单台计算机的安全与通讯保密已然成为了研究重点,计算机的安全因素包含完整性、数据保密及备份和服务拒绝。数据安全性研究数据的非授权存取(泄露)问题以及期望保护数据不被篡改或破坏;系统完整性及可信赖程度研究整个系统硬件及固件的非法攻击或更换问题;服务拒绝研究如何避免系统被非法使用的问题。当前的计算机安全保密技术已经实现了机箱锁加用户密码、处理器级加密、软件加密、硬件加密等保密技术。但是,这些技术均存在弊端,针对计算机单机系统的安全保密措施多数需要附加硬件或软件完成。增加硬件设备会增加系统的成本,同时增加了硬件风险,尤其对于便携式系统,会带来系统机构、耗电等诸多问题。通过软件实现的安全功能依赖于操作系统,相对于硬件加密不够安全,软件本身也需要投入较多的管理和维护。为解决上述问题,本文对计算机单机系统的安全性及可信赖程度进行了研究,提出一种基于BIOS模块的计算机底层输入输出安全子系统的设计方案,利用密码学提供的信息摘要、身份识别和数据加密等手段,提供计算机系统的完整性合法性检测,用户身份识别和硬盘数据保护,实现对计算机单机的安全服务。

1系统总体方案设计

这里选用Inter915G/ICH6芯片与3.4GPentumn4PrescottCPU,同时配合高级扩展I/O芯片、时钟控制芯片、PCI显卡、网卡、声卡等硬件设备。由于采用了Inter芯片,从而使得该系统硬件结构上能得到大大简化,并能够迅速推广并应用。该系统考虑到多类安全因素,将BIOS分为四个功能模块:核心安全模块、系统完整性与合法性检测模块、用户身份认证模块和硬盘数据加密模块。其中,核心安全模块利用密码学原理来向其他3个应用模块提供加密、散列和身份认证等核心算法,主要负责子系统的数据存储与安全密钥管理任务。

2系统关键技术

2.1核心安全模块(CSM)核心安全模块CSM集成在BIOS芯片内部,并作为独立代码单独运行。CSM的结构可分为模块自检测及密钥管理、随机数产生PRNG、加密计算引擎RD5和IDEA、散列计算引擎MD5和摘要计算引擎SHA-1六部分。其中,对于模块自检及密钥保存部分独立存储在BIOS芯片最高端的Bootblock中,该部分相对非常稳定且不容易丢失;另外,用于系统安全检测和数据加密所进行的安全、加密算法等程序通过压缩后写入BIOS芯片进行运算,通过解压缩进入内存后再执行。2.2系统完整性与安全性检测模块经研究发现,影响系统安全性与完整性的因素主要由硬件与软件两部分组成,硬件部分主要由组成系统所有设备的参数配置,而软件部分则包括构成系统子系统的基础模块代码、网卡ROM以及CPU微码等则为关键因素。采用BIOS系统可根据上述因素来判断系统完整程度和安全可靠度。通俗的讲:当系统首次运行时,BIOS子系统将首先检测整体系统的软、硬件的物理配置摘要和代码模块摘要见表1,并将检测信息记录于BIOS芯片中,视为后续系统启动的标识。定义ConfigDigest为物理配置摘要;CodeDigest为代码模块摘要;HardwareSHARegister和CodeSHARegister分别为物理摘要保存结果与代码摘要保存结果。采用的摘要算法为:输入功能号:AH=01;ES=摘要源码的起始段址;DI=摘要源码的起始偏移地址ECX=摘要源码的长度;输出DS=摘要结果起始段址;SI=摘要结果起始偏移地址;则:C=0表示成功;C=1表示失败。2.3用户身份认证模块身份认证模块可分为2部分,分别为BIOS内部数据和外置USBKey。前者为用户需要手动输入的PIN码,该认证代码为系统初始化时已有用户自定义后生成,并长期保存在BIOS的芯片内存中,以供随时调用;后者为用户外持的USB设备,里面加密存储了自身设定的认证密钥以及加密算法程序,称为USBKey。当用户需要进行身份认证时,需要同时具有正确的PIN码和USBKey2.4硬盘数据加密模块为了保证系统用户的数据安全与信息私密性,在正常使用时就必须对用户文件进行加密处理。这里采用IDEA算法与BIOS子系统配合工作,来进行文件加密。文件的根密钥存储在核心安全模块中,并且与PIN码结合后可产生多个子密钥以用于不同用户进行加密。当用户需要加密某文件时,需要输入PIN码,在通过BIOSSMI计算后得到散列加密密钥,进而对实现文件加密。解密过程与之相反,用户同样需要输入解密PIN码,驱动程序调用BIOSSMI中断,然后解密。

3模块功能测试

(1)本文通过改变硬件设备(包括:CPU、PCI、硬盘和网卡等)或者软件代码(CPU微码、BIOSBootBlock代码、网卡RMO、BIOSRun-time代码等),来测试该模块的物理地址是否有变更提示,经过测试可以发现:任何改变均可导致物理配置摘要或代码摘要发生变动,导致系统不能正常启动,只有恢复默认设置后即可正常启动;(2)选用10台计算机来进行用户身份检测,结果发现:当全部输入确认PIN码并插入相应的USBKey均可认证通过,输入错误PIN或者插入不匹配的USBKey均不能打开计算机;(3)选取200个不同类型的文件,分别进行不同字符的PIN码对文件进行加密,在对文件进行解密,得到的结果与原文件进行比较。结果发现:该模块经过调试最终达到要求,可以正确加密/解密文件。

4结论

本文所研究的基于BIOS的安全子系统将应用于普通商业用和家庭用个人计算机(包括桌面电脑和便携式电脑)的安全管理。已经提出的一种基于BIOS模块的计算机底层输入输出安全子系统,利用密码学提供的信息摘要、身份识别和数据加密等手段,通过实验均可检验系统的可行性,提供计算机系统的完整性合法性检测,用户身份识别和硬盘数据保护,实现对计算机单机的安全服务。对于未来的改进:安全子系统中获取CPU内部时钟的时间点依赖BIOS的POST过程,如果POST过程被简化,则时间间隔将缩短。在需要生成大量随机数的情况下,有可能出现随机数分布不均匀的现象。我们选择最为活跃的时钟计数器底16位就是为了避免这一现象,但由于测试方法较为简单,测试数据也不太充分,对随机数的考察与改进有待更深一步。

参考文献

[1]WilliamStallings,斯托林斯,Stallings,等.密码编码学与网络安全:原理与实践[M].电子工业出版社,2015.

[2]PollutroDV,TranKT,KumarS.Computersecuritysystem[J],2014.

[3]LiuH.SecurityandstabilityanalysisbasedoncomputerBIOSsystem[J].InformationTechnology,2014.

[4]KargmanJB,ScottP,BrombergerJ.Computersecuritysystemandmethod[J],2016.

[5]刘峰.密码学在计算机系统安全中的运用[J].计算机光盘软件与应用,2014,(4):184-185.

[6]钱红雷.计算机信息系统安全现状及分析[J].电子技术与软件工程,2015,(17):216-216.

[7]刘意先,刘宏伟.计算机安全检测与评估系统的设计与实现[J].电脑知识与技术,2014,(17):4034-4037.

[8]段晨辉.UEFIBIOS安全增强机制及完整性度量的研究[D].北京工业大学,2014.

[9]潘晓岚.计算机BIOS的安全风险及检测系统分析[J].电子技术与软件工程,2016,(17):211-211.

[10]刘含.计算机BIOS安全稳定性分析[J].信息技术,2014,(1):174-176.

[11]丁睿.基于便携密码模块的安全平台设计与实现[D].中国航天第二研究院,航天科工集团第二研究院,2015.

[12]田苗苗,崔杰.现代密码学课程教学改革若干问题研究[J].物联网技术,2016,6(10):117-117.

[13]赵丽娜,陈小春,张超,等.BIOS安全更新及保护系统设计[J].微型机与应用,2015,34(8):2-4.

[14]陶航.一种基于BIOS鉴权的安全硬盘及数据鉴权方法:CN104866437A[P],2015.

[15]王斌,谢小权.可信计算机BIOS系统安全模块的设计[J].计算机安全,2006,(9):35-37.

[16]刘炜.BIOS校验的可信操作系统启动方法[J].电子科技,2016,29(7):88-90

你可能感兴趣的:(BIOS模块中计算机安全问题)