CN110838920B - web系统中无需存储口令相关信息的口令认证与密钥协商协议 - Google Patents
web系统中无需存储口令相关信息的口令认证与密钥协商协议 Download PDFInfo
- Publication number
- CN110838920B CN110838920B CN201911142427.4A CN201911142427A CN110838920B CN 110838920 B CN110838920 B CN 110838920B CN 201911142427 A CN201911142427 A CN 201911142427A CN 110838920 B CN110838920 B CN 110838920B
- Authority
- CN
- China
- Prior art keywords
- user
- server
- password
- information
- equal
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/061—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
- H04L9/0841—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
- H04L9/0844—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
Abstract
本发明公开了一种适用于web系统中的无需服务器端存储用户口令相关信息的口令认证与密钥协商协议,其包括以下步骤:A、初始化阶段:服务器Sj初始化参数X作为自己的秘密值,保存在数据库中;B、注册阶段:合法用户Ui如果想要与服务器Sj建立会话,需要先向服务器发起注册请求;C、登录和认证阶段,已注册的用户向服务器发送登录请求,服务器验证用户身份并与用户协商生成会话密钥;D、口令修改阶段。本发明解决了web系统中服务器端口令信息泄露的问题,服务器端无需存储任何用户口令的相关信息却依然能够通过验证用户口令的方式来验证用户身份,并且在同类安全协议中具备较高的效率。
Description
技术领域
本发明属于密码协议技术领域,具体涉及一种适用于web系统中的无需服务器端存储用户口令相关信息的口令认证与密钥协商协议,可以抵抗已知的安全攻击。
背景技术
Web也称万维网,是一种网络使用环境的总称。我们平常使用浏览器上网时所浏览的网页均可以视为Web环境,Web系统是在Web环境中的系统的统称,大致上可分为B/S(Browser/Server)架构和C/S(Client/Server)架构,实际的Web系统包含了网页设计、数据库等多种技术。随着网络的迅速发展,Web系统已与人们的日常网络生活息息相关,Web系统中用户口令的安全也引起人们的广泛关注。
在Web系统中,用户认证协议是保证网络数据访问用户的合法授权性的重要安全机制。现在很多Web系统主要以用户名和口令的方式来对用户的身份进行认证,然而面对复杂多变的网络环境,此种方式安全性较低,用户口令将面临窃取、篡改、重放等网络攻击,其中服务器端的用户口令泄露情况十分严重。攻击者往往利用某种漏洞,获取服务器端数据库存储的用户口令信息。这种攻击难以被管理人员察觉,等发现时已经有大量用户口令泄露,且影响范围不仅涉及该系统,泄露出的口令集相当于给攻击者提供了新鲜的素材,这些口令集可以被用来进行统计分析,以便对其他系统进行攻击。越是大规模的Web系统,所存储的用户数据越多,所承担的风险越大,被攻破后的损失也越大,影响范围也越广。在下一次曝光前,我们仍无法知道有多少Web系统已经泄露了口令或者正处于口令泄露的风险之中,可以说,口令泄露对各大Web系统来说都是潜在的定时炸弹。
发明内容
本发明针对现有的web系统使用的常见的口令认证协议中将用户口令存储在服务器端数据库上的模式,提供一种无需服务器端存储口令相关信息的口令认证和密钥协商协议,从根本上解决了实际中用户口令从服务器端存储上泄露的安全问题。
为了解决上述技术问题,本发明提供了如下的技术方案:
本发明提出了一种web系统中无需存储口令相关信息的口令认证与密钥协商协议,其包括以下步骤:
A、初始化阶段:服务器Sj初始化时随机生成一个参数X作为自己的秘密值,并保存在数据库中。
B、注册阶段:合法用户Ui如果想要将自己的信息注册到服务器Sj上,会先发起注册请求,具体的步骤如下;
B1:用户选择自己的身份IDi和口令PWi,并通过PWDi=h(IDi||PWi)计算出PWDi。然后,用户Ui会将注册申请信息{IDi,PWDi}通过秘密信道发送给注册服务器Sj;
B2:注册服务器Sj在收到注册申请之后,会向数据库中添加一个标记<IDi,Ni>,其中Ni为一个随机产生的正整数,表示了该用户的状态。当用户进行注销时,Sj会将Ni设置为负数。当用户进行重新注册时,Sj会使Ni重新生成一个随机的正整数。之后Sj会计算Ai=h(IDi||X)、和并将{Bi,Ci}通过秘密信道传输给用户Ui,由浏览器扩展模块保存下来作为用户标识。
C、登录和认证阶段:已注册的用户向服务器发送登录请求,服务器验证用户身份并与用户协商生成会话密钥,具体过程如下:
C1:用户Ui在登录时输入自己的身份标识IDi和口令,浏览器扩展模块根据用户口令生成的口令为在此之后,模块计算 和其中N1为模块生成的随机数,Ti为时间戳,并将登录请求信息{IDi,Bi,M1,M2,M3,Ti}通过公开网络传输给应用服务器Sj;
C2:当收到用户Ui的登录请求信息时,服务器Sj首先通过验证Ti-Tj≤ΔT是否成立来验证时间戳是否有效。如果时间戳有效,那么服务器会通过是否相等来判断用户口令是否正确。如果相等,那么服务器会运算和获取用户生成的随机数N1,并通过h(IDi||N1||PWDi||SIDj||Ti)=M3是否相等来判断用户信息是否有效。如果相等,那么服务器会产生随机数N2,通过SKij=h(IDi||SIDj||N1||N2),和M5=h(SIDj||N2||IDi)计算出M4和M5,其中SKij可作为临时会话密钥。服务器会把认证信息{SIDj,M4,M5}通过公开网络发送给用户。
C3:用户Ui在接受到服务器返回的信息后,通过 和SKij=h(IDi||SIDj||N1||N2)同样计算出本次会话的临时密钥SKij,并且通过h(SIDj||N2||IDi)=M5是否相等来验证信息的有效性。如果该式相等,那么通过M6=h(SKij||N1||N2)计算出M6,并通过公开网络将M6发送给服务器Sj。
C4:在接收到M6后会进行h(SKij||N1||N2)=M6的验证。如果相等,表示验证通过,那么就接受SKij作为本次会话的密钥。否则服务器将拒绝本次会话。
D、口令修改阶段:当用户觉得目前的口令可能或已经泄露出去,为了减少不必要的损失需要修改新口令,那么用户需要进行以下过程:
D2:当收到用户Ui的登录请求信息时,服务器Sj首先通过进行运算Tr-Tj≤ΔT验证时间戳是否有效。如果时间戳有效,那么服务器会通过是否相等来判断用户口令是否正确。如果检查通过,那么服务器端给用户发送可以修改口令的信息。
在上述步骤A到D中,各符号代表含义为:Ui为合法用户i;Sj为服务器j;X为服务器间共享的秘密值;IDi为用户i的身份ID;PWi为用户i的密码;SIDj为服务器j的身份ID;h(.)为单向哈希函数;SKij为会话密钥。
本发明所达到的有益效果是:
本发明解决了web系统中服务器口令泄露的安全问题,舍弃了传统的服务器端存储用户口令相关信息的模式,服务器不存储用户的口令信息,但是依然保证服务器能够对用户的口令及身份进行验证。从根本上避免了攻击者通过拖库等手段获取用户口令的风险,即使该系统被攻破,攻击者也无法获取到有效的口令集对其他系统进行攻击,保证了系统的安全性,防止用户口令的大面积泄露造成不可挽回的损失。并且,协议本身以hash算法为主,在运算量上相比公钥加密和对称密钥加密有着轻便易实现的效率优势。
附图说明
图1为本发明实施例的整体流程图;
图2是本发明实施例的用户注册流程图;
图3是本发明实施例的用户登录流程图;
图4是本发明实施例的认证与密钥协商流程图;
图5是本发明实施例的口令修改流程图。
具体实施方式
下面结合附图对本发明作更进一步的说明,此处所描述内容仅用于说明和解释本发明,并不用于限定本发明。
本发明提出了一种适用于web系统的无需存储口令相关信息的口令认证与密钥协商协议,其包括以下步骤:
A、初始化阶段:服务器Sj初始化时随机生成一个参数X作为自己的秘密值,并保存在数据库中。
B、注册阶段:如图1所示,合法用户Ui如果想要将自己的信息注册到服务器Sj上,会先发起注册请求,具体的步骤如下;
B1:用户选择自己的身份IDi和口令PWi,并通过PWDi=h(IDi||PWi)计算出PWDi。然后,用户Ui会将注册申请信息{IDi,PWDi}通过秘密信道发送给注册服务器Sj;
B2:注册服务器Sj在收到注册申请之后,会向数据库中添加一个标记<IDi,Ni>,其中Ni为一个随机产生的正整数,表示了该用户的状态。当用户进行注销时,Sj会将Ni设置为负数。当用户进行重新注册时,Sj会使Ni重新生成一个随机的正整数。之后Sj会计算Ai=h(IDi||X)、和并将{Bi,Ci}通过秘密信道传输给用户Ui,由浏览器扩展模块保存下来作为用户标识。
C、登录和认证阶段:已注册的用户向服务器发送登录请求,服务器验证用户身份并与用户协商生成会话密钥,具体过程如下:
C1:如图2所示,用户Ui在登录时输入自己的身份标识IDi和口令,浏览器扩展模块根据用户口令生成的口令为在此之后,模块计算 和其中N1为模块生成的随机数,Ti为时间戳,并将登录请求信息{IDi,Bi,M1,M2,M3,Ti}通过公开网络传输给应用服务器Sj;
C2:如图3所示,当收到用户Ui的登录请求信息时,服务器Sj首先通过验证Ti-Tj≤ΔT是否成立来验证时间戳是否有效。如果时间戳有效,那么服务器会通过是否相等来判断用户口令是否正确。如果相等,那么服务器会运算 和获取用户生成的随机数N1,并通过h(IDi||N1||PWDi||SIDj||Ti)=M3是否相等来判断用户信息是否有效。如果相等,那么服务器会产生随机数N2,通过SKij=h(IDi||SIDj||N1||N2),和M5=h(SIDj||N2||IDi)计算出M4和M5,其中SKij可作为临时会话密钥。服务器会把认证信息{SIDj,M4,M5}通过公开网络发送给用户。
C3:用户Ui在接受到服务器返回的信息后,通过 和SKij=h(IDi||SIDj||N1||N2)同样计算出本次会话的临时密钥SKij,并且通过h(SIDj||N2||IDi)=M5是否相等来验证信息的有效性。如果该式相等,那么通过M6=h(SKij||N1||N2)计算出M6,并通过公开网络将M6发送给服务器Sj。
C4:在接收到M6后会进行h(SKij||N1||N2)=M6的验证。如果相等,表示验证通过,那么就接受SKij作为本次会话的密钥。否则服务器将拒绝本次会话。
D、口令修改阶段:如图4所示,当用户觉得目前的口令可能或已经泄露出去,为了减少不必要的损失需要修改新口令,那么用户需要进行以下过程:
D2:当收到用户Ui的登录请求信息时,服务器Sj首先通过进行运算Tr-Tj≤ΔT验证时间戳是否有效。如果时间戳有效,那么服务器会通过是否相等来判断用户口令是否正确。如果检查通过,那么服务器端给用户发送可以修改口令的信息。
在上述步骤A到D中,各符号代表含义为:Ui为合法用户i;Sj为服务器j;X为服务器间共享的秘密值;IDi为用户i的身份ID;PWi为用户i的密码;SIDj为服务器j的身份ID;h(.)为单向哈希函数;SKij为会话密钥。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (1)
1.一种web系统中无需存储口令相关信息的口令认证与密钥协商协议方法,其特征在于,包括以下步骤:
A、初始化阶段:服务器Sj初始化时随机生成一个参数X作为自己的秘密值,并保存在数据库中;
B、注册阶段:合法用户Ui如果想要将自己的信息注册到服务器Sj上,会先发起注册请求,具体的步骤如下;
B1:用户选择自己的身份IDi和口令PWi,并通过PWDi=h(IDi||PWi)计算出PWDi;然后,用户Ui会将注册申请信息{IDi,PWDi}通过秘密信道发送给服务器Sj;
B2:服务器Sj在收到注册申请之后,会向数据库中添加一个标记<IDi,Ni>,其中Ni为一个随机产生的正整数,表示了该用户的状态;当用户进行注销时,Sj会将Ni设置为负数;当用户进行重新注册时,Sj会使Ni重新生成一个随机的正整数;之后Sj会计算Ai=h(IDi||X)、和并将{Bi,Ci}通过秘密信道传输给用户Ui,由浏览器扩展模块保存下来作为用户标识;
C、登录和认证阶段:已注册的用户向服务器发送登录请求,服务器验证用户身份并与用户协商生成会话密钥,具体过程如下:
C1:用户Ui在登录时输入自己的身份标识IDi和口令,浏览器扩展模块根据用户口令生成的口令为在此之后,模块计算 和其中N1为模块生成的随机数,Ti为时间戳,并将登录请求信息{IDi,Bi,M1,M2,M3,Ti}通过公开网络传输给服务器Sj;
C2:当收到用户Ui的登录请求信息时,服务器Sj首先通过验证Ti-Tj≤ΔT是否成立来验证时间戳是否有效;如果时间戳有效,那么服务器会通过是否相等来判断用户口令是否正确;如果相等,那么服务器会运算和 获取用户生成的随机数N1,并通过h(IDi||N1||PWDi||SIDj||Ti)=M3是否相等来判断用户信息是否有效;如果相等,那么服务器会产生随机数N2,通过SKij=h(IDi||SIDj||N1||N2),和M5=h(SIDj||N2||IDi)计算出M4和M5,其中SKij可作为临时会话密钥;服务器会把认证信息{SIDj,M4,M5}通过公开网络发送给用户;
C3:用户Ui在接受到服务器返回的信息后,通过 和SKij=h(IDi||SIDj||N1||N2)同样计算出本次会话的临时密钥SKij,并且通过h(SIDj||N2||IDi)=M5是否相等来验证信息的有效性;如果该式相等,那么通过M6=h(SKij||N1||N2)计算出M6,并通过公开网络将M6发送给服务器Sj;
C4:在接收到M6后会进行h(SKij||N1||N2)=M6的验证;如果相等,表示验证通过,那么就接受SKij作为本次会话的密钥;否则服务器将拒绝本次会话;
D、口令修改阶段:当用户觉得目前的口令可能或已经泄露出去,为了减少不必要的损失需要修改新口令,那么用户需要进行以下过程:
D2:当收到用户Ui的登录请求信息时,服务器Sj首先通过进行运算Tr-Tj≤ΔT验证时间戳是否有效;如果时间戳有效,那么服务器会通过是否相等来判断用户口令是否正确;如果检查通过,那么服务器端给用户发送可以修改口令的信息;
Tj,Tr,ΔT:其中Tr为用户Ui产生的时间戳,其中Tj是服务器Sj产生的时间戳,ΔT为提前设定好的可以容忍的时间间隔;
在上述步骤A到D中,各符号代表含义为:Ui为合法用户i;Sj为服务器j;X为服务器间共享的秘密值;IDi为用户i的身份ID;PWi为用户i的密码;SIDj为服务器j的身份ID;h(.)为单向哈希函数;SKij为会话密钥。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911142427.4A CN110838920B (zh) | 2019-11-20 | 2019-11-20 | web系统中无需存储口令相关信息的口令认证与密钥协商协议 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911142427.4A CN110838920B (zh) | 2019-11-20 | 2019-11-20 | web系统中无需存储口令相关信息的口令认证与密钥协商协议 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110838920A CN110838920A (zh) | 2020-02-25 |
CN110838920B true CN110838920B (zh) | 2022-03-25 |
Family
ID=69576822
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911142427.4A Active CN110838920B (zh) | 2019-11-20 | 2019-11-20 | web系统中无需存储口令相关信息的口令认证与密钥协商协议 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110838920B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113765856B (zh) * | 2020-06-04 | 2023-09-08 | 中移(成都)信息通信科技有限公司 | 身份认证方法、装置、设备和介质 |
CN114598454B (zh) * | 2020-12-03 | 2023-11-21 | 中移(成都)信息通信科技有限公司 | 密钥生成及身份认证方法、装置、设备及计算机存储介质 |
CN113626794B (zh) * | 2021-07-22 | 2024-03-08 | 西安电子科技大学 | 客户/服务器模式下的认证及密钥协商方法、系统及应用 |
CN114338071A (zh) * | 2021-10-28 | 2022-04-12 | 中能电力科技开发有限公司 | 一种基于风电场通信的网络安全身份认证方法 |
CN113949584B (zh) * | 2021-11-04 | 2023-03-07 | 电子科技大学 | 抗口令凭证泄露的口令认证方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102377573A (zh) * | 2011-12-08 | 2012-03-14 | 华东师范大学 | 一种口令可安全更新的双因子身份认证方法 |
US8971851B2 (en) * | 2012-06-28 | 2015-03-03 | Certicom Corp. | Key agreement for wireless communication |
CN105516201B (zh) * | 2016-01-20 | 2018-10-23 | 陕西师范大学 | 一种多服务器环境下轻量级匿名认证与密钥协商方法 |
CN107404461B (zh) * | 2016-05-19 | 2021-01-26 | 阿里巴巴集团控股有限公司 | 数据安全传输方法、客户端及服务端方法、装置及系统 |
CN109379176B (zh) * | 2018-12-10 | 2021-12-03 | 湖北工业大学 | 一种抗口令泄露的认证与密钥协商方法 |
-
2019
- 2019-11-20 CN CN201911142427.4A patent/CN110838920B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110838920A (zh) | 2020-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110838920B (zh) | web系统中无需存储口令相关信息的口令认证与密钥协商协议 | |
Wazid et al. | Design of secure key management and user authentication scheme for fog computing services | |
US8627424B1 (en) | Device bound OTP generation | |
Cervesato et al. | Breaking and fixing public-key Kerberos | |
CN109687965B (zh) | 一种保护网络中用户身份信息的实名认证方法 | |
CN102026195B (zh) | 基于一次性口令的移动终端身份认证方法和系统 | |
Tan et al. | Comments on “dual authentication and key management techniques for secure data transmission in vehicular ad hoc networks” | |
CN101741860B (zh) | 一种计算机远程安全控制方法 | |
CN104901809B (zh) | 基于口令和智能卡的远程认证协议方法 | |
CN109379176B (zh) | 一种抗口令泄露的认证与密钥协商方法 | |
Blanchet et al. | Computationally sound mechanized proofs for basic and public-key Kerberos | |
Krawczyk | A unilateral-to-mutual authentication compiler for key exchange (with applications to client authentication in TLS 1.3) | |
Backes et al. | Cryptographically sound security proofs for basic and public-key Kerberos | |
CN107370599A (zh) | 一种远程销毁私钥的管理方法、装置和系统 | |
CN114513339A (zh) | 一种安全认证方法、系统及装置 | |
Mahmood et al. | An ameliorated two‐factor anonymous key exchange authentication protocol for mobile client‐server environment | |
CN110572392A (zh) | 一种基于Hyperledger网络的身份认证方法 | |
Huszti et al. | A simple authentication scheme for clouds | |
CN115955320B (zh) | 一种视频会议身份认证方法 | |
CN112383401A (zh) | 一种提供身份鉴别服务的用户名生成方法及系统 | |
Kim et al. | Further improved remote user authentication scheme | |
CN116506118A (zh) | 一种pki证书透明化服务中身份隐私性保护方法 | |
CN115396149A (zh) | 一种基于隐私保护的高效认证密钥交换方法 | |
CN111723347B (zh) | 身份认证方法、装置、电子设备及存储介质 | |
Lee et al. | Design of a simple user authentication scheme using QR-code for mobile device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |