CN101958913B - 基于动态口令和数字证书的双向身份认证方法 - Google Patents

基于动态口令和数字证书的双向身份认证方法 Download PDF

Info

Publication number
CN101958913B
CN101958913B CN 201010525053 CN201010525053A CN101958913B CN 101958913 B CN101958913 B CN 101958913B CN 201010525053 CN201010525053 CN 201010525053 CN 201010525053 A CN201010525053 A CN 201010525053A CN 101958913 B CN101958913 B CN 101958913B
Authority
CN
China
Prior art keywords
client
server
certificate
data
authentication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN 201010525053
Other languages
English (en)
Other versions
CN101958913A (zh
Inventor
王艳艳
刘贤洪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Changhong Electric Co Ltd
Original Assignee
Sichuan Changhong Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sichuan Changhong Electric Co Ltd filed Critical Sichuan Changhong Electric Co Ltd
Priority to CN 201010525053 priority Critical patent/CN101958913B/zh
Publication of CN101958913A publication Critical patent/CN101958913A/zh
Application granted granted Critical
Publication of CN101958913B publication Critical patent/CN101958913B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明涉及计算机网络安全技术。本发明解决了现有认证系统中系统资源授权存在风险的问题,提供了一种基于动态口令和数字证书的双向身份认证方法,其技术方案可概括为:将用户的ID和服务器的ID均采用解析证书的方式才能得到,结合数字证书与动态口令的方式验证客户端和服务器。本发明的有益效果是,实现了对通信双方的高安全性认证,适用于网络安全通信。

Description

基于动态口令和数字证书的双向身份认证方法
技术领域
本发明涉及计算机技术,特别涉及计算机系统网络安全的技术。
背景技术
随着计算机网络的发展和网络应用的迅速普及,网络安全日益受到人们的重视,网络的安全访问控制越来越重要,网络系统遭受的攻击,大部分是入侵者获得已经存在的通道或伪装身份与用户建立通讯通道的基础上,而身份认证是安全系统中的第一道关卡,身份认证技术解决的是验证网络通讯双方真实身份的问题,目的是为了在通信双方之间建立相互信任的关系,验证用户的真实身份,防止非法用户窃取敏感数据,通过对身份认证技术的理论分析和系统设计等方面的研究,可以增强现有认证系统的安全性、可用性和易管理性,提高系统的效率,为网络安全系统应用提供高效实用的解决方案;基于口令的认证机制因其简单有效、易于使用,在分布式环境下被广泛应用于身份合法性验证,从而决定是否提供资源的使用授权,但是用户在选择口令的时候,一般都是选择便于自己记忆的口令,这样就很容易遭受字典攻击,为此许多研究人员从增加安全性和提高效率这两方面入手,提出了一系列的协议,大致可以分为两类:基于安全hash函数的认证协议以及基于公钥体制的认证协议,前者由于具备开销小、效率高等特点,成为近年来研究的热点。对于计算机单机的应用,用户资源使用访问控制可以实现安全保护,而对于集中分时系统的服务,通过基于用户身份认证,如登录口令等实现资源的安全保护,而在计算机网络广泛应用的时代,更常见的是客户机/服务器分布式应用模型,在这种模型中,要求每个客户机能保证对每个用户身份的识别,每个客户机对服务器身份的识别以及服务器对每个客户机身份的识别。目前在有些对安全性要求较高的系统中,单纯的基于口令的认证方式已无法满足当前复杂网络环境下身份认证的需求,随着技术的发展,又涌现出数字证书、生物识别等新的身份认证技术。目前,具有数字签名的数字证书技术是最成熟、最安全的身份认证解决办法。数字证书具有的保密性、完整性、真实性和不可否认性等特点,使得数字证书身份认证正在被广泛应用,但是,在单纯的基于数字证书的认证中,如果其中一方传递的证书链不是自己的,另一方只对接收到的证书链进行有效期、完整性、签名等验证,往往也可以通过,因此,系统资源授权就存在风险。
发明内容
本发明的目的是克服目前数字证书认证中系统资源授权存在风险的缺点,提供一种基于动态口令和数字证书的双向身份认证方法。
本发明解决其技术问题,采用的技术方案是,基于动态口令和数字证书的双向身份认证方法,其特征在于,包括以下步骤:
a.客户端向服务器发出注册请求,用户在客户端输入用户的身份信息IDc和口令PW;
b.服务器接收到该注册请求,判断接收到的IDc是否已经注册过,若是则回到a步骤,并提示客户端重新输入,若不是则进入下一步;
c.客户端产生随机数R0-1和R0,并进行如下计算:
X 0 - 1 = H ( ID c , PW ⊕ R 0 - 1 )
X 0 = H ( ID c , PW ⊕ R 0 )
Y0=H(IDc,X0)
C 0 = H ( ID c , Y 0 ⊕ X 0 - 1 )
得到数据R0、C0、X0
d.客户端保存数据R0、C0,并将数据X0通过网络安全信道发送给服务器;
e.服务器接收并保存数据X0,注册完成;
f.在进行认证时,默认服务器和客户端都已经拥有了各自的证书链,若此次认证为第i次认证,则客户端此时保存有数据Ri-1、Ci-1,服务器保存有数据Xi-1
g.客户端输入ID和PW,产生随机数Ri,并进行如下计算:
X i - 1 = H ( ID c , PW ⊕ R i - 1 )
X i = H ( ID c , PW ⊕ R i )
Yi=H(IDc,Xi)
C i = H ( ID c , Y i ⊕ X i - 1 )
α = ( C i + X i - 1 ) ⊕ X i
β = Y i ⊕ X i - 1
得到数据Ri、Ci、α、β;
h.客户端将α、β及其证书链发送给服务器;
i.服务器接收到α、β及客户端的证书链,判断该证书链中的客户端证书是否合法有效,若不是则终止本次认证,并向客户端发出提示消息,若是则进入下一步;
j.解析客户端证书,得到客户端证书中的客户端ID字段IDc,并进行如下计算:
β ⊕ X i - 1 = Y i
C i = H ( ID c , Y i ⊕ X i - 1 )
α ⊕ ( C i ⊕ X i - 1 ) = X i
Yi′=H(IDc,Xi)
得到数据Yi、Yi’、Xi
k.服务器比较Yi与Yi’是否相等,若不是则说明本次申请认证的客户端不合法,拒绝进一步通信,若是则进入下一步;
l.服务器使用本次计算得到的数据Xi代替之前存储的数据Xi-1,并进行如下计算:
Vi=H(IDs||IDc||Yi)
得到数据Vi,并将数据Vi和服务器的证书链发送给客户端;
m.客户端接收到数据Vi和服务器的证书链后,判断服务器的证书链中的服务器证书是否合法有效,若不是则终止本次认证,若是则进入下一步;
n.解析服务器证书,得到服务器ID字段IDs,并进行如下计算:
Vi′=H(IDs||IDc||Yi)
得到数据Vi’,判断数据Vi与数据Vi’是否相等,若不是则本次认证失败,若是则本次认证成功,客户端用本次产生的随机数Ri代替之前存储的Ri-1
具体的,步骤f所述各自的证书链为服务器拥有的服务器证书和上级CA(数字证书认证中心)证书、客户端拥有的客户端证书和上级CA证书。
本发明的有益效果是,通过上述基于动态口令和数字证书的双向身份认证方法,由于认证双方的ID在认证阶段不加密传输,而是通过证书解析得到,因此在证书解析的过程中,既可以通过证书验证双方身份的有效性和合法性,又可以利用解析得到的ID用于进一步的身份验证,而且每次认证均产生新的随机数,保证了每次认证所传输口令的随机性和唯一性,这种动态口令和数字证书相结合的双重认证的方式,实现了对通信双方的高安全性认证,适用于目前对安全性要求较高的通信环境中,且运算简单,在认证阶段不需要选用安全信道传输认证参数,降低了对认证信道的要求。
具体实施方式
下面结合实施例,详细描述本发明的技术方案。
本发明所述基于动态口令和数字证书的双向身份认证方法为:首先客户端向服务器发出注册请求,用户在客户端输入用户的身份信息IDc和口令PW,当服务器接收到该注册请求后,判断接收到的IDc是否已经注册过,若是则回到客户端向服务器发出注册请求那一步,并提示客户端重新输入,若不是则客户端产生随机数R0-1和R0,并进行如下计算:
Figure BDA0000030063850000041
Y0=H(IDc,X0),
Figure BDA0000030063850000042
得到数据R0、C0、X0,客户端保存数据R0、C0,并将数据X0通过网络安全信道发送给服务器,服务器接收并保存数据X0,注册完成,在进行认证时,默认服务器和客户端都已经拥有了各自的证书链,若此次认证为第i次认证,则客户端此时保存有数据Ri-1、Ci-1,服务器保存有数据Xi-1,首先客户端输入ID和PW,产生随机数Ri,并进行如下计算:
Figure BDA0000030063850000043
Yi=H(IDc,Xi),
Figure BDA0000030063850000044
Figure BDA0000030063850000045
得到数据Ri、Ci、α、β,客户端将α、β及其证书链发送给服务器,服务器接收到α、β及客户端的证书链,判断该证书链中的客户端证书是否合法有效,若不是则终止本次认证,并向客户端发出提示消息,若是则解析客户端证书,得到客户端证书中的客户端ID字段IDc,并进行如下计算:
Figure BDA0000030063850000046
Figure BDA0000030063850000047
Yi′=H(IDc,Xi),得到数据Yi、Yi’、Xi,然后比较Yi与Yi’是否相等,若不是则说明本次申请认证的客户端不合法,拒绝进一步通信,若是则服务器使用本次计算得到的数据Xi代替之前存储的数据Xi-1,并进行如下计算:Vi=H(IDs||IDc||Yi),得到数据Vi,并将数据Vi和服务器的证书链发送给客户端,客户端接收到数据Vi和服务器的证书链后,判断服务器的证书链中的服务器证书是否合法有效,若不是则终止本次认证,若是则解析服务器证书,得到服务器ID字段IDs,并进行如下计算:Vi′=H(IDs||IDc||Yi),得到数据Vi’,判断数据Vi与数据Vi’是否相等,若不是则本次认证失败,若是则本次认证成功,客户端用本次产生的随机数Ri代替之前存储的Ri-1
实施例
本例中默认服务器和客户端都已经拥有了各自的证书链的意思为默认服务器拥有服务器证书和上级CA证书,客户端拥有客户端证书和上级CA证书。
首先客户端向服务器发出注册请求,用户在客户端输入用户的身份信息IDc和口令PW,当服务器接收到该注册请求后,判断接收到的IDc是否已经注册过,若是则回到客户端向服务器发出注册请求那一步,并提示客户端重新输入,若不是则客户端产生随机数R0-1和R0,并进行如下计算:
Figure BDA0000030063850000048
Y0=H(IDc,X0),
Figure BDA0000030063850000049
得到数据R0、C0、X0,客户端保存数据R0、C0,并将数据X0通过网络安全信道发送给服务器,服务器接收并保存数据X0,注册完成,在进行认证时,默认服务器和客户端都已经拥有了各自的证书链,即默认服务器拥有服务器证书和上级CA证书,客户端拥有客户端证书和上级CA证书,若此次认证为第i次认证,则客户端此时保存有数据Ri-1、Ci-1,服务器保存有数据Xi-1,首先客户端输入ID和PW,产生随机数Ri,并进行如下计算:Yi=H(IDc,Xi),
Figure BDA0000030063850000052
Figure BDA0000030063850000053
得到数据Ri、Ci、α、β,客户端将α、β及其证书链发送给服务器,服务器接收到α、β及客户端的证书链,判断该证书链中的客户端证书是否合法有效,若不是则终止本次认证,并向客户端发出提示消息,若是则解析客户端证书,得到客户端证书中的客户端ID字段IDc,并进行如下计算:
Figure BDA0000030063850000054
Figure BDA0000030063850000055
Yi′=H(IDc,Xi),得到数据Yi、Yi’、Xi,然后比较Yi与Yi’是否相等,若不是则说明本次申请认证的客户端不合法,拒绝进一步通信,若是则服务器使用本次计算得到的数据Xi代替之前存储的数据Xi-1,并进行如下计算:Vi=H(IDs||IDc||Yi),得到数据Vi,并将数据Vi和服务器的证书链发送给客户端,客户端接收到数据Vi和服务器的证书链后,判断服务器的证书链中的服务器证书是否合法有效,若不是则终止本次认证,若是则解析服务器证书,得到服务器ID字段IDs,并进行如下计算:Vi′=H(IDs||IDc||Yi),得到数据Vi’,判断数据Vi与数据Vi’是否相等,若不是则本次认证失败,若是则本次认证成功,客户端用本次产生的随机数Ri代替之前存储的Ri-1。由于认证双方的ID在认证阶段不加密传输,而是通过证书解析得到,因此在证书解析的过程中,既可以通过证书验证双方身份的有效性和合法性,又可以利用解析得到的ID用于进一步的身份验证,而且每次认证均产生新的随机数,保证了每次认证所传输口令的随机性和唯一性,这种动态口令和数字证书相结合的双重认证的方式,实现了对通信双方的高安全性认证,适用于目前对安全性要求较高的通信环境中,且运算简单,在认证阶段不需要选用安全信道传输认证参数,降低了对认证信道的要求。

Claims (2)

1.基于动态口令和数字证书的双向身份认证方法,其特征在于,包括以下步骤:
a.客户端向服务器发出注册请求,用户在客户端输入用户的身份信息IDc和口令PW;
b.服务器接收到该注册请求,判断接收到的IDc是否已经注册过,若是则回到a步骤,并提示客户端重新输入,若不是则进入下一步;
c.客户端产生随机数R0-1和R0,并进行如下计算:
X0-1=H(IDc,PW⊕R0-1)
X0=H(IDc,PW⊕R0)
Y0=H(IDc,X0)
C0=H(IDc,Y0⊕X0-1)
得到数据R0、C0、X0
d.客户端保存数据R0、C0,并将数据X0通过网络安全信道发送给服务器;
e.服务器接收并保存数据X0,注册完成;
f.在进行认证时,默认服务器和客户端都已经拥有了各自的证书链,若此次认证为第i次认证,则客户端此时保存有数据Ri-1、Ci-1,服务器保存有数据Xi-1
g.客户端输入IDC和PW,产生随机数Ri,并进行如下计算:
Xi-1=H(IDc,PW⊕Ri-1)
Xi=H(IDc,PW⊕Ri)
Yi=H(IDc,Xi)
Ci=H(IDc,Yi⊕Xi-1)
α=(Ci+Xi-1)⊕Xi
β=Yi⊕Xi-1
得到数据Ri、Ci、α、β;
h.客户端将α、β及其证书链发送给服务器;
i.服务器接收到α、β及客户端的证书链,判断该证书链中的客户端证书是否合法有效,若不是则终止本次认证,并向客户端发出提示消息,若是则进入下一步;
j.解析客户端证书,得到客户端证书中的客户端ID字段IDc,并进行如下计算:
β⊕Xi-1=Yi
Ci=H(IDc,Yi⊕Xi-1)
α⊕(Ci⊕Xi-1)=Xi
Y i ′ = H ( ID c , X i )
得到数据Yi、Yi’、Xi
k.服务器比较Yi与Yi’是否相等,若不是则说明本次申请认证的客户端不合法,拒绝进一步通信,若是则进入下一步;
l.服务器使用本次计算得到的数据Xi代替之前存储的数据Xi-1,并进行如下计算:
Vi=H(IDs||IDc||Yi)
得到数据Vi,并将数据Vi和服务器的证书链发送给客户端;
m.客户端接收到数据Vi和服务器的证书链后,判断服务器的证书链中的服务器证书是否合法有效,若不是则终止本次认证,若是则进入下一步;
n.解析服务器证书,得到服务器ID字段IDs,并进行如下计算:
V i ′ = H ( ID s | | ID c | | Y i )
得到数据Vi’,判断数据Vi与数据Vi’是否相等,若不是则本次认证失败,若是则本次认证成功,客户端用本次产生的随机数Ri代替之前存储的Ri-1
2.根据权利要求1所述基于动态口令和数字证书的双向身份认证方法,其特征在于,步骤f所述各自的证书链为服务器拥有的服务器证书和上级CA证书、客户端拥有的客户端证书和上级CA证书。
CN 201010525053 2010-10-29 2010-10-29 基于动态口令和数字证书的双向身份认证方法 Active CN101958913B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010525053 CN101958913B (zh) 2010-10-29 2010-10-29 基于动态口令和数字证书的双向身份认证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010525053 CN101958913B (zh) 2010-10-29 2010-10-29 基于动态口令和数字证书的双向身份认证方法

Publications (2)

Publication Number Publication Date
CN101958913A CN101958913A (zh) 2011-01-26
CN101958913B true CN101958913B (zh) 2013-05-08

Family

ID=43486017

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010525053 Active CN101958913B (zh) 2010-10-29 2010-10-29 基于动态口令和数字证书的双向身份认证方法

Country Status (1)

Country Link
CN (1) CN101958913B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102790678B (zh) * 2012-07-11 2015-01-14 飞天诚信科技股份有限公司 一种认证方法及系统
CN104811421A (zh) * 2014-01-24 2015-07-29 中辉世纪传媒发展有限公司 基于数字版权管理的安全通信方法及装置
CN104243161B (zh) * 2014-07-24 2018-09-21 无锡天公瑞丰科技有限公司 基于TG-Inwicos的配电自动化双重安全通信方法与装置
DE102016204684A1 (de) * 2016-03-22 2017-09-28 Siemens Aktiengesellschaft Verfahren und Einrichtung zum Bereitstellen einer kryptographischen Sicherheitsfunktion für den Betrieb eines Geräts
CN107274182B (zh) * 2016-04-06 2020-06-16 阿里巴巴集团控股有限公司 业务处理方法及装置
CN109309565B (zh) * 2017-07-28 2021-08-10 中国移动通信有限公司研究院 一种安全认证的方法及装置
CN109104290A (zh) * 2018-10-26 2018-12-28 南京航空航天大学 一种无需重注册并支持离线认证的动态口令认证方法
CN109872428A (zh) * 2019-02-25 2019-06-11 深圳市奇脉电子技术有限公司 一种高安全度智能门锁及开锁方式
CN109981292B (zh) * 2019-03-27 2021-09-17 北京思源理想控股集团有限公司 一种基于sm9算法的认证方法、装置及系统
CN111885055B (zh) * 2020-07-22 2023-01-31 中国联合网络通信集团有限公司 一种通信方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101394284A (zh) * 2008-11-13 2009-03-25 四川长虹电器股份有限公司 一次性口令认证方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101394284A (zh) * 2008-11-13 2009-03-25 四川长虹电器股份有限公司 一次性口令认证方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王艳艳 等.基于动态ID的远程用户身份认证方案的改进.《信息与电子工程》.2008,第6卷(第1期),第71-74页. *

Also Published As

Publication number Publication date
CN101958913A (zh) 2011-01-26

Similar Documents

Publication Publication Date Title
CN101958913B (zh) 基于动态口令和数字证书的双向身份认证方法
CN108270571B (zh) 基于区块链的物联网身份认证系统及其方法
CN109347799B (zh) 一种基于区块链技术的身份信息管理方法及系统
CN103124269B (zh) 云环境下基于动态口令与生物特征的双向身份认证方法
CN101170407B (zh) 一种安全地生成密钥对和传送公钥或证书申请文件的方法
CN100546245C (zh) 跨安全域的网络认证和密钥分配方法
CN101697540B (zh) 一种p2p服务请求用户身份认证方法
CN109327313A (zh) 一种具有隐私保护特性的双向身份认证方法、服务器
Lin et al. A new strong-password authentication scheme using one-way hash functions
CN103312691A (zh) 一种云平台的认证与接入方法及系统
CN102026195A (zh) 基于一次性口令的移动终端身份认证方法和系统
CN105703910B (zh) 基于微信服务号的动态令牌验证方法
CN101741860A (zh) 一种计算机远程安全控制方法
CN101483525A (zh) 一种认证中心的实现方法
CN110378152B (zh) 一种基于pkica认证及区块链技术的合同签订管理系统及方法
CN105516119A (zh) 基于代理重签名的跨域身份认证方法
CN105072110A (zh) 一种基于智能卡的双因素远程身份认证方法
CN105119721A (zh) 一种基于智能卡的三因素远程身份认证方法
CN102404112A (zh) 一种可信终端接入认证方法
CN102377573A (zh) 一种口令可安全更新的双因子身份认证方法
CN103312672A (zh) 身份认证方法及系统
CN106230840A (zh) 一种高安全性的口令认证方法
KR101509079B1 (ko) 스마트카드 및 동적 id 기반 전기 자동차 사용자 인증 기법
CN116112242B (zh) 面向电力调控系统的统一安全认证方法及系统
CN108566274B (zh) 一种区块链认证系统间无缝对接的方法、设备及存储设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant