掌桥专利:专业的专利平台
掌桥专利
首页

一种用户登录与认证的方法及装置

文献发布时间:2023-06-19 11:32:36


一种用户登录与认证的方法及装置

技术领域

本发明属于密码认证协议技术领域,尤其涉及一种用户登录与认证的方法及装置。

背景技术

随着现代网络的快速发展,5G网络开始进入商用,以及近几年物联网、车联网、智慧城市等领域迅速兴起,人们的生活已经和网络技术息息相关。移动电子商务、共享经济的兴起,人们可以随处使用电子支付、网购和共享单车,使用移动设备远程控制智能家居设备,查看室内场景。然而网络的公开性可能把人们的隐私大量暴露,同时黑客行为越来越具有攻击性,因此人们对网络安全的需求会越来越强烈。

两方口令认证与密钥协商2PAKE(Two-party Password-authenticated keyexchange)可以让用户在公网与可信服务器互相认证,且建立一个安全的会话密钥。在目前这个信息技术高速发展的社会,认证与密钥协商协议在很多重要的领域(比如视频监控、远程调控、WSN等)有广泛的应用。但是目前互联网由于自身的开放、自由等特点,用户和服务器的通信消息容易遭受各种来自不明身份、设备的网络攻击,比如窃听、篡改消息、伪装用户或服务器、DDOS攻击等。口令由于较短和容易记忆,容易遭受口令猜测攻击,因此很多两方认证协议采取智能卡存储或公钥认证加密来保护用户的口令。

在采用公钥认证加密来保护用户的口令时,服务器首先需要生成并发布公钥及公钥证书。在登录阶段,用户发送登录请求,服务器返回公钥证书,然后用户验证公钥证书,通过后用服务器的公钥加密登录信息,最后与服务器进行认证与密钥协商。

在采用智能卡存储时,用户使用智能卡、自身的生物信息,输入口令,用服务器公钥加密登录请求信息,最终登录并与服务器相互认证。

然而,上述方案中,智能卡方式需要额外配置智能卡,且容易遭受旁路攻击从而泄露口令,且降低了用户的便携性;公钥密码体制需要密钥生成和管理机制,提高了协议的计算成本和复杂度。

发明内容

本发明的目的是提供一种用户登录与认证的方法及装置,用以避免上述背景技术中提到的问题,在保证用户与服务器相互认证的安全性与鲁棒性的同时,同时具有较高的运算效率。

为了实现上述目的,本申请技术方案如下:

一种用户登录与认证的方法,包括:

服务器接收用户注册请求,所述用户注册请求中携带有用户身份标识和第一哈希值,其中,所述第一哈希值根据用户身份标识和口令生成;

服务器接收用户登录请求,所述用户登录请求中携带用户身份标识和第一临时公钥,所述第一临时公钥由临时公钥算法生成;

服务器按照临时公钥算法生成第二临时公钥,将所述第二临时公钥与第一哈希值异或运算后生成服务器临时值,将服务器身份标识和所述服务器临时值发送给用户,以便用户将所述服务器临时值与第一哈希值进行异或运算后获取第二临时公钥,按照与服务器约定的方式,根据所述第一临时公钥、第二临时公钥和服务器临时值生成会话密钥和第一验证值,并向服务器发送携带第一验证值的认证请求;

服务器接收用户发送的第一验证值,按照与用户约定的方式计算会话密钥和第二验证值,并将第二验证值与第一验证值比较验证,如果一致,则用户登录成功,用户与服务器之间用会话密钥加密信息进行通信。

进一步的,所述服务器设置用于计算临时公钥的一个大素数、一个本原根和长期私钥,并公开大素数和本原根,所述第一临时公钥由临时公钥算法生成,包括:

获取第一随机数,将本原根的第一随机数值次幂除以大素数的余数作为第一临时公钥;

所述服务器按照临时公钥算法生成第二临时公钥,包括:

获取第二随机数,将本原根的第二随机数值次幂除以大素数的余数作为第二临时公钥。

进一步的,所述按照与服务器约定的方式,根据所述第一临时公钥、第二临时公钥和服务器临时值生成会话密钥和第一验证值,包括:

求取第二临时公钥的第一随机数值次幂除以大素数的余数作为临时中间值,并根据临时中间值、用户身份标识、服务器身份标识、第一临时公钥、服务器临时值生成会话密钥,根据所述会话密钥、用户身份标识、服务器身份标识、第一临时公钥和第二临时公钥生成第一验证值;

所述服务器接收用户发送的第一验证值,按照与用户约定的方式计算会话密钥和第二验证值,包括:

求取第一临时公钥的第二随机数值次幂除以大素数的余数作为临时中间值,并根据临时中间值、用户身份标识、服务器身份标识、第一临时公钥、服务器临时值生成会话密钥,根据所述会话密钥、用户身份标识、服务器身份标识、第一临时公钥和第二临时公钥生成第二验证值。

进一步的,所述用户登录与认证的方法,在与第一验证值比较验证,如果一致之后,还包括:

按照与用户约定的方式计算第三验证值,携带所述第三验证值向用户发送认证回应消息;以便用户收到认证回应消息后,按照与服务器约定的方式计算第四验证值,并比较第三验证值和第四验证值,验证通过后用户成功登录,用户与服务器之间用会话密钥加密信息进行通信;

所述按照与用户约定的方式计算第三验证值,及按照与服务器约定的方式计算第四验证值,包括:

根据所述会话密钥、用户身份标识、服务器身份标识、第一临时公钥和服务器临时值生成第三验证值;

根据会话密钥、用户身份标识、服务器身份标识、第一临时公钥和服务器临时值生成第四验证值。

进一步的,所述用户登录与认证的方法,还包括:

服务器根据服务器身份标识、用户身份标识和长期私钥计算第二哈希值,并将第二哈希值与第一哈希值进行异或运算得到第三哈希值,保存所述用户身份标识和第三哈希值;

在服务器按照临时公钥算法生成第二临时公钥,将所述第二临时公钥与第一哈希值异或运算后生成服务器临时值时,通过将第三哈希值与第二哈希值做异或运算得到第一哈希值。

本申请还提出了一种用户登录与认证的装置,所述用户登录与认证的装置应用于服务器,包括:

注册模块,用于接收用户注册请求,所述用户注册请求中携带有用户身份标识和第一哈希值,其中,所述第一哈希值根据用户身份标识和口令生成;

登录模块,用于接收用户登录请求,所述用户登录请求中携带用户身份标识和第一临时公钥,所述第一临时公钥由临时公钥算法生成;按照临时公钥算法生成第二临时公钥,将所述第二临时公钥与第一哈希值异或运算后生成服务器临时值,将服务器身份标识和所述服务器临时值发送给用户,以便用户将所述服务器临时值与第一哈希值进行异或运算后获取第二临时公钥,按照与服务器约定的方式,根据所述第一临时公钥、第二临时公钥和服务器临时值生成会话密钥和第一验证值,并向服务器发送携带第一验证值的认证请求;

验证模块,用于接收用户发送的第一验证值,按照与用户约定的方式计算会话密钥和第二验证值,并将第二验证值与第一验证值比较验证,如果一致,则用户登录成功,用户与服务器之间用会话密钥加密信息进行通信。

进一步的,所述用户登录与认证的装置设置用于计算临时公钥的一个大素数、一个本原根和长期私钥,并公开大素数和本原根,所述第一临时公钥由临时公钥算法生成,包括:

获取第一随机数,将本原根的第一随机数值次幂除以大素数的余数作为第一临时公钥;

所述服务器按照临时公钥算法生成第二临时公钥,包括:

获取第二随机数,将本原根的第二随机数值次幂除以大素数的余数作为第二临时公钥。

进一步的,所述按照与服务器约定的方式,根据所述第一临时公钥、第二临时公钥和服务器临时值生成会话密钥和第一验证值,包括:

求取第二临时公钥的第一随机数值次幂除以大素数的余数作为临时中间值,并根据临时中间值、用户身份标识、服务器身份标识、第一临时公钥、服务器临时值生成会话密钥,根据所述会话密钥、用户身份标识、服务器身份标识、第一临时公钥和第二临时公钥生成第一验证值;

所述服务器接收用户发送的第一验证值,按照与用户约定的方式计算会话密钥和第二验证值,包括:

求取第一临时公钥的第二随机数值次幂除以大素数的余数作为临时中间值,并根据临时中间值、用户身份标识、服务器身份标识、第一临时公钥、服务器临时值生成会话密钥,根据所述会话密钥、用户身份标识、服务器身份标识、第一临时公钥和第二临时公钥生成第二验证值。

进一步的,所述验证模块,还在与第一验证值比较验证,如果一致之后,还执行如下操作:

按照与用户约定的方式计算第三验证值,携带所述第三验证值向用户发送认证回应消息;以便用户收到认证回应消息后,按照与服务器约定的方式计算第四验证值,并比较第三验证值和第四验证值,验证通过后用户成功登录,用户与服务器之间用会话密钥加密信息进行通信;

所述按照与用户约定的方式计算第三验证值,及按照与服务器约定的方式计算第四验证值,包括:

根据所述会话密钥、用户身份标识、服务器身份标识、第一临时公钥和服务器临时值生成第三验证值;

根据会话密钥、用户身份标识、服务器身份标识、第一临时公钥和服务器临时值生成第四验证值。

进一步的,所述注册模块,还用于:

根据服务器身份标识、用户身份标识和长期私钥计算第二哈希值,并将第二哈希值与第一哈希值进行异或运算得到第三哈希值,保存所述用户身份标识和第三哈希值;

在服务器按照临时公钥算法生成第二临时公钥,将所述第二临时公钥与第一哈希值异或运算后生成服务器临时值时,通过将第三哈希值与第二哈希值做异或运算得到第一哈希值。

本申请提出的一种用户登录与认证的方法及装置,服务器无需生成和公布公钥,用户无需验证公钥证书,也不需要额外的设备(智能存储卡、摄像头识别设备等),只需要输入自己正确的身份、口令等信息,就能与服务器进行安全的相互认证和会话密钥生成,对黑客进行的网络攻击进行有效的抵御,同时控制了两方运算成本,大大提高了服务器管理的效率,降低了通信的成本,增强了网络交流的安全性。

附图说明

图1为本申请实施例一种用户登录与认证的方法流程图;

图2为本申请实施例注册阶段示意图;

图3为本申请实施例登录阶段示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本申请,并不用于限定本申请。

本申请总体思路是提出一种无需服务器临时公钥的用户身份认证与密钥协商的方法。包括以下三个阶段:服务器初始化阶段、用户注册阶段、用户登录与认证阶段。实现了在用户登录与认证阶段不需要使用服务器临时公钥的步骤,降低了密钥生成与管理和公钥验证的成本,认证过程有较高的效率,同时实现了用户与服务器在公网通信的安全性保证,具有认证性和保密性,是一种具有通信安全且高效的两方口令认证与密钥交换(2PAKE)方法。本申请实施例中使用的所有“⊕”都代表进行异或运算的两个对象的每个比特位进行异或运算;h(*)代表单向哈希算法。

本申请的一个实施例,如图1所示,一种用户登录与认证的方法,包括:

服务器接收用户注册请求,所述用户注册请求中携带有用户身份标识IDu和第一哈希值HPWu,其中,所述第一哈希值HPWu根据用户身份标识IDu和口令PWu生成;

服务器接收用户登录请求,所述用户登录请求中携带用户身份标识和第一临时公钥R

服务器按照临时公钥算法生成第二临时公钥R

服务器接收用户发送的第一验证值Z

在一个实施例中,服务器设置用于计算临时公钥的一个大素数p、一个本原根g和长期私钥s,然后公开大素数p和本原根g。

所述第一临时公钥由临时公钥算法生成包括:

选择第一随机数a,求取本原根g的a次幂除以大素数p的余数作为第一临时公钥;

所述服务器按照预设的临时公钥算法生成第二临时公钥,包括:

选择第二随机数b,求取本原根g的b次幂除以大素数p的余数作为第二临时公钥R

本实施例给出了一种优选的计算临时公钥的方法,以用户Ui向服务器Sj登录为例,如图2所示,服务器初始化阶段时选择自己的身份信息IDs,一个大素数p和一个本原根g,长期私钥s,然后公开p,g。

用户在向服务器注册阶段,用户Ui选择自己的身份信息IDu和口令PWu,计算哈希值HPWu=h(PWu,IDu),通过安全信道发送注册请求消息{IDu,HPWu}给服务器Sj。

服务器Sj获取到用户的注册请求消息{IDu,HPWu}后,通过自己的秘密私钥s计算VPWu=h(IDu,IDs,s)⊕HPWu,然后存储注册信息{IDu,VPWu}到数据库的验证表中。其中,服务器计算VPWu=h(IDu,IDs,s)⊕HPWu,然后存储注册信息{IDu,VPWu}到数据库的验证表中,可以不直接保存HPWu,有利于HPWu的安全保存。

即在本申请中,还包括:

服务器根据服务器身份标识、用户身份标识和长期私钥计算第二哈希值,并将第二哈希值与第一哈希值进行异或运算得到第三哈希值,保存所述用户身份标识和第三哈希值;

在后续步骤中需要第一哈希值时,通过将第三哈希值与第二哈希值做异或运算得到第一哈希值。具体是在服务器按照临时公钥算法生成第二临时公钥,将所述第二临时公钥与第一哈希值异或运算后生成服务器临时值时,用到第一哈希值。

本申请还可以采用长期私钥s给第一哈希值加密,生成第三哈希值,后续需要第一哈希值时,可以解密得到,这里不再赘述。

在本实施例中,HPWu为第一哈希值,h(IDu,IDs,s)为第二哈希值,VPWu为第三哈希值。

用户登录与认证服务器阶段,如图3所示,用户Ui输入自己正确的身份IDu,选择一个随机数a作为临时私钥,计算模幂值R

服务器Sj接收到用户的登录请求消息{IDu,R

需要说明的是,本实施例采用计算模幂值的方法来生成临时公钥,是一种优选的实施例。本申请不限于具体的临时公钥生成方法,例如可以直接以选择的随机数的哈希值作为临时公钥,这里不再赘述。

在另一个实施例中,所述按照与服务器约定的方式,根据所述第一临时公钥R

求取第二临时公钥R

所述服务器接收用户发送的第一验证值Z

求取第一临时公钥R

在本实施例中,给出了一种优选的计算会话密钥和验证值的方法,用户Ui从公开网络信道获得回应消息{IDs,R

服务器Sj从公开网络信道获得用户的认证请求消息{Z

在验证通过后,可以直接认为用户登录成功,用户与服务器之间用会话密钥sk加密信息进行通信。

在另一个实施例中,所述用户登录与认证的方法,在与第一验证值Z

按照与用户约定的方式计算第三验证值Z

本实施例在第一、第二验证值验证通过后,还生成第三验证值Z

用户Ui从公开网络信道取得服务器的认证回应消息{Z

需要说明的是,在上述实施例中,计算验证值时所采用的参数,可以不包括用户身份标识和服务器身份标识,或者不包括临时中间值,本申请上述实施例仅为一种优选的方法。例如第一验证值Z

此外,还可以在用户与服务器之间的交互中携带当前时间戳,在用户与服务器的交互中,相互携带各自的时间戳,从而在计算会话密钥和验证值时,在计算参数中加入时间戳,例如在计算第一验证值Z

本申请用户登录认证过程如下:

服务器接收用户注册请求,所述用户注册请求中携带有用户身份标识IDu和第一哈希值HPWu,所述第一哈希值HPWu根据用户身份标识IDu和口令PWu生成,记录用户身份标识IDu和第一哈希值HPWu;

服务器接收用户登录请求,所述用户登录请求中携带用户身份标识和第一临时公钥R

服务器按照所述第一算法,根据服务器公开的大素数p、本原根g和选择的第二随机数生成第二临时公钥R

服务器接收用户发送的第一验证值Z

在一个实施例中,本申请还提供了一种用户登录与认证的装置,所述用户登录与认证的装置应用于服务器,包括:

注册模块,用于接收用户注册请求,所述用户注册请求中携带有用户身份标识和第一哈希值,其中,所述第一哈希值根据用户身份标识和口令生成;

登录模块,用于接收用户登录请求,所述用户登录请求中携带用户身份标识和第一临时公钥,所述第一临时公钥由临时公钥算法生成;按照临时公钥算法生成第二临时公钥,将所述第二临时公钥与第一哈希值异或运算后生成服务器临时值,将服务器身份标识和所述服务器临时值发送给用户,以便用户将所述服务器临时值与第一哈希值进行异或运算后获取第二临时公钥,按照与服务器约定的方式,根据所述第一临时公钥、第二临时公钥和服务器临时值生成会话密钥和第一验证值,并向服务器发送携带第一验证值的认证请求;

验证模块,用于接收用户发送的第一验证值,按照与用户约定的方式计算会话密钥和第二验证值,并将第二验证值与第一验证值比较验证,如果一致,则用户登录成功,用户与服务器之间用会话密钥加密信息进行通信。

关于用户登录与认证的装置的具体限定可以参见上文中对于用户登录与认证的方法的限定,在此不再赘述。上述用户登录与认证的装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

以下通过实施例进一步阐述各个模块,在一个实施例中,所述用户登录与认证的装置设置用于计算临时公钥的一个大素数、一个本原根和长期私钥,并公开大素数和本原根,所述第一临时公钥由临时公钥算法生成,包括:

获取第一随机数,将本原根的第一随机数值次幂除以大素数的余数作为第一临时公钥;

所述服务器按照临时公钥算法生成第二临时公钥,包括:

获取第二随机数,将本原根的第二随机数值次幂除以大素数的余数作为第二临时公钥。

在一个实施例中,所述按照与服务器约定的方式,根据所述第一临时公钥、第二临时公钥和服务器临时值生成会话密钥和第一验证值,包括:

求取第二临时公钥的第一随机数值次幂除以大素数的余数作为临时中间值,并根据临时中间值、用户身份标识、服务器身份标识、第一临时公钥、服务器临时值生成会话密钥,根据所述会话密钥、用户身份标识、服务器身份标识、第一临时公钥和第二临时公钥生成第一验证值;

所述服务器接收用户发送的第一验证值,按照与用户约定的方式计算会话密钥和第二验证值,包括:

求取第一临时公钥的第二随机数值次幂除以大素数的余数作为临时中间值,并根据临时中间值、用户身份标识、服务器身份标识、第一临时公钥、服务器临时值生成会话密钥,根据所述会话密钥、用户身份标识、服务器身份标识、第一临时公钥和第二临时公钥生成第二验证值。

在一个实施例中,所述验证模块,还在与第一验证值比较验证,如果一致之后,还执行如下操作:

按照与用户约定的方式计算第三验证值,携带所述第三验证值向用户发送认证回应消息;以便用户收到认证回应消息后,按照与服务器约定的方式计算第四验证值,并比较第三验证值和第四验证值,验证通过后用户成功登录,用户与服务器之间用会话密钥加密信息进行通信;

所述按照与用户约定的方式计算第三验证值,及按照与服务器约定的方式计算第四验证值,包括:

根据所述会话密钥、用户身份标识、服务器身份标识、第一临时公钥和服务器临时值生成第三验证值;

根据会话密钥、用户身份标识、服务器身份标识、第一临时公钥和服务器临时值生成第四验证值。

在一个实施例中,所述注册模块,还用于:

根据服务器身份标识、用户身份标识和长期私钥计算第二哈希值,并将第二哈希值与第一哈希值进行异或运算得到第三哈希值,保存所述用户身份标识和第三哈希值;

在服务器按照临时公钥算法生成第二临时公钥,将所述第二临时公钥与第一哈希值异或运算后生成服务器临时值时,通过将第三哈希值与第二哈希值做异或运算得到第一哈希值。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

相关技术
  • 一种用户登录与认证的方法及装置
  • 一种用户登录认证方法及装置
技术分类

06120112961916