web系统中无需存储口令相关信息的口令认证与密钥协商协议技术方案

技术编号:23433138 阅读:31 留言:0更新日期:2020-02-25 13:48
本发明专利技术公开了一种适用于web系统中的无需服务器端存储用户口令相关信息的口令认证与密钥协商协议,其包括以下步骤:A、初始化阶段:服务器S

Password authentication and key agreement protocol without storing password related information in Web System

【技术实现步骤摘要】
web系统中无需存储口令相关信息的口令认证与密钥协商协议
本专利技术属于密码协议
,具体涉及一种适用于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、口令修改阶段:当用户觉得目前的口令可能或已经泄露出去,为了减少不必要的损失需要修改新口令,那么用户需要进行以下过程:D1:用户Ui输入自己的身份标识IDi和旧口令,浏览器扩展模块根据用户口令生成的旧口令为并运算和并将口令修改请求信息{IDi,M7,Ti}通过公开网络传输给服务器Sj。D2:当收到用户Ui的登录请求信息时,服务器Sj首先通过进行运算Tr-Tj≤ΔT验证时间戳是否有效。如果时间戳有效,那么服务器会通过是否相等来判断用户口令是否正确。如果检查通过,那么服务器端给用户发送可以修改口令的信息。D3:浏览器扩展模块收到服务器发来的确认修改口令的信息,提示用户输入新口令,并生成新的强口令然后计算和并用取代Bi,取代Ci。至此,口令更新操作完成。在上述步骤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本文档来自技高网
...

【技术保护点】
1.一种web系统中无需存储口令相关信息的口令认证与密钥协商协议,其特征在于,包括以下步骤:/nA、初始化阶段:服务器S

【技术特征摘要】
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=...

【专利技术属性】
技术研发人员:郭华陈晨王如思吴爽刘建伟
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1