可信计算系统和在内核态下访问TPM服务的方法技术方案

技术编号:3502311 阅读:177 留言:0更新日期:2012-04-11 18:40
公开了一种可信计算平台和在内核态下访问可信平台模块服务的方法。该可信计算平台包括:内核服务提供装置,用于为应用提供在内核态下的调用接口,以使用可信平台模块提供的可信平台模块服务;以及内核核心服务装置,用于为所述内核服务提供装置提供底层服务。利用上述配置,能够为内核态应用提供了接口,并且能够提高运行效率。

【技术实现步骤摘要】

本专利技术涉及可信计算
,具体涉及一种可信计算平台和在内核态下访问TPM服务的方法。
技术介绍
可信计算平台以可信硬件设备为核心,提供各类密码学运算接口以及平台自身的完整性保护,支持上层安全应用的开发。现有的可信计算平台有两种。一种是TCG(可信计算组织Trusted ComputingGroup)公布的TSS(TCG Software Stack)规范,另一种是在即将发布的Longhorn产品中,微软在兼容TSS基础上,对TSS的TDDL部分进行扩展形成TBS(TPM Base Services)。图5是TCG组织的TCG软件协议栈模块结构图,其中示出了可信计算平台1和可信计算平台2。以可信计算平台1为例,TCG提出的TSS软件协议栈由五部分组成TSS服务提供者113、TSS核心服务114、TSS设备驱动库115、可信平台模块(TPM)设备驱动116和可信平台模块硬件117。TSS服务提供者113是用户模式的用户进程,其位于TCG软件协议栈的最上层,它为TCG本地应用程序111提供了丰富的、面向对象的接口,使应用程序可以更加方便地利用安全芯片提供的功能构建所需要的安全特性。TSS服务提供者113的主要功能包括上下文管理、策略对象管理、TPM管理、密钥管理、安全操作等等功能。TCG本地应用程序111可以通过直接调用“TSS服务提供者”接口来使用TPM服务。也可以在“TSS服务提供者”接口上增加一层密码服务提供者112,然后TCG本地应用程序111调用“密码服务提供者”也能使用到TPM服务。需要说明的是,密码服务提供者112(Crypto Service Provider,简称为CSP)是一套标准密码学接口,它屏蔽了下层不同硬件或软件提供的服务。TSS核心服务114位于TSS服务提供者113和TSS设备驱动库115之间,以系统服务的形式存在,为TSS服务提供者113等上层应用提供安全芯片使用和密钥管理等接口。TSS核心服务114的主要功能包括基本信息管理、密钥管理、事件管理、密钥操作、授权操作、完整性操作、迁移操作、密码操作、身份证书操作、设备操作、NV存储操作以及DAA操作等功能。另外,远程的计算平台可以调用本地计算平台的TPM服务。如图5所示,可信计算平台2的TSS服务提供者213通过远程过程调用,调用可信平台1的TSS核心服务114。TSS设备驱动库115使上层TSS核心服务114部分实现和TPM之间的数据通信,屏蔽了TCS与TPM之间的直接联系。因此,甚至可以允许TPM生产商提供用户模式的软件TPM模拟器。TPM设备驱动116是内核模式驱动程序,用于访问可信平台模块硬件117。可信平台模块硬件117是TPM(Trusted Platform Module)芯片,它是具有密码学功能的安全芯片。但是,对于上述的现有技术,仍旧存在没有为内核态安全应用提供接口的缺点,具体原因如下a)现在黑客的攻击手段已经不仅仅局限于用户态(Ring 3)的应用程序,而是已经进入到操作系统运行的内核态(Ring 0)中对操作系统进行破坏。因此,需要直接对内核进行保护。b)某些内核应用(例如个人防火墙、内核加固系统等)需要可信设备的安全支持。因此,必须能直接在内核态访问到可信设备。c)某些硬件设备可能需要直接与可信设备交互,而不是使用用户界面与可信设备交互。因此,虽然TSS软件协议栈为本地以及远程都提供了丰富的TPM服务调用,但是TSS软件协议栈却没能够为内核驱动级别的软件提供直接的接口。TPM的设备驱动仅仅为TSS设备驱动库提供内核调用。图6显示了TCG软件协议栈存在的问题。这里列举了三个例子,防火墙软件、文件系统操作管理软件、某些需要TPM密码学的其他硬件设备。1)防火墙软件可以简单的由三个部分组成,网卡设备2201、防火墙过滤模块2191与防火墙配置界面2181。防火墙过滤模块2191接收网卡设备2201发送过来的数据包,需要对数据进行过滤、加解密或其他密码学功能。但是内核态的软件是不能直接访问用户态的接口。前面已经说明了TCG软件协议栈提供的两个接口(一个用于本地,另一个用于远程调用)都是用户态的。也就是说防火墙过滤模块2191不能通过“箭头1”进行本地调用,也不能进行“箭头2”进行远程调用。要使用TPM提供的服务,防火墙软件只能通过防火墙配置界面2181才能使用TPM提供的服务,见“箭头3”、“箭头4”与“箭头5”。然后防火墙配置界面2181再把响应的结果传给防火墙过滤模块2191。这样导致效率低下。我们希望防火墙配置界面2181仅仅配置防火墙本身的策略,而不要求对网络数据包进行过滤以及加解密等功能而影响效率。2)文件系统操作管理软件用于对磁盘/磁盘文件进行加解密、隐藏磁盘文件以及其他需要对文件进行控制的相关功能。文件系统操作管理模块2192访问文件系统2193得到文件信息后,需要对文件进行加解密等功能操作,也就是需要TPM提供的服务。可如同防火墙软件一样,内核模块不能直接使用TPM提供的服务,它也需要文件系统操作管理配置界2182面通过“箭头3”、“箭头4”以及“箭头5”才能使用TPM服务。无疑,这也导致效率非常低下。3)其他硬件设备2202也希望使用TPM提供的密码学功能,但它根本就没有用户配置界面,仅仅有一个硬件驱动程序2194使用。这样的硬件设备2202是不可能使用TPM服务的,见“箭头1”与“箭头2”所示。专利技术目的鉴于上述问题,完成本本专利技术。本专利技术的目的是为可信硬件设备提供可扩展的软件支撑架构,以支持各类安全应用的开发,并与现有的标准解决方案兼容。在本专利技术的一个方面,提出了一种可信计算平台,包括内核服务提供装置,用于为应用提供在内核态下的调用接口,以使用可信平台模块提供的可信平台模块服务;以及内核核心服务装置,用于为所述内核服务提供装置提供底层服务。根据本专利技术的一个实施例,可信计算平台还包括内核远程过程调用客户端,其与所述内核服务提供装置连接,用于为所述内核服务提供装置调用另一可信计算平台的底层服务;以及内核远程调用服务端,其与所述内核核心服务装置连接,用于调用内核核心服务装置提供的底层服务,以为远程调用提供本地的底层服务。根据本专利技术的一个实施例,可信计算平台还包括用户服务提供装置,其与所述内核服务提供装置连接,用于封装所述内核服务提供装置所提供的底层服务;以及用户核心服务装置,其与所述内核核心服务装置连接,用于封装所述内核核心服务装置提供的底层服务。根据本专利技术的一个实施例,可信计算平台还包括远程过程调用客户端,其与所述用户服务提供装置连接,用于被所述用户服务提供装置调用,以使用远程的可信平台模块服务;以及远程过程调用服务端,其与所述用户核心服务装置连接,用于被另一可信计算平台用来调用所述用户核心服务装置,以为该可信计算平台提供远程的可信平台模块服务。根据本专利技术的一个实施例,可信计算平台还包括可信平台硬件,它是具有密码学功能的硬件;以及设备驱动,用于驱动所述可信平台硬件。根据本专利技术的一个实施例,本地应用通过直接调用所述用户服务提供装置提供的服务来使用可信平台模块服务。根据本专利技术的一个实施例,可信计算平台还包括密码服务提供装置,它是标准密码学接口,并且屏蔽了下层不同硬件或软件提供的本文档来自技高网...

【技术保护点】
一种可信计算平台,包括:内核服务提供装置,用于为应用提供在内核态下的调用接口,以使用可信平台模块提供的可信平台模块服务;以及内核核心服务装置,用于为所述内核服务提供装置提供底层服务。

【技术特征摘要】

【专利技术属性】
技术研发人员:林洋郭轶尊尹萍宁晓魁
申请(专利权)人:联想北京有限公司
类型:发明
国别省市:11[]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1