一种可信计算机系统的设计与实现

(整期优先)网络出版时间:2019-06-05
/ 3

摘 要:可信计算机是目前计算机安全领域研究的热点,结合嵌入式系统的研究,在通用计算机的主板上内置一个嵌入式安全系统ESM ,通过在通用计算机内部增加硬件和软件控制来增强通用计算机的安全性,从而达到建立一个可信计算机系统的要求。ESM 包括一个硬件模块和一个微型的操作系统,设计灵活,扩充性好,能将计算机的功能进一步地扩大和延伸,使其成为一个更加安全可靠,并且适用范围更广的安全计算机系统。
关键词:嵌入式系统;  可信计算机;  计算机安全

计算机的安全涉及从计算机底层硬件一直到应用程序的各个环节。为了增强计算的安全性,从计算机底层到应用程序、从硬件到软件必须有一套完整的安全设计方案。如何从计算机底层硬件体系结构入手,增强计算机的安全性,是研究热点之一。通过对可信技术[122 ]的研究,结合嵌入式技术,设计并实现了一种基于嵌入式方式的可信计算机方案,该方案在通用计算机主板上嵌入一个嵌入式安全模块ESM ( Embedded Security Module) ,从而能够从硬件底层到操作系统、从硬件到软件都做出改进,构成一个较完整的安全体系结构。ESM 模块将计算机的功能进一步地扩大和延伸。基于这一系统,能够开发出一个更加安全可靠,并且适用范围更广的可信计算机。
1 ESM 概述
目前嵌入式系统在计算机的各个领域都有广泛的应用[324 ] 。ESM 也是一个成功应用的嵌入式系统。代写毕业论文从结构上来说,ESM 主要由一个嵌入式硬件模块和一个微型的嵌入式操作系统JetOS 组成。ESM 是嵌入在主板上的,并从硬件上增加了对主板上南桥芯片的直接控制能力。同时,它还控制着一个智能卡接口,任何用户使用计算机必须插入表明其身份的智能卡以后才能正常加电启动计算机。通过这2 个重要的硬件改进,结合其内部的JetOS ,ESM 能够自如地控制主机上的资源以及使用者的权限。从而使整个系统的安全性得到了很大的增强。ESM 的软件核心是JetOS。JetOS 本身采用了一定的安全策略以达到用户安全使用计算机的目的,JetOS 与主机采用双向通讯的方式。JetOS 通过接收主机OS 的各种命令调用,然后返回处理结果来提供相应的安全功能;同时,JetOS 能够主动控制主机,通过这种主动控制,可以更好地监控用户对通用计算机使用中的不安全因素。图1 显示了软件的层次结构。
前面提到了ESM 还提供了智能卡操作的接口,图2 表示增加了智能卡接口以后的三级结构。当前,智能卡可以提供诸如身份认证,电子签名、权限管理等诸多安全功能。智能卡应用也是嵌入式系统应用的一个发展趋势。ESM 通过提供智能卡结口,使得主机能够很好地利用智能卡开发出各种应用程序,扩展了计算机的应用范围。
通过实验,ESM 对系统的影响非常小,用户在日常使用中根本感觉不到ESM 的存在。总之,ESM 模块将计算机的功能进一步地扩大和延伸。嵌入式的ESM 模块其本身就像一个小型的控制和管理系统,通过把它嵌入在主机主板上控制相关资源,并与主机双向通讯,使得普通计算机能够成为一个更加安全可靠,并且适用范围更广的安全计算机。
2 ESM 的嵌入式硬件设计
ESM 的硬件部分是一个单芯片系统。它主要是采用一个微处理器[5 ]进行主控制及处理工作,外部连接有各种外部设备和I/ O ,这些外部设备用来提供各种接口及I/ O 操作,比如USB 接口、智能卡接口、以及同主板之间的接口。ESM 本身提供了2 个大容量的存储设备用来装载和运行相应的控制程序。同时, ESM和主板也有直接的连接,并且采用了2 种不同的连接方式: GPIO 方式和I2C方式。这2 种方式分别完成2种不同的功能。GPIO 用来进行数据传输, I2C用来控制主板外设。
在ESM 模块内部采用了几种不同的总线方式,采用多总线复合的结构,可以带来2 个明显的好处:不同的应用采用不同的协议传输,使得各种不同的应用能够满足自己的一套标准和速率要求;利用不同速率的总线协议传输可以有效地改善系统的传输效率。通过对传输数据类型的分类,比如慢速量小的命令控制类数据采用自定义的GPIO 协议,而快速量大的数据操作则采用USB 或PCI 方式,这样数据传输之间不需要相互等待,有效弥补慢速设备带来的速度缺陷。
1) 内部总线 微控制器内部提供了内部总线驱动接口,它控制内部的地址、数据和控制总线,如图3 所示。从总线结构图可以看到,几乎所有的外部设备都是通过CPU 的内部总线同CPU 进行交互的,但是通过CPU 内部寄存器的设置,可以调整总线宽度,从而可以实现8 位和16 位外设的同时操作。内部总线是ESM的基本架构,它将承载ESM 内部的绝大多数的数据流和指令流。
2) GPIO 协议通讯 GPIO 协议是ESM 自定义的,代写留学生论文用来和主机进行通讯的一种特殊的总线形式。它的基本架构如图4 所示。利用CPU 提供的可编程的PIO 引脚引出3 根GPIO 信号线,代写硕士论文分别用来作为中断信号线、数据信号线和时钟信号线。它的另一端直接连接在主板的南桥引脚上,南桥的引脚同样也是可编程的GPIO 信号线,操作原理一致,从而可以实现双向的数据通讯。GPIO 协议主要一个慢速的数据通讯协议,用来处理低速少量数据流。在ESM 中,GPIO 是主机和ESM 之间的控制命令通道,对于少量的命令数据来说,GPIO 协议已经足够了。


3) I2C协议通讯 I2C总线是用于低速设备互联的一种串行总线协议。它是一种双总线结构,通过定义挂接在总线上的设备的地址,主从关系,可以很容易地实现多设备之间的访问。ESM 中利用一个标准的I2C接口芯片,可以将并行数据输入转换为I2C格式的数据输出,输出数据用来控制一个I2C的从设备,如图5所示。
4) PCI 总线 在总线结构图上可以看到,CPU 并没有提供PCI 的接口控制电路,ESM 是通过一个具有PCI 接口的密码协处理器来使用PCI 总线同主机通讯的,这也是硬件体系结构一个创新的地方。ESM 提供的安全功能中有数据加解密功能,而数据加解密涉及到大量数据的交换,自定义的GPIO 协议通讯方式或低速USB 方式都很难满足速度上的要求,这就必然要引入一个高速总线接口,密码协处理器就是一个很好的切入点。它本身并不是为此而引入的,密码协处理器主要提供对非对称密码运算的支持,通过它可以快速实现电子签名、运行认证算法以及密钥的生成等。使用带PCI 接口的密码协处理器可以很好地解决ESM 的速度瓶颈,可以有效地缓解利用低速GPIO 接口带来的传输方面的限制。
3 ESM 的嵌入式操作系统JetOS 设计
ESM 还包括一个嵌入式操作系统JetOS ,主要负责对嵌入式模块的管理。JetOS 的软件模块主要分为6大部分:主控系统、通讯系统、命令处理系统、智能卡接口模块、文件系统、密钥管理系统。每一个都和其他的模块有一定的联系,但并不是全互联的。图6 表明了其结构。
1) 主控系统 主控系统负责监控通讯通道,同时要控制ESM 自身系统的安全和稳定运行。与它有联系的有3 个子系统:通讯子系统、命令处理子系统和智能卡接口子系统。因此它要控制并管理这3 个子系统的正常运行,他们之间主要是调用和被调用的关系:代写医学论文主控系统会监控系统异常和正常事件的发生,一旦被激活,它会调用通讯系统与主机通讯,接收命令,转而调用命令处理子系统,对主机的要求做出响应。如果是和智能卡相关的,它会直接调用智能卡接口模块。主控模块并不直接和文件系统以及密钥管理系统关联,它只是通过命令处理系统来调用。主控系统还执行有权限的开关机功能,这也是通过对智能卡接口模块和通讯系统的调用来实现的。
2) 通讯系统 通讯系统是ESM 和主机之间的唯一接口,是控制和主机相互通讯和传送控制命令的通道。它包含一个命令通道、一个辅助的数据通道以及一个控制用通道。命令通道提供了和主机的函数调用接口、辅助的数据通道通过PCI总线方式来传输大容量数据,主要是加解密数据、控制用通道利用I2C总线来传输控制信号控制主机外设。
3) 命令处理子系统 JetOS 提供给主机的命令调用功能都是通过命令处理子系统来实现。命令处理子系统连接了4 个主要的系统模块。由于命令处理模块要执行各种安全功能或操作,它必须能够自主调用所需要的资源。但在超循环结构中,命令处理子系统是不能自主运行的,它属于前台系统,它必须通过主控系统的调用来激活。同时它要受到主控系统的监控,代写英语论文一旦命令处理模块执行异常或碰到非法操作,主控系统会直接采取相应措施来控制主机,这是通过检测命令处理系统的返回应答码来实现的。
4) 智能卡接口模块 智能卡的硬件接口是用GPIO 实现的,在JetOS 中,需要用纯软件模拟的方式来控制智能卡设备,需要一个专门的智能卡接口模块。它通过控制GPIO 信号来与智能卡通讯,提供了一个标准的智能卡软件接口。它受主控系统的调用,同时也受命令处理系统的调用。主控系统在执行开关机权限检测或身份认证,卡异常监控等功能时,会直接调用智能卡接口来执行卡操作。而碰到通用性智能卡应用比如卡验证,加解密,圈存圈提(银行应用) 时,会由命令处理模块来发出调用命令。
5) 文件系统 在JetOS 管理ESM 并执行各项功能时,需要一个简单的文件系统来存贮各种重要的JetOS 系统文件和应用参数。文件系统同时考虑了密钥管理系统的实现,因为密钥管理系统的一部分需要文件系统的支持,同时文件系统也给ESM 系统本身功能和应用的升级留下了扩充的余地,可以在文件系统中建立多个应用文件或多个功能性文件等等。
6) 密钥管理系统 密钥管理[627 ]是实现整个ESM 系统安全的一个重要组成部分,这里考虑在JetOS 中实现一个简单的密钥管理功能,实现除了能够对自身所提供的加解密和认证签名系统提供支持外,还一定程度上实现整个系统环境下的密钥管理系统的局部功能。
应注意在JetOS 的模块图中并没有内存管理模块,并不是完全没有内存管理,只是内存管理的实现十分简单,而且由于ESM 的资源有限,实现一个完整的内存管理并没有必要,因此考虑了一种很简单的内存管理方式,在设计中采用顺序存储的方式,利用链表域来查找内存区域,内存并没有分配和回收,由于应用的特殊性,代写职称论文产生的碎片对系统性能的影响并不大。


JetOS 的总体结构设计中采用了超循环结构,那么相应的在实现策略上就应该是一种被动的方式,即ESM 系统处于一个空闲等待状态,除了一些系统自身的例行操作之外,其余时间是等待事件的发生,主要是接收主机OS 的命令,然后进入命令处理系统进行处理,并返回结果给OS ,这是超循环结构所规定的模式。但这样的模式不能实现主动控制主机的功能,所以需要改进,考虑的一种方式就是采用主动和被动相结合,JetOS 可以被动地接收主机发送的命令,也可以主动向主机发送控制信号,但主要是以被动式为主的辅助以主动控制模式,这样ESM 同时扮演主设备和从设备。这种策略的好处主要是灵活,可以很好地满足功能设计上的各种应用需求。主动控制模式可以有效地增强主机的安全性能。可以说主动控制模式才真正体现了硬件一级的安全功能。
4  结 语
ESM 可以将计算机的功能进一步地扩大和延伸,再通过对操作系统Linux 内核的改造,加入嵌入式模块的主机就成为一个真正安全、体系严密的可信计算机。该设计基于对嵌入式系统的深入研究和应用,设计思想承前启后,既继承和保留现有通用计算机的体系和优点,又极大地增强了其安全性,有很强的应用价值。


参考文献
[1 ] TCG Specification Architecture Overview. Specification Revision 1. 2 [ EB/ OL ] . http :/ / www. trustedcomputinggroup. org/downloads/ TCG- 1 - 0 - Architecture - Overview. pdf , 2004204228.
[ 2 ] Zhang Xiaolan , Jaeger Trent , Doorn Leendert Van. Design and Implementation of a TCG2based Integrity Measurement Architecture[ EB/ OL ] . http :/ / www. ece. cmu. edu/ ~adrian/ 7312sp04/ readings/ rc23064. pdf ,2007204229.
[3 ] Labrosse Jean J . uC/ OS2II 源码公开的实时嵌入式操作系统[M] . 北京:中国电力出版社,2001.
[4 ] Wolf Wayne. 嵌入式系统设计原理[M] . 北京:机械工业出版社,2002.
[5 ] Barry Barry B. Intel 微处理器全系列:结构、编程、与接口[M] . 5 版. 北京:电子工业出版社,2001.
[6 ]  周学广,刘 艺. 信息安全学[M] . 北京:机械工业出版社,2003.
[7 ]  阙喜戎,孙 锐,龚向阳,等. 信息安全原理及应用[M] . 北京:清华大学出版社,2003.