发明内容
为此,本发明提供一种离线认证方法、服务器及系统,以力图解决或者至少缓解上面存在的至少一个问题。
根据本发明的一个方面,提供了一种离线认证方法,适于在第一服务器中执行,该方法包括:接收来自第三方应用的离线认证请求,该离线认证请求包括用户标识以及由客户端生成的第一认证信息,其中第三方应用存储有用户标识与第三方账户的对应关系;将离线认证请求发送至第二服务器,以便第二服务器根据用户标识获取第二认证信息,比对第一认证信息与第二认证信息后返回认证结果,其中第二认证信息由第二服务器生成;接收认证结果后发送至第三方应用,以便第三方应用根据认证结果对第三方账户进行登录或授权。
可选地,在根据本发明的离线认证方法中,第一认证信息由客户端每隔预定时间按照预定规则生成;第二认证信息由第二服务器每隔该预定时间按照该预定规则生成。
可选地,在根据本发明的离线认证方法中,离线认证请求还包括应用标识和第一签名,第一签名根据应用标识、用户标识以及第一认证信息生成。
可选地,在根据本发明的离线认证方法中,将离线认证请求发送至第二服务器,以便第二服务器根据用户标识获取第二认证信息,比对第一认证信息与第二认证信息后返回认证结果的步骤包括:将离线认证请求发送至第二服务器,以便第二服务器验证第一签名,生成第一验证消息,若验证通过,第二服务器根据用户标识获取第二认证信息,比对第一认证信息与第二认证信息后返回认证结果以及第一验证消息,其中第一认证信息与第二认证信息比对一致,则认证结果为成功,否则认证结果为失败;接收第一验证消息。
可选地,在根据本发明的离线认证方法中,认证结果还包括认证状态和第二签名,第二签名根据认证状态生成,认证状态包括状态码和状态描述。
根据本发明的另一方面,提供了一种第一服务器,适于通过与第二服务器和客户端交互来对第三方应用上第三方账户的登录或授权操作进行认证,第一服务器包括:接收单元,适于接收来自第三方应用的离线认证请求,离线认证请求包括用户标识以及客户端生成的第一认证信息,其中第三方应用中存储有用户标识与第三方账户的对应关系;转发单元,适于将离线认证请求发送至第二服务器,以便第二服务器根据用户标识获取第二认证信息,比对第一认证信息与第二认证信息后返回认证结果,其中第二认证信息由第二服务器生成;以及响应单元,适于响应于离线认证请求,将认证结果发送至第三方应用,以便第三方应用根据认证结果对所述第三方账户进行登录或授权。
可选地,在根据本发明的第一服务器中,第一认证信息由客户端每隔预定时间按照预定规则生成;所述第二认证信息由第二服务器每隔该预定时间按照该预定规则生成。
可选地,在根据本发明的第一服务器中,离线认证请求还包括应用标识和第一签名,第一签名根据应用标识、用户标识以及第一认证信息生成。
可选地,在根据本发明的第一服务器中,转发单元还适于将离线认证请求发送至第二服务器,以便第二服务器验证第一签名,生成第一验证消息,若验证通过,第二服务器根据用户标识获取第二认证信息,比对第一认证信息与第二认证信息后返回认证结果以及第一验证消息,其中第一认证信息与第二认证信息比对一致,则认证结果为成功,否则认证结果为失败;接收单元还适于接收第一验证消息。
可选地,在根据本发明的第一服务器中,认证结果还包括认证状态和第二签名,第二签名根据认证状态生成,认证状态包括状态码和状态描述。
根据本发明的另一个方面,提供了一种离线认证方法,适于在第二服务器中执行,该方法包括:接收来自第一服务器的离线认证请求,离线认证请求包括用户标识以及由客户端生成的第一认证信息,其中第三方应用存储有用户标识与第三方账户的对应关系;根据用户标识获取第二认证信息,比对第一认证信息与第二认证信息,生成认证结果,其中第二认证信息由第二服务器生成;响应于离线认证请求,将认证结果返回至第一服务器,以便第一服务器将认证结果返回至第三方应用供其根据认证结果对第三方账户进行登录或授权。
可选地,在根据本发明的离线认证方法中,第一认证信息由客户端每隔预定时间按照预定规则生成;第二认证信息由第二服务器每隔该预定时间按照该预定规则生成。
可选地,在根据本发明的离线认证方法中,离线认证请求还包括应用标识和第一签名,第一签名根据应用标识、用户标识以及第一认证信息生成。
可选地,在根据本发明的离线认证方法中,根据用户标识获取第二认证信息,比对第一认证信息与第二认证信息的步骤包括:验证第一签名,生成第一验证消息;若验证通过,根据用户标识获取第二认证信息,比对第一认证信息与第二认证信息,其中第一认证信息与第二认证信息比对一致,则认证结果为成功,否则认证结果为失败。
可选地,在根据本发明的离线认证方法中,响应于离线认证请求,将认证结果返回至第一服务器的步骤还包括:将第一验证消息返回至第一服务器。
可选地,在根据本发明的离线认证方法中,认证结果包括认证状态和第二签名,第二签名根据认证状态生成,认证状态包括状态码和状态描述。
可选地,在根据本发明的离线认证方法中,响应于离线认证请求,将认证结果返回至第一服务器的步骤还包括:将第二签名返回至第一服务器,以便第一服务器转发至第三方应用供其验证第二签名。
根据本发明的另一个方面,提供了一种第二服务器,适于通过与第一服务器和客户端交互来对第三方应用上第三方账户的登录或授权操作进行认证,所述第二服务器包括:第二接收单元,适于接收来自第一服务器的离线认证请求,离线认证请求包括用户标识以及由客户端生成的第一认证信息,其中第三方应用存储有用户标识与第三方账户的对应关系;认证单元,适于根据用户标识获取第二认证信息,比对第一认证信息与第二认证信息,生成认证结果,其中第二认证信息由第二服务器生成;第二响应单元,适于响应于离线认证请求,将认证结果返回至第一服务器,以便第一服务器将认证结果返回至第三方应用供其根据认证结果对第三方账户进行登录或授权。
可选地,在根据本发明的第二服务器中,第一认证信息由客户端每隔预定时间按照预定规则生成;第二认证信息由第二服务器每隔预定时间按照预定规则生成。
可选地,在根据本发明的第二服务器中,离线认证请求还包括应用标识和第一签名,第一签名根据应用标识、用户标识以及第一认证信息生成。
可选地,在根据本发明的第二服务器中,认证单元还适于验证第一签名,生成第一验证消息,若验证通过,根据用户标识获取第二认证信息,比对第一认证信息与第二认证信息,其中第一认证信息与第二认证信息比对一致,则认证结果为成功,否则认证结果为失败。
可选地,在根据本发明的第二服务器中,第二响应单元还适于将第一验证消息返回至第一服务器。
可选地,在根据本发明的第二服务器中,认证结果包括认证状态和第二签名,第二签名根据认证状态生成,认证状态包括状态码和状态描述。
可选地,在根据本发明的第二服务器中,第二响应单元还适于将第二签名返回至第一服务器,以便第一服务器转发至第三方应用供其验证第二签名。
根据本发明的还有一个方面,提供了一种离线认证系统,适于对第三方应用上第三方账户的登录或授权操作进行认证,该系统包括:根据本发明的第一服务器;根据本发明的第二服务器;以及客户端,客户端驻留在移动终端中,适于生成第一认证信息。
可选地,在根据本发明的离线认证系统中,第一服务器还适于接收来自第三方应用的、请求获取二维码的绑定请求,将绑定请求转发至第二服务器,所述第二服务器还适于接收绑定请求。
可选地,在根据本发明的离线认证系统中,绑定请求包括应用标识,第二服务器还适于根据应用标识生成二维码字符串,将二维码字符串返回至第一服务器,第一服务器还适于接收二维码字符串。
可选地,在根据本发明的离线认证系统中,第一服务器还适于创建与绑定请求关联的事件标识,将二维码字符串与事件标识进行关联,将事件标识与根据二维码字符串生成的二维码地址返回至第三方应用,以便第三方应用显示二维码,并生成包括事件标识的结果查询请求发送至第一服务器。
可选地,在根据本发明的离线认证系统中,客户端还适于扫描第三方应用显示的二维码,获取二维码字符串,将客户端账户与二维码字符串发送至第一服务器,第一服务器还适于接收客户端账户与二维码字符串后转发至第二服务器,第二服务器还适于验证客户端账户与二维码字符串。
可选地,在根据本发明的离线认证系统中,若第二服务器验证客户端账户与二维码字符串通过,则根据客户端账户、二维码字符串中应用标识生成用户标识,将用户标识发送至第一服务器,第一服务器适于根据二维码字符串查询其关联的事件标识,将事件标识与用户标识进行关联,还适于响应结果查询请求,将第二请求中事件标识关联的用户标识发送至第三方应用,以供所述第三方应用建立并存储用户标识与第三方应用当前登录的第三方账户的对应关系。
根据本发明的离线认证方案,通过利用客户端生成认证信息对用户账户登录或交易、付款等敏感操作进行离线认证的方式,为用户提供了多样的认证方式,满足了用户在客户端与第一服务器之间无法通讯场合的认证需要,加强了账户安全。同时,第一、第二服务器与第三方之间通过用户标识进行通信,故而服务器不会获取用户在第三方应用中的账户信息,进一步保障了用户的账号安全。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个示例性实施例的离线认证系统100的结构框图。如图1所示,离线认证系统100可以包括第一服务器110、第二服务器120以及客户端130,其中第一服务器通过网络与第二服务器120连接。
离线认证系统100通过网络与第三方应用相连,第三方应用可以是驻留在移动终端的各种应用,也可以是第三方网站。通常,第三方应用存储有第三方账户,用户可通过第三方账户登录第三方应用并对第三方账户进行操作。
根据本发明的一个实施方式,离线认证系统100存储有唯一标识用户身份的用户标识,用户标识由第二服务器120根据客户端账户和第三方应用生成。其中用户可通过其客户端账户登录客户端130,并通过客户端130扫描第三方应用显示的二维码等方式关联用户标识与第三方账户。二者关联后,第三方应用则存储用户标识与第三方账户的对应关系。
因此,用户通过离线认证系统100对第三方应用上第三方账户的登录或其他敏感操作进行授权认证,加强了用户的安全保障。下面将详细介绍该离线认证系统100的工作流程。
图2示出了根据本发明一个示例性实施例的第一服务器110的结构框图,第一服务器110可以包括接收单元111、转发单元112以及响应单元113。
以登录操作为例,用户在第三方应用输入其第三方账户的账户名和密码,如图4A所示,选择离线认证,并输入由客户端130生成的第一认证信息,如图4B所示。第三方应用生成离线认证请求发送至第一服务器110,请求登录。
第一服务器110中接收单元111接收来自第三方应用的离线认证请求,该请求通常为http请求,可由第三方应用调用其预先嵌入的API接口生成,API由离线认证系统100厂商提供维护。离线认证请求包括用户标识以及第一认证信息,其中用户标识与第三方账户关联,第三方应用存储有二者对应关系,可根据第三方账户获取其对应的用户标识。第一认证信息由客户端130生成,客户端130驻留在移动终端中。
根据本发明的另一个实施方式,第一认证信息由客户端130每隔预定时间按照预定规则生成,例如可每隔30秒根据密钥K按照HOTP算法(AnHMAC-BasedOne-TimePasswordAlgorithm)生成6-8位数字的认证码,如图4C所示。其中HOTP算法是本领域技术人员公知技术,因此本发明对此不进行说明。
第一认证信息与客户端130中客户端账户唯一关联,客户端账户与用户标识唯一关联,则第一认证信息与用户标识唯一关联。
根据本发明的另一个实施方式,离线认证请求还包括应用标识和第一签名,第一签名根据应用标识、用户标识以及第一认证信息生成。其中应用标识由第二服务器120预先创建,可唯一地标识第三方应用身份。一个合法的应用标识例如:“Fqlw4Z2KCqHzvw8YN0eUpM9KgTQ47iWf”。
第一签名可根据第三方应用的应用密钥生成,其中同样地,应用密钥由第二服务器120预先创建,与第三方应用唯一关联。一个合法的应用密钥例如:“qms7LwYXgw5FbnVdwYyA”。
具体地,可通过验证第一签名来确保离线认证请求中数据未被篡改,保证数据交互的安全性。一般来说,每一次第三方应用向第一服务器110发送请求,均需要向第一服务器110传递一个签名,第一服务器110将请求转发至第二服务器120验证,第二服务器120会根据该请求中的参数值计算签名,而后将其与请求中的签名比对,比对一致则数据安全,验证通过。其中请求传递的签名与第二服务器120生成的签名计算原理相同,具体如下:
将请求中除签名之外的其他参数按参数名字典排序后,按以下格式拼接成字符串:$参数名1=$参数值1$参数名2=$参数值2...$参数名n=$参数值n$app_key,并将拼好的字符串使用MD5加密,最后得到的字符串即为该请求的签名。
接收单元111接收该离线认证请求后,与接收单元111相连的转发单元112将离线认证请求发送至第二服务器120。
图3示出了根据本发明一个示例性实施例的第二服务器120的结构框图,第二服务器120可以包括第二接收单元121、认证单元122以及第二响应单元123,还可以包括存储单元124。
第二服务器120中第二接收单元121接收来自第一服务器110的离线认证请求,该离线认证请求包括应用标识、用户标识、第一认证信息以及第一签名。根据本发明的一个实施方式,与第二接收单元121相连的认证单元122适于验证第一签名,生成第一验证消息。具体地,第二服务器120中存储单元124存储有第三方应用的应用标识和应用密钥,认证单元122根据离线认证请求中携带的应用标识获取该应用标识对应的应用密钥,根据该应用密钥(app_key)、应用标识(app_id)、用户标识(uid)以及第一认证信息(dynamic_code)生成第一验证签名,按照上述签名生成原理,第一验证签名格式为md5('app_id='.$app_id.dynamic_code='.$dynamic_code.$uid='.$uid.$app_key)。认证单元122将该第一验证签名与第一签名进行比对,若比对一致则验证通过,否则验证失败。与认证单元122相连的第二响应单元123将第一验证消息返回至第一服务器110。
若第一签名验证通过,认证单元122根据用户标识获取第二认证信息,比对第一认证信息与第二认证信息,生成认证结果,其中第二认证请求由第二服务器120生成。具体地,认证单元122还可以包括认证信息生成单元125,认证信息生成单元125每隔预定时间按照预定规则生成第二认证信息,预定时间与预定规则均与客户端130生成第一认证信息相同,此处不再赘述。这里第二认证信息与客户端130同步,同一时间同一客户端帐号下的第二认证信息与第二认证信息相同,即第二认证信息也与客户端130中客户端账户唯一关联,与用户标识唯一关联。因此认证单元122可根据用户标识获取该用户标识对应的第二认证信息,比对第二认证信息与第一认证信息是否一致,若第一认证信息与第二认证信息比对一致,则认证结果为成功,否则认证结果为失败。第二响应单元123响应于离线认证请求,将认证结果返回至第一服务器110,以便第一服务器110将认证结果返回至第三方应用供其根据认证结果对第三方账户进行登录或授权。
根据本发明的另一个实施方式,认证结果可以包括认证状态和第二签名,第二签名根据认证状态生成,认证状态包括状态码和状态描述。其中状态码为一个表示请求结果的数字,状态码描述为对应状态码含义的文字描述,表1列出了响应离线认证请求返回的几种状态码与相应的状态码描述:
状态码 |
状态码描述 |
200 |
请求成功 |
400 |
请求参数格式错误 |
401 |
app状态错误 |
402 |
app_id错误 |
403 |
请求签名错误 |
404 |
请求API不存在 |
405 |
请求方法错误 |
406 |
不在应用白名单里 |
500 |
洋葱系统服务错误 |
600 |
动态码验证错误 |
604 |
用户不存在 |
表1
第二签名的生成原理同第一签名,认证单元122根据用户标识获取对应的应用密钥,根据该应用密钥、状态码和状态描述生成第二签名格式为md5('description='.$description.'status='.$status.$app_key)。
第二响应单元123适于将包括第二签名的认证结果返回至第一服务器110,以便第一服务器110转发至第三方应用供其验证第二签名,以保证返回内容的数据完整性,其中第三方应用验证第二签名原理与认证单元122验证第一签名原理相同,此处不再赘述。
返回认证结果示例如下:
返回的数据通常为json格式。
第一服务器110中接收单元111接收来自第二服务器120的认证结果,与接收单元111相连的响应单元113响应于离线认证请求,将认证结果发送至第三方应用,以便第三方应用根据认证结果对第三方账户进行登录或授权。若认证结果是成功,则第三方应用允许该第三方账户登录,或是允许授权进行操作,否则不允许。这样对用户账户登录或交易、付款等敏感操作进行离线认证的方式,提供了多样的认证方式,满足了用户在客户端与第一服务器之间无法通讯场合的认证需要,加强了账户安全。同时,第一、第二服务器与第三方应用之间通过用户标识进行通信,故而服务器不会获取用户在第三方应用中的任何账户信息,进一步保障了用户的账号安全。
下面将详细说明生成用户标识并与第三方账户关联的过程。用户通过扫描第三方应用上显示的二维码将第三方账户和客户端账户建立关联。
第三方应用登录向第一服务器110发送绑定请求,请求获取二维码,该请求包括应用标识。第二服务器120将该请求转发至第二服务器120,第二服务器120根据应用标识生成二维码字符串,二维码字符串内容可以包括应用标识、指定域名、时间戳以及随机数。具体地,将应用标识、时间戳和随机数拼接并加密,其中加密方式可以是Base64编码,本发明对此不做限制。加密后在首端加上指定域名,即得到类似于以下的二维码字符串:
“http://yc.im/bjGArUqO91RnS5sSeF2X9yaILOHB/RbrEb3KTIfdi0GAWbho70DwXyA4Xhfs/VCqFywQszmjzwMHG6TSRaBcKGg==”。
第二服务器120将上述二维码字符串返回至第一服务器110,第一服务器110接收该二维码字符串后,创建与绑定请求关联的事件标识(event_id)并存储,该事件标识可唯一地标识该绑定请求。
而后第一服务器110将二维码字符串发送至图片服务器,图片服务器适于根据该二维码字符串生成绑定二维码,并将该二维码的地址返回至第一服务器110。其中,二维码地址可以如下:
https://qrcode.yangcong.com/qrcode/1432774598.27qoUQy3.png。
第一服务器110接收二维码地址后,将事件标识与生成该二维码的二维码字符串进行关联,而后响应于绑定请求,将二维码地址以及事件标识返回至第三方应用。
第三方应用接收二维码地址和事件标识,在其界面上显示该地址对应的二维码后,生成包括事件标识的结果查询请求发送至第一服务器110,请求获取该事件标识所对应的事件响应结果,例如获取等待用户扫描二维码产生响应或直至返回超过事件标识有效时间不可重试。该事件标识有效时间可以为300s。。
在上述事件标识有效时间内,用户通过已登录客户端账户的客户端130扫描该二维码,获取该二维码包含的内容,即二维码字符串,验证该二维码字符串,确保二维码来源安全。具体地,验证单元144可验证第一信息是否包括指定域名,例如,是否包含http://yc.im/,若包括,则二维码来源安全,验证通过。而后客户端将客户端账户、二维码字符串发送至第一服务器110。
第一服务器110接收上述信息,将其转发至第二服务器120,第二服务器120接收后验证客户端账户是否存在、以及验证二维码字符串是否包括指定域名,若客户端账户存在且二维码字符串包括指定域名,则验证通过,否则验证失败。
验证通过后,第二服务器120根据客户端账户、二维码字符串中应用标识生成用户标识,例如对用户信息和应用标识进行笛卡尔积运算后得到用户标识。这里,用户标识为用户在客户端130对应第三方应用生成的唯一且固定的ID账号,用户标识与客户端账户、应用标识的笛卡尔积唯一对应,从用户标识中无法获知客户端账户、应用标识,也无法获知第三方账户,保证了用户账户安全。
而后,第二服务器120将用户标识发送至第一服务器110,第一服务器110根据二维码字符串查询其关联的事件标识,将事件标识与用户标识进行关联。最后响应于上述包括事件标识的结果查询请求,根据请求中事件标识查询该事件响应结果,即获取事件标识关联的用户标识,将该用户标识返回至第三方应用。第三方应用接收来自第一服务器110的用户标识,将该用户标识与当前第三方应用上登录的第三方账户进行绑定,建立对应关系并存储该对应关系。
以上数据传输过程中,二维码作为用户信息的载体,并不参与验证过程,验证过程由客户端140的加密数据进行,操作简便的同时保证了安全性。其中,客户端140与第一服务器110之间的传输采用RSA加密,而第一服务器110与第二服务器120、第一服务器110与第三方应用之间的传输可以不加密,本发明对是否加密或加密方式不做限制。此外,绑定请求与结果查询请求均包括签名,第二服务器通过验证签名确保数据未被篡改,响应于绑定请求与结果查询请求的返回值同样包括签名,以保证返回内容的数据完整性。签名生成与验证原理已在离线认证过程中详细说明,此处不再赘述。
图5示出了根据本发明一个实施例的离线认证方法500的流程图。该方法适于在第一服务器110中执行,始于步骤S510。
在步骤S510中,接收来自第三方应用的离线认证请求,该离线认证请求包括用户标识以及由客户端生成的第一认证信息,其中第三方应用存储有用户标识与第三方账户的对应关系。
随后在步骤S520中,将离线认证请求发送至第二服务器,以便第二服务器根据用户标识获取第二认证信息,比对第一认证信息与第二认证信息后返回认证结果,其中第二认证信息由第二服务器生成。
根据本发明的一个实施方式,第一认证信息由客户端每隔预定时间按照预定规则生成;第二认证信息由第二服务器每隔同一预定时间按照同一预定规则生成。
根据本发明的另一个实施方式,离线认证请求还包括应用标识和第一签名,该第一签名根据应用标识、用户标识以及第一认证信息生成。
根据本发明的另一个实施方式,步骤S510包括:
将离线认证请求发送至第二服务器,以便第二服务器验证第一签名,生成第一验证消息,若验证通过,第二服务器根据用户标识获取第二认证信息,比对第一认证信息与第二认证信息后返回认证结果以及第一验证消息,其中第一认证信息与第二认证信息比对一致,则认证结果为成功,否则认证结果为失败;以及接收第一验证消息。
根据本发明的还有一个实施方式,其中认证结果还包括认证状态和第二签名,第二签名根据认证状态生成,认证状态包括状态码和状态描述。
最后在步骤S530中,接收该认证结果后发送至第三方应用,以便第三方应用根据所述认证结果对所述第三方账户进行登录或授权。
图6示出了根据本发明一个实施例的离线认证方法600的流程图。该方法适于在第二服务器120中执行,始于步骤S610。
在步骤S610中,接收来自第一服务器的离线认证请求,离线认证请求包括用户标识以及由客户端生成的第一认证信息,其中第三方应用存储有用户标识与第三方账户的对应关系。
随后在步骤S620中,根据用户标识获取第二认证信息,比对第一认证信息与第二认证信息,生成认证结果,其中第二认证信息由第二服务器生成。
根据本发明的一个实施方式,第一认证信息由客户端每隔预定时间按照预定规则生成;第二认证信息由第二服务器每隔同一预定时间按照同一预定规则生成。
根据本发明的另一个实施方式,离线认证请求还包括应用标识和第一签名,第一签名根据应用标识、用户标识以及第一认证信息生成。
根据本发明的另一个实施方式,根据用户标识获取第二认证信息,比对第一认证信息与第二认证信息的步骤包括:验证第一签名,生成第一验证消息;若验证通过,根据用户标识获取第二认证信息,比对第一认证信息与第二认证信息,其中第一认证信息与第二认证信息比对一致,则认证结果为成功,否则认证结果为失败。
最后在步骤S630中,响应于离线认证请求,将认证结果返回至第一服务器,以便第一服务器将认证结果返回至第三方应用供其根据认证结果对第三方账户进行登录或授权。
根据本发明的另一个实施方式,步骤S630还包括:将第一验证消息返回至第一服务器。
根据本发明的另一个实施方式,认证结果包括认证状态和第二签名,第二签名根据认证状态生成,认证状态包括状态码和状态描述。
根据本发明的还有一个实施方式,步骤S630还包括:将第二签名返回至第一服务器,以便第一服务器转发至第三方应用供其验证第二签名。
以上在结合图1、图2、图3以及图4A~4C说明离线认证系统100的具体描述中已经对各步骤中的相应处理进行了详细解释,这里不再对重复内容进行赘述。
应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本发明还包括:A3、如A1或2所述的方法,所述离线认证请求还包括应用标识和第一签名,所述第一签名根据所述应用标识、所述用户标识以及所述第一认证信息生成。A4、如A3所述的方法,所述将离线认证请求发送至第二服务器,以便第二服务器根据用户标识获取第二认证信息,比对第一认证信息与第二认证信息后返回认证结果的步骤包括:将所述离线认证请求发送至第二服务器,以便第二服务器验证第一签名,生成第一验证消息,若验证通过,所述第二服务器根据所述用户标识获取第二认证信息,比对所述第一认证信息与第二认证信息后返回认证结果以及所述第一验证消息,其中所述第一认证信息与第二认证信息比对一致,则所述认证结果为成功,否则所述认证结果为失败;接收所述第一验证消息。A5、如A1-4中任一项所述的方法,所述认证结果还包括认证状态和第二签名,所述第二签名根据所述认证状态生成,所述认证状态包括状态码和状态描述。
B8、如B6或7所述的第一服务器,所述离线认证请求还包括应用标识和第一签名,所述第一签名根据所述应用标识、用户标识以及第一认证信息生成。B9、如B8所述的第一服务器,所述转发单元还适于将所述离线认证请求发送至第二服务器,以便第二服务器验证第一签名,生成第一验证消息,若验证通过,所述第二服务器根据所述用户标识获取第二认证信息,比对所述第一认证信息与第二认证信息后返回认证结果以及所述第一验证消息,其中所述第一认证信息与第二认证信息比对一致,则所述认证结果为成功,否则所述认证结果为失败;所述接收单元还适于接收所述第一验证消息。B10、如B6-9中任一项所述的第一服务器,所述认证结果还包括认证状态和第二签名,所述第二签名根据所述认证状态生成,所述认证状态包括状态码和状态描述。
C14、如C13所述的方法,所述根据用户标识获取第二认证信息,比对第一认证信息与第二认证信息的步骤包括:验证所述第一签名,生成第一验证消息;若验证通过,根据所述用户标识获取第二认证信息,比对所述第一认证信息与所述第二认证信息,其中所述第一认证信息与第二认证信息比对一致,则所述认证结果为成功,否则所述认证结果为失败。C15、如C14所述的方法,所述响应于离线认证请求,将认证结果返回至第一服务器的步骤还包括:将所述第一验证消息返回至所述第一服务器。C16、如C11-15中任一项所述的方法,所述认证结果包括认证状态和第二签名,所述第二签名根据所述认证状态生成,所述认证状态包括状态码和状态描述。C17、如C16所述的方法,所述响应于离线认证请求,将认证结果返回至第一服务器的步骤还包括:将所述第二签名返回至所述第一服务器,以便第一服务器转发至第三方应用供其验证所述第二签名。
D20、如D18或19所述的第二服务器,所述离线认证请求还包括应用标识和第一签名,所述第一签名根据所述应用标识、所述用户标识以及所述第一认证信息生成。D21、如D20所述的第二服务器,所述认证单元还适于验证所述第一签名,生成第一验证消息,若验证通过,根据所述用户标识获取第二认证信息,比对所述第一认证信息与所述第二认证信息,其中所述第一认证信息与第二认证信息比对一致,则所述认证结果为成功,否则所述认证结果为失败。D22、如D21所述的第二服务器,所述第二响应单元还适于将所述第一验证消息返回至所述第一服务器。D23、如D18-22中任一项所述的第二服务器,所述认证结果包括认证状态和第二签名,所述第二签名根据所述认证状态生成,所述认证状态包括状态码和状态描述。D24、如D23所述的第二服务器,所述第二响应单元还适于将所述第二签名返回至所述第一服务器,以便第一服务器转发至第三方应用供其验证所述第二签名。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。