可信网络连接双向认证协议的设计与分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第15卷第4期解放军理工大学学报(自然科学版)Vol.15No.42014年8月JournalofPLAUniversityofScienceandTechnology(NaturalScienceEdition)Aug.2014
可信网络连接双向认证协议的设计与分析
徐明飞,吴礼发,洪征,曾晓光,周振吉
(解放军理工大学指挥信息系统学院,江苏南京210007)
摘要:针对可信网络连接认证协议的现有方案存在单向认证、平台身份和配置信息泄露、无法抵御伪装及重
放攻击等安全问题,提出了一种新的认证协议。
该协议通过引入可信第三方实现了双向用户身份和平台身
份的认证,防止了伪装攻击。
直接匿名证明方法和时间戳的应用,保护了平台身份和配置信息的安全,防止
了重放攻击。
采用BAN逻辑对协议进行形式化描述及分析,验证了本协议可以提高认证的安全性,具有较
高的应用价值。
关键词:可信网络连接;双向认证协议;BAN逻辑;安全性分析
中图分类号:TP309DOI:10.7666/j.issn.1009-3443.20140121001
Designandanalysisofmutualauthenticationprotocolfortrus
tednetworkconnect
XUMingfei,WULifa,HONGZheng,ZENGXiaoguang,ZHOUZhenji
(CollegeofCommandInformationSystem,PLAUniv.ofSci.&Tech.,Nanjing210007,China)
Abstract:Therearesomesecurityproblemsintheexistingtrustednetworkconnectauthenticationproto-cols,suchasone-wayauthentication,platformidentityandconfigurationinformationleakage,inabilitytoresistthemasqueradeandreplayattacks.Inordertosolvetheproblems,anewauthenticationprotocolwasproposed.Thetrustedthirdpartywasintroducedintotheprotocol,sothatboththeuserandtheplat-form’sbidirectionalidentitysecurityauthenticationcouldbeachieved,andmasqueradeattacksprevented.TheprotocolusestheDirectAnonymousAttestationmethodtoguaranteethesafetyoftheplatformidenti-tyandconfigurationinformation,andusestimestamptopreventreplayattacks.BANlogicwasappliedtodescribingandanalyzingtheprotocolformally.Validationresultsshowthattheprotocolispracticableandcanimprovethesecurityoftheauthenticationeffectively.Keywords:trustednetworkconnect;mutualauthenticationprotocol;BANlogicanalysis;securityanalysis
有效应对日益复杂的网络安全威胁,不仅要有顶层的网络安全体系设计、可信的终端计算环境,还要把终端计算环境的可信扩展到网络,使网络成为一个可信的计算环境。
为此,可信计算组织(trus-tedcomputinggroup,TCG)提出了可信计算机制与网络接入控制技术相结合的可信网络连接(trustednetworkconnect,TNC)[1,2]。
TNC是一种开放的网络接入控制解决方案,在传统的基于身份认证的网络接入控制技术基础上,增加了基于可信平台硬件模块的平台身份认证与完整性验证,将终端可信扩展到了网络,极大地提高了安全性,得到了工业界和学术界的高度关注和支持[3~7]。
但随着对TNC相关技术和架构研究的不断深入,其安全性缺陷也正逐渐凸显。
其中只针对终端进行单向可信认证、
收稿日期:2014-01-21
基金项目:江苏省自然科学基金资助项目(BK20131069,BK2011115)
作者简介:徐明飞,硕士生,主要研究可信计算、网络安全,hixumingfei@163.com通信作者:吴礼发,教授,博士生导师,主要研究网络安全等,wulifa@vip.163.com
308
解 放 军 理 工 大 学 学 报 (自 然 科 学 版)
第 15卷
平台身份和配置信息的泄露 、无法 抵御伪装及重放 攻击等问题尤为突出。
针对上述问题,本 文提出了 一种基于可信第三方的可信网络连接双向认证协议 (trusted network connect mutual authentication protocol,TNCMAP
),实 现 了 终 端 和 待 接 入 网 络 的 双向身份和双向平台认证 ,既保证了终端的安全 ,防 止终端对网络造成破坏
,又保证了终端从网络获取 可信的服务;对平台身份采用直 接 匿 名 证 明 (direct anonymousattestation,DAA)技 术保证了平台身份 隐私信息的安全;利用可信第三方 公钥对配置信息 进行加密,防止了 伪装攻击 ,保 证了机密性;通 过用 户私钥确认
和增加时间戳 ,解决了重放攻击的问题。
1 相关工作
近年来,国 内外学者对可信网络连接进行了深 入的研究。
文 献 [8]基 于 TNC 设计了分层的可信 网络框架,对终端进行了可信度量 ,但也只是针对终 端平台的可信性开展度量 ,没有加 入相应的身份认 证及接入网络的可信性评估。
文献 [9]在 实现终端 平台可信度量的基础上 ,加入了对用户和平台的身 份认证及终 端系统可用性的评估,在 原 有 TNC 架 构的基础上,实现了单向的双重认证 ,但存在平台配 置信息泄露的问题。
文献[10]通过采用基于 属性的 远程证明方法,将可信平台的证明交由可信安全证书 颁发方完成,提出了一种基于属性的可信网络接入方 案,解决了平台 配置信息暴露的问题,但 仍只实现了 对接入终端的单向认证。
文献[11]通过对 TNC 架构 的改进,重新设 计了 TCA 架构,实现了双向认证,提 高了安全性,具 有重要的意义,但 终端无法直接与可 信第三方进行通信,无 法保证信息来源安全可靠,并 且存在暴露终端平台配置信息的安全问题。
以 上 研 究 重 点 都 集 中 在 终 端 的 单 向 可 信 认 证 上,忽视了针对接入网络的可信性评估 ,缺乏安全的 终端和待接 入 网 络 的 双 向 身 份 和双向平台认证协 议,容易泄露平台身份和配置信息 ,无法抵御伪装及 重放攻击,使得 网络容易遭受恶意攻击。
本文针对 上述问题进行了系统研究。
* TNCMAP
协议设计 本文设计的 TNCMAP 协议包括双向用户身份 认证阶段(第一阶段)、会话密钥协商与确认阶段(第
身份凭证确认用户的真实身份 ;会话密钥协商与确 认阶段是实现通信双方会话密钥的协商与确认 ;双 向平台身份认证与完整性验证阶段 ,通 过采用已有 的平台直接匿名证明[12,13]的 方法,在 防止平台身份 隐私信息泄露的前提下 ,实现了对双向平台身份的 认证;通 过 引 入 可 信 第 三 方 (trustedthirdparty, TTP),利用 其 公 钥 对 收 集 的 平 台 配 置 信 息 进 行 加 密,在保证平台配置信息隐私的前提下
,验证平台配 置是否符合接入策略。
通过以上 3 个阶段的处理, 网络接入认证机制的安全性得到了有效提高。
本协议中,TTP 负责任何进入网络的设备 D 的
AIK 和平台身份证书 PIK 的发 用户身份证书 CertD CertD
放和管理。
它的针对终端及网络的身份验证及完整 性验证评估功能,防止了伪装及篡改攻击的发生 ;同 时它也向网络中的设备提供时钟同步服务 ,通 过在 报文中加入 时 间 戳 字 段 ,避 免 了 重 放 攻 击 的 发 生。
其中,TTP 根据网络环境设置与网络中其他设备的 时钟同步时间间隔 Tinter,设置防重放攻 击的有效时 间间隔 ΔTeffi,当报文中的时间戳与当前时 间 差 大 于 ΔTeffi 时,该报文无效。
2.1 双向用户身份认证
双向用户身份 认 证 阶 段 是 通 过 交 换 通 信 双 方 的用户身份证书 ,交 由 TTP 完 成 用 户 身 份 证 书 的 可信验证 ,确 认对 方 用 户 身 份 的 可 信 ,并 完 成 双 方 用户身份证书公 钥 的 互 换。
双 向 用 户 身 份 认 证 阶 段的具 体 设 计 流 程 如 图 1 所 示。
其 中 ,步 骤 编 号 (x-y)表 示第 x 阶段的第 y 个步骤。
图 1 双向用户身份认证流程
Fig.1 Processofbidirectionaluseridentityauthentication
步骤 1-1:当 Client请 求接入网络时,Server向 Client发 起 用 户 身 份 认 证 挑 战,开 启 了 Client
与 Server 间 的 双向用 户身份认证过 程。
Client 向 Server发 送 报 文,内 容 包 括:Client端 与 TTP 时 钟 同步后用自身 TPM 模块的时钟计数器生成的时间 戳 TC ,Client的用户身 份证书 CertC K
,利 用 二阶段)、双向平台 身份认证与完整性验证阶段 (第 的私钥 AIK-1
CertC AI Client C
C 对 AIK 和时间戳 T 进 行 签 名 运 AIK , C , C )。
将 报文段 AIK
、 三阶段)。
其中,双向用户身份认证阶段是通过用户
算,得到 E(CertC T AIK-1
CertC
AIK
AIK
C AIK AI
K AIK AI C )发至
-1
AI
-1 TTP
C )。
′
第 4期
徐明飞,等:可信网络连接双向认证协议的设计与分析
309
C
)连 接 起 来 发 送 至
端。
戳报文段 E(T , S )解 密,检 查时间戳 T 以防
AIK
,TC ,AIK-1
Server * AIK-1
S
其中,符号“|”表 示报文段连接符,表示将几个报文 止重 放 攻 击。
检 查 通 过 后,根 据 验 证 结 果 ResS
, 段拼接成一个报文,表示为:
若结果表明 Server也身份合法,则将 CertS
缓存。
AIK AI C )。
至此,双向用户 身份认证 阶 段 (步 骤
) CertC |E(CertC K ,TC ,AIK-1
1-1~1-
5 步 骤 1-
2:Server收 到 来 自 Client的 身 份 认 证 报文后,利用身份证书 CertAIK 中的公钥解密报文段
结束,Client与 Server
完成了双向用户身份认证。
以下(步骤2-1~2-4)为会话密钥协商与确认阶段 。
C
),得到 CertAIK
TC 。
2.2 会话密钥协商与确认
为防止报文被篡改,验证 CertC
'
与 CertC
是否相 同,若相同,则完 整性验证通过,后 续协议中的完整 性验证亦是采用此方法 ;为防止重放攻击
,将发送端 (Client)报 文 的 时 间 戳 (TC )与 接 收 端 (Server)同 TTP
同步后自身生成的时间戳 (TS )进 行 计 算,得 到时间差ΔT,若ΔT <ΔTeffi,则防重放攻击验证通
过,后续协议中的防重放攻击亦是采用此方法。
当完 整性验证与防重放攻击验证同时通过后,Server生成 会话密钥协商与确认阶段的主要工作是通过交 换通信双方各自生成的随机数 ,利用相应的会话密 钥生成函数,为双 向平台身份认证与完整性验证阶 段的通信实现双方会话密钥的协商与确认 ,降 低通 信双方的计算量,提高计算和通信效率。
步骤2-1:Server利用自身 TPM 模块随机数生 成器 生 成 NonceS ,利 用 Client 身 份 密 钥 的 公 钥
加 密 生 成 报 文 段 E(Nonce ,AIK ),再 用 自 AIK
CertS
* AIK-1
AIKC S C 自身的身份认证报文 CertS
|E( AIK ,T , * ), 己 的私钥加密生成报文 E(E(NonceS ,AIKC
), 连同 来 自 Client 的 报 文 段 CertC |E(CertC K ,T
C , AIK-1
TTP 进行身份验证,表示为: AIKS )发送至 Client端。
( ( , ), S )。
AIK AI
C )|CertS K |×
E E NonceS
AIKC
AIK-1
AIK
,TS ,AIKS )。
步 骤 2-2:Client收 到 来 自 Server的 反 馈 报 文 后,首先用 Server
的公钥 解密,验 证报文的来源,确 步骤1-3:TTP 收到来自 Client及 Server的 身 认报文未被 非 法 篡 改。
若 验 证 通 过,Client 利 用 自
份认证报文后,用 Client及 Server相 应的身份公钥 身 TPM 的 随 机 数 生 成 器 生 成 NonceC ,对 NonceC 解密报 文,通 过对发送端报文的时间戳 (TS )检 查 防止重放攻 击,通过 完整性 验证防止报文被 篡 改。
和 NonceS 进行
KCS =
H(NonceC||NonceS )运算, AIK 及 若两项验证 通 过,TTP 则 验 证 身 份 证 书 CertC
得到 Client与 Server
间的会话 密钥,并 利用带密钥 的散列函数计算消息认证码C = -
CertS
的 有 效 性,根 据 有 效 性 的 验 证 结 果 生 成
MAC
HMAC SHA AIK
|KCS
(NonceS )。
这 里 的 CMAC
用 来 确 认 Client 端 与 AIK
与 ResAIK ,与 CertAIK 、CertAIK 及
TTP 生成的 Server端协商的会话密钥的一致性 。
然后用 Server
Res
C S C S
时间 戳 TTTP 一 起,经 私 钥 K-1
加 密 后,发 送 至 的公钥
AIKS
对 NonceC 进行加密得到
E(NonceC , Server端,所发送的信息表示为 :
AIKS )
, 并 用 Client 的 私 钥 进 行 签 名 得 到 E(ResC
|ResS K |CertC K |×
E(E(Nonce AIK AIK-1
AIK
AIK AI AI
TTP)。
C , S ), C )。
最 后 将 CMAC 与 1 CertS
|TTTP,
K-1 E(E(Nonce AIK AIK- Server
C , S
), C )发 送 至 端,所 步 骤 1-
4:Server 收 到 来 自 TTP 的 反 馈 报 文 后,首先用 TTP 的公钥解密,若解密成功,则验证了 报文的来源,并确认了报文未被非法篡改 ,然后检查
发送的信息表示为:
E(E(NonceC ,AIKS ),AIK-1
|CMAC 步骤 2-
3:Server收 到 Client发 送 的 报 文 后 ,用 时间以防止重放攻击。
根据验证结果 ResC
Client AIKC E(NonceC ,AIKS ), 明 Client身份合法,则 将 CertC
缓存,同 时,Server
AIK-1
)得 到 E(Nonce ,AIK ),确 认 了 报 文 来 源
AIK
C
C
S
经时间同步后 生 成 自 身 的 新 的 时 间 戳 TS ,用 身 份
私钥加 密 后 与 来 自 TTP 的 反 馈 报 文 一 起 发 送 至 于 Client,再 用 自 己的私钥进行解 密 ,得 到 NonceC ,
计 算出本次会话密 钥 得 到 KCS ;然 后 生 成 Client,所发送的信息表示为 :
消息认证码 CMAC ,与 收到的 CMAC 进行对比
,若 一 E(ResC
|ResS K |CertC K |CertS K |
×
致 ,则 利 用 带 密 钥的散 列函数计算消息认证码
AIK
AI
AI
AI
S
-1
TTTP,K-1 E(TS ,AIK-
1
SMAC = HMAC-SHA|KCS
(NonceC )
,用 自身的私 步 骤 1-5:Client收 到 Server的 身 份 认 证 报 文 后,首先用 TTP 的公钥解密,若解密成功,则确认了 报文未被非法篡改;利 用 Server的
身份公钥对时间 钥 AIKS 对 SMAC 进 行 加 密 ,发 送 至
的信息表示为:
E(SMAC ,AIK-1)。
Client,所 发 送
Cred TTP
Cred Cr
Cr Cre
TTP
310
解 放 军 理 工 大 学 学 报 (自 然 科 学 版)
第 15卷
步骤2-4:Client接 收到 Server发 送的报文后, 用 Server的公钥 AIKS 进行解密,确认消息来源于 ′
进行
行防重放攻击验 证。
根 据 收 到 的 组 件 参 数 列 表 ParamsC ,通 知 相 应 的 IMC 收 集 相 关 的 组 件 信 息, 并提取出存储着这些组件信息的 PCR 值 PCR 导 Server
,并得到SMAC ,与自身计算得到的SMAC 对比,若一致,则会话密钥建立成功。
2.3 双向平台身份认证与完整性验证
双向平台身份认证与完整性验证阶段的主要工 作是通过直接匿名证明的方法完成了双向平台匿名 C ; 出完整性 度 量 日 志 LogC ,为
防 止 伪 装 攻 击,利 用 TTP 的公钥 KTTP 进行加密生成 MesC =E(PCRC| LogC ,
KTTP)。
同 时,Client向 TTP 发 送 DAA 平 台 证明凭证请求 ReqC。
Req
C T 。
Cred| C
认证,保护平台身 份隐私信息 ;通 过交换经 TTP 公
步骤 3-3:TTP 收 到 DAA 平 台 证 明 凭 证 请 求 钥加密后的平台配置信息
,交由 TTP 完成平台配置 ReqC
T 后,检查时间戳 以防止重放攻击。
然后 Cred| C 信息的完整性验证,确认对方平台 配置是否符合接 入策 略。
其 中,通 过 TTP 提供 的 身份验证的功能 (该项功能类似于 认证中心 ),防止 了伪装攻击的发 生;通过采用 TTP 公钥对平台配置信息加密 ,确 保 了平台配置信息无法被除 TTP 以外的其他实体获 取,保护了平台配置信息的安全 ;通过引入直接匿名
根据相应的 DAA 认证算法生 成 相 应 的 DAA 平 台 身份匿名 凭 证 CredC ,经 TTP 私钥加密后发送至 Client端,
E(CredC ,K-1
)。
步骤3-4:Client收到 TTP 发送的报文后,利 用 TTP 的公钥 KTTP 进行解密,得
到平台身份 匿 名 凭 平台身份认证[12,13
],实 现了对平台身份信息隐私的
证 CredC 与挑战随机数
NS 一起,经 DAA 认证算法 保护。
直接匿 名 证 明 (DAA)采 用零知识证明和群 签名密码技术,可以实现对平台身份的匿名证明 ,从 而可以在无法确定远程证明的是具体哪个平台的情 况下,保证远程证明的平台是真实的 ,具体原理参见 文献[12,13]。
双 向平台身份认证与完整性验证阶 段的具体设计流程如图 2所示。
图 2 双向平台身份认证与完整性验证流程
Fig.2 Processofbidirectionalplatformidentityauthen- tica
tion
生成 DAA 验证签名δC 。
同时 发起对 Server端 的平 台匿名身 份 认 证 与 完 整 性 验 证 挑 战。
报 文 内 容 包 括:DAA 平台证明挑战随机数 NC ,MesC ,δC ,需 要 度量 的 Server 端 组 件 参 数 列 表 ParamsS ,时 间 戳
TC ,所发送的信息表示为
: E(NC |MesC |δC |ParamsS |TC ,KCS)。
步 骤 3-5:Server收 到 Client端 的 报 文 后 ,利 用 会 话 密 钥 KCS 进 行 解 密 ,检查时间戳以防止重 放 攻 击 。
验 证 DAA 平 台 身 份 验 证 签 名 δC 。
若 验 证 通 过 ,将 NC 进 行 缓 存 ;根 据 收 到 的 组 件 参 数 列 表 ParamsS ,
利 用 相 应 的 IMC 收集相关的组 件 信 息 ,提 取 出 存 储 着 这些组件信息的 PCR 值 PCRS ;导 出 完整性度量日志 LogS ,为 防 止 伪 装 攻 击 ,利 用 TTP 的 公 钥 KTTP 进
行 加 密 生 成 MesS
= E(PCRS|LogS ,
KTTP)。
生 成 DAA 平 台 证 明 凭 证 请 求 ReqS 。
Server
重新生成最新的时间戳 , 步骤 3-1:Server 向 Client发 送 平 台 匿 名 身 份 认证与完整性验证挑战。
报文内容包括:DAA 平台 证明挑战随机数 NS (DAA 平台身份认证需用到
,非 防重放攻击所需),需度量的 Client端组件参数列表 ParamsC ,时间戳 TS 。
其中,需度量的组件参数列表
ParamsC 由 Server根据自身的平台安全鉴别策略产 与 MesC 、ReqS
ed 一 起 发 送 至 TTP 进 行 验 证 ,所 发 送的信息表示为 :
MesC |MesS |ReqS
e
d|TS 。
步 骤 3-
6:TTP 收 到 Server发 送 的 报 文 后,首 先检查时间戳的有效性以防止重放攻击。
检查通过 后,TTP 根
据 收 到 的 DAA 平 台 证 明 凭 证 请 求 生,时 间 戳 TS 由 Server端 TPM 的 时 钟 计 数 器 产
ReqS d
,利
用 相 应 的 DAA 认 证 算 法 生 成 相 应 的 生。
然后利用 Client与 Server协商的会话密钥 KCS DAA 平台身份匿名凭证 CredS ;利用 K-1 对
MesC 对消息进行加密,所发送的信息表示为 :
E(NS |ParamsC |TS
,KCS)。
步 骤 3-
2:Client收 到 Server发 送 的 请 求 报 文 及 MesS 进行解密,得 到 PCRC 及 PCRS
,然 后 验 证 Client与 Server 的 平 台 完 整 性。
根 据 验 证 结 果, TTP 生成 Client
端 的平台身份与完整性验证结 果
Res PIK 后,利用会话密钥 KCS 进行解密,检查时间戳 TS ,进
C PIK 与 ResS
,与 CredS
及 时 间 戳 TTTP 一
起 经
PIK 、 PIK PI C
C
S
TTP
AI AIK AIK TTP S 第 4期
徐明飞,等:可信网络连接双向认证协议的设计与分析
311
TTP
加密后,发送至 信息表示为:
端,所发送的
曾发送过包含 X 的消息。
P ≡Q !KP,P {X}K
E(ResC |ResS K |CredS |TTTP,K-1
P ≡Q ~X
PIK
PI
)
TTP
步 骤 3-7:Server端 接 收 TTP 发 送 的 报 文 后, 利用 TTP 的公钥 KTTP 进行解密,首先检查时间戳 以防止重放攻击,如果检查通过,由平台身份匿名凭
证 CredS 与缓存的挑战随机数 NC 一起,经 DAA 认 证算法生成 DAA 验证签名δS 。
根 据 Client平 台完 (2)接收 消息规则 (Seeing
rules),表 示如果 P 相信P 的 公 钥 为 K ,且 P 收 到 用 K 加 密 的 消 息 {
X}K ,则可推得 P 收到过 X 。
{X }K。
整性验证结果 ResC 生成针对 Client的 相应的访
(3)新鲜性规则(Freshnessrules
),表示如果 P PIK
, 问决 策。
同 时,将 平 台 完 整 性 验 证 结 果 ResC
相信 X 是新鲜的,则 可推得 P 相信 X ,Y 的整体信 息也是新鲜的。
S
PIK 与 DAA 验证签名δS 及时间戳 TS
经会话密。
钥加密后发送给 Client,所发送的信息表示为
: P ≡#(X,Y)
E(ResC |ResS K |δS |TS ,KCS)。
(4)临时值校验规则(Nonceverificationrule), 步骤3-
8:Client端 接收 Server发 送的报文后, 利用会话密钥进行解密 ,首先检查时间戳以防止重 放攻击,如果检查通过,则 验证 DAA 平台身份验证 签名δS ,验 证 通 过 后,根据平 台 完整性验证结果
表示如果 P 相信 X 是新鲜的,且 P 相信 Q 曾发送 过 X ,则可推得 P 相信Q 相信 X。
S
PIK 生成相应的访问决策。
(5)仲 裁 规 则 (Jurisdictionrule
),表 示 如 果 P 至此,双 向平台身份认证与完整性验证阶段结 束。
整个平台身份认证与完整性验证过程中 ,从 未 使用到 Client与 Server的平台 身份证书,保 证了平 台身份隐私信息的安全。
3 TNCMAP协议的安全性与效率分析
3.1 TNCMAP 协议的安全性分析 相信Q 对 X 有控制权,且 P 相信Q 相信 X ,则 可推 得 P 相信 X。
X
P ≡(6)会话密钥 规则 (Sessionkeyrules),表 示如 果 P 相信密钥 K 是新鲜的,且 P 相信Q 相信 X (X 是密钥 K 的元素),则可推得 P 相信P 与Q 的共享 密钥是 K 。
3.1.1 BAN
逻辑 BAN 逻辑[6,7]
是 一 种 模 态 逻 辑 (Modellog
ic), 在认证协议的形式化分析证明中起着重要的作用。
以下为 BAN 逻辑中常用的逻辑符号:
P|≡X :P 相信X ;PX :P 看到过X ,P
曾 收到过含有 X 的消息;
P|~X :P 曾说过X ,P 曾发送过包含X
的消
在 下面的分析过程 中,将 Client 标 记 为 C, Server
标记为 S。
3.1.2
协议理想化 双向用户身份认证: Message1-1: C → S:CertC C
-1
息;{X}K :X 用密钥 K 进行加密;
Message1-2: AIK
,{CertAIK ,TC }AIK P|X :P 对X 有控制权;#(X):X 是新鲜 * → TTP:Cert
C
C
-1
, AIK , 的;
{Cert
S
AIK
,{CertAIK ,TC }AIK T
CertS
K
|→P :K 是P 的公钥;P !KQ :P 与Q 的 共享密钥是 K;
AIK
, S }AIK-1
Message1-
3: TTP → S:{ResC
K ,
AIK
,
AIK
,
BAN 逻辑中的逻辑规则共有 19 条,与 本文协 CertS K ,T
AI ResS } CertC
议分析相关的逻辑规则主要有以下 6条。
(其中,格 AI
Message1-4:
TTP K-1
式 A/B 表示由前提A 推得结论B): * → C:{ResC K ,ResS ,CertC , (1)消 息 含 义 规 则 (Message meaningrules), CertS
T ,T
表示如果 P 相信 Q 与 P 间 的 共 享 密 钥 为 K ,且 P 收到用 K 加 密 的 消 息 {X}K ,则 可 推 得 P 相 信 Q
AIK , TTP}K-1 会话密钥协商与确认:
{ S }AIK-1
Res Res 。
-1 S
CS
Cr CS
Cr
TTP S -1 C
PI PI S S S
S
AI AIK
C
AIK
AI
Cr
C
S
312
Message2-
1: 解 放 军 理 工 大 学 学 报 (自 然 科 学 版)
第 15卷
AIKC
(2)TTP|≡ TTP||C
* → C:{{NonceS }AIKC }
AIKS
Message2-
2: -1
,C
AIKS
(3)TTP|≡
TTP||S (4)TTP|≡ TTP|CredC
C → S:{{NonceC }AIKS }
AIKC
Message2-
3: * → C:{SMAC }AIK-1 。
MAC
(5)TTP|≡ TTP|CredS
(6)TTP|≡ #(T) 双向平台身份认证与完整性验证:
Message3-1:
* → C:{NS ,ParamsC ,TS }K
3.1.4
协议的安全目标 双向用户身份认证:
AIKS (1)C|≡|S Message3-2: C → TTP:ReqC
ed,T
C Message3-
3: TTP → C:{CredC }K-1 Me
ssage3-
4: C → S:{NC ,MesC ,δC ,ParamsS ,TC }K
Message3-5:
* → TTP:MesC ,MesS ,ReqS
ed,TS Message3-6: AIKC
(2)S|≡|
C
(3)C|≡ S瓡AIK-1
(4)S|≡ C瓡AIKC 密钥协商:
(1)C|≡ C !KS (2)S|≡ C !KS
密钥确认:
(1)C|≡S|≡C !K
S
TTP → S:{ResC K ,ResS K ,CredS ,TTTP}K
-1
(2)S C
C !K
PI PI
TTP
|≡ |≡
S Message3-7: * → C:{ResC K
, PIK
,δS ,
TS }K
双向平台身份认证: ()
PI
ResS
3.1.3
初始化假设的确定 Client端的初始假设:
AIKC
(1)C|≡|C
AIK-
1
(2)C|≡|C
KTTP
(3)C|≡
| TTP
AIKC
(4)C|≡ TTP||
C
(5)C|≡ #(NonceC ) (6)C|≡ #(T) 1 C|≡δS 瓡S
(2)S|≡δC 瓡C 平台完整性验证:
(1)C|≡ ResS
K
(2)S|≡ ResC K
3.1.5
双向用户身份认证阶段的验证 (1)TTP 验证消息来源,双 向用户身份认证阶 段防止重放攻击的证明
由 Message1-2根据接收消息规则得到 : TTP{CertC K,{CertC K,TC}AIK-1 CertS K,{CertS K,TS}AIK-1
AI AI
, AI AI
} * 。
(7)C|≡ C|
ReqC
ed
TTP {T }
Cr
(8)C|≡ TTP|CredC
Server端的初始假设:
AIKS (1)S|≡|
S * AIK-1
由接收消息规则和消息含义规则得到: AIKS
TTP {TS }AIK-1
,TTP|≡|→S 。
TTP|≡S|~ {CertC K,{CertC K,TC}AIK-1 CertS K,{CertS K,TS}AIK-1 } AI AI
AI AI AIK-
1
(2)S|≡|
→
S
KTTP
(3)S|≡
| TTP
AIKS 由此证明了可以验证消息来源于 Server。
根据接收消息规则和新鲜性规则得到:
TTP {TS }AIK
-1 ,TTP|≡ #(T) 。
(4)S|≡ TTP||S TTP|≡ #{CertC K ,{CertC ,TC}AIK-1 ,CertS ,{CertS K,TS}AIK-1 }
(5)S|≡ #(NonceS ) (6)S|≡ #(T)
(7)S|≡ S|ReqS ed
(8)S|≡ TTP|CredS
TTP 的初始假设:
KTTP
(1)TTP|≡
| TTP
CS
C
由此证明了可以避免重放攻击。
同样的,TTP接收到Message1-5时也可以验证消息来源于Cli-ent,且同样可以避免重放攻击。
(2)TTP完成对Cl
ient和Server的用
户身份
认证
由Message1-2根
据接收消息规则与
临时值校
AI AI * 。
S S
S C 。
C
S
C
S
C
C
第 4期
徐明飞,等:可信网络连接双向认证协议的设计与分析
313
验规则分别得到: TTP{CertC K ,{CertC K ,TC }AIK-1
CertS K ,{CertS K ,TS }AIK-1
KTTP TTP|≡| AI AI
, AI AI AIKC }, S AIKS
TTP 。
根据仲裁规则得到:
TTP|≡ TTP|≡|
C,TTP|≡ TTP|≡|S AIKC
AIKC
AIKS AIKS
TTP|≡ TTP|≡|C ,TTP|≡ TTP| |C
AIKC
TTP|C TTP|≡ TTP|≡|S ,TTP|≡ TTP| |
S。
AIKS
TTP|S
TTP 完成了对 Client和 Server的用户身份证书的鉴别 。
由接收消息规则与消息含义规则得到:
KTTP
AIKC
TTP {CertC K ,TC }AIK-1 CertS K ,{CertS K ,TS }AI
K-1
TTP|≡|TTP TTP|≡|
C
AI
,
AI
AI
},
,
TTP|≡ C|~ CertC
K
KTTP
AIKS
TTP {CertC K ,TC }AIK-1 CertS K ,{CertS K ,TS }AI
K
TTP|≡|TTP TTP|≡|
S AI
,
AI
AI
},
,。
TTP|≡ S|~ CertS
K
从而得到:
TTP|≡ C瓡AIK-1
C|≡ TTP|~ {ResS K,CertS
K,
TTTP},C|≡ #(T) AI AI 。
{ S , S } C ,
TTP|≡ S瓡AIK-1
C|≡ TTP|≡ 由仲裁规则得到: R
esAIK CertAIK
AIKS 此时 TTP 完成了对 Client和 Server
的 用户身 C|≡ TTP|≡ {ResS , AIK}, AIK C
ertS
C|≡ TTP||S 。
份认证,确认了 Client和 Server拥 有相应的用户身 份私钥 AIK-1 和 AIK-1
AIKS
C |≡|S 此时 C 实现了对 S的用户身份证书的鉴别。
C S 。
(3)Server完成对 Client的用户身份认证 由 Message1-
3根据消息含义规则得到 : KTTP 又由 Message1-4根据消息 含义规则与临时值 校验规则得到:
S {ResC K,ResS K,CertC K,CertS K,TTTP}K-1 S|≡| TTP AIK
S
AI AI AI AI , TTP。
C{{Cert
S
, }, S|≡ TTP|~ {ResC K,CertC
K,TTTP}
C| S| AIK }AIK-1 TS CertS C|≡|S 。
}, AI
AI
≡ ~ {{ AIK }AIK-1 C|≡ S瓡AIK-1
由临时值校验规则得到:
S|≡ TTP|~ {ResC K ,CertC
K
,TTTP},S|≡ #(T) 此时 Client实现了对 Server
的 用户身份认证, 确认了 Server拥有相应的用户身份私钥 AIK-1。
AI AI 。
S
S|≡ TTP|≡ {ResC K
,CertC
K} AI 由仲裁规则得到:
AI
AIKC
3.1.6
会话密钥协商与确认阶段的验证 (1)会话密钥的协商
S|≡ TTP|≡ {ResC K,CertC
K},S|≡ TTP||→C
由 Message2-
1根据消息含义规则得到 : AI
AI。
AIKC
AIKS S|≡|
→
C C{{NonceS }AIK } -1
此时 Server实 现 了 对 Client的用户身份证书 的鉴别。
又由 Message1-1根据消息 含义规则与临时值 校验规则得到:
AIKC C AIKS
,C|≡|S。
C|≡ S|~ NonceS
又由临时值校验规则得到:
C|≡ S|≡ NonceS。
由接收消息规则得到:
S{{CertC K }AIK-1 TC
S|≡|→C CNonceS ,C|≡ #
(NonceC ) AI , }, 。
C|≡ #(NonceS ||NonceC )
S|≡ C|~ {{CertC
K }AIK
-1
S|≡ C瓡AIK-1
AI }, C
此时 Server实现了对 Client
的 用户身份认证, 确认了 Client拥有相应的用户身份私钥 AIK-1
由会话密钥规则得到:
C|≡ # (NonceS ||NonceC )
,C|≡ S|≡ NonceS。
C|≡ C !KS
(4)Client完成对 Server的用户身份认证 从而证 明 了 Client相 信 与 Server协 商 的 会 话 由 Message1-4根据消息含义规则得到 : KTTP 密钥 KCS = H(NonceC ||NonceS )。
C {ResC K,ResS K,CertC K,CertS K,TTTP}K-1 C|≡| TTP
同理,由 Message2-2 可以证得 S|≡ C !KS, AI AI AI AI , TTP 。
C|≡ TTP|~ {ResS K,CertS K,TTTP} 从而得到 Server Client
AI
AI
相信与 协商的会话密钥。
C
由临时值校验规则得到:。
Cr PI PI
K 。
314
解 放 军 理 工 大 学 学 报 (自 然 科 学 版)
第 15卷
(2)会话密钥的确认
由 Message2-2根据消息含义规则得到 : SCMAC ,S|≡ C !KS
抗伪装攻击,抗重放攻击,保证平台身份匿名性及平 台配置机密性等新的安全功能。
表1 是 所 提 协 议 TNCMAP 与 TNC 协 议 及 S|≡ C|~ C !K
S
由临时值校验规则得到: S|≡ C|~ C !KS,S|≡ #(C !KS)
|≡ |≡ !
从而实 现 了 Server对 Client的会话密钥的确 认。
同理,由 Message2-
3可以证得: C|≡ S|≡ C !K
S。
从而实 现 了 Server与 Client之间的会话密钥 的双向确认。
3.1.7
双向平台身份认证与完整性评估阶段验证 (1)TTP 双 向 平 台 身 份 认 证 与 完 整 性 评 估 阶 段防止重放攻击的证明
由 Message3-2 根 据 消 息 含 义 规 则、接 收 消 息 规则和新鲜性规则得到:
TTP{ReqC
ed,
TC },TTP|≡ #(T) Cr
, TTP|≡ #{Reqed,C }
由此证明了可以避免重放攻击。
(2)Server完成对 Client的平台身份认证 根据消息含义规则与临时值校验规则得到:
S|≡ C !KS,S {NC ,MesC ,δC ,ParamsS ,TC }K
CS
|≡δC 瓡
此时,Server完成了对 Client的平台身份的认证 。
(3)Server实现对 Client的完整性认证 又由 Message3-4根据消息 含义规则和消息接 收规则得到:
TCA 协议在安 全 功 能 方 面 的 对 比 分 析。
通 过 表 1 中安全功 能 的 对 比 可 以 看 出 ,TNCMAP 协 议 在 提 高通信效率,抵抗 伪装、重 放攻击,增强机密性等方 面具有较大优势。
表 1 协议安全功能对比
Tab.1 Comparisonofprotocolssecurityfunctions
安 全 属 性
TNC TCA TNCMAP 终端完整性 √
√ √ 服务器端完整性
× √ √ 双向认证
× √ √ 会话密钥协商确认
× × √ 消息源确认 × × √ 抗伪装攻击 × × √ 抗重放攻击 × × √ 平台身份匿名性 × × √ 平台配置机密性
×
×
√
3.2 TNCMAP 协议的效率分析
对 TNC、TCA 及 TNCMAP
协议的计算量进行 定量统计分析,得到如表 2所示三者计算量统计值。
由于非 对 称 加 解 密 计 算 量 远 大 于 对 称 加 解 密,故 TNCMAP计算效率高于 TCA。
虽然 TNC 计算量较 低,但其安全性与 TCA 和 TNCMAP相比太低。
表 2 协议运算量对比
Tab.2 Comparisonofprotocolscomp
utation 次
TNC TCA TNCMAP S {ResC K,ResS K,CredS,
TTTP}K
-1
KTTP ,S|≡| TTP PI PI
TTP。
S|≡ TTP|~ ResC K,SResC
K
散 列 计 算
0
0
2
综 合 安 全 性 与 效 率 的 分 析, 与
PI 由临时值验证规则得到: S|≡ TTP|~ {ResC
K }PIK
PI
S|≡ #
T
TNC、TCA 相比具有较大优势。
TNCMAP
PI
, ( ) 。
S|≡ TTP|≡ Res
C K
4 结 语
由仲裁规则得到: S|≡ TTP|≡ ResC
K ,S|≡
|
ResC
K
,通 过 引 入 TTP
PI S|≡ Res
C K
TTP PI
本文设计的双向认证 协 议
,实
PI
从而得到:S|≡ ResPIK
,Server实 现了对 Cli-
C
ent的完整 性 认 证。
且 Server
只 能 得 到 TTP 反 馈 的针对 Client结果 ResC
同理,可 以 实 现 TTP 对 Server的 平 台 身 份 认 证及 Client对 Server的完整性认证。
通过以上的 安 全 性 分 析,本 文 所 设 计 的 TNC- MAP 协议具有会话密钥协商与确认
,消 息源确认, 现了针 对终 端 及 接 入 网络的双向身 份 和 平 台 认 证 ,确 保了通信双 方 的 真 实 可 靠 ;通 过 对 终 端 及 网 络的各组件进行 完 整 性 度 量 ,并 由 TTP 进 行 可 信 评估 ,保 证了终端 及 接 入 网 络 的 安 全 可 信 ;通 过 对 相应的平 台 配置信息进行加密 ,实 现 了 终 端 和 网 络平台配置信息 的 机 密 性。
目 前 所 提 出 的 双 向 认 证协议的很多通 信 是 通 过 TTP 进 行 的 ,如 何 进 一 步降低 TTP 的通信 载 荷 ,提 高 认 证 效 率 是 下 一 步。
S 非对称加密
2 14 11 非对称解密 2 14 11 对称加密 0 0 3 对称解密
0 0 3
第4期徐明飞,等:可信网络连接双向认证协议的设计与分析315
研究的主要工作。
参考文献:
[1]TrustedComputingGroup.TNCIF-M:TLVbinding[EB/OL].(2010-03-10).[2013-11-01].http://www.trustedcomputinggroup.org/files/resource_files/495862FF-1D09-3519-AD8977DC98C1167C/TNC_IFM_
TLVBinding_v1_0_r37a.pdf.
[2]BENTEI,vonHELDENJ.Towardstrustednetworkaccesscontrol[M].Wiesbaden:Vieweg+Teubner,20
09.
[3]VONHELDENJ,BENTEI,VIEWEGJ,etal.Trustednetworkconnect(TNC)[J].EuropeanTrus-te
dInfrastructureSummerSchool,2009,4(1):36-45.
[4]林闯,彭雪海.可信网络研究[J].计算机学报,2005,28(5):751-758.LIN
Chuang,PENGXuehai.Researchontrustworthynetwo
rks[J].JisuanjiXuebao(ChineseJournalofCompu
ters),2005,28(5):751-758.(inChinese).
[5]张焕国,陈璐,张立强.可信网络连接研究[J].计算机学报,2010,33(1):706-717.ZHANG
Huanguo,CHENLu,ZHANGLiqiang.Re-searchontrustednetworkConnection[J].JisuanjiXuebao(Chin
eseJournalofComputers),2010,33(4):706-717.(in
Chinese).
[6]BURROWSM,ABADIM,NEEDHAMRM.Alog-icofauthentication[J].ProceedingsoftheRoyalSoci-etyofLondon.MathematicalandPhysicalSciences,1989,
426(1871):233-271.
[7]ABADIM,TUTTLEMR.Asemanticsforalogicofauthentication[C].NewYork:ProceedingsoftheTenth
AnnualACMSymposiumonPrinciplesofDistributedC
omputing,ACM,1991.
[8]WANGJ,LIUY,ZHANGJ,etal.Evaluatingac-cessterminalintrustednetwork[C].Chengdu:Testinga
ndDiagnosis,2009.
[9]CHENL,ZHANGH,ZHANGL,etal.Anewin-formationmeasurementschemebasedonTPMfortrustednetworkaccess[C].Harbin:ComputationalIn-telligenceandSecurityWorkshops,2007.
[10]赵世军,冯登国.基于属性证明的可信网络接入方案[J].武汉大学学报:理学版,2012,58(6):519-52
5.ZHAOShijun,FENGDengguo.ATNCtrustedn
et-workconnectionschemabasedonpropertyattestatio
n
[J].JournalofWuhanUniversity:NaturalScienceE-d
ition,2012,58(6):519-525.(inChinese).
[11]沈昌祥,张焕国,王怀民,等.可信计算的研究与发展[J].中国科学:信息科学,2010,40(2):139-166.S
HENChangxiang,FENGDengguo,WANGHua-imin,etal.ResearchanddevelopmentofTrustedCom
puting[J].ScienceChinaPress,2010,40(2):139-166.(inChinese).
[12]BRICKELLE,CAMENISCHJ,CHENL.Directa-nonymousattestation[C].Proceedingsofthe11thA
CMConferenceonComputerandCommunicationsSe
curity,NewYork:ACM,2004.
[13]冯登国.可信计算:理论与实践[M].北京:清华大学出版社,2013.
(责任编辑:徐金龙)。