APP下载

可信计算平台的认证机制的设计

2016-05-14孙江辉杜程马龙

现代电子技术 2016年6期

孙江辉 杜程 马龙

摘 要: 为了使可信计算平台之间的身份能够安全并高效地验证,通过对可信计算平台和PKI技术的研究与分析,设计一种基于PKI技术的可信计算平台之间的相互验证的协议。该协议通过引入可信第三方CA,用可信第三方向相互认证的可信平台颁发AIK证书,可信计算平台通过可信第三方验证对方AIK证书的真实性和AIK私钥加密AIK证书,验证平台的身份和完整性以及可信计算平台的状态。

关键词: 可信计算平台; 公钥安全基础设施; 身份认证证书; 认证协议

中图分类号: TN918.912?34; TP309 文献标识码: A 文章编号: 1004?373X(2016)06?0030?03

Design of authentication mechanism on dependable computing platform

SUN Jianghui1, DU cheng2, MA long2

(1. School of Telecommunication and Information Engineering, Xian University of Posts & Telecommunications, Xian 710061, China;

2. School of Computing, Xian University of Posts & Telecommunications, Xian 710061, China)

Abstract: In order to verify the identity safely and efficiently on the dependable computing platform, a mutual authentication protocol among the dependable computing platforms was designed based on the research and analysis of the dependable computing platform and PKI technology, in which a trusted third party CA is introduced to issue AIK certificates to the dependable computing platforms identified mutually. The identity and integrity of the platform, the status of dependable computing platform, as well as the authenticity of the opposite sides AIK certificate and AIK private key encryption are verified through the dependable third party.

Keywords: trust computing platform; public key infrastructure; AIK certificate; authentication protocol

随着人们对信息安全的关注,可信计算逐渐兴起,从而对可信计算平台认证机制的研究不可或缺。现实中有很多认证机制,如基于口令的认证方法、零知识身份认证技术、挑战握手认证协议、双因子认证技术、基于公钥基础设施(PKI)的认证等[1]。PKI证书认证是一种较为常见且成熟的认证技术,适用于规模较大、分布复杂的网络环境[2]。PKI技术采用证书管理密钥,提供第三方的可信机构——认证中心(CA),可以提供可靠的信息处理。这就为可信计算平台认证了一种认证方案,通过数字证书来验证可信计算平台的身份。

1 可信计算平台

在网络或者Internet中,最常用的终端计算机系统是微机,为了从终端上解决计算机系统的安全问题,提出了可信计算平台。可信计算平台是指在硬件平台上引入了安全芯片(TPM),通过提供安全特性来提高终端系统的安全性[3]。可信计算的主要手段是进行身份的确认,使用加密来进行存储保护和使用完整性的度量进行完整性保护。可信计算的目标是实现系统的行为是可信的,即保证软件在给定的环境下,其行为与预期是一致的[4]。可信计算平台能够为用户提供以下信任保障机制:

(1) 基于可信度量机制。建立平台启动过程中的信任链,为平台构建初始的信任环境;通过验证运行时应用程序的完整性和合法性,保证平台内部应用程序的可信运行;基于安全芯片提供的密钥计算功能,为平台内部数据提供基于硬件保护,从而构建平台内部的信任。

(2) 基于匿名证明以及远程证明机制。提供平台身份及平台软硬件配置的正确性的证明,构建平台之间的信任。

(3) 基于可信计算平台的完整性收集与远程证明等机制,对将要接入网络的平台的完整性进行验证,以确保网络中各个节点的信任,为构建整个网络的信任奠定基础。可信计算平台的结构图如图1所示。

从图1中可以看到,可信计算平台主要由嵌入在主板的可信BIOS、密码模块芯片、操作系统和安全应用组件构成。它是以密码技术为支撑,以安全操作系统为核心的[5]。

2 公钥基础设施

2.1 公钥基础设施系统的组成

公钥基础设施(PKI)信息安全系统中的主要技术之一,在数字证书和公开密钥密码体制的基础上发展起来的,通过非对称密码技术提供安全的基础设施。PKI主要包括:认证中心CA、注册中心RA、证书发布库、密钥备份及恢复和证书撤销,如图2所示。

2.2 PKI的安全性分析

(1) PKI使用了公钥加密技术、对称加解密技术、数字签名等密码学技术能够提供保密性服务。保证了数据的秘密。使网络中的攻击者很难得到信息真实的内容。通过保密性服务,可以透明地加密算法的协商、密钥的交换以及机密信息的传送[6]。

(2) 数字证书是PKI的基本组成部分,作为可信的第三方,可以提供认证性服务,鉴别身份的真伪,确保通讯者是自己事先约定好的,保证通信双方的身份的确认,这对通信的建立以及正常的通信具有重要的意义。

(3) PKI可以利用单向散列的性质,对产生的消息摘要进行数字签名验证消息的完整性。保证消息在传输过程中没有发生丢失变化或者被黑客进行篡改和重放。

PKI中的数字签名还可对发送者的电子数据进行签名,提供了不可否认性服务。此外PKI还能够提供如访问控制和权限管理等服务。作为一套完整的体系结构,能够很好地保证信息的安全。

3 可信认证机制的建立

3.1 通信模型建立

可信计算能够从计算机系统的终端来保证信息的安全,保证内部系统的可信,进而保证整个网络的可信。本文主要建立一套认证协议,使两个可信平台之间的相互认证,确保两个可信计算机之间的安全通信。通信模型如图3所示。

本文可信计算机之间的通信要保证以下几点:

(1) 两个可信计算平台之间能够相互的确认身份,保证消息的不可抵赖性;

(2) 保证消息传递的机密性;

(3) 保证消息的完整性,确保消息没有被修改。

3.2 模型分析

可信计算平台是从底层建立信任根、信任链开始,进行信任传递,进而保证整个操作系统的可信。CA会给每个可信计算平台一个身份证明的证书(AIK),用来证明每个可信平台的身份。

可信计算组(TCG)规定了7种密钥,7种密钥的类型分别是签名密钥(Signing Keys)、存储密钥(Storage Keys)、身份证明密钥(Attestation Keys)、验证密钥(Endorsement Keys)、绑定密钥(Bind Keys)、继承密钥(Legacy Keys)和鉴别密钥(Authentication Keys)。每种密钥都有使用约束[7],例如签名的密钥不能用来加密信息。身份证明密钥是用来对可信计算平台的平台配置寄存器(PCR)进行签名的,来证明平台的身份。

AIK身份证书与TPM中存在的身份证明密钥的私钥是相对应的,用AIK的私钥来进行签名既可以保证信息的来源又可以保证消息的不可否认性。而AIK证书则是由认证中心CA发布的。AIK证书的获取过程如图3所示。

(1) 可信计算平台利用TPM的密码产生器产生RSA公私密码对,将私钥存放在TPM相应的位置中。

(2) 向认证中心CA发出请求,并将AIK的公钥和平台证书、鉴注证书等信息打包在一起发送给认证中心,请求认证中心CA发布AIK证书。

(3) 认证中心CA接受请求并进行验证。

(4) 如果验证通过则会颁布一个由认证中心CA私钥签名的身份证明证书(AIK),并存放在TPM相应的位置中。

(5) 通过上述过程,既可以验证可信计算平台的身份,又可以保证由CA颁布证书的真实性。可信计算平台在获得AIK证书之后,TPM才可以使用AIK密钥和AIK证书才能证明平台的身份,才具备两个可信计算平台相互验证的能力。在现实的过程中,证书是可以在线申请或者去认证中心领取。

4 协议设计

本文协议设计的目的是使两个可信计算平台之间相互验证身份,并建立连接,保证安全可靠的通信。现在假设有两个可信平台A和B,A和B的主板上都嵌有芯片TPM。TPM主要是一个密码芯片,在TPM上进行密码的加解密运算、密钥的产生以及平台配置寄存器(PCR)和度量日志(ML)的报告。假设平台A和B都处在可信的网络中,并且已经获得注册中心CA颁布的证书,证书在网络中是惟一的。协议的符号含义如下:PKA为可信平台A的公钥;PVA为可信平台A的私钥;CertA为可信平台A的AIK证书;PCRA为可信平台A的PCR值;MLA为可信平台A的度量日志;PKB为可信平台B的公钥;PVB为可信平台B的私钥;CertB为可信平台B的AIK证书;PCRB为可信平台B的PCR值;MLB为可信平台B的度量日志。可信计算平台之间的相互认证的协议流程图如图4所示,具体描述如下:

(1) 平台A和平台B建立连接,用自己的私钥将平台的ID号和平台的身份证书加密,并进行发送给B。

(2) 平台B接收到消息,用平台A的私钥进行解密,得到CertA,并向CA发出验证请求,查看CertA是否为真,有没有过期等。

(3) CA将验证的结果返还给B。假设验证通过。

(4) 平台B用自己的私钥将平台的ID号和平台的身份证书加密,并进行发送给A。

(5) 平台A接收到消息,用平台B的私钥进行解密,得到CertA,并向CA发出验证请求,查看CertA是否为真,有没有过期等。

(6) CA将验证的结果返还给B。假设验证通过。

(7) 平台A用平台自己的AIK私钥分别对平台A的PCR值和ML报告进行签名,然后用B的公钥将之前的签名结果和平台A的PCR值、ML报告和AIK私钥进行加密,一起打包发送给B。

(8) 平台B用自己的私钥解密,得到平台A的AIK私钥,再用平台A的AIK私钥对平台A的PCR值和ML报告进行签名,并与平台A的签名比较。这样能够得到平台A的配置信息,并能验证平台A的身份及完整性。若验证通过,则平台B用平台用自己的AIK私钥对平台B的PCR值和ML报告进行签名,然后用平台A的公钥将平台B之前的签名结果、PCR值、ML报告和平台B的AIK私钥加密打包一起发送给平台A,平台A用自己的私钥解密得到平台B的AIK私钥,然后用平台B的AIK私钥分别对平台B的PCR值和ML报告进行签名,并与平台B的签名比较。这样能得到平台B的平台配置信息并能验证平台B的身份及其平台的完整性,然后在确定是否建立连接。通过上述协议过程,可信平台A和B之间可以相互验证身份,建立安全可靠的通信连接。

5 结 语

随着信息技术的发展,人们对可信计算平台的研究也会更加的深入。本文基于PKI的身份验证技术,设计了一套认证协议使得两个可信计算平台之间的身份的相互验证。保证了可信计算平台的身份的安全性与真实性。

参考文献

[1] 谢颖莹.基于PKI的身份认证系统的研究与实现[D].北京:华北电力大学,2007.

[2] 林钇霖.基于PKI的身份认证系统的研究[D].重庆:重庆理工大学,2012.

[3] ISO/IEC. Information technology?trusted platform module: ISO/IEC 11889?1?2009 [S/OL]. (2009?05?15) [2010?03?12]. http://www.trustedcomputinggroup.org/home.

[4] 冯国登.可信计算:理论与实践[M].北京:清华大学出版社,2013.

[5] 韩春林,叶里莎.基于可信计算平台的认证机制的设计[J]通信技术,2010(7):92?94.

[6] 杨宇.基于PKI的身份认证系统的研究和实现[D].成都:电子科技大学,2009.

[7] 王海燕,吴振强,种慧芳,等.可信计算环境下基于TPM的认证密钥协商协议[J].计算机工程与应用,2010,46(35):115?118.