首页 > 范文大全 > 正文

基于时间的挑战/应答模式网络认证方案分析与设计

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于时间的挑战/应答模式网络认证方案分析与设计范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

[摘 要] 一次性口令身份认证方案在信息安全认证过程有广泛的应用。本文分析了文献中一次性口令身份认证方案,发现方案中均存在计算过大,服务器负担过重的问题;同时存在不安全的设计,针对以上问题提出新的基于间的挑战/应答模式一次性口令身份认证方案,该方案具有较强的安全性、较小的计算量,最后对该方案的安全性和效率进行了分析。

[关键词] 一次性口令 挑战/应答模式 身份认证方案重放攻击

传统静态口令的用户身份认证机制,在网络环境下,容易受到窃听、重放攻击、字典攻击、差分密码分析和线性密码分析等分析手段的攻击,静态口令有诸多安全问题。一次性口令OTP(One-tiMe Password)认证,可以解决上述问题。常用的OTP有如下3种:Lamport方案:即哈希链算法;时间同步方案;挑战/应答方案。

本文在分析文献中所给出的基于挑战/应答的一次性口令身份认证方案基础上,解决了两个方案计算量过大的、且存在安全漏洞的问题,将两个方案的优点相结合,进行了优化与改进,改进后不仅保留了原方案所有的安全特性,并且比原方案有更小的计算量,更高的安全性。

一、现有方案概述与分析

1.方案1概述

文献给出了一种新型的一次性口令身份认证方案1。方案1分两个阶段实现:初始注册阶段和认证阶段。

(1)注册阶段:当用户向服务器提出注册请求时,要求输入身份标识符uid和口令pwd,用户生成一个随机数R1,计算A=H(uid,pwdR1)(H单项的散列函数)。用户将uid、A、R1及与服务器共享密钥K通过安全通道传送到服务器。

(2)认证过程:第i次身份认证过程(E代表加密,D代表解密,K代表密钥)。

步骤1:用户输入计算EK(uid),并传送给服务器提出认证请求。步骤2:服务器解密DK(uid)得到uid,判断uid是否合法。步骤3:用户计算H(uid,K),将它与传过来的M相比较,如果是合法的,继续执行步骤4。步骤4:用户根据收到的Ri,作如下处理:①计算A=H(uid,pwdRi);②生成随机数Ri+1,并计算B=H(uid,pwdRi+1),B就是下一次的身份验证的校验符;③分别计算出H(B)、X和Y,使得H(B)=H(uid,K,B)、X=A(B+uid)、Y=H(B)B;④将X、Y、Ri+1传送到服务器。步骤5:服务器根据已存储的校验符A和接收的X、Y、Ri+1对用户进行身份验证。①计算(XA)-uid的结果得到B;②根据B,计算H(B)=YB;③计算H(uid,K,B),验证H(uid,K,B)是否与②中的H(B)相同,相同更新服务器端存储的校验符A和随机数R(使AB,RiRi+1),以便被下一次身份认证过程使用。方案1协议的形式化描述如下:

CS:{uid}K; CS:{ Ri,M=H(uid,K)};

CS:{X=A(B+uid),Y=H(B)B ,Ri+1};其中,C为用户,S为服务器。

2.方案2概述

文献中分析了方案的安全性,指出其由于单向认证不能抵御中间人攻击,并对其改进,改进如下:

Mes1.CS:{uid,Ri+1}K;

Mes2. CS:{Ri,M=H(uid,K) }K;

Mes3. CS:{X=A(B+uid),Y=H(B)};

3.原方案分析

(1)计算量分析:①确定登录者:假设用户共有M个,有N个用户同时登录,服务器要则要搜索(M/2)*N次密钥列表,近似搜索个数为N*(M/2)2个,解密运算N*(M/2)次,搜索用户列表(M/2)*N次,计算量非常大。②在一次身份认证过程中:方案1服务器需执行3次Hash运算,客户端需执行4次Hash运算;方案2服务器需执行3次Hash运算,客户端需执行3次Hash运算。

(2)安全性分析:方案2中对方案1的安全性进行了分析指出方案1不能抵御中间人攻击,并对此进行了改进,但两个方案都不能抵御重放攻击,攻击过程如下:(C’为攻击者)

方案1:CS:{uid}K; 方案2: CS:{uid,Ri+1}K

C’S:{uid}K; C’S:{uid,Ri+1}K

C’S:{uid}K; …… C’S:{uid,Ri+1}K ……

二、基于时间的挑战/应答模式认证方案分析

1.基于时间挑战/应答模式认证方案

鉴于原方案计算量过大且存在的安全问题,提出基于时间的挑战/应答模式认证方案,形式化描述如下:

Mes1. CS:{uid,(Ri+1,T1)K}; Mes2. CS:{Ri,T1}K;

Mes3. CS:{X=A(B+uid),Y=H(B),T2}K;

方案描述:Step1:用户随机生成一个随机数Ri+1与时间T1,用与服务器共享的密钥K加密后,与用户标识符一起发送给服务器;Step2:服务器收到Mes1后,通过uid,在密钥库中取出共享密钥K,解密信息解密时间,比较上一次通信所记录时间,如不同(非重放攻击),替换上一次通信所记录时间T1,并保存本随机数,并取出上一次的认证中所保存的Ri,并将信息{Ri,T1}用共享密钥K加密后发送给用户;Step3:用户收到Mes2后,解密信息,得到Ri、T1,比较发出时间,一致则用户通过对服务器的验证,并计算X=A(B+uid)、B=H(uid,pwdRi+1),B就是下一次的身份验证的校验符;接着分别计算出H(B)、X和Y,使得H(B)=H(uid,K,B)、X=A(B+uid)、Y=H(B)B;最后将X、Y、Ri+1,T2传送到服务器。

2.基于时间挑战/应答模式认证方案分析

(1)安全性:通过形式化分析对改进后的协议进行分析,可以证明该协议是一个安全的协议,并实现了以下安全性:

①本方案中口令不在网络中传输,符合一次性口令的初衷。

②在协议的每一步均有一个历史时间,保证了协议可以有效的抵抗重放攻击;

③方案是双向认证,通过共享密钥加密,保证信息的机密性;

④具有更高的可靠性,较小的计算量,同时可以防止来自服务器的欺骗。

(2)计算量分析:在一次身份认证过程中,各方案计算量对比分析如表1所示:

三、结束语

本文提出了基于时间的挑战/应答模式一次性口令认证方案,相对于文献中一次性口令的身份认证方案,新方案使认证过程的计算量达到最小,并对认证过程进行了改进,使得改进后的方案克服了原方案的安全漏洞,并且具有更高的安全性。

参考文献:

[1]张宏等:一种新型一次性口令认证方案的设计与分析[J].计算机工程,2004,30(17):112~113

[2]王滨等:一次性口令身份认证方案的分析与改进[J].计算机工程,2006,32(14):149~150

[3]Raihi D M . Internet Draft,VeriSign [EB/OL] . htpp://www.省略 /pdfs /draft-mraihi-nutual-oath-hotp-variants200.pdf, 2005~10~10