胡建军,郑伟强,王万军,邢玉娟,李恒杰
(甘肃联合大学 电子信息工程学院,甘肃 兰州730000)
认证协议是网络实体安全通信的基础。1978年NEEDHAM 和SCHROEDER 提出的双向认证协议(简称NS 协议)具有里程碑意义[1]。在此之后,许多经典的双向认证协议在NS 协议的基础上发展起来,如Otway-Rees 协议、Yahalom 协议、RPC 协议、Helsinki 协议和Woo-Lam 协议等。然而这些协议都存在一定的缺陷,因此,许多学者就各自协议存在的可能攻击提出了改进方法[2-4]。
无论是经典的三方认证协议(如NS 协议、Otway-Rees 协议、Yahalom 协议和Woo-Lam 协议等)还是改进的三方认证协议都需要认证服务器参与认证,这使得认证服务器负担太重,并且由于网内的每个认证实体均需要保存他们与认证服务器的共享密钥以及其他认证实体的共享密钥,因此每个认证实体需要大量的存储空间来保存其他实体的共享密钥,这种现象对于资源较为紧缺的网络而言是不希望的。为此,笔者借鉴NSSK 协议(NSSK 协议是NS 协议的一种)的思想,提出一种基于零知识证明的双向认证方案,简称ENS 协议,该方案通过认证双方自身的能力实现认证,同时运行效率又高于NSSK 协议。
为叙述简便,首先做如下约定:A→B∶M 为消息M 由实体A 发送给实体B;Ka为实体A 的共享公钥;Kab=[Ka]b=[Kb]a为实体A 和B 的共享公钥;Kax=[Ka]x为具有x 新鲜性值实体A 的临时公钥;[Kab]-a=Kb为解密。
在介绍ENS 协议之前,首先介绍NSSK 协议的运行。NSSK 协议的运行描述如下[5-6]:
ENS 协议与NSSK 一样,需要5 步完成认证。ENS 协议的运行描述如下:
ENS 协议的认证过程如图1 所示。
图1 ENS 协议的认证过程
尽管两个协议都需要5 步认证过程,但是ENS 协议与NSSK 协议相比具有较大的差异,主要表现在:
(1)ENS 协议是一种安全的认证协议,而NSSK 协议存在重放攻击的威胁;
(2)ENS 协议的实体A 与B 无需保存与服务器的共享密钥以及双方的共享密钥(服务器提供对方的共享密钥),因而节约了通信实体的存储空间,而NSSK 协议的实体A 与B 需要保存与服务器的共享密钥Ks以及对方的共享密钥Ka,浪费了较大的存储空间;
(3)ENS 协议使用了临时公钥,这使得公钥的更新周期变长,日常维护工作负担减轻,而NSSK 协议为避免攻击,要经常变更实体的私钥以及在短周期内更新服务器的私钥,同时还要将变更了的服务器公钥及时分发给各通信实体,网络的运行负担较重。
目前普遍认可的协议形式化分析方法有形式逻辑、模型检测和定理证明3 类。形式逻辑的优点是推理简洁,但正确性不高;模型检测具有分析彻底的优点,但存在状态爆炸问题;定理证明试图结合形式逻辑和模型检测的优点,但证明过程复杂且难于掌握[7-10]。因此,用文献[8]提出的方法来验证ENS 协议的安全性。
(1)按照消息事件的先后次序,找出所有的“挑战-响应”对,共有3 对,即(1,2)、(3,4)和(4,5)。
(2)构造每个“挑战-响应”对的消息集合:
由于协议的所有“挑战-响应”对满足关联性、无冗余、保密性和可识别,因此协议是安全的。
不同的密码协议存在着不同的攻击方式,一般而言,可以分为重放攻击、类型攻击、并行会话攻击、与实现相关的攻击、绑定攻击和封装攻击等,其中最常见的是重放攻击。下面仅以重放攻击为例证明ENS 协议是安全性的。
笔者提出一种改进的NSSK 双向认证协议,即ENS 协议。与NSSK 协议相比,该协议节约了客户端的存储空间,即客户端无需存储每个对等实体的公钥和共享公钥信息,同时也节约了服务器的存储空间,其安全性更强。
[1] NEEDHAM R M,SCHROEDER M D.Using encryption for authentication in large network of computer[J].Communication of the ACM,1978,21(12):993-999.
[2] DOROTHY E D,GIOVANNI M S.Timestamps in key distribution protocols[J].Communication of the ACM,1981,24(8):533-536.
[3] GAVIN L.Breaking and fixing the needham-schroeder public-key protocol using FDR[C]//Proceedings of Tools and Algorithms for the Construction and Analysis of Systems.[S.l.]:Apringer Verlag,1996:147-166.
[4] MITCHELL C J,YEUN C Y. Fixing a problem in the helsinki protocol[J]. Operating Systems Review,1998(32):21-24.
[5] 胡建军,王伟. 一种基于ELGamal 数字签名的双向认证方案[J].计算机工程,2010,36(6):173-174.
[6] 卿斯汉. 安全协议[M]. 北京:清华大学出版社,2005:78-98.
[7] 王亚弟,束妮娜.密码协议形式化分析[M]. 北京:机械工业出版社,2006:38-48.
[8] 胡建军.一种新的协议安全性分析方法[J].计算机工程,2009,35(10):168-172.
[9] 周清雷,王峰,赵东明. NSSK 协议的串空间模型及分析[J].微计算机信息,2007,23(7-3):51-53.
[10]王昕,袁超伟. 一种安全协议的形式化分析方法[J]. 计算机工程,2010,36(7):82-86.