摘 要:可信计算机是目前计算机安全领域研究的热点,结合嵌入式系统的研究,在通用计算机的主板上内置一个嵌入式安全系统ESM ,通过在通用计算机内部增加硬件和软件控制来增强通用计算机的安全性,从而达到建立一个可信计算机系统的要求。ESM 包括一个硬件模块和一个微型的操作系统,设计灵活,扩充性好,能将计算机的功能进一步地扩大和延伸,使其成为一个更加安全可靠,并且适用范围更广的安全计算机系统。本文引用地址:http://www.eepw.com.cn/article/202314.htm
计算机的安全涉及从计算机底层硬件一直到应用程序的各个环节。为了增强计算的安全性,从计算机底层到应用程序、从硬件到软件必须有一套完整的安全设计方案。如何从计算机底层硬件体系结构入手,增强计算机的安全性,是研究热点之一。通过对可信技术[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 设计