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

身份认证方法、客户端、服务器及存储介质

文献发布时间:2023-06-19 10:57:17


身份认证方法、客户端、服务器及存储介质

技术领域

本发明涉及互联网通讯技术领域,尤其涉及一种身份认证方法、客户端、服务器及存储介质。

背景技术

在目前的工业互联网中,客户端和服务器之间必须保证能进行安全可靠的身份识别,并对通讯内容进行加密,否则就存在非法入侵服务器以及获取并篡改通讯内容的风险。

现有的客户端和服务器一般是通过同户名+口令、数字证书文件(软证书)或数字证书USB Key的方式进行身份认证,通过固定密钥进行通讯加密,但这些方式均存在容易被攻击、安全性较低的问题。

因此,现有技术存在安全性较低的技术问题。

发明内容

本发明的主要目的在于:提供一种身份认证方法、客户端、服务器及存储介质,旨在解决现有技术存在安全性较低的技术问题。

为实现上述目的,本发明采用如下技术方案:

第一方面,本发明提供了一种身份认证方法,应用于客户端,所述方法包括以下步骤:

当接收到用户的登录操作时,向服务器发送随机数获取请求;

接收所述服务器反馈的随机数;

根据所述用户的认证方式,获取第一密钥;

利用所述第一密钥对所述随机数进行加密,获得第一加密随机数;

将所述第一加密随机数发送至所述服务器,以使所述服务器将所述第一加密随机数与第二加密随机数进行比较,获得身份认证结果,其中,所述第二加密随机数是所述服务器基于预存的第二密钥对所述随机数加密获得,所述第二密钥基于所述用户的认证方式获得;

接收所述服务器返回的身份认证结果。

可选地,上述身份认证方法中,所述认证方式包括USB Key认证方式、密钥文件认证方式和程序认证方式中的至少一种。

可选地,上述身份认证方法中,在接收所述服务器返回的身份认证结果的步骤之后,所述方法还包括:

接收所述服务器发送的会话ID和通讯密钥,其中,所述会话ID为防重放的会话ID,所述通讯密钥为本次连接有效的密钥;

利用所述通讯密钥对用户信息进行加密,获得加密用户信息;

将所述会话ID和所述加密用户信息均发送至所述服务器,以使所述服务器对所述机密用户信息进行解密,并判断所述会话ID与存储的会话ID是否一致,以及所述用户信息与存储的用户信息是否一致,获得安全校验结果;

接收所述服务器返回的安全校验结果。

第二方面,本发明提供了一种身份认证方法,应用于服务器,所述方法包括以下步骤:

当接收到客户端发送的随机数获取请求时,生成随机数,并将所述随机数发送给所述客户端;

利用预存的第二密钥对所述随机数进行加密,获得第二加密随机数,其中,所述第二密钥基于所述用户的认证方式获得;

接收所述客户端发送的第一加密随机数,其中,所述第一加密随机数是所述客户端基于第一密钥对所述随机数加密获得,所述第一密钥基于所述用户的认证方式获得;

将所述第一加密随机数与所述第二加密随机数进行比较,以获得身份认证结果;

返回所述身份认证结果至所述客户端。

可选地,上述身份认证方法中,所述将所述第一加密随机数与所述第二加密随机数进行比较,以获得身份认证结果的步骤,具体包括:

判断所述第一加密随机数与所述第二加密随机数是否一致;

若所述第一加密随机数与所述第二加密随机数一致,则判定身份认证成功;

若所述第一加密随机数与所述第二加密随机数不一致,则判定身份认证失败。

可选地,上述身份认证方法中,在返回所述身份认证结果至所述客户端的步骤之后,所述方法还包括:

动态生成会话ID和通讯密钥,并存储,其中,所述会话ID为防重放的会话ID,所述通讯密钥为本次连接有效的密钥;

将所述会话ID和所述通讯密钥发送至所述客户端;

接收所述客户端发送的会话ID和加密用户信息,其中,所述加密用户信息是所述客户端基于所述通讯密钥对用户信息加密获得;

利用存储的通讯密钥对所述加密用户信息进行解密,获得用户信息;

判断接收到的会话ID与存储的会话ID是否一致,以及所述用户信息与存储的用户信息是否一致,以获得安全校验结果;

返回所述安全校验结果至所述客户端。

可选地,上述身份认证方法中,所述判断接收到的会话ID与存储的会话ID是否一致,以及所述用户信息与存储的用户信息是否一致,以获得安全校验结果的步骤,具体包括:

当接收到的会话ID与存储的会话ID一致且所述用户信息与存储的用户信息一致时,判定安全校验成功;

当接收到的会话ID与存储的会话ID不一致或所述用户信息与存储的用户信息不一致时,判定安全校验失败。

第三方面,本发明提供了一种客户端,所述客户端包括:

存储器和处理器;

其中,所述存储器上存储有计算机程序,该计算机程序被所述处理器执行时,实现如上述的方法。

第四方面,本发明提供了一种服务器,所述服务器包括:

存储器和处理器;

其中,所述存储器上存储有计算机程序,该计算机程序被所述处理器执行时,实现如上述的方法。

第五方面,本发明提供了一种存储介质,其上存储有计算机程序,所述计算机程序可被一个或多个处理器执行,以实现如上述的方法。

本发明提供的上述一个或多个技术方案,可以具有如下优点或至少实现了如下技术效果:

本发明提出的一种身份认证方法、客户端、服务器及存储介质,通过服务器生成随机数,在客户端根据认证方式获取密钥,并利用该密钥对服务器传送的随机数进行加密,获得第一加密随机数,同时,服务器利用预存的密钥对随机数进行加密,获得第二加密随机数,再在服务器上比较两个加密随机数,实现了身份认证的目的;本发明给用户提供了灵活可靠的身份认证方式,通过安全私有的方式进行身份认证,保证了身份认证过程安全可靠,本发明具有灵活度高和安全性高的效果。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的这些附图获得其他的附图。

图1为本发明实施例一提供的一种身份认证方法的流程图;

图2为本发明实施例二提供的一种身份认证方法的流程图;

图3为本发明实施例二提供的一种身份认证方法的时序图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明,本发明实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。

在本发明中,除非另有明确的规定和限定,术语“连接”、“固定”等应做广义理解,例如,“固定”可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连;可以是两个元件内部的连通,也可以是两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

另外,若本发明实施例中有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,全文中出现的“和/或”的含义,包括三个并列的方案,以“A和/或B”为例,包括A方案、或B方案、或A和B同时满足的方案。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时,应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。

对现有技术的分析发现,目前的工业互联网中,客户端和服务器的身份认证一般是通过用户ID+口令、数字证书文件(软证书)或数字证书USB Key的方式进行。其中,用户ID+口令的方式,由于其安全性依赖于口令的保密性,而口令一般较短且是静态数据,容易猜测且易被攻击,因此,该方式存在容易通过窥探、字典攻击、穷举尝试、网络数据流窃听、重放攻击等方式窃取信息的问题;数字证书文件(软证书)的方式,由于证书文件的安全性无法保证,且证书文件可以被直接复制,一旦证书文件泄露,其安全性等同于用户ID+口令的方式,也就同样存在容易被攻击和被窃取信息的问题;而数字证书USB Key的方式,需要提供独立的USB Key硬件,会增加少量应用成本,当用户不愿意增加成本时,又无法进行其他方式的拓展。而且一般是采用固定密钥进行对称加密和解密的方式,由于固定密钥很容易被破解,因此,现有的身份认证方法存在容易被攻击、安全性较低的问题。

鉴于现有技术中的身份认证方法存在安全性较低的技术问题,本发明提供了一种身份认证方法,总体思路如下:

应用于客户端时,方法包括:当接收到用户的登录操作时,向服务器发送随机数获取请求;接收所述服务器反馈的随机数;根据所述用户的认证方式,获取第一密钥;利用所述第一密钥对所述随机数进行加密,获得第一加密随机数;将所述第一加密随机数发送至所述服务器,以使所述服务器将所述第一加密随机数与第二加密随机数进行比较,获得身份认证结果,其中,所述第二加密随机数是所述服务器基于预存的第二密钥对所述随机数加密获得,所述第二密钥基于所述用户的认证方式获得;接收所述服务器返回的身份认证结果。

应用于服务器时,方法包括:当接收到客户端发送的随机数获取请求时,生成随机数,并将所述随机数发送给所述客户端;利用预存的第二密钥对所述随机数进行加密,获得第二加密随机数,其中,所述第二密钥基于所述用户的认证方式获得;接收所述客户端发送的第一加密随机数,其中,所述第一加密随机数是所述客户端基于第一密钥对所述随机数加密获得,所述第一密钥基于所述用户的认证方式获得;将所述第一加密随机数与所述第二加密随机数进行比较,以获得身份认证结果;返回所述身份认证结果至所述客户端。

通过上述技术方案,在服务器生成随机数后,在客户端根据认证方式获取密钥,并利用该密钥对服务器传送的随机数进行加密,获得第一加密随机数,同时,服务器利用预存的密钥对随机数进行加密,获得第二加密随机数,再在服务器上比较两个加密随机数,实现了身份认证的目的;本发明给用户提供了灵活可靠的身份认证方式,通过安全私有的方式进行身份认证,保证了身份认证过程安全可靠,本发明具有灵活度高和安全性高的效果。

实施例一

参照图1,本发明第一实施例提供了一种身份认证方法,应用于通讯系统,所述系统包括:客户端和服务器,所述客户端与所述服务器通讯连接。

具体的,通讯连接可以是有线连接,也可以是无线连接。若客户端与服务器有线连接,客户端的通讯接口接入服务器的任一通讯接口即可,进而进行通讯。若客户端与服务器无线连接,可以通过无线通讯模块,例如,Wi-Fi,蓝牙,2G、3G或4G,或它们中的一种或几种的组合,因此该无线通讯模块可以包括:Wi-Fi模块,蓝牙模块。可以理解的是,多种通讯连接方式的设置,可以适用不同的应用场景,用户体验度好、满意度高。

所述客户端包括存储器和处理器,其中,所述存储器上存储有计算机程序,该计算机程序被所述处理器执行时,实现如下具体步骤:

步骤A1:当接收到用户的登录操作时,向服务器发送随机数获取请求;

步骤A2:接收所述服务器反馈的随机数;

步骤A3:根据所述用户的认证方式,获取第一密钥;

步骤A4:利用所述第一密钥对所述随机数进行加密,获得第一加密随机数;

步骤A5:将所述第一加密随机数发送至所述服务器,以使所述服务器将所述第一加密随机数与第二加密随机数进行比较,获得身份认证结果,其中,所述第二加密随机数是所述服务器基于预存的第二密钥对所述随机数加密获得,所述第二密钥基于所述用户的认证方式获得;

步骤A6:接收所述服务器返回的身份认证结果。

具体的,所述认证方式包括USB Key认证方式、密钥文件认证方式和程序认证方式中的至少一种。

在具体实施方式中,根据USB Key认证方式、密钥文件认证方式或程序认证方式,从对应的USB Key、密钥文件或程序中获取第一密钥。

所述服务器包括存储器和处理器,其中,所述存储器上存储有计算机程序,该计算机程序被所述处理器执行时,实现如下具体步骤:

步骤B1:当接收到客户端发送的随机数获取请求时,生成随机数,并将所述随机数发送给所述客户端;

步骤B2:利用预存的第二密钥对所述随机数进行加密,获得第二加密随机数,其中,所述第二密钥基于所述用户的认证方式获得;

步骤B3:接收所述客户端发送的第一加密随机数,其中,所述第一加密随机数是所述客户端基于第一密钥对所述随机数加密获得,所述第一密钥基于所述用户的认证方式获得;

步骤B4:将所述第一加密随机数与所述第二加密随机数进行比较,以获得身份认证结果;

步骤B5:返回所述身份认证结果至所述客户端。

具体的,所述步骤B4可以包括:

若所述第一加密随机数与所述第二加密随机数一致,则判定身份认证成功;

若所述第一加密随机数与所述第二加密随机数不一致,则判定身份认证失败。

下面结合图1的流程图,对本实施例提供的身份认证方法进行详细描述,所述方法具体包括以下步骤:

步骤S101:当客户端接收到用户的登录操作时,向服务器发送随机数获取请求;

具体的,用户在客户端管理界面输入用户ID、服务器IP和用户信息后,点击登录操作,客户端接收到该登录操作时,向服务器发送获取随机数的请求,其中,所述用户信息包括用户名、用户密码等信息。

步骤S102:当服务器接收到客户端发送的随机数获取请求时,生成随机数,并将所述随机数发送给所述客户端;

具体的,所述随机数可以是UUID(Universally Unique Identifier,通用唯一识别码),当服务器获取到客户端发送的随机数获取请求时,生成UUID,再将该UUID反馈给客户端。

步骤S103:所述客户端接收所述服务器反馈的随机数;

步骤S104:所述客户端根据所述用户的认证方式,获取第一密钥;

具体的,可以根据用户实际需求进行相应的选择,当用户可以接受USB Key硬件带来的成本开销时,所述客户端根据USB Key认证方式,从对应的USB Key中获取第一密钥,此时,本实施例属于USB Key+用户名+用户密码的认证方式;当用户不能接受多余的成本开销时,所述客户端根据密钥文件认证方式,从对应的密钥文件中获取第一密钥,此时,本实施例属于密钥文件+用户名+用户密码的认证方式;当用户不能接受多余的成本开销时,所述客户端还可以根据程序认证方式,从所述客户端上对应程序的程序文件中获取第一密钥,其中,该第一密钥可以跟随程序的版本升级等变化而变化,此时,本实施例属于程序版本动态密钥+用户名+用户密码的认证方式。

本实施例根据不同的认证方式获取对应的密钥,可灵活扩展身份认证方式,多种密钥获取方式对应适应多种身份验证方式,满足用户的不同需求,适应性更好。

步骤S105:所述客户端利用所述第一密钥对所述随机数进行加密,获得第一加密随机数;

步骤S106:所述客户端将所述第一加密随机数发送至所述服务器,以使所述服务器将所述第一加密随机数与第二加密随机数进行比较,获得身份认证结果,其中,所述第二加密随机数是所述服务器基于预存的第二密钥对所述随机数加密获得,所述第二密钥基于所述用户的认证方式获得;

步骤S107:所述服务器利用预存的第二密钥对所述随机数进行加密,获得第二加密随机数,其中,所述第二密钥基于所述用户的认证方式获得;

具体的,实际使用中,所述第一密钥与第二密钥相同;当步骤S102中服务器生成随机数后,会将随机数UUID备份一份存储在服务器中,以备该步骤S107使用;对应的,基于对称加密的方法,服务器中会根据认证方式预先存储与步骤S104得到的第一密钥相同的第二密钥,所述服务器利用该第二密钥对存储在服务器中的随机数进行加密,获得第二加密随机数。

步骤S108:所述服务器接收所述客户端发送的第一加密随机数,其中,所述第一加密随机数是所述客户端基于第一密钥对所述随机数加密获得,所述第一密钥基于所述用户的认证方式获得;

步骤S109:所述服务器将所述第一加密随机数与所述第二加密随机数进行比较,以获得身份认证结果;

具体的,判断所述第一加密随机数与所述第二加密随机数是否一致;

若所述第一加密随机数与所述第二加密随机数一致,则判定身份认证成功;

若所述第一加密随机数与所述第二加密随机数不一致,则判定身份认证失败。

步骤S110:所述服务器返回所述身份认证结果至所述客户端;

步骤S111:所述客户端接收所述服务器返回的身份认证结果。

具体的,若客户端接收到服务器的身份认证结果为认证成功,表示用户ID正确,服务器IP正确,用户可继续进行用户名登录等操作;若客户端接收到服务器的身份认证结果为认证失败,表示用户ID错误或服务器IP错误,客户端与该服务器无法进行后续操作,用户可以重新输入用户ID或服务器IP。但无论客户端接收到服务器返回的是身份认证成功或是身份认证失败的结果,均显示给用户,以提示用户及时采取措施。

本实施例提供的一种身份认证方法,通过服务器生成随机数,在客户端根据认证方式获取密钥,并利用该密钥对服务器传送的随机数进行加密,获得第一加密随机数,同时,服务器利用预存的密钥对随机数进行加密,获得第二加密随机数,再在服务器上比较两个加密随机数,实现了身份认证的目的;本发明给用户提供了灵活可靠的身份认证方式,可应用多种密钥的认证方式,通过安全私有的方式进行身份认证,保证了身份认证过程安全可靠,本发明具有灵活度高和安全性高的效果。

实施例二

参照图2,本发明第二实施例提供了一种身份认证方法,基于上述本发明的第一实施例,本实施例也应用于通讯系统。

在实施例一的基础上,本实施例中,所述客户端的存储器上的计算机程序被所述处理器执行时,还实现如下步骤:

步骤A7:接收所述服务器发送的会话ID和通讯密钥,其中,所述会话ID为防重放的会话ID,所述通讯密钥为本次连接有效的密钥;

步骤A8:利用所述通讯密钥对用户信息进行加密,获得加密用户信息;

步骤A9:将所述会话ID和所述加密用户信息均发送至所述服务器,以使所述服务器对所述机密用户信息进行解密,并判断所述会话ID与存储的会话ID是否一致,以及所述用户信息与存储的用户信息是否一致,获得安全校验结果;

步骤A10:接收所述服务器返回的安全校验结果。

在实施例一的基础上,本实施例中,所述服务器的存储器上的计算机程序被所述处理器执行时,还实现如下步骤:

步骤B6:动态生成会话ID和通讯密钥,并存储,其中,所述会话ID为防重放的会话ID,所述通讯密钥为本次连接有效的密钥;

步骤B7:将所述会话ID和所述通讯密钥发送至所述客户端;

步骤B8:接收所述客户端发送的会话ID和加密用户信息,其中,所述加密用户信息是所述客户端基于所述通讯密钥对用户信息加密获得;

步骤B9:利用存储的通讯密钥对所述加密用户信息进行解密,获得用户信息;

步骤B10:判断接收到的会话ID与存储的会话ID是否一致,以及所述用户信息与存储的用户信息是否一致,以获得安全校验结果;

步骤B11:返回所述安全校验结果至所述客户端。

具体的,所述步骤B10可以包括:

当接收到的会话ID与存储的会话ID一致且所述用户信息与存储的用户信息一致时,判定安全校验成功;

当接收到的会话ID与存储的会话ID不一致或所述用户信息与存储的用户信息不一致时,判定安全校验失败。

下面结合图2的流程图和图3的时序图,对本实施例提供的身份认证方法进行详细描述,所述方法具体包括以下步骤:

步骤S201:当客户端接收到用户的登录操作时,向服务器发送随机数获取请求;

步骤S202:当服务器接收到客户端发送的随机数获取请求时,生成随机数,并将所述随机数发送给所述客户端;

步骤S203:所述客户端接收所述服务器反馈的随机数;

步骤S204:所述客户端根据所述用户的认证方式,获取第一密钥;

步骤S205:所述客户端利用所述第一密钥对所述随机数进行加密,获得第一加密随机数;

步骤S206:所述客户端将所述第一加密随机数发送至所述服务器,以使所述服务器将所述第一加密随机数与第二加密随机数进行比较,获得身份认证结果,其中,所述第二加密随机数是所述服务器基于预存的第二密钥对所述随机数加密获得,所述第二密钥基于所述用户的认证方式获得;

步骤S207:所述服务器利用预存的第二密钥对所述随机数进行加密,获得第二加密随机数,其中,所述第二密钥基于所述用户的认证方式获得;

步骤S208:所述服务器接收所述客户端发送的第一加密随机数,其中,所述第一加密随机数是所述客户端基于第一密钥对所述随机数加密获得,所述第一密钥基于所述用户的认证方式获得;

步骤S209:所述服务器将所述第一加密随机数与所述第二加密随机数进行比较,以获得身份认证结果;

步骤S210:所述服务器返回所述身份认证结果至所述客户端;

步骤S211:所述客户端接收所述服务器返回的身份认证结果。

在基于步骤201~211的实施方式中更多实施细节可以参考实施例一中基于步骤101~111的实施方式中的描述,为了说明书的简洁,此处不再赘述。

步骤S212:当所述身份认证结果为认证成功时,所述服务器动态生成会话ID和通讯密钥,并存储,其中,所述会话ID为防重放的会话ID,所述通讯密钥为本次连接有效的密钥;

具体的,当所述身份认证结果为认证成功时,所述服务器根据当前时间戳动态生成会话ID和通讯密钥。

需要说明的是,该通讯密钥仅用于本次连接的客户端与服务器之间进行通讯时加密和解密使用,后续若断开之后再连接或重新进行登录用户ID的操作时,该通讯密钥将失效,需再动态生成一个新的通讯密钥。但在本次连接未断开之前,在进行身份认证和登录验证之后,若用户还需要在客户端和服务器之间进行其他会话的加密通讯,该通讯密钥将继续有效。

具体的,重放是指重放攻击(Replay Attacks),又称重播攻击、回放攻击,是指攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,会破坏认证的正确性。本实施例采用防重放的会话ID,结合通讯密钥对传输报文进行加密通讯。

步骤S213:所述服务器将所述会话ID和所述通讯密钥发送至所述客户端;

具体的,从服务器发送所述会话ID和所述通讯密钥到客户端的过程,可以是加密传输过程,防止通讯密钥被盗。

步骤S214:所述客户端接收所述服务器发送的会话ID和通讯密钥,其中,所述会话ID为防重放的会话ID,所述通讯密钥为本次连接有效的密钥;

步骤S215:所述客户端利用所述通讯密钥对用户信息进行加密,获得加密用户信息;

具体的,对用户名和用户密码进行加密后,获得加密用户信息。

步骤S216:所述客户端将所述会话ID和所述加密用户信息均发送至所述服务器,以使所述服务器对所述机密用户信息进行解密,并判断所述会话ID与存储的会话ID是否一致,以及所述用户信息与存储的用户信息是否一致,获得安全校验结果;

步骤S217:所述服务器接收所述客户端发送的会话ID和加密用户信息,其中,所述加密用户信息是所述客户端基于所述通讯密钥对用户信息加密获得;

步骤S218:所述服务器利用已存储的通讯密钥对所述加密用户信息进行解密,获得用户信息;

步骤S219:所述服务器判断接收到的会话ID与已存储的会话ID是否一致,以及所述用户信息与已存储的用户信息是否一致,以获得安全校验结果;

具体的,当接收到的会话ID与存储的会话ID一致且所述用户信息与存储的用户信息一致时,判定安全校验成功;

当接收到的会话ID与存储的会话ID不一致或所述用户信息与存储的用户信息不一致时,判定安全校验失败。

具体的,验证会话ID是否是服务器之前生成的防重放会话ID,可以防止会话ID被篡改或被替代,增加通讯安全性。

具体的,存储的用户信息可以是服务器数据库中存储的用户名和对应的用户密码。

步骤S220:所述服务器返回所述安全校验结果至所述客户端;

步骤S221:所述客户端接收所述服务器返回的安全校验结果。

具体的,当客户端接收到服务器的安全校验结果为校验成功时,表示登录用户ID的操作成功且通讯过程安全,客户端可以与服务器继续保持通讯,方便用户继续在客户端的管理界面进行其他操作,比如,调取信息,查询信息,修改服务器存储信息等,其中,这些操作涉及的通讯过程可以参照步骤S216至S221,即可以继续使用本实施例的通讯密钥进行加密和解密,保证后续通讯过程的安全。当客户端接收到服务器的安全校验结果为失败时,表示登录用户ID的操作失败或通讯过程存在威胁,客户端显示安全校验结果,及时提醒用户注意并采取应急措施,比如中断客户端与服务器的连接,或修改用户名和用户密码重新建立连接进行用户ID登录。

本实施例提供的一种身份认证方法,通过在身份认证成功后,服务器动态生成会话ID和通讯密钥,且会话ID为防重放的会话ID,通讯密钥为本次连接有效的密钥;客户端通过服务器传送的通讯密钥对用户信息进行加密,再传输加密用户信息给服务器,服务器对应解密后进行安全校验,且通过双重校验会话ID和用户信息,保证了通讯过程的安全性和隐私性。

实施例三

基于同一发明构思,本实施例提供了一种客户端,所述客户端可以是手机、电脑或平板电脑等终端设备,所述客户端包括存储器和处理器;

其中,所述存储器上存储有计算机程序,该计算机程序被所述处理器执行时,实现如实施例一或实施例二中所述的身份认证方法。

可以理解,终端设备还可以包括,多媒体组件,输入/输出(I/O)接口,以及通信组件。

其中,处理器用于执行如上述实施例一或实施例二中所述的身份认证方法中的全部或部分步骤。存储器用于存储各种类型的数据,这些数据例如可以包括终端设备中的任何应用程序或方法的指令,以及应用程序或方法相关的数据。

所述处理器可以是专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(Digital Signal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable LogicDevice,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行如上述实施例一或实施例二中所述的身份认证方法中的全部或部分步骤。

所述存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。

所述多媒体组件可以包括屏幕和音频组件,所述屏幕可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或通过通信组件发送。音频组件还包括至少一个扬声器,用于输出音频信号。

所述I/O接口为处理器和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。

所述通信组件用于该终端设备与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near Field Communication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件可以包括:Wi-Fi模块,蓝牙模块,NFC模块。

实施例四

基于同一发明构思,本实施例提供了一种服务器,所述服务器包括存储器和处理器;

其中,所述存储器上存储有计算机程序,该计算机程序被所述处理器执行时,实现如实施例一或实施例二中所述的身份认证方法。

其中,处理器用于执行如上述实施例一或实施例二中所述的身份认证方法中的全部或部分步骤。存储器用于存储各种类型的数据,这些数据例如可以包括终端设备中的任何应用程序或方法的指令,以及应用程序或方法相关的数据。

所述处理器可以是专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(Digital Signal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable LogicDevice,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行如上述实施例一或实施例二中所述的身份认证方法中的全部或部分步骤。

所述存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。

实施例五

基于同一发明构思,本实施例提供了一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,所述计算机程序被处理器执行时可以实现如下方法步骤:

步骤S301:当客户端接收到用户的登录操作时,向服务器发送随机数获取请求;

步骤S302:当服务器接收到客户端发送的随机数获取请求时,生成随机数,并将所述随机数发送给所述客户端;

步骤S303:所述客户端接收所述服务器反馈的随机数;

步骤S304:所述客户端根据所述用户的认证方式,获取第一密钥;

步骤S305:所述客户端利用所述第一密钥对所述随机数进行加密,获得第一加密随机数;

步骤S306:所述客户端将所述第一加密随机数发送至所述服务器,以使所述服务器将所述第一加密随机数与第二加密随机数进行比较,获得身份认证结果,其中,所述第二加密随机数是所述服务器基于预存的第二密钥对所述随机数加密获得,所述第二密钥基于所述用户的认证方式获得;

步骤S307:所述服务器利用预存的第二密钥对所述随机数进行加密,获得第二加密随机数,其中,所述第二密钥基于所述用户的认证方式获得;

步骤S308:所述服务器接收所述客户端发送的第一加密随机数,其中,所述第一加密随机数是所述客户端基于第一密钥对所述随机数加密获得,所述第一密钥基于所述用户的认证方式获得;

步骤S309:所述服务器将所述第一加密随机数与所述第二加密随机数进行比较,以获得身份认证结果;

步骤S310:所述服务器返回所述身份认证结果至所述客户端;

步骤S311:所述客户端接收所述服务器返回的身份认证结果。

上述方法步骤的具体实施例过程可参见实施例一,本实施例在此不再重复赘述。

以上所述仅为本发明的可选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均包括在本发明的专利保护范围内。

相关技术
  • 身份认证方法、客户端、服务器及存储介质
  • 一种用户身份认证方法、云解码服务器、客户端和系统
技术分类

06120112740329