BIOS模块在风电机组安全系统中的应用研究

2017-11-06 03:22李玉山
山西电子技术 2017年5期
关键词:完整性子系统加密

李玉山

(太原重工股份有限公司,山西 太原 030024)

2017-10-10

李玉山(1988- ),男,内蒙古通辽市奈曼旗人,助理工程师,本科双学位,研究方向:风力发电机组控制系统的研发及改进。

1674- 4578(2017)05- 0090- 04

BIOS模块在风电机组安全系统中的应用研究

李玉山

(太原重工股份有限公司,山西 太原 030024)

提出一种基于BIOS模块的计算机底层输入输出安全子系统的设计方案,利用密码学提供的信息摘要、身份识别和数据加密等手段,提供计算机系统的完整性合法性检测,用户身份识别和硬盘数据保护,实现对计算机单机的安全服务。

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

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

为解决上述问题,本文对风力发电机组计算机系统的安全性及可信赖程度进行了研究,提出一种基于BIOS模块的计算机底层输入输出安全子系统的设计方案,利用密码学提供的信息摘要、身份识别和数据加密等手段,提供计算机系统的完整性合法性检测,用户身份识别和硬盘数据保护,实现对计算机单机的安全服务。

1 系统总体方案设计

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

2 系统关键技术

2.1 核心安全模块(CSM)

核心安全模块CSM集成在BIOS芯片内部,并作为独立代码单独运行。CSM的结构可分为模块自检测及密钥管理、随机数产生PRNG、加密计算引擎RD5和IDEA、散列计算引擎MD5和摘要计算引擎SHA-1六部分。其中,对于模块自检及密钥保存部分独立存储在BIOS芯片最高端的Bootblock中,该部分相对非常稳定且不容易丢失;另外,用于系统安全检测和数据加密所进行的安全、加密算法等程序通过压缩后写入BIOS芯片进行运算,通过解压缩进入内存后再执行。

图1 BIOS安全子系统所实现的功能结构

2.2 系统完整性与安全性检测模块

经研究发现,影响系统安全性与完整性的因素主要由硬件与软件两部分组成,硬件部分主要由组成系统所有设备的参数配置,而软件部分则包括构成系统子系统的基础模块代码、网卡ROM以及CPU微码等则为关键因素。采用BIOS系统可根据上述因素来判断系统完整程度和安全可靠度。通俗的讲:当系统首次运行时,BIOS子系统将首先检测整体系统的软、硬件的物理配置摘要和代码模块摘要见表1,并将检测信息记录于BIOS芯片中,视为后续系统启动的标识。

表1 物理配置摘要和代码模块摘要

定义ConfigDigest为物理配置摘要;CodeDigest为代码模块摘要;Hardware SHA Register和Code SHA Register分别为物理摘要保存结果与代码摘要保存结果[10]。

采用的摘要算法为:

输入 功能号:AH=01;

ES=摘要源码的起始段址;

DI=摘要源码的起始偏移地址;

ECX=摘要源码的长度;

输出 DS=摘要结果起始段址;

SI=摘要结果起始偏移地址;

则:C=0表示成功;C=1表示失败。

2.3 用户身份认证模块

身份认证模块可分为2部分,分别为BIOS内部数据和外置USB Key。前者为用户需要手动输入的PIN码,该认证代码为系统初始化时已有用户自定义后生成,并长期保存在BIOS的芯片内存中,以供随时调用;后者为用户外持的USB设备,里面加密存储了自身设定的认证密钥以及加密算法程序,称为USB Key[11]。当用户需要进行身份认证时,需要同时具有正确的PIN码和USB Key,具体的用户身份认证过程如图2所示。

2.4 硬盘数据加密模块

为了保证系统用户的数据安全与信息私密性,在正常使用时就必须对用户文件进行加密处理。这里采用IDEA算法与BIOS子系统配合工作,来进行文件加密[12]。文件的根密钥存储在核心安全模块中,并且与PIN码结合后可产生多个子密钥以用于不同用户进行加密。当用户需要加密某文件时,需要输入PIN码,在通过BIOS SMI计算后得到散列加密密钥,进而对实现文件加密。解密过程与之相反,用户同样需要输入解密PIN码,驱动程序调用BIOS SMI中断,然后解密[13]。图3为文件加密与解密的流程图。

图2 用户身份认证过程流程图

3 模块功能测试

1)本文通过改变硬件设备(包括:CPU、PCI硬盘和网卡等)或者软件代码(CPU微码、BIOS BootBlock代码、网卡PMO、BIOS Run-time代码等),来测试该模块的物理地址是否有变更提示,经过测试可以发现:任何改变均可导致物理配置摘要或代码摘要发生变动,导致系统不能正常启动,只有恢复默认设置后即可正常启动[14]。

2)选用10台计算机来进行用户身份检测,结果发现:当全部输入确认PIN码并插入相应的USB Key均可认证通过,输入错误PIN或者插入不匹配的USB Key均不能打开[15]。

3)选取200个不同类型的文件,分别进行不同字符的PIN码对文件进行加密,再对文件进行解密,得到的结果与原文件进行比较[16]。结果发现:该模块经过调试最终达到要求,可以正确加密/解密文件。

图3 文件加密与解密流程图

4 结论

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

[1] William Stallings.密码编码学与网络安全:原理与实践.第6版.唐明,李莉,杜瑞颖,译.北京:电子工业出版社,2015.

[2] Pollutro D V, Tran K T, Kumar S.Computer Security System :United States Patent Application 20150096010.2015.

[3] Liu H. Security and Stability Analysis Based on Computer BIOS System. Information Technology, 2014(1):174-176.

[4] Kargman J B, Scott P, Bromberger J. Computer SECURITY System and Method: US2015/039213. 2016.

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

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

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

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

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

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

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

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

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

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

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

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

ResearchontheApplicationofBIOSModuleinWindTurbineComputerSecuritySystem

Li Yushan

(TaiyuanHeavyIndustryCo.,Ltd,TaiyuanShanxi030024,China)

The article puts forward a design scheme of input and output security system on the bottom of computer based on BIOS module. With the methods of information abstract, identity identification, data encryption and others, it provides the integrity and legitimacy detection, the user identification and hard disk data protection so as to achieve the security services on single computers.

BIOS security system; integrity and legitimacy detection; user identification; hard disk data protection design

TP311

A

猜你喜欢
完整性子系统加密
不对中转子系统耦合动力学特性研究
GSM-R基站子系统同步方案研究
一种基于熵的混沌加密小波变换水印算法
驼峰测长设备在线监测子系统的设计与应用
莫断音动听 且惜意传情——论音乐作品“完整性欣赏”的意义
精子DNA完整性损伤的发生机制及诊断治疗
认证加密的研究进展
基于ECC加密的电子商务系统
基于格的公钥加密与证书基加密
车载ATP子系统紧急制动限制速度计算