一种基于特征图像识别的验证方法、服务器及系统
技术领域
本发明涉及通信技术领域,尤其涉及一种基于特征图像识别的验证方法、服务器及系统。
背景技术
随着网络技术、通信技术以及网络应用的不断发展,在信息化高度发达的现代社会,人们每天将有大量进行身份验证的需要,身份验证中的安全问题也越来越受到人们的重视。
例如,人们习惯于使用各种电子商务解决日常生活中的问题。然而大多数网站仍采用输入用户账户信息(账户名、账户密码)进行登录操作,网站应用服务器依据该账户名和密码进行身份验证,如果验证通过,即可完成登录。而为了保证用户账户信息的安全性,需要用户设置一个相对复杂的密码以保证足够的密码强度,因此用户记忆账户名、密码的成本很高,还会经常出现忘记账户名、密码的情况。一般来说,用户每次登录时都需要重复输入账户信息,这样一方面容易导致用户输入时间的浪费,造成输入错误进而导致效率低下,无法令用户快速完成网站登录,操作繁琐、体验较差。另一方面,用户能够记忆并输入的账户信息的长度相对有限,这并不能提供足够的安全级别,存在很大的信息泄漏风险,有些网站甚至存在明文存储的安全漏洞,极有可能会被非法分子劫持,造成用户账户和隐私的泄露。而且,实际应用中,用户通常在多个不同网站中设置相同的账户信息,当一个网站的账户名和密码泄露时,可能造成多个网站出现安全隐患。
因此,需要一种更为安全简便的身份验证方式。
发明内容
鉴于此,本发明提供了一种新的基于特征图像识别的验证方案,以力图解决或至少缓解上面存在的问题。
根据本发明的一个方面,提供了一种基于特征图像识别的验证方法,适于在基于特征图像识别的验证系统中的验证服务器中执行,该验证系统与集成其验证接口的第三方应用通过网络相连接、并包括客户端和验证服务器,其中第三方应用允许用户以第三方应用的账户进行操作,客户端允许用户以验证系统账户进行操作,验证服务器存储有分别与第三方应用的账户和验证系统账户关联的集成用户标识,该方法包括:
接收来自第三方应用的特征图像验证请求,该特征图像验证请求包括集成用户标识信息和包含用户特征的图像;对该图像进行验证,获取验证结果;以及将验证结果返回至第三方应用,以便第三方应用允许用户以与集成用户标识对应的第三方应用的账户进行操作,其中第三方应用存储有集成用户标识与第三方应用的账户的关联关系。
可选地,在根据本发明的方法中,其中集成用户标识信息包括基于集成用户标识生成的验证标识,该方法还包括步骤:在接收来自第三方应用的特征图像验证请求的步骤之后,根据验证标识获取集成用户标识;以及将验证结果返回至第三方应用的步骤还包括:若验证结果为验证通过,则将集成用户标识返回至第三方应用。
可选地,在根据本发明的方法中,对图像进行验证的步骤包括:获取与集成用户标识关联的用户特征样本;提取图像中的用户特征,与用户特征样本进行相似比对,若相似度大于预定阈值,则验证结果为验证通过,否则为验证失败。
可选地,在根据本发明的方法中,还包括步骤:若未获取到集成用户标识关联的用户特征样本,则验证结果为验证失败。
可选地,在根据本发明的方法中,还包括步骤:接收来自第三方应用的、请求获取二维码的第一请求;生成二维码,该二维码包括第三方应用标识;创建与第一请求关联的事件标识,将该事件标识与二维码进行关联;将事件标识与二维码返回至第三方应用,以便第三方应用发送包含二维码的页面至显示该第三方应用验证接口的浏览器,并生成包括事件标识的第二请求发送至验证服务器;接收来自客户端扫描呈现在浏览器第三方应用验证接口上的二维码后生成的客户端信息,该客户端信息包括特征图像标记、验证系统账户和第三方应用标识;根据验证系统账户和第三方应用标识获取集成用户标识,根据集成用户标识生成验证标识,并将与二维码关联的事件标识与验证标识和特征图像标记相关联;响应来自第三方应用的第二请求,将与第二请求中的事件标识关联的验证标识和特征图像标记发送至第三方应用,以便第三方应用将其发送至浏览器存储。
可选地,在根据本发明的方法中,第一请求包括第三方应用标识,验证系统还包括图片服务器,生成二维码的步骤包括:根据第三方应用标识生成二维码信息;将二维码信息发送至图片服务器,以便图片服务器根据二维码信息生成二维码并返回到该二维码的链接;接收来自图片服务器的二维码的链接。
可选地,在根据本发明的方法中,客户端信息还包括客户端标识,其中客户端信息所包括的第三方应用标识以二维码信息的方式表示,该方法还包括:在接收来自客户端扫描二维码后生成的客户端信息的步骤之后,对客户端标识、验证系统账户以及二维码信息进行验证。
可选地,在根据本发明的方法中,根据集成用户标识生成验证标识的步骤包括:将集成用户标识和随机数经过md5加密生成验证标识。
可选地,在根据本发明的方法中,特征图像标记指示用户是否允许进行特征图像验证。
可选地,在根据本发明的方法中,当特征图像标记指示用户允许进行特征图像验证时,特征图像验证请求由第三方应用获取包含用户特征的图像后根据该图像和验证标识生成。
可选地,在根据本发明的方法中,包含用户特征的图像包括用户人脸图像。
可选地,在根据本发明的方法中,用户人脸图像由呈现第三方应用验证接口的浏览器调用本地摄像头来获取。
可选地,在根据本发明的方法中,第一请求由第三方应用确定浏览器未存储所述验证标识和特征图像标记后根据第三方应用标识生成。
根据本发明的另一个方面,提供了一种验证服务器,驻留在基于特征图像识别的验证系统中,该验证系统与集成其验证接口的第三方应用通过网络相连接、并包括客户端和验证服务器,其中第三方应用允许用户以第三方应用的账户进行操作,客户端允许用户以验证系统账户进行操作,该验证服务器包括:
存储单元,适于存储分别与第三方应用的账户和验证系统账户关联的集成用户标识;接收单元,适于接收来自第三方应用的特征图像验证请求,该特征图像验证请求包括集成用户标识信息和包含用户特征的图像;验证单元,适于对该图像进行验证,获取验证结果;以及响应单元,适于将验证结果返回至第三方应用,以便第三方应用允许用户以与集成用户标识对应的第三方应用的账户进行操作,其中第三方应用存储有集成用户标识与第三方应用的账户的关联关系。
可选地,在根据本发明的服务器中,其中集成用户标识信息包括基于集成用户标识生成的验证标识,验证单元还适于在接收单元接收来自第三方应用的特征图像验证请求之后,根据验证标识获取集成用户标识;以及响应单元还适于若验证结果为验证通过,则将集成用户标识返回至第三方应用。
可选地,在根据本发明的服务器中,验证单元还适于获取与集成用户标识关联的用户特征样本,并提取该图像中的用户特征,与用户特征样本进行相似比对,若相似度大于预定阈值,则验证结果为验证通过,否则为验证失败。
可选地,在根据本发明的服务器中,若验证单元未获取到集成用户标识关联的用户特征样本,则验证结果为验证失败。
可选地,在根据本发明的服务器中,还包括生成单元,其中,接收单元适于接收来自第三方应用的、请求获取二维码的第一请求;生成单元适于生成二维码,该二维码包括第三方应用标识,还适于创建与第一请求关联的事件标识,并将该事件标识与二维码进行关联;响应单元适于将事件标识与二维码返回至第三方应用,以便第三方应用发送包含二维码的页面至显示该第三方应用验证接口的浏览器,并生成包括事件标识的第二请求发送至验证服务器;接收单元还适于接收来自客户端扫描呈现在浏览器第三方应用验证接口上的二维码后生成的客户端信息,该客户端信息包括特征图像标记、验证系统账户和第三方应用标识;生成单元还适于根据验证系统账户和第三方应用标识获取集成用户标识,并根据集成用户标识生成验证标识,将与二维码关联的事件标识与验证标识和特征图像标记相关联;以及响应单元还适于响应来自第三方应用的第二请求,将与第二请求中的事件标识关联的验证标识和特征图像标记发送至第三方应用,以便第三方应用将其发送至浏览器存储。
可选地,在根据本发明的服务器中,第一请求包括第三方应用标识,验证系统还包括图片服务器,生成单元还适于根据第三方应用标识生成二维码信息,将二维码信息发送至图片服务器,以便图片服务器根据二维码信息生成二维码并返回到该二维码的链接;接收单元还适于接收来自图片服务器的二维码的链接。
可选地,在根据本发明的服务器中,客户端信息还包括客户端标识,其中客户端信息所包括的第三方应用标识以二维码信息的方式表示,验证单元还适于在接收单元接收来自客户端扫描二维码后生成的客户端信息之后,对客户端标识、验证系统账户以及二维码信息进行验证。
可选地,在根据本发明的服务器中,生成单元还适于将集成用户标识和随机数经过md5加密生成验证标识。
可选地,在根据本发明的服务器中,特征图像标记指示用户是否允许进行特征图像验证。
可选地,在根据本发明的服务器中,当特征图像标记指示用户允许进行特征图像验证时,该特征图像验证请求由第三方应用获取包含用户特征的图像后根据图像和验证标识生成。
可选地,在根据本发明的服务器中,包含用户特征的图像包括用户人脸图像。
可选地,在根据本发明的服务器中,用户人脸图像由呈现第三方应用验证接口的浏览器调用本地摄像头来获取。
可选地,在根据本发明的服务器中,第一请求由第三方应用确定浏览器未存储验证标识和特征图像标记后根据第三方应用标识生成。
根据本发明的还有一个方面,提供了一种基于特征图像识别的验证系统,与集成其验证接口的第三方应用通过网络相连接,第三方应用允许用户以第三方应用的账户进行操作,该验证系统包括:
客户端,驻留在移动终端中,该客户端允许用户以验证系统账户进行操作,并适于扫描呈现在浏览器第三方应用验证接口上的二维码;以及根据本发明的验证服务器。
根据本发明的方案,通过扫描二维码在浏览器本地存储特征图像标记,并在特征图像标记指示下进行特征图像的验证,实现快速、安全的用户身份验证,解决了过去的验证繁琐问题。并且本发明通过生成唯一固定的标识将用户在验证系统的账户与用户在第三方应用的账户建立联系,因此整个验证过程不会收集用户在第三方应用的任何信息,解决了账户安全、撞库风险等问题。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个示例性实施例的基于特征图像识别的验证系统100的结构框图;
图2示出了根据本发明一个示例性实施例的验证服务器110的结构框图;
图3示出了根据本发明一个示例性实施例的基于特征图像识别的验证方法300的流程图;以及
图4示出了根据本发明一个实施例的基于特征图像识别的验证方法400的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个示例性实施例的基于特征图像识别的验证系统100的结构框图。该基于特征图像识别的验证系统100通过网络与集成其验证接口的第三方应用相连,并可以包括验证服务器110与客户端120。其中,第三方应用可以是驻留在移动终端的各种应用,也可以是通过浏览器访问的各种网站。通常,第三方应用允许用户以第三方应用的账户进行操作,此时,第三方应用可调用其集成的验证系统100的验证接口来进行用户身份的验证。
如图1所示,验证服务器110通过网络与客户端120连接,客户端120驻留在移动终端中,并允许用户以验证系统账户进行操作;验证服务器110存储有分别与该第三方应用的账户和该验证系统账户关联的集成用户标识,可以理解地,集成用户标识为用户在验证系统100中对应第三方应用生成的唯一且固定的ID号。
根据本发明的一个实施方式,该集成用户标识由验证服务器110根据验证系统账户和第三方应用标识生成,可以理解地,第三方应用标识为第三方应用在验证系统100中对应该第三方应用生成的唯一且固定的ID号。具体地,用户可通过其验证系统账户登录客户端120,并通过客户端120扫描第三方应用显示的、用于绑定的二维码等方式生成集成用户标识、并关联该集成用户标识与第三方应用的账户。二者关联后,第三方应用则存储该集成用户标识与第三方应用的账户的关联关系。
因此基于集成用户标识的本发明在整个验证过程中不会收集用户在第三方应用的任何信息,解决了账户安全、撞库风险等问题,加强了用户的安全保障。
图2示出了根据本发明一个示例性实施例的验证服务器110的结构框图,验证服务器110可以包括存储单元111、接收单元112、验证单元113以及响应单元114,还可以包括生成单元115,其中,存储单元111分别与接收单元112、验证单元113以及响应单元114连接,并适于存储分别与第三方应用的账户和验证系统账户关联的集成用户标识。
下面以通过浏览器访问第三方应用、以第三方应用的账户进行登录操作为例来详细介绍该验证系统100的工作原理。
第三方应用向验证服务器110发送其生成的第一请求,请求获取二维码。验证服务器110中接收单元112适于接收来自第三方应用的第一请求,该第一请求通常为http请求,可由第三方应用调用其集成的验证接口生成,该接口由验证系统100厂商提供并维护。根据本发明的一个实施方式,第一请求可以包括第三方应用标识,该标识可唯一地标识在验证系统100中的第三方应用身份,一个合法的第三方应用标识例如:
“Fqlw4Z2KCqHzvw8YN0eUpM9KgTQ47iWf”。而第三方应用标识由验证服务器120预先创建。具体地,在第三方应用生成第一请求之前,第三方应用向验证系统100发出创建应用请求,请求在验证系统100中创建应用。验证系统100响应该请求,创建与该第三方应用唯一关联的第三方应用标识并存储至存储单元111,而后将该第三方应用标识返回至第三方应用。
根据本发明的另一个实施方式,第一请求还可以包括第一签名,通常可通过验证第一签名来确保第一请求中数据未被篡改,保证数据交互的安全性改。该第一签名可根据第三方应用的应用密钥生成,一个合法的应用密钥例如:“qms7LwYXgw5FbnVdwYyA”。应用密钥与应用标识相同地,在验证系统100响应来自第三方应用的创建应用请求时创建,验证系统100创建与该第三方应用唯一关联的应用密钥并存储至存储单元111,而后将该应用密钥返回至第三方应用。
一般来说,每一次第三方应用向验证服务器110发送请求,均需要向验证服务器110传递一个签名,验证服务器110会根据该请求中携带的除签名以外的参数值计算出参考签名,而后将其与请求中的签名比对,比对一致则数据安全,验证通过。其中请求传递的签名与验证服务器110生成的签名计算原理相同,具体如下:
将请求中除签名之外的其他参数按参数名字典排序后,按以下格式拼接成字符串:$参数名1=$参数值1$参数名2=$参数值2...$参数名n=$参数值n$app_key,并将拼好的字符串使用MD5加密,最后得到的字符串即为该请求的签名。
如上所述,验证单元113可通过验证第一签名来确保第一请求数据安全。具体地,存储单元111存储有第三方应用的第三方应用标识和应用密钥,验证单元113可根据第一请求中携带的第三方应用标识获取该应用标识对应的应用密钥,并根据该应用密钥和第三方应用标识生成第一参考签名。这里假定第三方应用的第三方应用标识(app_id)和应用密钥(app_key)如下:
$app_id='Fqlw4Z2KCqHzvw3YN0eUpM9KgTQ47iWf';
$app_key='qms7LwYXgw3FbnVdwYyA';
除第一签名外,该第一请求共一个参数app_id,则按照上述签名生成原理,可根据app_id拼接字符串:'app_id='.$app_id.$app_key,之后,把拼接的字符串,使用MD5加密:md5('app_id='.$app_id.$app_key),即得到第一参考签名。验证单元113将该第一参考签名与第一签名进行比对,若一致则签名验证通过,否则签名验证失败。
若第一签名验证通过,与验证单元113相连的生成单元115适于生成二维码,该二维码包括第三方应用标识。具体地,生成单元115根据第一请求中第三方应用标识生成二维码信息,该二维码信息通常为字符串,内容包括第三方应用标识,此外,还可以包括验证系统域名、时间戳以及随机数。
其中,生成单元115可以将第三方应用标识、时间戳和随机数拼接并加密,其中加密方式可以是Base64编码,也可以是其他编码方式,本发明对此不做限制。加密后在首端加上验证系统域名,即得到类似于以下的二维码信息:
“http://yc.im/bjGArUqO91RnS5sSeF2X9yaILOHB/RbrEb3KTIfdi0GAWbho70DwXyA4Xhfs/VCqFywQszmjzwMHG6TSRaBcKGg==”。
根据本发明的另一个实施方式,验证系统100还可以包括图片服务器130,生成单元115生成二维码信息后,可将其发送至图片服务器130,以便图片服务器130根据该二维码信息生成二维码,并返回到该二维码的链接。到二维码的链接例如:https://qrcode.yangcong.com/qrcode/1432774598.27qoUQy3.png。
其中,图片服务器也可以是第三方的,本发明对此不做限制。
生成单元115还适于创建与第一请求关联的事件标识,并将其存储至存储单元111。可以理解地,事件标识可用于唯一地标识第一请求。生成单元115适于将该事件标识与上述二维码进行关联,例如,以事件标识为key,二维码信息为value,建立二者一一对应的映射表。
而后,与生成单元115相连的响应单元114响应第一请求,将事件标识与二维码返回至第三方应用。根据本发明的另一个实施方式,还可以返回状态码(status)和相应的状态码描述(description),其中状态码为一个表示请求结果的数字,状态码描述为对应状态码含义的文字描述,表1列出了响应第一请求返回的几种状态码与相应的状态码描述:
状态码 |
状态码描述 |
200 |
请求成功 |
400 |
请求参数格式错误 |
401 |
app状态错误 |
402 |
app_id错误 |
403 |
请求签名错误 |
404 |
请求API不存在 |
405 |
请求方法错误 |
406 |
不在应用白名单里 |
500 |
洋葱系统服务错误 |
501 |
生成二维码图片失败 |
表1
响应单元113的返回示例如下:
返回的数据通常为json格式。
第三方应用接收二维码和事件标识后,发送包含该二维码的页面至显示该第三方应用验证接口的浏览器,并生成包括该事件标识的第二请求发送至验证服务器110,第二请求用于请求获取事件标识所对应的事件响应结果,事件相应结果可以是例如用户扫描绑定二维码产生的响应结果,或是超过事件标识有效时间不可重试。该事件标识有效时间通常为300s。
接收单元112还适于接收来自第三方应用的第二请求,第二请求除事件标识外还可以包括第三方应用标识、第二签名。与第一请求相同地,验证单元113通过验证第二签名来确保第二请求数据未被篡改,即,验证单元113根据第二请求中携带的第三方应用标识获取该应用标识对应的应用密钥,并根据该第三方应用标识(app_id)、事件标识(event_id)和应用密钥(app_key)生成第二参考签名,即md5('app_id='.$app_id.'event_id='.$event_id.$app_key),具体签名生成原理已在关于第一请求的描述中详细说明,此处不再赘述。验证单元113将该第二参考签名与第二签名比对,若一致则签名验证通过,否则签名验证失败。
若签名验证通过,响应单元113响应第二请求,可以返回状态码和相应的状态码描述,表2列出了响应第二请求返回的几种状态码与相应的状态码描述:
状态码 |
状态码描述 |
200 |
请求成功 |
400 |
请求参数格式错误 |
401 |
app状态错误 |
402 |
app_id错误 |
状态码 |
状态码描述 |
403 |
请求签名错误 |
404 |
请求API不存在 |
405 |
请求方法错误 |
406 |
不在应用白名单里 |
500 |
洋葱系统服务错误 |
601 |
用户拒绝授权 |
602 |
等待用户响应,可重试 |
603 |
用户响应超时,不可重试 |
表2
若返回状态码为602“等待用户响应,可重试”,第三方应用可以在事件标识有效时间内重试发送第二请求至验证服务器110,直至返回状态码200“请求成功”或者603“用户响应超时,不可重试”为止。
在上述事件标识有效时间内,用户可以通过客户端120扫描呈现在浏览器第三方应用验证接口上的二维码。
客户端120驻留在移动终端中,可以包括扫描单元121、验证单元122以及交互单元123。扫描单元121适于扫描二维码,获取该二维码包含的内容,即二维码信息。与扫描单元121相连的验证单元122适于验证该二维码信息,确保二维码来源安全(即确保该二维码由验证系统100生成)。具体地,验证单元122可验证二维码信息是否包括验证系统域名,例如,是否包含http://yc.im/,若包括,则二维码来源安全,二维码验证通过。
二维码验证通过后,交互单元123将客户端120生成的客户端信息发送至验证服务器110。客户端信息特征图像标记、验证系统账户和从二维码中获得的第三方应用标识,其中,验证系统账户为用户在客户端120当前登录的账户,通常是用户手机号;特征图像标记可以指示该验证系统账户的用户是否允许进行特征图像验证,通常以数值0、1来分别指示用户允许进行特征图像验证、不允许。第三方应用标识包含在二维码信息中。可选地,这部分信息以特定编码的方式包含在二维码信息中,这样客户端120不能直接从中获得第三方应用标识的具体内容,但是验证服务器110可以根据二维码信息而获得相应的第三方应用标识的具体内容,这减少了信息直接暴露的风险,提高了系统安全性。
验证服务器110中接收单元112还适于接收来自客户端120扫描呈现在浏览器第三方应用验证接口上的二维码后生成的客户端信息。
根据本发明的另一个实施方式,客户端信息还包括客户端标识,其中客户端信息所包括的第三方应用标识以二维码信息的方式表示,客户端标识为在验证系统100中唯一标识客户端120的ID号。验证单元113还适于在接收单元112接收上述客户端信息之后,对该客户端标识、验证系统账户以及二维码信息进行验证,确保信息来自客户端120。可以理解地,客户端标识通常由验证系统100为客户端120固定唯一生成,验证单元113可通过验证客户端信息中客户端标识是否存在、验证系统用户是否存在、以及二维码信息是否包括验证系统域名来确定客户端信息来源是否可靠,若客户端标识存在、验证系统用户存在、且二维码信息包括验证系统域名,则客户端信息验证通过,否则验证失败。
客户端信息验证通过后,生成单元115适于根据验证系统账户获取其关联的集成用户标识,并根据该集成用户标识生成验证标识,将与上述二维码关联的事件标识与该验证标识和特征图像标记相关联。这里,集成用户标识、验证标识、以及二者之间一一对应的关联关系均存储至存储单元111。
根据本发明的一个实施方式,生成单元115可以将集成用户标识添加随机数,再经过md5加密生成验证标识。
将事件标识与验证标识和特征图像标记相关联之后,响应单元114适于响应上述来自第三方应用的第二请求,将与第二请求中的事件标识关联的验证标识和特征图像标记发送至第三方应用,以便第三方应用将其发送至浏览器存储。
这里,集成用户标识为用户在验证系统100中对应第三方应用生成的唯一且固定的ID账号,该集成用户标识与用户的验证系统账户和第三方应用标识的笛卡尔积唯一对应,验证标识由该集成用户标识加密后生成,从集成用户标识和验证标识中无法获知验证系统账户和第三方应用标识,更无法获知用户在第三方应用的账户,因此极大的保障了用户账户安全。
根据本发明的另一个实施方式,生成单元115还适于根据验证标识和事件标识生成第三签名,第三签名生成原理同第一签名、第二签名,响应单元114可将该第三签名、验证标识和特征图像标记一齐返回至第三方应用。
第三方应用接收来自验证服务器110的验证标识、特征图像标记和第三签名,可验证第三签名,避免传输过程中数据被恶意修改。同样地,第三方应用根据验证标识和事件标识生成第三参考签名,将该第三参考签名与第三签名比对,若一致则签名验证通过,否则验证失败。
签名验证通过后,第三方应用将上述验证标识和特征图像标记发送至浏览器存储,一般可利用浏览器的LocalStorage技术以字符串格式存储在浏览器本地。
根据本发明的一个实施方式,上述第一请求由第三方应用确定浏览器未存储验证标识和特征图像标记后根据第三方应用标识生成。
若第三方应用确定浏览器存储验证标识和特征图像标记,且当特征图像标记指示用户允许进行特征图像验证时,第三方应用获取包含用户特征的图像后根据该图像和验证标识生成特征图像验证请求,并发送至验证服务器110。其中,用户特征的图像可以是人脸图像、虹膜图像或是掌纹图像等包含人类本身所具有的独一无二的特征的图像。当用户特征的图像是人脸图像时,该用户人脸图像由呈现第三方应用验证接口的浏览器调用本地摄像头来获取。
通常地,特征图像识别可以利用模式识别、图像处理和计算机视觉的方法对人类本身所具有的独一无二的特征(生理特征或行为特征)进行可靠的、有效的分析和描述,通过判断这些特征的一致性来实现自动身份验证。这些特征具有“人各有异,终生不变,随身携带”等特点,因此同传统的用于身份验证的标识物品(如身份证等各种证件)和特定知识(如口令和密码)相比,具有稳定、便捷、不易伪造等优点。
第三方应用发送特征图像验证请求至验证服务器110后,验证服务器110中接收单元112适于接收来自第三方应用的特征图像验证请求,该特征图像验证请求包括集成用户标识信息和包含用户特征的图像。
而后验证单元113适于对该图像进行验证,获取验证结果,与验证单元113相连的响应单元114将该验证结果返回至第三方应用,以便第三方应用允许用户以与集成用户标识对应的第三方应用的账户进行操作。
其中,根据本发明的一个实施方式,该集成用户标识信息可以包括基于集成用户标识生成的验证标识,验证单元113适于在接收单元112接收特征图像请求之后,验证该验证标识是否存在,若存在则验证通过,否则验证失败。验证标识验证通过后,验证单元113还适于根据该验证标识获取其关联的集成用户标识。此外,若图像的验证结果为验证通过,响应单元114在返回验证结果的同时,还适于将集成用户标识返回至第三方应用,同时还可以返回验证类型,该验证类型用于指示验证的用户特征类型,例如当用户特征的图像是人脸图像时,该验证类型为“人脸验证”。
获取集成用户标识之后,根据本发明的另一个实施方式,验证单元113还适于获取与该集成用户标识关联的用户特征样本,一般地,该用户特征样本与验证系统账户关联,即也与集成用户标识关联,该样本可以通过用户在客户端120中设置特征图像标记为允许图像验证后,由客户端120上传至验证服务器110,验证服务器110中存储单元111适于存储用户特征样本以及用户特征样本与验证系统账户、集成用户标识的关联关系。
而后,验证单元113还适于提取上述接收到的图像中的用户特征,与用户特征样本进行相似比对,若相似度大于预定阈值,则验证结果为验证通过,否则为验证失败。
其中,根据本发明的还有一个实施方式,若验证单元113未获取到与该集成用户标识关联的用户特征样本,则验证结果也为验证失败。
第三方应用接收到来自验证服务器110的验证结果和集成用户标识后,若验证结果为验证通过,则允许用户以该集成用户标识对应的第三方应用的账户进行操作,在本例中即第三方应用允许登录该集成用户标识对应的第三方应用的账户。整个过程无需用户输入第三方应用的账户名和密码,极大地提高了用户体验和验证效率、登录效率,从而实现快速、安全的账户验证与登录,解决了过去的繁琐登录问题,并且整个验证以及登录过程不会收集用户在第三方应用的任何信息,解决了账户安全、撞库风险等问题。
以上数据传输过程中,客户端120与验证服务器110之间的传输采用RSA加密,而验证服务器110与第三方应用之间的传输可以不加密,本发明对是否加密或加密方式不做限制。
图3示出了根据本发明一个实施例的基于特征图像识别的验证方法300的流程图。验证方法300适于在基于特征图像识别的验证系统100中的验证服务器110中执行,验证系统100与集成其验证接口的第三方应用通过网络相连接、并包括客户端120和验证服务器110,其中第三方应用允许用户以第三方应用的账户进行操作,客户端120允许用户以验证系统账户进行操作,验证服务器110存储有分别与第三方应用的账户和验证系统账户关联的集成用户标识。
如图3所示,该验证方法300始于步骤S310,在步骤S310中,接收在来自第三方应用的、请求获取二维码的第一请求,第一请求通常为http请求。
接下来在步骤S320中,生成二维码,该二维码包括第三方应用标识。根据本发明的一个实施方式,第一请求可以包括第三方应用标识,验证系统100还可以包括图片服务器130,生成二维码的步骤可以包括:
根据第三方应用标识生成二维码信息;将所述二维码信息发送至图片服务器130,以便图片服务器130根据该二维码信息生成二维码并返回到该二维码的链接;接收来自图片服务器130的该二维码的链接。
生成二维码之后,在步骤S330中,创建与第一请求关联的事件标识,将该事件标识与二维码进行关联,等同于与二维码信息相关联。而后在步骤S340中,将该事件标识与二维码返回至第三方应用,以便第三方应用发送包含二维码的页面至显示该第三方应用验证接口的浏览器,并生成包括事件标识的第二请求发送至验证服务器110。
客户端130扫描呈现在浏览器第三方应用验证接口上的该二维码后,生成客户端信息发送至验证服务器110,于是在步骤S350中,接收来自客户端扫描呈现在浏览器第三方应用验证接口上的二维码后生成的客户端信息,该客户端信息包括特征图像标记、验证系统账户和第三方应用标识。
根据本发明的一个实施方式,客户端信息还包括客户端标识,其中客户端信息所包括的第三方应用标识以二维码信息的方式表示,则验证方法300还可以包括:
在步骤S350之后,对该客户端标识、验证系统账户以及二维码信息进行验证。具体地,可通过验证客户端信息中客户端标识是否存在、验证系统用户是否存在、以及二维码信息是否包括验证系统域名来确定客户端信息来源是否可靠,若客户端标识存在、验证系统用户存在、且二维码信息包括验证系统域名,则客户端信息验证通过,否则验证失败。
客户端信息验证通过后,在步骤S360中,根据验证系统账户和第三方应用标识获取集成用户标识,根据集成用户标识生成验证标识,并将与上述二维码关联的事件标识与该验证标识和特征图像标记相关联。具体地,可以将集成用户标识和随机数经过md5加密生成验证标识。
其中,特征图像标记存储于客户端120中,可以指示该验证系统账户的用户是否允许进行特征图像验证,通常以数值0、1来分别指示用户允许进行特征图像验证、不允许。
根据本发明的另一个实施方式,第一请求由第三方应用确定浏览器未存储验证标识和特征图像标记后根据第三方应用标识生成。
而根据本发明的另一个实施方式,当特征图像标记指示用户允许进行特征图像验证时,特征图像验证请求由第三方应用获取包含用户特征的图像后根据该图像和验证标识生成。其中,包含用户特征的图像可以包括用户人脸图像,该用户人脸图像可以由呈现第三方应用验证接口的浏览器调用本地摄像头来获取。
图4示出了根据本发明一个实施例的基于特征图像识别的验证方法400的流程图。验证方法400同样适于在基于特征图像识别的验证系统100中的验证服务器110中执行,并始于步骤S410。
在步骤S410中,接收来自第三方应用的特征图像验证请求,特征图像验证请求包括集成用户标识信息和包含用户特征的图像。根据本发明的一个实施方式,该集成用户标识信息包括基于集成用户标识生成的验证标识,则在步骤S410之后还可以包括:
根据该验证标识获取集成用户标识。
获取集成用户标识之后,在步骤S420中,对接收到的图像进行验证,获取验证结果。根据本发明的另一个实施方式,步骤S420可以包括:获取与集成用户标识关联的用户特征样本;提取图像中的用户特征,与用户特征样本进行相似比对,若相似度大于预定阈值,则验证结果为验证通过,否则为验证失败。其中,用户特征样本与验证系统账户关联,即也与集成用户标识关联,该样本可以通过用户在客户端120中设置特征图像标记为允许图像验证后,由客户端120上传至验证服务器110。
根据本发明的另一个实施方式,验证方法400还可以包括步骤:
若未获取到集成用户标识关联的用户特征样本,则验证结果为验证失败。
获取验证结果后,在步骤S430中,将该验证结果返回至第三方应用,以便第三方应用允许用户以与集成用户标识对应的第三方应用的账户进行操作,其中第三方应用存储有集成用户标识与第三方应用的账户的关联关系。
根据本发明的还有一个实施方式,若验证结果为验证通过,则将集成用户标识返回至第三方应用。另外,还可以返回验证类型,该验证类型用于指示验证的用户特征类型,例如当用户特征的图像是人脸图像时,该验证类型为“人脸验证”。
以上在结合图1和图2说明验证系统100的具体描述中已经对各步骤中的相应处理进行了详细解释,这里不再对重复内容进行赘述。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
本发明还包括:A5、如A1-4中任一项所述的方法,还包括步骤:接收来自第三方应用的、请求获取二维码的第一请求;生成二维码,所述二维码包括第三方应用标识;创建与所述第一请求关联的事件标识,将所述事件标识与所述二维码进行关联;将所述事件标识与所述二维码返回至第三方应用,以便第三方应用发送包含所述二维码的页面至显示该第三方应用验证接口的浏览器,并生成包括事件标识的第二请求发送至验证服务器;接收来自客户端扫描呈现在浏览器第三方应用验证接口上的所述二维码后生成的客户端信息,所述客户端信息包括特征图像标记、验证系统账户和第三方应用标识;根据所述验证系统账户和第三方应用标识获取集成用户标识,根据所述集成用户标识生成所述验证标识,并将与所述二维码关联的事件标识与所述验证标识和特征图像标记相关联;响应来自第三方应用的第二请求,将与第二请求中的事件标识关联的验证标识和特征图像标记发送至第三方应用,以便第三方应用将其发送至浏览器存储。A6、如A5所述的方法,所述第一请求包括所述第三方应用标识,所述验证系统还包括图片服务器,所述生成二维码的步骤包括:根据所述第三方应用标识生成二维码信息;将所述二维码信息发送至所述图片服务器,以便图片服务器根据所述二维码信息生成二维码并返回到所述二维码的链接;接收来自图片服务器的所述二维码的链接。A7、如A6所述的方法,所述客户端信息还包括客户端标识,其中所述客户端信息所包括的第三方应用标识以所述二维码信息的方式表示,所述方法还包括:在所述接收来自客户端扫描所述二维码后生成的客户端信息的步骤之后,对所述客户端标识、验证系统账户以及二维码信息进行验证。A8、如A5-7中任一项所述的方法,所述根据集成用户标识生成验证标识的步骤包括:将所述集成用户标识和随机数经过md5加密生成所述验证标识。A9、如A5-8中任一项所述的方法,所述特征图像标记指示用户是否允许进行特征图像验证。A10、如A9所述的方法,当所述特征图像标记指示用户允许进行特征图像验证时,所述特征图像验证请求由第三方应用获取包含用户特征的图像后根据所述图像和所述验证标识生成。A11、如A10所述的方法,所述包含用户特征的图像包括用户人脸图像。A12、如A11所述的方法,所述用户人脸图像由呈现所述第三方应用验证接口的浏览器调用本地摄像头来获取。A13、如A5-12中任一项所述的方法,所述第一请求由第三方应用确定所述浏览器未存储所述验证标识和特征图像标记后根据第三方应用标识生成。
B19、如B18所述的验证服务器,所述第一请求包括所述第三方应用标识,所述验证系统还包括图片服务器,所述生成单元还适于根据所述第三方应用标识生成二维码信息,将所述二维码信息发送至所述图片服务器,以便图片服务器根据所述二维码信息生成二维码并返回到所述二维码的链接;所述接收单元还适于接收来自图片服务器的所述二维码的链接。B20、如B19所述的验证服务器,所述客户端信息还包括客户端标识,其中所述客户端信息所包括的第三方应用标识以所述二维码信息的方式表示,所述验证单元还适于在所述接收单元接收来自客户端扫描所述二维码后生成的客户端信息之后,对所述客户端标识、验证系统账户以及二维码信息进行验证。B21、如B18-20中任一项所述的验证服务器,所述生成单元还适于将所述集成用户标识和随机数经过md5加密生成所述验证标识。B22、如B18-21中任一项所述的验证服务器,所述特征图像标记指示用户是否允许进行特征图像验证。B23、如B22所述的验证服务器,当所述特征图像标记指示用户允许进行特征图像验证时,所述特征图像验证请求由第三方应用获取包含用户特征的图像后根据所述图像和所述验证标识生成。B24、如B23所述的验证服务器,所述包含用户特征的图像包括用户人脸图像。B25、如B24所述的验证服务器,所述用户人脸图像由呈现所述第三方应用验证接口的浏览器调用本地摄像头来获取。B26、如B18-25中任一项所述的验证服务器,所述第一请求由第三方应用确定所述浏览器未存储所述验证标识和特征图像标记后根据第三方应用标识生成。此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。