【发明内容】
本发明的多个方面提供一种身份认证方法及设备、服务器,用以提高身份认证的效率和可靠性。
本发明的一方面,提供一种身份认证方法,包括:
认证端获取服务器根据客户端的访问行为发送的令牌;
所述认证端利用私钥对所述令牌进行加密,以获得签名;
所述认证端向所述服务器发送第一身份标识、所述令牌和所述签名,以使得所述服务器根据所述令牌和所述签名,获得第二身份标识,根据所述第一身份标识和所述第二身份标识,进行身份认证;其中,所述第一身份标识为所述认证端根据与所述私钥对应的公钥生成。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述认证端设置在所述客户端中,或者与所述客户端独立设置。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述认证端利用私钥对所述令牌进行签加密,以获得签名,包括:
所述认证端对所述令牌进行哈希运算,以获得所述令牌的哈希值;
所述认证端利用所述私钥对所述令牌的哈希值进行加密,以获得所述签名。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述服务器根据所述令牌和所述签名,获得第二身份标识,根据所述第一身份标识和所述第二身份标识,进行身份认证,包括:
所述服务器对所述令牌进行哈希运算,以获得所述令牌的哈希值;
所述服务器根据所述令牌的哈希值和所述签名,获得所述签名所对应的公钥;
所述服务器根据所述签名所对应的公钥,生成所述第二身份标识;
若所述第二身份标识与所述第一身份标识一致,所述服务器执行通过身份认证的操作。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述认证端利用私钥对所述令牌进行加密,以获得签名之前,还包括:
所述认证端根据待访问的网站,选择一组密钥信息,以作为所述私钥和所述与所述私钥对应的公钥。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述服务器执行通过身份认证的操作,包括:
所述服务器根据所述第一身份标识,获得与所述第一身份标识对应的用户账户;
所述服务器向所述客户端发送所述用户账户相关的业务数据。
本发明的另一方面,提供一种身份认证设备,包括:
获取单元,用于获取服务器根据客户端的访问行为发送的令牌;
签名单元,用于利用私钥对所述令牌进行加密,以获得签名;
发送单元,用于向所述服务器发送第一身份标识、所述令牌和所述签名,以使得所述服务器根据所述令牌和所述签名,获得第二身份标识,根据所述第一身份标识和所述第二身份标识,进行身份认证;其中,所述第一身份标识为根据与所述私钥对应的公钥生成。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述身份认证设备设置在所述客户端中,或者与所述客户端独立设置。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述签名单元,具体用于
对所述令牌进行哈希运算,以获得所述令牌的哈希值;
利用所述私钥对所述令牌的哈希值进行加密,以获得所述签名。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述设备还包括选择单元,用于
根据待访问的网站,选择一组密钥信息,以作为所述私钥和所述与所述私钥对应的公钥。
本发明的另一方面,提供一种服务器,包括:
分配单元,用于根据客户端的访问行为,为所述客户端分配令牌;
发送单元,用于向认证端发送所述令牌,以使得所述认证端利用私钥对所述令牌进行加密,以获得签名;
接收单元,用于接收所述认证端发送的第一身份标识、所述令牌和所述签名;其中,所述第一身份标识为所述认证端根据与所述私钥对应的公钥生成;
认证单元,用于根据所述令牌和所述签名,获得第二身份标识,根据所述第一身份标识和所述第二身份标识,进行身份认证。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述认证单元,具体用于
对所述令牌进行哈希运算,以获得所述令牌的哈希值;
根据所述令牌的哈希值和所述签名,获得所述签名所对应的公钥;
根据所述签名所对应的公钥,生成所述第二身份标识;
若所述第二身份标识与所述第一身份标识一致,执行通过身份认证的操作。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述认证单元,具体用于
根据所述第一身份标识,获得与所述第一身份标识对应的用户账户;
向所述客户端发送所述用户账户相关的业务数据。
由上述技术方案可知,本发明实施例通过所述认证端利用私钥对获取的令牌进行加密,以获得签名,使得所述认证端能够向所述服务器发送根据与所述私钥对应的公钥生成的第一身份标识、所述令牌和所述签名,以使得所述服务器根据所述令牌和所述签名,获得第二身份标识,根据所述第一身份标识和所述第二身份标识,进行身份认证,能够避免现有技术中输入设备输入认证信息的操作不方便,且容易出错的问题,从而提高了身份认证的效率和可靠性。
另外,采用本发明提供的技术方案,认证端与服务器的通信过程中没有传输密码,能够避免由于认证信息泄露而导致的账户安全问题,从而进一步提高了身份认证的安全性。
另外,采用本发明提供的技术方案,服务器无需存储密码,能够避免由于认证信息泄露而导致的账户安全问题,从而进一步提高了身份认证的安全性。
【具体实施方式】
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明实施例中所涉及的终端可以包括但不限于手机、个人数字助理(Personal Digital Assistant,PDA)、无线手持设备、无线上网本、个人电脑、便携电脑、MP3播放器、MP4播放器等。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
图1为本发明一实施例提供的一种身份认证方法的流程示意图,如图1所示。
101、认证端获取服务器根据客户端的访问行为发送的令牌。
令牌(token)可以为一个唯一的字符串,用于标识客户端。一旦身份认证通过之后,客户端在后续与服务器的通信过程中,需要携带这个令牌,用于表明其身份。
102、所述认证端利用私钥对所述令牌进行加密,以获得签名。
103、所述认证端向所述服务器发送第一身份标识、所述令牌和所述签名,以使得所述服务器根据所述令牌和所述签名,获得第二身份标识,根据所述第一身份标识和所述第二身份标识,进行身份认证;其中,所述第一身份标识为所述认证端根据与所述私钥对应的公钥生成。
具体地,所述认证端具体可以向所述服务器发送超文本传输协议(HyperTextTransfer Protocol,HTTP)GET请求或HTTP POST请求,以携带所述第一身份标识、所述令牌和所述签名。可以理解的是,该HTTP GET请求或HTTP POST请求中还可以进一步携带客户端所在终端的位置信息,例如,经度信息和纬度信息等。
可以理解的是,所述客户端可以是安装在终端上的应用程序,或者还可以是浏览器的一个网页,只要能够实现服务器所能够提供的服务,以提供对应服务的客观存在形式都可以,本实施例对此不进行限定。
这样,通过所述认证端利用私钥对获取的令牌进行加密,以获得签名,使得所述认证端能够向所述服务器发送根据与所述私钥对应的公钥生成的第一身份标识、所述令牌和所述签名,以使得所述服务器根据所述令牌和所述签名,获得第二身份标识,根据所述第一身份标识和所述第二身份标识,进行身份认证,能够避免现有技术中输入设备输入认证信息的操作不方便,且容易出错的问题,从而提高了身份认证的效率和可靠性。
另外,采用本发明提供的技术方案,认证端与服务器的通信过程中没有传输密码,能够避免由于认证信息泄露而导致的账户安全问题,从而进一步提高了身份认证的安全性。
另外,采用本发明提供的技术方案,服务器无需存储密码,能够避免由于认证信息泄露而导致的账户安全问题,从而进一步提高了身份认证的安全性。
可选地,在本实施例的一个可能的实现方式中,在102中,所述认证端具体可以对所述令牌进行哈希运算,以获得所述令牌的哈希值。然后,所述认证端则可以利用所述私钥对所述令牌的哈希值进行加密,以获得所述签名。
相应地,在103之后,服务器具体可以对所述令牌进行哈希运算,以获得所述令牌的哈希值。进而,所述服务器则可以根据所述令牌的哈希值和所述签名,获得所述签名所对应的公钥。然后,所述服务器则可以根据所述签名所对应的公钥,生成所述第二身份标识。若所述第二身份标识与所述第一身份标识一致,所述服务器即可执行通过身份认证的操作。
具体地,所述服务器可以在用户第一次执行注册操作时,或者某一次身份认证操作时,记录用户的第一身份标识和用户账户,并将二者进行关联,以维护第一身份标识与用户账户的对应关系。所述服务器可以根据所述第一身份标识,获得与所述第一身份标识对应的用户账户。然后,所述服务器则可以向所述客户端发送所述用户账户相关的业务数据。
可选地,在本实施例的一个可能的实现方式中,在102之前,所述认证端根据待访问的网站,选择一组密钥信息,以作为所述私钥和所述与所述私钥对应的公钥。例如,若待访问的网站为新浪微博,所述认证端则可以选择一组密钥信息A,或者,再例如,若待访问的网站为淘宝网,所述认证端则可以选择一组密钥信息B。
需要说明的是,在此之前,可以预先生成多组密钥信息,以供认证端根据待访问的网站,进行选择,这样,认证端可以统一管理用户的全部账户,无需用户自己分别进行管理,能够进一步提高身份认证的效率。为了进一步提高身份认证的安全性,还可以进一步采用高安全性加密解密算法,对多组密钥信息进行加密,这样,认证端仅需要维护一个密码,即可实现对用户的全部账户的统一管理。
可选地,在本实施例的一个可能的实现方式中,所述认证端,可以设置在本地的客户端中。这样,由于认证端与客户端一体化设置,那么,在客户端运行的过程中,能够自动执行身份认证操作,可以进一步提高身份认证的效率。
例如,客户端例如,浏览器打开目标网站的页面,以访问该目标网站。该目标网站的服务器接收客户端发送的访问请求,检测该访问请求中没有携带令牌,则为客户端分配一个令牌T,并将令牌T和认证数据回发的统一资源定位符(Uniform Resource Locator,URL)发送给客户端。客户端将令牌T记录下来,例如,在浏览器的Cookie中,以供后续与服务器之间进行通信。如图2所示,具体可以执行如下操作:
201、客户端利用非对称加密算法,生成非对称密钥,即公钥A和私钥B。
202、客户端根据公钥A,生成用户的身份标识A1。
例如,客户端对公钥A进行哈希运算,以获得身份标识A1。
203、客户端获取令牌T之后,对令牌T进行哈希运算,以获得令牌的哈希值T1,并利用私钥B对令牌的哈希值T1进行加密,以获得签名S。
204、客户端根据认证数据回发的URL,向服务器发送身份标识A1、令牌T和签名S。
205、服务器对令牌T进行哈希运算,以获得令牌的哈希值T1;根据令牌的哈希值T1和签名S,获得签名S所对应的公钥A;以及根据签名S所对应的公钥A,生成用户的身份标识A2。
206、服务器比较身份标识A2与身份标识A1,若身份标识A2与身份标识A1一致,则将令牌T标记为身份认证通过。
可选地,服务器还可以进一步向客户端发送身份认证通过指示。
207、客户端利用令牌T,与服务器进行通信。
具体地,客户端可以周期性地尝试利用令牌T,与服务器进行通信,一旦服务器将令牌T标记为身份认证通过,就可以成功与服务器进行通信。或者,客户端接收到身份认证通过指示之后,再利用令牌T,与服务器进行通信。
至此,服务器即可执行通过身份认证的操作。例如,服务器可以根据身份标识A1,获得与身份标识A1对应的用户账户,并向客户端发送该用户账户相关的业务数据。
可选地,在本实施例的一个可能的实现方式中,所述认证端,还可以与本地的客户端独立设置。这样,由于认证端与客户端分离设置,那么,身份认证所依赖的私钥和公钥等关键数据就可以脱离客户端,可以进一步提高身份认证的安全性。
例如,客户端例如,浏览器打开目标网站的页面,以访问该目标网站。该目标网站的服务器接收客户端发送的访问请求,检测该访问请求中没有携带令牌,则为客户端分配一个令牌T,并将令牌T和认证数据回发的统一资源定位符(Uniform Resource Locator,URL),以二维码发送给客户端。客户端将令牌T记录下来,例如,在浏览器的Cookie中,以供后续与服务器之间进行通信。客户端将所接收到的二维码在页面中进行展现。如图3所示,具体可以执行如下操作:
301、认证端利用非对称加密算法,生成非对称密钥,即公钥A和私钥B。
302、认证端根据公钥A,生成用户的身份标识A1。
例如,认证端对公钥A进行哈希运算,以获得身份标识A1。
303、认证端根据客户端所展现的二维码,获取令牌T和认证数据回发的URL。
304、认证端对令牌T进行哈希运算,以获得令牌的哈希值T1,并利用私钥B对令牌的哈希值T1进行加密,以获得签名S。
305、认证端根据认证数据回发的URL,向服务器发送身份标识A1、令牌T和签名S。
306、服务器对令牌T进行哈希运算,以获得令牌的哈希值T1;根据令牌的哈希值T1和签名S,获得签名S所对应的公钥A;以及根据签名S所对应的公钥A,生成用户的身份标识A2。
307、服务器比较身份标识A2与身份标识A1,若身份标识A2与身份标识A1一致,则将令牌T标记为身份认证通过。
308、客户端利用令牌T,与服务器进行通信。
具体地,客户端可以周期性地尝试利用令牌T,与服务器进行通信,一旦服务器将令牌T标记为身份认证通过,就可以成功与服务器进行通信。
至此,服务器即可执行通过身份认证的操作。例如,服务器可以根据身份标识A1,获得与身份标识A1对应的用户账户,并向客户端发送该用户账户相关的业务数据。
本实施例中,通过所述认证端利用私钥对获取的令牌进行加密,以获得签名,使得所述认证端能够向所述服务器发送根据与所述私钥对应的公钥生成的第一身份标识、所述令牌和所述签名,以使得所述服务器根据所述令牌和所述签名,获得第二身份标识,根据所述第一身份标识和所述第二身份标识,进行身份认证,能够避免现有技术中输入设备输入认证信息的操作不方便,且容易出错的问题,从而提高了身份认证的效率和可靠性。
另外,采用本发明提供的技术方案,认证端与服务器的通信过程中没有传输密码,能够避免由于认证信息泄露而导致的账户安全问题,从而进一步提高了身份认证的安全性。
另外,采用本发明提供的技术方案,服务器无需存储密码,能够避免由于认证信息泄露而导致的账户安全问题,从而进一步提高了身份认证的安全性。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
图4为本发明另一实施例提供的身份认证设备的结构示意图,如图5所示。本实施例的身份认证设备可以包括获取单元41、签名单元42和发送单元43。其中,获取单元41,用于获取服务器根据客户端的访问行为发送的令牌。令牌(token)可以为一个唯一的字符串,用于标识客户端。一旦身份认证通过之后,客户端在后续与服务器的通信过程中,需要携带这个令牌,用于表明其身份。签名单元42,用于利用私钥对所述令牌进行加密,以获得签名。发送单元43,用于向所述服务器发送第一身份标识、所述令牌和所述签名,以使得所述服务器根据所述令牌和所述签名,获得第二身份标识,根据所述第一身份标识和所述第二身份标识,进行身份认证;其中,所述第一身份标识为根据与所述私钥对应的公钥生成。具体地,所述发送单元43具体可以向所述服务器发送超文本传输协议(HyperText TransferProtocol,HTTP)GET请求或HTTP POST请求,以携带所述第一身份标识、所述令牌和所述签名。可以理解的是,该HTTP GET请求或HTTP POST请求中还可以进一步携带客户端所在终端的位置信息,例如,经度信息和纬度信息等。
可以理解的是,所述客户端可以是安装在终端上的应用程序,或者还可以是浏览器的一个网页,只要能够实现服务器所能够提供的服务,以提供对应服务的客观存在形式都可以,本实施例对此不进行限定。
这样,通过签名单元利用私钥对获取单元所获取的令牌进行加密,以获得签名,使得发送单元能够向所述服务器发送根据与所述私钥对应的公钥生成的第一身份标识、所述令牌和所述签名,以使得所述服务器根据所述令牌和所述签名,获得第二身份标识,根据所述第一身份标识和所述第二身份标识,进行身份认证,能够避免现有技术中输入设备输入认证信息的操作不方便,且容易出错的问题,从而提高了身份认证的效率和可靠性。
另外,采用本发明提供的技术方案,服务器无需存储密码,能够避免由于认证信息泄露而导致的账户安全问题,从而进一步提高了身份认证的安全性。
可选地,在本实施例的一个可能的实现方式中,所述签名单元42,具体可以用于对所述令牌进行哈希运算,以获得所述令牌的哈希值;以及利用所述私钥对所述令牌的哈希值进行加密,以获得所述签名。
相应地,服务器具体可以对所述令牌进行哈希运算,以获得所述令牌的哈希值。进而,所述服务器则可以根据所述令牌的哈希值和所述签名,获得所述签名所对应的公钥。然后,所述服务器则可以根据所述签名所对应的公钥,生成所述第二身份标识。若所述第二身份标识与所述第一身份标识一致,所述服务器即可执行通过身份认证的操作。
具体地,所述服务器可以在用户第一次执行注册操作时,或者某一次身份认证操作时,记录用户的第一身份标识和用户账户,并将二者进行关联,以维护第一身份标识与用户账户的对应关系。所述服务器可以根据所述第一身份标识,获得与所述第一身份标识对应的用户账户。然后,所述服务器则可以向所述客户端发送所述用户账户相关的业务数据。
可选地,在本实施例的一个可能的实现方式中,如图5所示,本实施例提供的身份认证设备还可以进一步包括选择单元51,用于根据待访问的网站,选择一组密钥信息,以作为所述私钥和所述与所述私钥对应的公钥。例如,若待访问的网站为新浪微博,所述选择单元51则可以选择一组密钥信息A,或者,再例如,若待访问的网站为淘宝网,所述选择单元51则可以选择一组密钥信息B。
需要说明的是,本实施例提供的身份认证设备可以预先生成多组密钥信息,以供根据待访问的网站,进行选择,这样,身份认证设备可以统一管理用户的全部账户,无需用户自己分别进行管理,能够进一步提高身份认证的效率。为了进一步提高身份认证的安全性,身份认证设备还可以进一步采用高安全性加密解密算法,对多组密钥信息进行加密,这样,身份认证设备仅需要维护一个密码,即可实现对用户的全部账户的统一管理。
可选地,在本实施例的一个可能的实现方式中,所述身份认证设备,可以设置在本地的客户端中。这样,由于身份认证设备与客户端一体化设置,那么,在客户端运行的过程中,能够自动执行身份认证操作,可以进一步提高身份认证的效率。
可选地,在本实施例的一个可能的实现方式中,所述身份认证设备,还可以与本地的客户端独立设置。这样,由于身份认证设备与客户端分离设置,那么,身份认证所依赖的私钥和公钥等关键数据就可以脱离客户端,可以进一步提高身份认证的安全性。
本实施例中,通过签名单元利用私钥对获取单元所获取的令牌进行加密,以获得签名,使得发送单元能够向所述服务器发送根据与所述私钥对应的公钥生成的第一身份标识、所述令牌和所述签名,以使得所述服务器根据所述令牌和所述签名,获得第二身份标识,根据所述第一身份标识和所述第二身份标识,进行身份认证,能够避免现有技术中输入设备输入认证信息的操作不方便,且容易出错的问题,从而提高了身份认证的效率和可靠性。
另外,采用本发明提供的技术方案,服务器无需存储密码,能够避免由于认证信息泄露而导致的账户安全问题,从而进一步提高了身份认证的安全性。
图6为本发明另一实施例提供的服务器的结构示意图,如图6所示。本实施例的服务器可以包括分配单元61、发送单元62、接收单元63和认证单元64。其中,分配单元61,用于根据客户端的访问行为,为所述客户端分配令牌。令牌(token)可以为一个唯一的字符串,用于标识客户端。一旦身份认证通过之后,客户端在后续与服务器的通信过程中,需要携带这个令牌,用于表明其身份。发送单元62,用于向认证端发送所述令牌,以使得所述认证端利用私钥对所述令牌进行加密,以获得签名。接收单元63,用于接收所述认证端发送的第一身份标识、所述令牌和所述签名;其中,所述第一身份标识为所述认证端根据与所述私钥对应的公钥生成。具体地,所述接收单元63具体可以接收所述认证端向所述服务器发送的超文本传输协议(HyperText Transfer Protocol,HTTP)GET请求或HTTP POST请求,所携带的所述第一身份标识、所述令牌和所述签名。可以理解的是,该HTTP GET请求或HTTP POST请求中还可以进一步携带客户端所在终端的位置信息,例如,经度信息和纬度信息等。认证单元64,用于根据所述令牌和所述签名,获得第二身份标识,根据所述第一身份标识和所述第二身份标识,进行身份认证。
可以理解的是,所述客户端可以是安装在终端上的应用程序,或者还可以是浏览器的一个网页,只要能够实现服务器所能够提供的服务,以提供对应服务的客观存在形式都可以,本实施例对此不进行限定。
这样,通过分配单元根据客户端的访问行为,为所述客户端分配令牌,进而由发送单元向认证端发送所述令牌,以使得所述认证端利用私钥对所述令牌进行加密,以获得签名,以及由接收单元接收所述认证端发送的根据与所述私钥对应的公钥生成的第一身份标识、所述令牌和所述签名,使得认证单元能够根据所述令牌和所述签名,获得第二身份标识,根据所述第一身份标识和所述第二身份标识,进行身份认证,能够避免现有技术中输入设备输入认证信息的操作不方便,且容易出错的问题,从而提高了身份认证的效率和可靠性。
另外,采用本发明提供的技术方案,认证端与服务器的通信过程中没有传输密码,能够避免由于认证信息泄露而导致的账户安全问题,从而进一步提高了身份认证的安全性。
另外,采用本发明提供的技术方案,服务器无需存储密码,能够避免由于认证信息泄露而导致的账户安全问题,从而进一步提高了身份认证的安全性。
可选地,在本实施例的一个可能的实现方式中,所述认证端具体可以对所述令牌进行哈希运算,以获得所述令牌的哈希值。然后,所述认证端则可以利用所述私钥对所述令牌的哈希值进行加密,以获得所述签名。
相应地,所述认证单元64,具体可以用于对所述令牌进行哈希运算,以获得所述令牌的哈希值;根据所述令牌的哈希值和所述签名,获得所述签名所对应的公钥;根据所述签名所对应的公钥,生成所述第二身份标识;若所述第二身份标识与所述第一身份标识一致,执行通过身份认证的操作。
具体地,所述认证单元64可以在用户第一次执行注册操作时,或者某一次身份认证操作时,记录用户的第一身份标识和用户账户,并将二者进行关联,以维护第一身份标识与用户账户的对应关系。所述认证单元64可以根据所述第一身份标识,获得与所述第一身份标识对应的用户账户,然后,则可以向所述客户端发送所述用户账户相关的业务数据。
可选地,在本实施例的一个可能的实现方式中,所述认证端根据待访问的网站,选择一组密钥信息,以作为所述私钥和所述与所述私钥对应的公钥。例如,若待访问的网站为新浪微博,所述认证端则可以选择一组密钥信息A,或者,再例如,若待访问的网站为淘宝网,所述认证端则可以选择一组密钥信息B。
需要说明的是,在此之前,可以预先生成多组密钥信息,以供认证端根据待访问的网站,进行选择,这样,认证端可以统一管理用户的全部账户,无需用户自己分别进行管理,能够进一步提高身份认证的效率。为了进一步提高身份认证的安全性,还可以进一步采用高安全性加密解密算法,对多组密钥信息进行加密,这样,认证端仅需要维护一个密码,即可实现对用户的全部账户的统一管理。
可选地,在本实施例的一个可能的实现方式中,所述认证端,可以设置在本地的客户端中。这样,由于认证端与客户端一体化设置,那么,在客户端运行的过程中,能够自动执行身份认证操作,可以进一步提高身份认证的效率。
可选地,在本实施例的一个可能的实现方式中,所述认证端,还可以与本地的客户端独立设置。这样,由于认证端与客户端分离设置,那么,身份认证所依赖的私钥和公钥等关键数据就可以脱离客户端,可以进一步提高身份认证的安全性。
本实施例中,通过分配单元根据客户端的访问行为,为所述客户端分配令牌,进而由发送单元向认证端发送所述令牌,以使得所述认证端利用私钥对所述令牌进行加密,以获得签名,以及由接收单元接收所述认证端发送的根据与所述私钥对应的公钥生成的第一身份标识、所述令牌和所述签名,使得认证单元能够根据所述令牌和所述签名,获得第二身份标识,根据所述第一身份标识和所述第二身份标识,进行身份认证,能够避免现有技术中输入设备输入认证信息的操作不方便,且容易出错的问题,从而提高了身份认证的效率和可靠性。
另外,采用本发明提供的技术方案,认证端与服务器的通信过程中没有传输密码,能够避免由于认证信息泄露而导致的账户安全问题,从而进一步提高了身份认证的安全性。
另外,采用本发明提供的技术方案,服务器无需存储密码,能够避免由于认证信息泄露而导致的账户安全问题,从而进一步提高了身份认证的安全性。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。