可复用通用计算机人机交互设备的可信计算装置的制造方法
【技术领域】
[0001]本发明公开一种能够进行可信人机交互的可信计算装置,具体涉及复用通用计算机人机交互设备的可信计算附件。
【背景技术】
[0002]很多场合下,人们在通用计算机上既运行普通应用,也运行可信应用,此时,如何保证可信应用的可信性成为一个重要问题。随着Intel等处理器的发展,目前已经可以保证纯计算型任务的可信运行,但因可信应用仍然需要由运行在通用计算机上的操作系统来进行人机交互,而木马、病毒等会造成操作系统的不可信,故很难保证具有人机交互需求的应用可信运行。
[0003]为了克服由通用计算机操作系统提供人机交互支持带来的不可信问题,有的产品采用虚拟机的方式,在通用计算机上运行一个虚拟机监控器,利用此虚拟机监控器来控制人机交互设备,从而使得可信应用可以不依赖于通用计算机上的操作系统来进行人机交互。虚拟机监控器对通用计算机显卡的兼容性问题、以及虚拟机监控器为操作系统提供的虚拟显卡的性能问题,影响了此种实现方式的实用性。
[0004]在极端情况下,用户可能不得不配置一个独立的、专门用于可信计算的装置来运行可信计算,但这时会造成用户在人机交互设备上的重复投资。
【发明内容】
[0005]为了解决“在通用计算机上运行的可信应用无法拥有可信的人机交互设备”和“使用具有独立人机交互设备的可信应用计算装置成本较高”的问题,本发明提出一种可以复用通用计算机人机交互设备的可信计算附件,既实现了应用可以可信的运行和人机交互,又降低了可信计算的实施成本。
[0006]本发明提出一种可复用通用计算机人机交互设备的可信计算装置,包括运行于通用计算机的可信计算辅助软件和可与通用计算机相连接的可信计算附件,其特征为,
[0007]I)所述可信计算附件的外部接口包括:用于连接人机输入设备的人机输入接口、用于连接人机输出设备的人机输出接口、用于接收通用计算机人机输出接口的人机输出接收接口、和与所述通用计算机进行信息交互的交互接口 ;
[0008]2)所述可信计算附件在加电后,在内部创建可信代码运行环境;
[0009]3)所述可信计算附件内部具有人机输出信号生成模块和人机输出选择开关,所述人机输出选择开关可在所述可信计算附件内部程序的控制下,选择向所述人机输出接口输出所述人机输出信号生成模块产生的人机输出信号,还是输出从所述人机输出接收接口输入的人机输出信号;
[0010]4)所述可信计算附件内部具有人机输入设备模拟模块;在所述可信计算附件通过所述人机输出接口输出来自所述人机输出接收接口的人机输出信号时,所述可信计算附件从所述人机输入接口获得人机输入事件,并通过所述人机输入设备模拟模块,经由所述交互接口,向所述通用计算机提供模拟的人机输入事件;在所述可信计算附件通过所述人机输出接口输出来自所述人机输出信号生成模块产生的人机输出信号时,所述可信计算附件从所述人机输入接口获得人机输入事件,并将此人机输入事件作为可信代码运行环境的本地输入事件,而并不提交给所述人机输入设备模拟模块进行人机输入事件的模拟;
[0011]5)所述可信计算辅助软件通过所述交互接口与所述可信计算附件进行信息传递。
[0012]—般来说,所述人机输入设备为非固定连接在所述通用计算机上的键盘、鼠标、触摸球、指纹仪、麦克风等;所述人机输出设备为VGA显示器;所述可信计算附件采用USB接口连接键盘、鼠标等人机输入设备;所述可信计算附件采用一个USB接口作为与所述通用计算机进行交互的交互接口,所述USB接口还负责向所述通用计算机传递键盘操作、鼠标操作等人机输入事件。
[0013]在所述可信计算附件内部有持久存储模块,负责存储所述可信计算附件的固件和可信应用软件包,在所述可信计算附件加电(如将所述交互接口与已加电的所述通用计算机USB接口相连)后,所述固件在所述可信计算附件内部创建一个可信应用运行环境,并根据用户需要的执行相应的可信应用。
【附图说明】
[0014]图1为在典型实施方式下,本发明所述可信计算附件的部署使用方式。在使用时,将通用计算机的USB接口与所述可信计算附件的USB接口(图中将此接口标为USB-H0ST)接口相连,将通用计算机的USB键盘、鼠标连接到所述可信计算附件的USB接口(图中标为USB-1Nl和USB-1N2),将通用计算机的VGA输出接口与所述可信计算附件的VGA接口(图中标为VGA-H0ST)相连,将所述可信计算附件的VGA接口(图中标为VGA-0UT)与通用计算机的显示器相连。加电后,在所述可信计算附件内部具有可信计算运行环境,可信应用可以在此运行环境中运行;在通用计算机内部安装运行了可信计算辅助软件,所述可信计算辅助软件通过USB-HOST接口与所述可信计算附件进行通信;通用计算机也从USB 口接收所述可信计算附件通过USB-HOST接口输出的键盘鼠标事件。
[0015]图2为在典型实施方式下,本发明所述可信计算附件的外部接口和内部结构图。图中 USB-HOST、USB-1NU USB-1N2、VGA-HOST、VGA-OUT 接口与图1 中相应名字的接口相对应。为避免用户在使用时需要连接的线缆过多,在图示的结构中,所述可信计算附件内部具有USB集线器模块,从而只需将USB-HOST接口连接到通用计算机的USB接口,即可对通用计算机提供键盘、鼠标、U盘、串口等设备。USB存储模块负责将部分Flash存储器空间虚拟为通用计算机可访问的U盘,在有的实施方式中,USB存储模块还负责将部分主存虚拟为通用计算机可访问的U盘的一个分区。图中的处理器负责执行加载到主存中的固件和可信应用软件。所述可信计算附件内部还具有显示适配器,负责将图形显示命令或点阵信息转换为VGA视频信号,视频输出选择开关则用来控制最终通过VGA-OUT接口输出何种VGA信号(是来自于VGA-HOST接口的信号,还是来自所述显示适配器的信号),所述处理器可对视频输出选择开关的行为进行控制。
[0016]图3为所述可信计算附件中USB存储模块为通用计算机提供具有两个分区的U盘的一种实现方式。在本实现方式中,U盘的分区表和第二个分区都位于Flash存储器上,U盘的第一个分区则位于主存的一片连续区域。
[0017]图4为与图3对应,它显示了所述可信计算附件中的USB存储模块固件所看到的、组成U盘的存储块的一种排列方法。所述USB存储模块固件根据该排列方法,来计算得出U盘的某个逻辑存储块具体对应的存储地址是什么。
[0018]需要指出的是,图3和图4只是示意性质,本领域工程技术人员完全可以采用其他的逻辑块与物理块的对应方式来达到相同或相似目的。
[0019]图5为当可信计算辅助软件为可信计算附件提供通用计算机功能调用支持时,可信计算辅助软件的一种可能的执行流程。
【具体实施方式】
[0020]物理结构
[0021]图1为本发明的一种典型实施方式。本发明所述可信计算附件在外部有3个USB接口和两个VGA接口。其中USB-HOST接口用于与通用计算机的USB接口相连,USB-1Nl和USB-1N2用于连接USB键盘和鼠标,VGA-HOST用于连接通用计算机主机的VGA输出接口,VGA-OUT用于连接VGA输出设备。
[0022]本发明所述可信计算附件在内部主要包括USB集线器