一种可实现双向平台鉴别的方法

文档序号:7945718阅读:221来源:国知局
专利名称:一种可实现双向平台鉴别的方法
技术领域
本发明属于网络完全技术领域,具体涉及一种可实现双向平台鉴别的方法。
背景技术
随着信息化的不断发展,病毒、蠕虫等恶意软件的问题异常突出。目前已 经出现了超过三万五千种的恶意软件,每年都有超过四千万的计算机被感染。 为了解决这些问题,除了用户鉴别之外还需要增加对用户所在平台的识别和鉴 别,即平台鉴别,包括平台身份鉴别和平台组件评估,目的是确定用户所在 平台是否处于一个可信赖状态。平台鉴别可以运用于各种不同的应用场景。例 如,基于客户端的可信赖性来控制客户端对网络的访问;判定数字版权管理 (Digital Rights Management, DRM)客户端软件是否处于一个可信赖状态,是 否已执行了一定的策略来防止非法使用、复制或重新分配知识产权。目前,大 多数平台鉴别应用都是单向模式。
若要实现双向平台鉴别,则可以正反方向执行两次单向平台鉴别。不过, 也有一些研究者们为点对点网络专门设计了双向平台鉴别模式。但是,上述双 向平台鉴别实现方法存在以下问题
(1) 鉴别双方进行平台身份鉴别时都需要各自利用平台私有认证中心
(CertificateAuthority, CA)来验证对方的平台身份证书的有效性,如身份证 明密钥(Attestation Identity Key, AIK)证书的有效性,也就是需要与平台私有 CA进行通信,其中平台私有CA为鉴别双方的平台颁发平台证书。但是,在有些 情况下它们可能都不具有,或者可能只有一方具有与平台私有CA进行通信的能 力;
(2) 各种平台的组件是复杂多样的,鉴别双方不可能存储足够多的平台组 件的基准值来校验和评估对方平台组件的可信赖状态,如存储的基准完整性 值。因此,鉴别双方都需要各自与第三方管理的平台组件基准值数据库进行通 信才能完成对对方平台的平台组件评估。但是,在有些情况下它们可能都不具 有,或者可能只有一方具有与第三方管理的平台组件基准值数据库进行通信的能力。此外,平台组件的校验是较为复杂的,这将会大大增加终端A和终端B的 负荷。
(3)鉴别双方不存在所在网络的管理策略来防止对方进行平台组件信息探 测,使得自身的平台组件信息完全暴露给对方,增加了自身平台的危险性。

发明内容
本发明的目的就是克服背景技术中所述的现有的双向平台鉴别实现方法所 存在的技术问题。
本发明的技术解决方案是 一种可实现双向平台鉴别的方法,其特殊之处 在于,该方法包括以下步骤
1)服务器S分别建立与平台私有CA、组件分类表及网络管理策略之间的
通信,其中平台私有CA用于颁发终端A和终端B的平台身份证书,以及在执 行平台鉴别协议时验证终端A和终端B的平台身份证书的有效性;组件分类表 中的平台组件基准值是通过服务器S与基准值数据库进行通信而获得的;基准 值数据库用于存储各种平台组件的基准值;网络管理策略用于生成终端A和终 端B的平台组件评估结果,并对平台组件信息进行保护;
2) 终端B发起与终端A的平台鉴别协议终端B向终端A发送对终端A的平台 组件度量参数;
3) 终端A等待终端B发起的平台鉴别协议若在一个设定的时间内终端A还 没有收到终端B发起的平台鉴别协议,终端A则主动发起与终端B的平台鉴别协 议,终端A向终端B发送对终端B的平台组件度量参数;否则,终端A收到步骤2) 中的消息后,根据终端B在步骤2)中发送的对终端A的平台组件度量参数获取终 端A的平台组件度量值,然后将所获得的终端A的平台组件度量值发送给终端B, 同时向终端B发送对终端B的平台组件度量参数;
4) 终端B首先验证终端A的平台组件度量值中的平台签名是否有效,若无效, 则丢弃该消息;若有效,则根据终端A在步骤3)中发送的对终端B的平台组件度 量参数获取终端B的平台组件度量值,然后向服务器S发送终端A的平台身份证 书、终端B的平台身份证书、终端A的平台组件度量值和终端B的平台组件度量 值;
5) 服务器S首先利用平台私有CA验证终端A和终端B的平台身份证书的有效性,并生成相应的平台身份证书验证结果;若平台身份证书无效,则将终端A和 终端B的平台身份证书验证结果发送给终端B,否则利用组件分类表中相应的平 台组件的基准值来校验终端A和终端B的平台组件度量值,并生成相应的平台组 件校验结果,然后利用网络管理策略、组件分类表和平台组件校验结果来生成 终端A和终端B的平台组件评估结果,最后将终端A和终端B的平台身份证书验证 结果和平台组件评估结果发送给终端B;
6) 终端B首先验证终端A和终端B的平台身份证书验证结果和平台组件评估 结果的服务器S的用户签名,若无效,则丢弃该消息;否则,当终端B已完成对 终端A的平台鉴别时,终端B根据所获得的终端A的平台身份证书验证结果和所 执行的各轮平台鉴别协议中的终端A的平台组件评估结果生成终端B的访问决 策,并执行终端B的访问决策,最后,终端B将从步骤5)中获得的终端A和终端 B的平台身份证书验证结果和平台组件评估结果、终端B的平台组件度量值中的 平台签名所涉及的信息、终端B的访问决策发送给终端A;当终端B还未完成对 终端A的平台鉴别时,终端B将从步骤5)中获得的终端A和终端B的平台身份证 书验证结果和平台组件评估结果、终端B的平台组件度量值中的平台签名所涉及 的信息发送给终端A;终端B在完成本轮平台鉴别协议后跳至步骤2)执行另一轮 平台鉴别协议;
7) 终端A首先验证终端B的平台组件度量值中的平台签名所涉及的信息的平 台签名,若无效,则丢弃该消息;若有效,则验证步骤5)中的终端A和终端B 的平台身份证书验证结果和平台组件评估结果的服务器S的用户签名,若无效, 则丢弃该消息;若有效,则验证终端B的访问决策,若终端B的访问决策存在且 值为禁止,则断开与终端B的连接,否则,当终端A已完成对终端B的平台鉴别 时,终端A根据所获得的终端B的平台身份证书验证结果和所执行的各轮平台鉴 别协议中的终端B的平台组件评估结果生成终端A的访问决策,并执行终端A的 访问决策,最后将终端A的访问决策发送给终端B;当终端A还未完成对终端B 的平台鉴别时,终端A在完成本轮平台鉴别协议后跳至步骤3)执行另一轮平台 鉴别协议;若终端A收到终端B的访问决策,则将终端B的访问决策通告于终端A 中执行平台鉴别协议的相关组件;
8) 终端B将终端A的访问决策通告于终端B中执行平台鉴别协议的相关组件。
上述终端A的平台身份证书是指终端A的身份证明密钥AIK证书AIKA,终端B 的平台身份证书是指终端终端B的身份证明密钥AIK证书AIKB。
上述步骤2)的具体步骤是终端B生成随机数NB和对终端A的平台完整性 度量参数ParmsA,然后将它们发送给终端A; ParmsA是终端A中平台配置寄存器 PCR的序号列表、终端A中平台组件的组件类型列表或终端A中平台组件的标识 列表中的任一种或任两种、三种的混合列表。
上述步骤3)的具体步骤是终端A根据NB和PamiSA获取终端A中各个平台 组件的完整性报告^po/^和PCR引用数据QuotesA,其中,i^poW&包含终端A 的PCR引用数据和快照,并需要安全传输至服务器S; QuotesA包含NB、终端A的 PCR值、对NB和终端A的PCR值的AIK签名、终端A的AIK证书AIKA;然后向终 端B发^^oW^, QuotesA,随机数NA和对终端B的平台完整性度量参数ParmsB, 其中ParmsB是终端B中PCR的序号列表、终端B中平台组件的组件类型列表或终 端B中平台组件的标识列表中的任一种或任两种、三种的混合列表。
上述步骤4)的具体步骤是终端B验证QuoteSA中的AIK签名,若无效,则 丢弃该消息;若有效,则根据NA和ParmsB获取终端B中各个平台组件的完整性报 告/ epoW^和PCR弓I用数据QuotesB,其中^/ o沧5包含终端B的PCR弓(用数据和快 照;QuotesB包含NA、终端B的PCR值、对NA和终端B的PCR值的AIK签名、终端 B的AIK证书AIKB,然后向服务器S发送NB.s, NA, AIKA, AIKB, i 印oW&,及印oW&, 其中NB.s是终端B产生的随机数。
上述步骤5)的具体步骤是服务器S利用平台私有CA验证终端A和终端B 的AIK证书AIKA和AIKB的有效性,并生成相应的AIK证书有效性验证结果ReA和 ReB,当AIK证书有效时,服务器S进一步利用组件分类表中相应平台组件的完整 性基准值来校验终端A和终端B的i^poW^和i^poW^中的平台组件的完整性度量 值,并生成平台组件完整性校验结果,然后利用网络管理策略、组件分类表、 终端A和终端B的平台组件完整性校验结果生成终端A和终端B的组件级评估结 果ResA和ResB、组件级修补信息及em&和及em&,其中i 抓&需要安全传输至终端 A, i^m&需要安全传输至终端B,最后向终端B发送ReA, ReB, [NB.S, NA, AIKA, AIKB, ReA, ReB]Sig, ResA, 7 e附&, ResB, i eww^, [NB.S, NA, QuotesA, QuotesB,ResA, i em&, ResB, i e附^]sig;其中ReA, ReB,B[NB.s, NA, AIKA, AIKB, ReA, ReB]sig是终端A和终端B的AIK证书验证结果,ResA, Aew&, ResB,及em^和[NB-s, NA, QuotesA, QuotesB, ResA, A^w&, ResB, Aew^]sig是终端A和终端B的平台 组件评估结果,[NB.S, Na, AIKa, AIKb, ReA, ReB]sig是服务器S对NB.s, NA, AIKA, AIKB, ReA和Res的用户签名,[NB.S, NA, QuotesA, QuotesB, ResA,及ew", ResB, Aem&]sig是月艮务器S对NB.s, NA, QuotesA, QuotesB, ResA, 7 ew&, ResB 和i ^2&的用户签名,终端A和终端B的AIK证书验证结果仅在执行首轮平台鉴别 协议时才存在。
上述步骤6)的具体步骤是终端B验证[NB.s, NA, AIKA, AIKb, ReA, ReB]Sig 和[Nb.s, Na, QuotesA, QuotesB, ResA, i e附",ResB, i e附^]sig的服务器S的用 户签名,若无效则丢弃该消息;若有效,贝i」向终端A发送QuotesB, NB.S, Acti0nB 和步骤5)的终端A和终端B的AIK证书验证结果和平台组件评估结果;其中 ActionB是终端B的访问决策,其值为允许、禁止或隔离,ActionB在终端B已完成 对终端A的平台鉴别时才存在。
上述步骤7)的具体步骤是终端A验证QuotesB中的AIK签名,然后验证步 骤5)中的[Nb.s, Na, AIKa, AIKb, ReA, ReB]s^Q[NB.s, NA, QuotesA, QuotesB, ResA, Aem&, ResB, ^附&]sig的服务器S的用户签名,若无效,则丢弃该消息; 若有效,则验证ActicmB,若ActionB存在且其值为禁止,则断开与终端B的连接, 否则,当终端A已完成对终端B的平台鉴别时,终端A根据所获得的终端B的AIK 证书验证结果和所执行的各轮平台鉴别协议中的终端B的平台组件评估结果生 成终端A的访问决策ActionA,并执行该访问决策Actioiu,最后将该访问决策发 送给终端B;当终端A还未完成对终端B的平台鉴别时,终端A在完成本轮平台鉴 别协议后跳至步骤3)执行另一轮平台鉴别协议;若终端A收到终端B的访问决策, 则将终端B的访问决策通告于终端A中执行平台鉴别协议的相关组件;Actioiu值 为允许、禁止或隔离,ActionA在终端A已完成对终端B的平台鉴别时才存在。
上述终端A和终端B之间的平台鉴别协议消息是由终端A和终端B之间建立 的安全通道进行安全保护的;若该安全通道相关于终端A和终端B之间的用户认 证,则可以在AIK签名中绑定该安全通道来增强平台鉴别协议的安全性;若该安 全通道不相关于终端A和终端B之间的用户认证,则可以在AIK签名中绑定该安全通道和用户认证信息来增强平台鉴别协议的安全性。
上述步骤6)中若本轮平台鉴别协议不是终端A和终端B之间的首轮平台鉴别 协议,则本步骤发送给终端A的消息中不包含终端A和终端B的平台身份证书验 证结果。
本发明中的服务器S为终端A和终端B提供了所有平台鉴别能力,包括平台 身份鉴别和平台组件的评估,终端A和终端B仅需要验证对方的平台签名、验证 服务器S的用户签名以及根据平台身份证书验证结果和平台组件评估结果生成 访问决策,有效地降低了终端A和终端B的负荷,并且增强了该双向平台鉴别方 法的应用性;通过设定网络管理策略,并结合组件分类表,可以有效地保护终 端A和终端B中的某些平台组件不被暴露给对方。


图l是本发明的示意框图。
具体实施例方式
参见图1,本发明的可实现双向平台鉴别的方法的具体步骤如下
步骤l)服务器S建立与平台私有CA的通信,建立与组件分类表的通信,建
立与网络管理策略的通信,其中组件分类表中的平台组件基准值可以通过与基 准值数据库进行通信而获得。
平台私有CA可以由服务器S来充当或建立,也可以由第三方权威机构来充 当,它用于颁发终端A和终端B的平台身份证书,如终端A和终端B的AIK证书, 以及在执行平台鉴别协议时验证终端A和终端B的平台身份证书的有效性。
基准值数据库由第三方权威机构来建立,它存储了各种平台组件的基准值, 如各种平台组件的完整性基准值。
组件分类表可以由服务器S来建立,也可以由第三方权威机构来建立,它的 每l条记录可以包含平台组件的组件类型、序号、标识、版本号、安全级别和基 准值等等,其中基准值需要通过与基准数据库进行通信才能获得。例如,组件 分类表的结构如下所示广
版本号,安全级别,基准值
广
组件类型
序号,标识 ^


平台组件的组件类型表示该平台组件属于哪一类型的平台组件,平台组件 的序号表示该平台组件在组件分类表中的位置编号(用于模糊区分同一组件类 型下的不同平台组件),平台组件的标识表示该平台组件是什么(如是天网防 火墙还是其他防火墙,用于明确区分同一组件类型下的不同平台组件),平台组 件的版本号表示该平台组件属于哪一个版本(如V5丄1.1002),平台组件的安 全级别表示该平台组件属于哪一个安全级别,平台组件的基准值可以用来校验 平台鉴别协议中的平台组件度量值(如平台组件的完整性基准值)。
网络管理器策略由服务器S来建立,它用于生成终端A和终端B的平台组件
评估结果,可以对某些平台组件信息进行保护,以避免在终端A和终端B之间被
对方探知。当网络管理策略设定某个平台组件在终端A和终端B之间不需要防止
被暴露时,服务器S生成的平台组件评估结果可以包含平台组件的组件类型、序
号、标识、版本号、安全级别、运行状况和平台组件校验结果。例如非保护
模式下的平台组件评估结果的结构如下所示
序号,标识,版本号,安全级别,运行状况和平台组件校验结果
组件类型
运行状况是指平台组件的是否正在运行,是利用哪个端口号在通信等等, 平台组件校验结果可以是平台组件的完整性校验结果,用于显示平台组件的完 整性状态。
当网络管理策略设定某个平台组件在终端A和终端B之间需要防止被暴露时, 服务器S生成的平台组件评估结果可以包含平台组件的组件类型、序号、安全级
别、运行状况和平台组件校验结果。例如保护模式下的平台组件评估结果的 结构如下所示f序号,安全级别,运行状况和平台组件校验结果
组件类型
运行状况不能包含可识别平台组件的信息,如可识别平台组件的端口号。 因为某端口号可能仅限于某平台组件使用,所以通过该端口号可识别出平台组 件,从而暴露了平台组件。
步骤2)终端B发起与终端A的平台鉴别协议,它向终端A发送对终端A的平
台组件度量参数,它标识终端A中哪些平台组件需要度量。例如终端B生成随
机数NB和对终端A的平台完整性度量参数ParmsA,其中ParmsA标识终端A中哪些 平台完整性需要度量,然后将它们发送给终端A。 ParmsA可以是终端A中平台配 置寄存器PCR的序号列表,可以是终端A中平台组件的组件类型列表,可以是终 端A中平台组件的标识列表,还可以是上述两者或三者的混合列表。
步骤3)终端A等待终端B发起的平台鉴别协议,若在一个设定的时间内还没 有收到终端B发起的平台鉴别协议,则主动发起与终端B的平台鉴别协议,它向 终端B发送对终端B的平台组件度量参数,它标识终端B中哪些平台组件需要度 量,否则收到步骤2)中的消息后,根据终端B在步骤2)中发送的对终端A的平 台组件度量参数获取终端A的平台组件度量值,然后将所获得的终端A的平台组 件度量值发送给终端B,同时向终端B发送对终端B的平台组件度量参数,它标 识终端B中哪些平台组件需要度量。例如终端A根据NB和ParmsA获取终端A中 各个平台组件的完整性报告i 印oW&和PCR弓I用数据QuotesA,其中i 印or^包含 终端A的PCR引用数据和快照等,它需要安全传输至服务器S, QuoteSA包含NB、 终端A的PCR值、对NB和终端A的PCR值的AIK签名、终端A的AIK证书AIKA等, 然后向终端B发Mi ^wt^, Quotes^随机数NA和对终端B的平台完整性度量参 数ParmsB,其中ParmsB标识终端B中哪些平台完整性需要度量。ParmsB可以是终 端B中PCR的序号列表,可以是终端B中平台组件的组件类型列表,可以是终端B 中平台组件的标识列表,还可以是上述两者或三者的混合列表。
步骤4)终端B收到步骤3)中的消息后,首先验证终端A的平台组件度量值 中的平台签名,若无效,则丢弃该消息,否则根据终端A在步骤3)中发送的对 终端B的平台组件度量参数获取终端B的平台组件度量值,然后向服务器S发送终端A的平台身份证书、终端B的平台身份证书、终端A的平台组件度量值和终端B 的平台组件度量值。例如终端B验证QuotesA中的AIK签名,若无效,则丢弃该 消息;若有效,则根据NA和ParmsB获取终端B中各个平台组件的完整性报告 i^po他s和PCR弓I用数据QuotesB,其中7 ^oW&包含终端B的PCR弓I用数据和快照 等,它需要安全传输至服务器S, QuoteSB包含na、终端B的PCR值、対Na和終端 B的PCR值的AIK签名、终端B的AIK证书AIKB等,然后向服务器S发送NB.s, NA, AIKa, AIKb, Z 印oW&, i^poW&,其中nb.s是终端B产生的随机数。
步骤5)服务器S收到步骤4)中的消息后,首先利用平台私有CA验证终端A 和终端B的平台身份证书的有效性并生成相应的平台身份证书验证结果,若平台 身份证书无效,则将终端A和终端B的平台身份证书验证结果发送给终端B,否 则利用组件分类表中相应平台组件的基准值来校验终端A和终端B的平台组件度 量值并生成相应的平台组件校验结果,然后利用网络管理策略、组件分类表和 平台组件校验结果来生成终端A和终端B的平台组件评估结果,最后将终端A和 终端B的平台身份证书验证结果和平台组件评估结果发送给终端B。值得注意的 是终端A和终端B的平台身份证书验证结果仅在执行首轮平台鉴别协议时才存 在。例如服务器S利用平台私有CA验证终端A和终端B的AIK证书AIKA和AIKB 的有效性,并生成相应的AIK证书有效性验证结果ReA和ReB,当AIK证书有效时, 服务器S进一步利用组件分类表中相应平台组件的完整性基准值来校验终端A和 终端B的i^; oW&和i^;^W&中的平台组件的完整性度量值,并生成平台组件完整 性校验结果,然后利用网络管理策略、组件分类表、终端A和终端B的平台组件 完整性校验结果生成终端A和终端B的组件级评估结果ResA和ResB、组件级修补 信息及柳&和^柳5,其中i^m&需要安全传输至终端A, i^w&需要安全传输至 终端B,最后向终端B发送ReA, ReB, [NB_S, NA, AIKA, AIKB, ReA, ReB]Sig, ResA, i e附s^, ResB,及eww^, [NB.S, NA, QuotesA, QuotesB, ResA,及e附",ResB, 化腐b]sig,其中ReA, ReB和[NB.s, NA, AIKA, AIKB, ReA, ReB]sig是终端A和终 端B的AIK证书验证结果,ResA, T em", ResB,及e附&和[NB.s, NA, QuotesA, QuotesB, ResA, i em", ResB,及柳"]sig是终端A和终端B的平台组件评估结果, [NB.S, Na, AIKa, AIKb, ReA, ReB]sig是服务器S对NB-s, NA, AIKA, AIKB, ReA禾口ReB的用户签名,[NB_S, NA, QuotesA, QuotesB, Res八,i em", ResB, i ew&]sig是服务器S对NB-s, NA, QuotesA, QuotesB, ResA, i^m&, ResB和及em&的用户 签名,终端A和终端B的AIK证书验证结果仅在执行首轮平台鉴别协议时才存在。 步骤6)终端B收到步骤5)中的消息后,首先验证终端A和终端B的平台身 份证书验证结果和平台组件评估结果的服务器S的用户签名,若无效,则丢弃该 消息,否则当终端B已完成对终端A的平台鉴别时,终端B根据所获得的终端A 的平台身份证书验证结果和所执行的各轮平台鉴别协议中的终端A的平台组件 评估结果生成终端B的访问决策,并执行终端B的访问决策,最后终端B将步骤5) 中的消息、终端B的平台组件度量值中的平台签名所涉及的信息、终端B的访问 决策发送给终端A;当终端B还未完成对终端A的平台鉴别时,终端B将步骤5) 中的消息、终端B的平台组件度量值中的平台签名所涉及的信息发送给终端A, 另外终端B在完成本轮平台鉴别协议后需要发起另一轮平台鉴别协议,也就是完 成本轮平台鉴别协议后跳至步骤2)执行另一轮平台鉴别协议。若本轮平台鉴别 协议不是终端A和终端B之间的首轮平台鉴别协议,则本步骤发送给终端A的消 息中不包含终端A和和终端B的平台身份证书验证结果。例如终端B验证[NB.s, na, AIKA, AIKb, ReA, Reakg禾口[nb-s, na, QuotesA, QuotesB, ResA, ResB, ^m^]sig的服务器S的用户签名,若无效则丢弃该消息;若有效,贝U向终 端A发送QuotesB, NB_S, ActioriB和步骤5)中的消息,其中ActionB是终端B的访 问决策,其值可为允许、禁止或隔离等,它在终端B已完成对终端A的平台鉴别 时才存在。
步骤7)终端A收到步骤6)中的消息后,首先验证终端B的平台组件度量值 中的平台签名所涉及的信息的平台签名,若无效,则丢弃该消息,否则验证步 骤5)中的消息中的终端A和终端B的平台身份证书验证结果和平台组件评估结果 的服务器S的用户签名,若无效,则丢弃该消息,否则验证终端B的访问决策, 若终端B的访问决策存在且值为禁止,则断开与终端B的连接,否则当终端A 已完成对终端B的平台鉴别时,终端A根据所获得的终端B的平台身份证书验证 结果和所执行的各轮平台鉴别协议中的终端B的平台组件评估结果生成终端A的 访问决策,并执行终端A的访问决策,最后将终端A的访问决策发送给终端B; 当终端A还未完成对终端B的平台鉴别时,终端A在完成本轮平台鉴别协议后需 要等待终端B发起的平台鉴别协议,或者主动发起另一轮平台鉴别协议,也就是完成本轮平台鉴别协议后跳至步骤3)执行另一轮平台鉴别协议。若终端A收到 终端B的访问决策,则将终端B的访问决策通告于终端A中执行平台鉴别协议的 相关组件。例如终端A验证QuotesB中的AIK签名,然后验证步骤5)中的消息 的[Nb.s, Na, AIKa, AIKb, ReA, ReB]sig和[NB.s, NA, QuotesA, QuotesB, ResA, i em&, ResB, i^^kg的服务器S的用户签名,若无效则丢弃该消息;若有效, 则向终端B发送NB和Actioiu,其中Actioru是终端A的访问决策,其值可为允许、 禁止或隔离等,这条消息在终端A己完成对终端B的平台鉴别时才存在。
步骤8)终端B收到步骤7)中的消息后,将终端A的访问决策通告于终端B 中执行平台鉴别协议的相关组件。
在上述可实现双向平台鉴别的方法中,终端A和终端B之间的平台鉴别协议 消息是由终端A和终端B之间建立的安全通道进行安全保护。若该安全通道相关 于终端A和终端B之间的用户认证,则可以在AIK签名中绑定该安全通道来增强 平台鉴别协议的安全性。若该安全通道不相关于终端A和终端B之间的用户认证, 则可以在AIK签名中绑定该安全通道和用户认证信息来增强平台鉴别协议的安 全性。
上面所述的绑定相关于终端A和终端B之间的用户认证的安全通道,或者绑 定不相关于终端A和终端B之间的用户认证的安全通道、终端A和终端B的用户认 证信息的方法适用于任何双向平台鉴别方法。
权利要求
1、一种可实现双向平台鉴别的方法,其特征在于该方法包括以下步骤1)服务器S分别建立与平台私有CA、组件分类表及网络管理策略之间的通信,其中平台私有CA用于颁发终端A和终端B的平台身份证书,以及在执行平台鉴别协议时验证终端A和终端B的平台身份证书的有效性;组件分类表中的平台组件基准值是通过服务器S与基准值数据库进行通信而获得的;基准值数据库用于存储各种平台组件的基准值;网络管理策略用于生成终端A和终端B的平台组件评估结果,并对平台组件信息进行保护;2)终端B发起与终端A的平台鉴别协议终端B向终端A发送对终端A的平台组件度量参数;3)终端A等待终端B发起的平台鉴别协议若在一个设定的时间内终端A还没有收到终端B发起的平台鉴别协议,终端A则主动发起与终端B的平台鉴别协议,终端A向终端B发送对终端B的平台组件度量参数;否则,终端A收到步骤2)中的消息后,根据终端B在步骤2)中发送的对终端A的平台组件度量参数获取终端A的平台组件度量值,然后将所获得的终端A的平台组件度量值发送给终端B,同时向终端B发送对终端B的平台组件度量参数;4)终端B首先验证终端A的平台组件度量值中的平台签名是否有效,若无效,则丢弃该消息;若有效,则根据终端A在步骤3)中发送的对终端B的平台组件度量参数获取终端B的平台组件度量值,然后向服务器S发送终端A的平台身份证书、终端B的平台身份证书、终端A的平台组件度量值和终端B的平台组件度量值;5)服务器S首先利用平台私有CA验证终端A和终端B的平台身份证书的有效性,并生成相应的平台身份证书验证结果;若平台身份证书无效,则将终端A和终端B的平台身份证书验证结果发送给终端B,否则利用组件分类表中相应的平台组件的基准值来校验终端A和终端B的平台组件度量值,并生成相应的平台组件校验结果,然后利用网络管理策略、组件分类表和平台组件校验结果来生成终端A和终端B的平台组件评估结果,最后将终端A和终端B的平台身份证书验证结果和平台组件评估结果发送给终端B;6)终端B首先验证终端A和终端B的平台身份证书验证结果和平台组件评估结果的服务器S的用户签名,若无效,则丢弃该消息;否则,当终端B已完成对终端A的平台鉴别时,终端B根据所获得的终端A的平台身份证书验证结果和所执行的各轮平台鉴别协议中的终端A的平台组件评估结果生成终端B的访问决策,并执行终端B的访问决策,最后,终端B将从步骤5)中获得的终端A和终端B的平台身份证书验证结果和平台组件评估结果、终端B的平台组件度量值中的平台签名所涉及的信息、终端B的访问决策发送给终端A;当终端B还未完成对终端A的平台鉴别时,终端B将从步骤5)中获得的终端A和终端B的平台身份证书验证结果和平台组件评估结果、终端B的平台组件度量值中的平台签名所涉及的信息发送给终端A;终端B在完成本轮平台鉴别协议后跳至步骤2)执行另一轮平台鉴别协议;7)终端A首先验证终端B的平台组件度量值中的平台签名所涉及的信息的平台签名,若无效,则丢弃该消息;若有效,则验证步骤5)中的终端A和终端B的平台身份证书验证结果和平台组件评估结果的服务器S的用户签名,若无效,则丢弃该消息;若有效,则验证终端B的访问决策,若终端B的访问决策存在且值为禁止,则断开与终端B的连接,否则,当终端A已完成对终端B的平台鉴别时,终端A根据所获得的终端B的平台身份证书验证结果和所执行的各轮平台鉴别协议中的终端B的平台组件评估结果生成终端A的访问决策,并执行终端A的访问决策,最后将终端A的访问决策发送给终端B;当终端A还未完成对终端B的平台鉴别时,终端A在完成本轮平台鉴别协议后跳至步骤3)执行另一轮平台鉴别协议;若终端A收到终端B的访问决策,则将终端B的访问决策通告于终端A中执行平台鉴别协议的相关组件;8)终端B将终端A的访问决策通告于终端B中执行平台鉴别协议的相关组件。
2、根据权利要求l所述的可实现双向平台鉴别的方法,其特征在于所述终端A的平台身份证书是指终端A的身份证明密钥AIK证书AIKA,终端B的平台身份证书是指终端终端B的身份证明密钥AIK证书AIKB。
3、 根据权利要求2所述的可实现双向平台鉴别的方法,其特征在于所述步骤2) 的具体步骤是终端B生成随机数NB和对终端A的平台完整性度量参数ParmsA,然后将它们发送给终端A; ParmsA是终端A中平台配置寄存器PCR的序号列表、终端A中平台组件的组件类型列表或终端A中平台组件的标识列表中的任一种或任两种、三种的混合列表。
4、 根据权利要求3所述的可实现双向平台鉴别的方法,其特征在于所述步骤3) 的具体步骤是终端A根据NB和ParmsA获取终端A中各个平台组件的完整性报告i 印or 禾口PCR引用数据QuoteSA,其中,i epoW&包含终端A的PCR引用数据和快照,并需要安全传输至服务器S; QuotesA包含Ns、终端A的PCR值、対Nb和終端A的PCR值的AIK签名、终端A的AIK证书AIKA;然后向终端B发^e; w^, QuotesA,随机数NA和对终端B的平台完整性度量参数ParmsB,其中ParmsB是终端B中PCR的序号列表、终端B中平台组件的组件类型列表或终端B中平台组件的标识列表中的任一种或任两种、三种的混合列表。
5、 根据权利要求4所述的可实现双向平台鉴别的方法,其特征在于所述步骤4) 的具体步骤是终端B验证QuotesA中的AIK签名,若无效,则丢弃该消息;若有效,则根据NA和ParmsB获取终端B中各个平台组件的完整性报告J 卬oW^和PCR引用数据QuotesB,其中及epo他s包含终端B的PCR引用数据和快照;QuotesB包含NA、终端B的PCR值、对NA和终端B的PCR值的AIK签名、终端B的AIK证书AIKB,然后向服务器S发送NB.s, NA, AIKa, AIKb, i epoW&, / e/ oW&,其中NB.s是终端B产生的随机数。
6、 根据权利要求5所述的可实现双向平台鉴别的方法,其特征在于所述步骤5) 的具体步骤是服务器S利用平台私有CA验证终端A和终端B的AIK证书AIKA和AIKb的有效性,并生成相应的AIK证书有效性验证结果ReA和ReB,当AIK证书有效时,服务器S迸一步利用组件分类表中相应平台组件的完整性基准值来校验终端A和终端B的/^/^W^和i ^oW^中的平台组件的完整性度量值,并生成平台组件完整性校验结果,然后利用网络管理策略、组件分类表、终端A和终端B的平台组件完整性校验结果生成终端A和终端B的组件级评估结果ResA和ResB、组件级修补信息i ^^和i 柳&,其中仏w&需要安全传输至终端A, i^脂5需要安全传输至终端B,最后向终端B发送ReA, ReB, [NB.S, NA, AIKA, AIKB, ReA, ReB]sig, ResA, i^m&,ResB, i e附5^, [Nb-s, ^U, QuotesA, QuotesB, ResA, i ewis^, Ress, i e附《B]sig; 其中ReA, Re^n[NB.s, NA, AIKA, AIKB, ReA, ReB]sig是终端A和终端B的AIK证书验证结果,ResA, i em", ResB, ^w^禾口[Nb-s, Na, QuotesA, QuotesB, ResA,及em&,ResB, / e附&]sig是终端A和终端B的平台组件评估结果,[NB.S, NA, AIKA, AIKB,ReA, ReB]sig是服务器S对NB.s, NA, AIKA, AIKB, ReA和Res的用户签名,[NB.S,NA, QuotesA, QuotesB, ResA, 7 e附&, ResB, i^wj5]sig是月艮务器S对nb國s, NA, QuotesA,QuotesB, ResA, i^w&, ResB和^m&的用户签名,终端A和终端B的AIK证书验证结果仅在执行首轮平台鉴别协议时才存在。
7、 根据权利要求6所述的可实现双向平台鉴别的方法,其特征在于所述步骤6) 的具体步骤是终端B验证[nb.s, na, AIKA, AIKb, ReA, ReB]s^tl[nb.s, na,QuotesA, QuotesB, ResA, Aem", ResB, i em^]sig的服务器S的用户签名,若无效则丢弃该消息;若有效,则向终端A发送QuotesB, NB.S, ActionB和步骤5)的终端A和终端B的AIK证书验证结果和平台组件评估结果;其中ActionB是终端B的访问决策,其值为允许、禁止或隔离,ActionB在终端B已完成对终端A的平台鉴别时才存在。
8、 根据权利要求7所述的可实现双向平台鉴别的方法,其特征在于所述步骤7) 的具体步骤是终端A验证QuoteSB中的AIK签名,然后验证步骤5)中的[Nb.s,NA, AIKA, AIKB, ReA, ReB]sig禾口[NB.s, NA, QuotesA, QuotesB, ResA, i e加",ResB,及e腊s]sig的服务器S的用户签名,若无效,则丢弃该消息;若有效,则验证ActioriB,若Actionu存在且其值为禁止,则断开与终端B的连接,否则,当终端A已完成对终端B的平台鉴别时,终端A根据所获得的终端B的AIK证书验证结果和所执行的各轮平台鉴别协议中的终端B的平台组件评估结果生成终端A的访问决策ActionA,并执行该访问决策ActioriA,最后将该访问决策发送给终端B;当终端A还未完成对终端B的平台鉴别时,终端A在完成本轮平台鉴别协议后跳至步骤3)执行 另一轮平台鉴别协议;若终端A收到终端B的访问决策,则将终端B的访问决策通告 于终端A中执行平台鉴别协议的相关组件;Actioiu值为允许、禁止或隔离,Actioru 在终端A已完成对终端B的平台鉴别时才存在。
9、 根据权利要求1至8中任一权利要求所述的可实现双向平台鉴别的方法,其 特征在于所述终端A和终端B之间的平台鉴别协议消息是由终端A和终端B之间建 立的安全通道进行安全保护的;若该安全通道相关于终端A和终端B之间的用户认 证,则可以在AIK签名中绑定该安全通道来增强平台鉴别协议的安全性;若该安全 通道不相关于终端A和终端B之间的用户认证,则可以在AIK签名中绑定该安全通 道和用户认证信息来增强平台鉴别协议的安全性。
10、 根据权利要求l所述的可实现双向平台鉴别的方法,其特征在于所述步 骤6)中若本轮平台鉴别协议不是终端A和终端B之间的首轮平台鉴别协议,则本步 骤发 给终端A的消息中不包含终端A和终端B的平台身份证书验证结果。
全文摘要
本发明涉及的可实现双向平台鉴别的方法中,服务器S为终端A和终端B提供了所有平台鉴别能力,包括平台身份鉴别和平台组件的评估,终端A和终端B仅需要验证对方的平台签名、验证服务器S的用户签名以及根据平台身份证书验证结果和平台组件评估结果生成访问决策,有效地降低了终端A和终端B的负荷,并且增强了该双向平台鉴别方法的应用性;通过设定网络管理策略,并结合组件分类表,可以有效地保护终端A和终端B中的某些平台组件不被暴露给对方。
文档编号H04L29/06GK101635709SQ20091002368
公开日2010年1月27日 申请日期2009年8月25日 优先权日2009年8月25日
发明者军 曹, 肖跃雷, 莉 葛, 黄振海 申请人:西安西电捷通无线网络通信有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1