认证协议的分类

2018-02-25 02:39张清
电子技术与软件工程 2018年7期

张清

摘要 随着计算设备、通信设备以及网络连接技术的进步发展,各类移动互联网应用(如社交娱乐、商务金融交易、教育医疗服务等)逐渐被开发。然而,伴随着移动互联网应用的快速发展,安全问题也应运而生并成为制约这一领域发展的重要因素。作为网络信息安全的重要组成部分,认证服务是系统安全中最重要的防线之一。由于移动设备以及网络的开放性,认证协议也存在各种各样的安全缺陷并面临常见的攻击手段,如消息重放、中间人、平行会话等。本文主要从三个角度对经典的认证协议进行分类概述。

【关键词】认证服务 认证协议 安全缺陷 攻击手段

越来越复杂的电子商务、事物处理和公共服务形式,使用户越来越关注开放网络环境中安全的通信方式。认证作为信息安全的重要部分之一,其安全性必须得以保障。至今为止,已有一系列经典的认证协议被相继设计实现。但是,许多认证协议在公开不久后就被证明出其设计方式有明显缺陷。Moore[l]指出这些攻击往往不是密码算法本身的缺陷引起的,而是协议的设计方法或使用算法的方法不当造成的。Clark和Jacob[2]在1997年总结了大量经典的认证协议,并针对大部分协议进行了安全性分析,给出具体的攻击方式。本文主要从以下三个方面对这些认证协议进行分类概述。

1 基于认证对象的划分

认证协议通常是指一个实体向另一个实体证明自己声称的某个特定属性。根据属性的不同,认证协议可分为消息认证(又称数据源认证)和实体认证(又称用户认证)。消息认证的目的不仅要确保消息的完整性,还要确认消息的来源是否可信。而实体认证是为了确认用户所声明的身份是否与验证方所寻求的用户一致,其身份信息可以作为一条消息以消息认证机制来处理构成实体认证。值得注意的是,设计认证协议时往往需要保证消息和实体的鲜活性,以抵抗重放攻击。因此,设计者通常会采用时间戳或者标准化的询问,应答机制来证明消息或实体的鲜活性。

2 基于认证场景的划分

由于认证协议即是一个通信过程,其必然涉及到至少两个通信实体。因此依据真实的认证场景,可以将其分为单向认证和双向认证。目前ISO(国际标准化组织)和IEC(国际电子协会)己将上述提到的询问.应答机制标准化构成基本的单向认证机制,即两个参与方中只有一个实体需要进行认证,比如电子邮件服务,其本质是接收者与发送者不需要同时在线,切接收者需要验证消息是否来自于所谓的发送者。所谓双向认证即两个通信实体要互相认证,比如ISO和IEC提出的“ISO公钥三次传输双方认证协议”。但是,安全的双向认证并不是简单的进行两次单向认证,其要求是一方的认证凭证需要包含一个与另一方认证凭证相关的上下文信息,且该上下文的状态信息需要被记录,这样才能有效地抵抗“Wiener攻击”。

3 基于认证协议的底层算法划分

本节基于密码算法依次介绍基于对称密码、基于非对称/公钥密码以及基于可信第三方的认证协议。

基于对称密码的认证协议即认证双方在开始通信前,共享一个对称密钥并约定一种对称加密算法,验证者收到认证请求需要用共享密钥进行解密运算来确认声称者的合法性。假设协议中不需要对声称者的属性信息保密,那么也可以使用单向函数(如哈希函数)来设计认证协议,此时双方需要共享密钥的同时约定一个带密钥的单向函数,声称者将属性信息及其哈希值发送到验证方,验证方重新计算其属性值的哈希值,并与接收到的哈希值比较,若相等,则判定对方为合法者。常见的基于口令的认证协议便采用了哈希函数,为了提高此类协议的安全性,Bellovin等提出利用概率加密技术(如加盐操作)来放大口令空间,以抗击专业攻击者的在线窃听及离线字典攻击。

基于公钥密码的认证协议依赖于公钥证书架构。某个声称者A利用自己的私钥对某个属性或者身份信息进行签名,对应地,验证者B可以通过公钥证书架构获得A的公钥从而进一步验证A的签名。对应地,国际标准化组织ISO基于安全的非对称密码算法(如RSA算法、EIGamal数字签名算法等)制定了一系列标准的公钥认证协议。与此同时,一系列认证的密钥交换协议被相继提出,其中Diffie等提出的STS协议最为经典。该协议是Diffie-Hellman密钥交换协议的一种变形,是因特网密钥交换(IKE)协议的基础,在认证及认证的密钥交换这一领域中有重大意义。

上述两种认证协议中,需要假设通信双方事先共享了密钥或者其中一方事先获取了另一方的公钥,但是标准通信模式中要求系统维护所有参与主体的通信状态是不现实的,因此通信实体处于“交互.遗忘”模式。基于可信第三方的认证协议是为了让互不相识的主体在认证前能够通过可信第三方建立一个安全的通信信道,即通信双方建立一个新的且安全的会话密钥用以进行加密或签名操作。基于可信第三方的对称认证协议有很多,其中ISO/ISE的标准化认证协议中有两个标准结構需要可信第三方参与;另外著名的Woo-Lam协议也是一个经典例子,该协议虽然被指出有许多致命的设计缺陷,但是在设计认证协议的难题研究中扮演了重要角色。与此同时,著名的Needham-Schroeder公钥协议是基于可信第三方的公钥认证协议。

4 总结

认证协议是网络信息安全的重要保障,密码算法是认证协议的核心组件,结合实际认证场景选择密码算法是保障认证效率的有效方法,正确调用密码算法的方法是认证协议安全成功的关键。到目前为止,虽然有大量认证协议被实现,但这些协议陆续被证明有安全缺陷,因此寻求一种系统的方法来设计和分析认证协议是其理论研究的发展趋势。

参考文献

[1]J.H. Moore, "Protocol failures incryptosystems,” Proceedings of theIEEE, vol. 76, no.5, pp. 594-602, 1988.

[2]J. Clark and J.Jacob,”A survey ofauthentication protocol literature:version l.0."November 1997.