一种动态口令安全登录方法

文档序号:7696551阅读:741来源:国知局
专利名称:一种动态口令安全登录方法
技术领域
本发明涉及一种动态口令登录方法。
背景技术
面对开放的网络环境下,用户的安全登录是至关重要的。目前,
各类Web网站的用户登录一般都基于用户名和口令的认证方式实现, 服务器端存放着用户名和口令的相关信息,通过比对来自客户端的登 录信息以完成安全认证。在密码技术尚无普及之前, 一些网站(尤其 是一些免费服务供应站点)在发送用户登录口令时,直接将口令的明 文发送至服务器完成比对。针对明文口令传输,黑客利用网络抓包工 具即可直接截获用户口令,极为不安全。因此,针对口令登录的安全 问题,已出现各种不同的登录技术。我们根据每次用户登录时向服务 器传输的登录信息是否相同,将目前业界的各类登录方案分成静态口 令登录和动态口令登录两大类。下面就两类口令登录方案的现状,分 别给出简要的描述及优缺点分析 (1) 静态口令方式
无加密技术直接将用户名和口令明文发送至服务器。例如,我
们对tom.com的免费邮箱登录系统(非安全登录方式)进行抓包分析, 发现如下图所示,用户名和密码都采用明文传递。该方案中,用户口 令无论在网络上传送还是在服务器用户数据库中的保存都采用明文 处理,极不安全。
Hash运算目前一般Web网站最为流行的方式,即将用户口令先通过Hash运算得到口令的Hash值,将Hash值传递给服务器,服 务器通过与用户数据库中对应用户的口令Hash值比对,完成对用户 口令的认证。例如对Yahoo.com的免费邮箱登录系统分析,获得如下 图所示的用户名和密码,即口令已经过Hash运算成为一串Hash值 (passwd=d778dl8dc52e8e3230b2839clb7dfddc)。
该方案的特点是实现简单、口令安全, 一般可采用JavaScript等 浏览器端程序实现客户端的Hash运算功能,即使口令的Hash值被抓 包分析也无法从Hash值中计算获得口令明文,因此口令加密的安全 性依赖于Hash函数的安全性。但是,该方案无法抵抗重放攻击,即 网络中的黑客可简单地将截获的Hash值直接重新发送至服务器以骗 取服务器认证。存在重放攻击的根本原因在于每次客户端发送的 Hash值是不变的,跟客户端向服务器发起的连接请求或时间无关。
HTTPS安全连接目前PKI环境下的SSL协议已被业界广泛认 为具有最高安全强度的解决方案,它采用数字证书认证建立安全的加 密通道,HTTPS支持Web方式下的SSL协议。因此,目前一些大型 商用网站都支持HTTPS安全连接,如Hotmail等邮箱登录。
该方案直接使用HTTPS证书认证,输入的口令直接在SSL加密 通道下传递,安全性高。但存在的最大问题是配置HTTPS服务器需 购买数字证书服务,成本高昂, 一般的网站无法接受。另外,针对服 务器证书单向认证方案(目前大部分网站都采用该形式),通过较深 入的技术手段HTTPS也面临中间人攻击。
综合目前存在的静态口令登录方式,简单的方案尽管高效但容易 受到重放攻击,而HTTPS安全登录方式则存在配置复杂、成本高、 效率低等问题。
5(2) 动态口令方式
动态Hash运算针对一般的Hash 口令登录方式,服务器每次接 受连接请求时为客户端产生一个随机值返回给客户端,客户端先为用 户口令计算Hash值再将该Hash值和随机值结合在一起计算一个动态 的Hash值发送至服务器,服务器利用用户数据库中的口令Hash值和 产生的随机值,计算同样的Hash值进行安全比对。
该方案可为每次用户登录产生不一样的Hash值,可避免简单的 重放攻击和中间人攻击,但是其安全性完全依赖于Hash函数的安全 性。同时,服务器端产生随机数的算法如果被公开或破解,例如截获 JavaScript可分析随机数的发生函数,则网络黑客可对其发起中间人 攻击。另夕卜,密码学界已提出了对目前一些流行Hash算法,如MD5、 SHA1等的攻击方法,因此该方案的安全问题值得关注。
公钥加密利用RSA等公钥加密算法,客户端登录之前先向服 务器发起一个临时登录请求,服务器动态产生一个公钥私钥对,将私 钥保留并将公钥回复给客户端,客户端再将输入的口令用服务器公钥 加密后发送至服务器,服务器利用其私钥解密用户加密的口令以获得 对用户口令的认证。国内著名的腾讯网(QQ邮箱)登录时曾采用过 此类方案(目前已支持安全方式登录)。
该方案的特点是用户口令在网上经公钥加密后传送,不可破解, 但客户端需公钥技术的支持,对浏览器实现来说运算量较大。同时, 尽管客户端每次向服务器连接可获得不同的公钥,即口令密文也每次 不同,但是该方案由于对服务器的认证,因此无法抵抗中间人攻击, 即黑客可利用伪造服务器产生公钥对分发给客户端以骗取客户端信 任。令牌(Token) —次性动态口令One-Time Password,即一次性 动态口令认证方式是一种安全级别较高的口令验证系统, 一般在客户 端需一个被称为令牌Token的手持设备产生每次登录的一个动态口 令,口令传送到服务器后,服务器端采用同样的Token算法产生相同 的动态口令比对,最常用的方法是基于时间戳的口令发生装置。
该类方案的优点是口令完全动态产生,具有一次性口令的安全特 点,但问题是口令登录系统部署复杂、成本高,且存在Token设备的 时间同步等维护成本。
动态口令登录技术是一种普遍被接受的安全登录方式,但目前存 在的很多方案难免存在使用复杂、构建成本高等问题。

发明内容
为了克服己有的动态口令登录方法的使用复杂、不能兼顾安全性 和成本的不足,本发明提供一种使用简单、安全高效、成本低的动态 口令安全登录方法。
本发明解决其技术问题所采用的技术方案是
一种动态口令安全登录方法,在所述登录方法中,设置客户端和 服务器拥有相同参数的权值同步模型,所述登录方法包括如下步骤
(1) 、客户端发起登录请求,将用户名发给服务器;
(2) 、服务器产生一个随机数,返回给客户端;
(3) 、客户端和服务器各自计算得到M = User|Passwd|R, H = SHAl(M), F = LFSR(H),其中User表示用户名,Passwd表示 用户口令,R表示随机数,"l"表示消息的级联,并根据随机数
序列F映射计算得到相同的权值『"=『S ;
(4) 、客户端根据随机数,让权值同步模型学习P-R。/。n次,其R为随机数,n为预设值,将更新P次后的权值向量^ ,经Hash 运算后SHA1(『"发送给服务器;
(5) 、服务器同样让权值同步模型学习P次,得到更新P次后的权 值向量『s并计算其Hash值SHA1(『S);如果SHA1(F"二 SHAl(『s)认证成功,否则失败。
(6) 、动态口令登录结束。
作为优选的一种方案所述的权值同步模型由两个具备相同离散 参数的特殊神经网络构成,每个神经网络由《个具有离散输入和权值
的感知器组成。定义每个感知器的输出值计算公式为
其中~(/=1,2,...&户1,2,…,A0为第i个感知器的iV维输入向量, ^(/=1,2,..1;户1,2,...,7\0为第i个感知器的W维权值向量,取值为
十i或-i, ^取值为区间hL,+丄]内的整数a为模型选定的正整数)。
符号函数定义为
定义神经网络的最终输出值计算公式为
a: (-1
作为优选的再一种方案在所述步骤(2)中,M =
User|Passwd|R|URL, URL表示服务器域名。本发明的技术构思为两个输入向量动态变化但完全相同具有特 定结构的新型离散神经网络模型(下文中将具体介绍该模型)通过比 较各自的输出是否相同,不断更新各自的权值向量,通过若干步这样 的互学习后,最终可实现两个神经网络的权值同步(我们称已达到权 值同步的模型为权值同步模型,关于权值同步的实现过程及其它应用
可参考已递交的专利申请200710156220.3)。当实现权值同步后,通过 输入向量的不断变化,模型的两个权值会不断更新但始终将保持同步, 这种权值同步的保持特性即可用于设计口令的动态变化。
本发明的目的就是设计一个由客户端和服务器组成的权值同步模 型,利用权值同步的特性,构建一个结合传统Hash运算和权值同步 技术的新型动态口令登录模型,使每次传输的认证口令与权值同步相 关。所发明的登录方法选用ActiveX控件技术实现浏览器客户端的权 值同步计算模型,对用户完全透明,即用户按传统的用户名和口令框 输入自己的用户名和口令,权值同步模型将完成动态口令的计算与认 证,就算用户在不同的网站设置了相同的用户名和口令,本方案也可 保障产生完全不同的动态登录口令。
采用Hash运算和权值同步模型,下面先介绍离散的权值同歩模 型。参照图1,图1是离散的权值同步模型结构图示。模型输入向量 为X,权值向量为『,输入向量元素^(/=1,2,...&7=1,2,...,^及中间输 出值(7力=1,2,...^)的取值都为+1或-1,对应权值向量元素值w^勺取值
空间为区间[-丄,+丄]中的整数a为正整数),T为权值同步模型的最终
输出值,取值范围也为+l或-l,因为乂=1 a:
,'=1
下面假设客户端和服务器构成一个权值同步模型,记权值向量、
输入向量、中间输出值、最终输出值分别为『c、 Xc、 Z、,和『s、 Is 、 CTS、 一。
权值同步模型的学习与更新方法如下当输出相等时,= 一,在 C,S两端,选择所有中间输出与最终输出相等的权值分量,即选择满 足
<=,的权值分量《^,作如下方式的权值更新-
其中,权值向量元素的取值保持在区间[-丄,丄]内,艮口
'). 1-丄《《0
显然,对于权值同步模型,已实现了『c二『s,而由于xc^;^'始 终成立,因此后续的学习过程中,=一将始终成立,这也将确保权值
始终同步『e二W。
本发明的有益效果主要表现在
(1) 思路新颖,非经典全新方法。突破传统基于Hash、 Token 或公钥技术的动态口令登录技术,具有较大创新意义。
(2) 流程简单,易于开发。该方法的软件实现对浏览器客户端运 算要求低,适用于各类浏览器端的开发,建议采用ActiveX控件技术 以加强程序安全性。
(3) 运行效率高、计算耗费低。该方法不涉及大数运算,程序仅 需执行简单的加法运算和异或操作,执行速度快。
(4) 操作简便、移植性好。采用传统的输入框输入用户名和口令的使用模式,无需额外硬件设备,容易被接受和推广。登录模型部署 简单,移植性好,适用于各类平台。
(5)安全性高。权值同步模型属于完全非线性变换,能抵抗各类
密码分析;登录时的口令传送采用二次Hash值加强保护;方案采用
服务器随机数方法,可有效抵抗重放攻击和中间人攻击;方案添加了
URL计算,可有效预防用户因使用习惯问题在不同网站设置相同用户
名和密码引起的安全问题。


图1是离散的权值同步模型结构图。
图2是基于权值同步和Hash的动态口令登录流程图。
具体实施例方式
下面结合附图对本发明作进一步描述。
参照图2 , 一种动态口令安全登录方法,在所述登录方法中,设 置客户端和服务器拥有相同参数的权值同步模型,所述登录方法包括 如下步骤
(1) 、客户端发起登录请求,将用户名发给服务器;
(2) 、服务器产生一个随机数,返回给客户端;
(3) 、客户端和服务器各自计算得到M = User|Passwd|R, H = SHA1(M), F = LFSR(H),其中User表示用户名,Passwd表示 用户口令,R表示随机数,"l"表示消息的级联,并根据随机数 序列F映射计算得到相同的权值『e =『s;
(4) 、客户端根据随机数,让权值同步模型学习P:R。/。n次,其中 R为随机数,n为预设值,将更新P次后的权值向量f ,经Hash运算后SHAl(『c拨送给服务器;
(5) 、服务器同样让权值同步模型学习P次,得到更新P次后的权 值向量『s并计算其Hash值SHA1(『S);如果SHA1(^)= SHAl(『s)认证成功,否则失败。
(6) 、动态口令登录结束。
所述的权值同步模型描述如下模型参数定义-
模型由两个具备相同离散参数的特殊神经网络构成,每个神经网 络由《个具有离散输入和权值的感知器组成。定义每个感知器的输出
值计算公式为
其中x^=l,2,.. JC' ^1,2,…,TV)为第i个感知器的W维输入向量, ^.(/=1,2,...&_/=1,2,...局为第1个感知器的^维权值向量, 取值为
十i或-i,,.取值为区间[-丄,+丄]内的整数a为模型选定的正整数)。
符号函数定义为
定义神经网络的最终输出值计算公式为
参数初始化操作
记权值同步模型的两个神经网络为/^,w,相应的权值向量、输入
12向量、最终输出值分别记为『c、 f 、 crc、 一和『s、 Xs 、 —、 rs。 初始化参数如下
其中,f(t)=Zs(t),这里的时间参数t指每一步权值同步互学习 后,两方的权值向量保持同步。
权值更新操作
给,一个权值同步的学习步数值n,双方的权值向量按如下更新 公式执行n次更新操作。
对满足一、,和crf =一的所有权值分量『,、『s,计算 《《-《crf
记n次更新操作后的权值向量为『e'、『s'。 结论『c'f。
在所述步骤(2)中,M = User|Passwd|R|URL, URL表示服务器域名。
本实施例结合传统的随机数发生器LFSR (LFSR为密码学中的公 知技术)和Hash算法SHAl (SHA1算法也是密码学中的公知技术), 我们给出一个新型的动态口令登录方案如图2所示。设置客户端C和 服务器S拥有相同参数(/:=3丄=3,^=川0)的权值同步模型,User表 示用户名,Passwd表示用户口令,R表示随机数,URL表示服务器域 名,T表示消息的级联。登录方案的具体描述如下
(1) C发起登录请求,将User发给S;
(2) S产生一个随机数R,返回给C;
(3) C和S各自计算得到 M = User|Passwd|R|URL, H = SHA1(M), F = LFSR(H),并根据随机数序列F映射计算得到相同的权值『c=『S,具体的做法是每取3位二进制Fi,w,i+2,映射得到一个权
值元素的值(权值向量中一共有300个元素,则需取900位二 进制随机序列),根据第一位是否为O决定权值的正负,后二位 转化成十进制(十进制取值在[-3,3]内)。例如F-101010...,则 《=^=+1,《=《=-2,....;确定同步的权值后,再计算相 同的输入向量,可将剩下的F序列直接转化成输入向量,即只 要将二进制序列中的0映射为-1。例如,F=101010...,则
Xf6=J^6=0,…,权值同步模型经过一次互学习后,输入向量 需动态变化但保持相同,即只要继续选取F 二进制序列的值赋 予输入向量即可。
(4) C根据随机数R,让权值同步模型学习P = R%300次(取随机数 R除以300的余数),这里n取为300, n也可预设为其它值。 将更新P次后的权值向量^ ,经Hash运算后SHA1(『"发送 给S;
(5) S同样让权值同步模型学习P次(权值同步模型的最终输出位 保持相等,因此无需交换输出即可执行权值更新),得到更新P 次后的权值向量『s并计算其Hash值SHAl(『s),如果SHAl(『c) 二SHAl(^s)认证成功,否则失败。
(6) 动态口令登录结束。
开发的ActiveX安全控件应用实例分析
(l)在服务器http:〃localhost上注册用户名tieming,注册用户口令 123456(2) 用户在登录网站中输入用户名tieming,密码123456
(3) 服务器产生随机数R4234,发送给客户端
(4) 客户端和服务器计算SHAl( tiemingl2345612341ocalhost) 2ef67f5288al 7796084e79541318fe39dl 6f46d7
利用LFSR计算得到二进制序列F =
利用二进制映射计算得到 WC=WS=(3 , 1,-1 , 1 ,隱2,0,2,3 ,-2,誦1,0,3, …)
XC=XS=(1,-1,-1,-1,1,-1,1,1,-1,-1,......)
(5) 客户端通过?=1234%300=34次权值更新后,得到 Wc' = (2,3,-1,-3,0,0,2,1,1,-3,1,0,.....),
计算 SHA1(WC)=
378042cd5e73e04daldf9db374伤dc5a2639af5 并发送给服务器
(6) 服务器通过与客户端相同的方式更新得到 Ws, = (2,3,-1,-3,0,0,2,1,1,-3,l,O,.....) 计算 SHA1(WS')=
378042cd5e73e04daldf9db374f6dc5a2639af5 显然有 SHA1(WC') ==SHA1(WS')
(7) 客户端浏览器显示登录成功。
权利要求
1、一种动态口令安全登录方法,其特征在于在所述登录方法中,设置客户端和服务器拥有相同参数的权值同步模型,所述登录方法包括如下步骤(1)、客户端发起登录请求,将用户名发给服务器;(2)、服务器产生一个随机数,返回给客户端;(3)、客户端和服务器各自计算得到M=User|Passwd|R,H=SHA1(M),F=LFSR(H),其中User表示用户名,Passwd表示用户口令,R表示随机数,“|”表示消息的级联,并根据随机数序列F映射计算得到相同的权值WC=WS;(4)、客户端根据随机数,让权值同步模型学习P=R%n次,其中R为随机数,n为预设值,将更新P次后的权值向量WC,经Hash运算后SHA1(WC)发送给服务器;(5)、服务器同样让权值同步模型学习P次,得到更新P次后的权值向量WS并计算其Hash值SHA1(WS);如果SHA1(WC)=SHA1(WS)认证成功,否则失败;(6)、动态口令登录结束。
2、 如权利要求l所述的动态口令安全登录方法,其特征在于所述的 权值同步模型所述的权值同步模型由两个具备相同离散参数的特殊神 经网络构成,每个神经网络由《个具有离散输入和权值的感知器组成。定义每个感知器的输出值计算公式为<formula>formula see original document page 2</formula>其中xy<z'=l,2,..户1,2,…,A0为第i个感知器的W维输入向量,,(/=1,2,...&_/=1,2,...,^为第i个感知器的^维权值向量,^取值为 +1或-1, 取值为区间[-Z,+Z]内的整数,丄为模型选定的正整数;符号函数定义为定义神经网络的最终输出值计算公式为n/g"(n^",),z' =1,2,...,《。
3、如权利要求1或2所述的动态口令安全登录方法,其特征在于在 所述步骤(2)中,M = User|Passwd|R|URL, URL表示服务器域名。
全文摘要
一种动态口令安全登录方法,设置客户端和服务器拥有相同参数的权值同步模型,包括如下步骤客户端发起登录请求,将用户名发给服务器;服务器产生一个随机数,返回给客户端;客户端和服务器各自计算得到M=User|Passwd|R,H=SHA1(M),F=LFSR(H),并根据随机数序列F映射计算得到相同的权值W<sup>C</sup>=W<sup>S</sup>;客户端根据随机数,让权值同步模型学习P=R%n次,其中R为随机数,n为预设值,将更新P次后的权值向量W<sup>C</sup>,经Hash运算后SHA1(W<sup>C</sup>)发送给服务器;服务器同样让权值同步模型学习P次,得到更新P次后的权值向量W<sup>S</sup>并计算其Hash值SHA1(W<sup>S</sup>);如果SHA1(W<sup>C</sup>)=SHA1(W<sup>S</sup>)认证成功,否则失败。本发明使用简单、安全高效、成本低。
文档编号H04L9/32GK101459516SQ20081012207
公开日2009年6月17日 申请日期2009年2月20日 优先权日2009年2月20日
发明者颉 江, 王小号, 蔡家楣, 波 陈, 陈铁明 申请人:浙江工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1