发明内容
有鉴于此,本申请提供一种身份验证方法和装置。
具体地,本申请是通过如下技术方案实现的:
一种身份验证方法,所述方法包括:
接收用户的身份验证请求,所述身份验证请求中携带有所述用户的账户信息及发送所述身份认证请求的环境信息;
利用所述环境信息,计算身份验证行为的非安全参数;
当所述非安全参数达到预设的阈值时,提供安全验证模式对所述用户进行验证;
当所述安全验证模式通过验证时,确认用户身份合法。
进一步地,所述利用所述环境信息,计算身份验证行为的非安全参数,具体包括:
利用所述环境信息,通过环境评分模型计算所述非安全参数。
进一步地,所述环境信息包括:发生所述身份验证行为的终端的特征;
所述环境评分模型根据历史上使用过所述特征的账户的安全信息而建立。
进一步地,所述计算身份验证行为的非安全参数,包括:
计算所述身份验证行为的特征参数;
计算所述特征参数与使用所述特征的非安全用户账户比例的乘积,将所述乘积作为所述非安全参数。
进一步地,所述计算身份验证行为的特征参数,包括:
计算用户账户的总数量与使用所述特征的用户账户数量的商值的对数,将所述对数作为所述特征参数。
进一步地,所述提供安全验证模式对所述用户进行验证,包括:
提供验证问题的验证方式给用户;
如果所述验证问题通过验证,则确认所述安全验证模式通过验证。
进一步地,所述提供验证问题,包括:
针对所述用户账户,判断是否能够生成N个验证问题,其中,N为大于1的自然数;
如果能够生成N个验证问题,则生成N个的验证问题,并将所述N个验证问题提供给用户;
如果所述N个验证问题中存在至少M个验证问题通过验证,则确认所述安全验证模式通过验证,M为大于等于1且小于等于N的自然数。
进一步地,所述提供安全验证模式对所述用户进行验证,还包括:
如果不能生成N个验证问题,则提供生物特征识别的验证方式给用户;
如果所述生物特征识别通过验证,则确认所述安全验证模式通过验证。
进一步地,所述生成验证问题包括:
根据所述用户账户的历史业务数据生成所述验证问题。
一种身份验证装置,所述装置包括:
请求接收单元,接收用户的身份验证请求,所述身份验证请求中携带有所述用户的账户信息及发送所述身份认证请求的环境信息;
参数计算单元,利用所述环境信息,计算身份验证行为的非安全参数;
模式提供单元,当所述非安全参数达到预设的阈值时,提供安全验证模式对所述用户进行验证;
合法确认单元,当所述安全验证模式通过验证时,确认用户身份合法。
进一步地,所述参数计算单元,具体利用所述环境信息,通过环境评分模型计算所述非安全参数。
进一步地,所述环境信息包括:发生所述身份验证行为的终端的特征;
所述环境评分模型根据历史上使用过所述特征的账户的安全信息而建立。
进一步地,所述参数计算单元,具体计算所述身份验证行为的特征参数,然后计算所述特征参数与使用所述特征的非安全用户账户比例的乘积,将所述乘积作为所述非安全参数。
进一步地,所述参数计算单元,具体计算用户账户的总数量与使用所述特征的用户账户数量的商值的对数,将所述对数作为所述特征参数。
进一步地,所述模式提供单元,具体提供验证问题的验证方式给用户,当所述验证问题通过验证时,确认所述安全验证模式通过验证。
进一步地,所述模式提供单元提供验证问题,包括:
针对所述用户账户,判断是否能够生成N个验证问题,其中,N为大于1的自然数;
如果能够生成N个验证问题,则生成N个的验证问题,并将所述N个验证问题提供给用户;
如果所述N个验证问题中存在至少M个验证问题通过验证,则确认所述安全验证模式通过验证,M为大于等于1且小于等于N的自然数。
进一步地,所述模式提供单元,在不能生成N个验证问题时,提供生物特征识别的验证方式给用户,在所述生物特征识别通过验证时,确认所述安全验证模式通过验证。
进一步地,所述模式提供单元,具体根据所述用户账户的历史业务数据生成所述验证问题。
由以上描述可以看出,本申请在对用户进行身份合法性验证时,可以利用环境信息计算身份验证行为的非安全参数,当确认非安全参数到达阈值时,提供安全验证模式给用户进行验证,成本较低,且安全性高。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
目前,相关技术中提供的身份验证方式主要有如下几种:
字符密码验证:通过判断用户输入的字符是否为身份合法的用户设置的字符进行验证。然而,字符密码容易被用户遗忘,也容易被黑客破解。
第三方口令验证:通过短信、电话或者邮件等第三方渠道发送一次性口令给用户,用户通过输入口令进行验证。然而,第三方口令往往无法及时送达,用户体验较差。
硬件验证:通过判断用户是否持有合法的智能卡、安全U盘等硬件进行验证。然而,硬件携带不便,用户体验较差。
生物特征验证:通过判断用户提供的人脸、指纹等生物特征是否匹配身份合法的用户设置的生物特征进行验证。然而,生物特征验证的识别效率较低,且准确性较差。
验证问题验证:提供验证问题给用户,通过判断用户的回答是否匹配预设的答案进行验证。然而,验证问题往往是基于用户的个人信息进行设置,此类信息极易通过社交泄露,安全风险很大。
针对上述各种身份验证方式的不足之处,开发人员往往通过设计更长、更复杂、更具有时效性的密码来提高身份验证的安全性,或者是通过提升网络带宽以及服务器的稳定性来确保第三方口令验证的稳定性。然而,随着技术水平的提供,这些优化方式的成本也越来越高。
有鉴于此,本申请提供一种身份验证方案,成本较低,且安全性较好。
图1是本申请一示例性实施例示出的一种身份验证方法的流程示意图。
请参考图1,所述身份验证方法可以用于服务端,包括以下步骤:
步骤101,接收用户的身份验证请求,所述身份验证请求中携带有所述用户的账户信息及发送所述身份认证请求的环境信息。
在本实施例中,服务端接收用户基于用户账户发送的身份验证请求,比如:用户可以在登录、忘记密码、重置密码等场景下发送身份验证请求给服务端。
其中,所述身份验证请求中携带有账户信息以及环境信息。所述账户信息可以为账户ID等能够识别账户的唯一标识,所述环境信息可以为发生所述身份验证行为的终端的特征,比如:终端的IP地址、终端的MAC地址等特征。举例来说,假设,用户通过手机发送进行登录,则所述环境信息可以为手机的IP地址。
步骤102,利用所述环境信息,计算身份验证行为的非安全参数。
基于前述步骤101,服务端在接收到所述身份验证请求后,可以利用所述身份验证请求中携带的环境信息计算所述非安全参数。比如:服务端可以利用所述环境信息,通过环境评分模型计算所述非安全参数。
在本实施例中,可以根据历史上使用过所述特征的账户的安全信息建立所述环境评分模型。当然,本领域技术人员也可以采用其他方式建立所述环境评分模型,本申请对此不作特殊限制。
步骤103,当所述非安全参数到达预设的阈值时,提供安全验证模式对所述用户进行验证。
基于前述步骤102,服务端在计算得到所述身份验证行为的非安全参数后,判断所述非安全参数是否达到预设的阈值,如果所述非安全参数达到所述阈值,则可以确认所述身份验证行为的风险较高,安全性较差,服务端为确保用户账户安全,提供安全验证模式对所述用户进行验证。如果所述非安全参数没有达到所述阈值,则可以确认所述身份验证行为的安全性较好,服务端提供缺省验证模式即可。
其中,所述缺省验证模式为服务端在用户的身份验证行为的非安全参数没有达到所述阈值时服务端提供的验证模式,比如:让用户输入预设的字符串的验证模式。所述安全验证模式可以采用提供验证问题的方式,也可以采用生物特征识别的方式,还可以采用验证问题和生物特征识别两种方式相结合的方式。
可选的,在本申请另一实施例中,当所述非安全参数达到所述阈值时,还可以提供缺省验证模式和安全验证模式两种模式对所述用户进行验证。
步骤104,当所述安全验证模式通过验证时,确认用户身份合法。
基于前述步骤103,服务端在接收到用户针对所述安全验证模式返回的信息后,进行验证,当所述安全验证模式通过验证时,可以确认用户身份合法。
可选的,在本申请另一实施例中,如果在所述非安全参数达到所述阈值时,提供缺省验证模式和安全验证模式两种模式对所述用户进行验证,则在本步骤中,当所述缺省验证模式和所述安全验证模式均通过验证时,确认用户身份合法。
由以上描述可以看出,本申请在对用户进行身份合法性验证时,可以利用环境信息计算身份验证行为的非安全参数,当确认非安全参数到达阈值时,提供安全验证模式给用户进行验证,成本较低,且安全性高。同时,本申请服务端还可以在所述非安全参数没有到达阈值时,提供缺省验证模式给用户,从而可以根据身份验证行为的安全性灵活选择验证模式,提升用户体验。
图2是本申请一示例性实施例示出的一种利用所述环境信息计算身份验证行为的非安全参数的流程示意图。
请参考图2,所述计算身份验证行为的安全参数,包括以下步骤:
步骤201,计算所述身份验证行为的特征参数。
在本实施例中,所述环境信息为发送所述身份验证行为的终端的特征,比如:终端的IP地址、终端的MAC地址等。
在一个例子中,服务端可以计算用户账户的总数量与使用所述特征的用户账户数量的商值的对数,并将所述对数作为所述特征参数。具体地,假设服务端上注册的用户账户的总数量为N,服务端中记载的使用过所述特征的用户账户的数量为X,则所述身份验证行为的特征参数为N/X的对数。所述对数的底数可以是10,也可以是常数e,还可以是其他大于1的数值,本申请对此不作特殊限制。比如:所述特征参数可以为:所述特征参数也可以为:等。以终端的特征为终端的IP地址为例进行说明,假设服务端上注册的用户账户的总数量为N,当前身份验证行为所使用的终端的IP地址为IPA,服务端中记载的使用过IPA访问服务端在用户账户的数量为X,则该身份验证行为的特征参数可以为:所述特征参数用来表示终端特征的对安全性影响的重要程度,由该公式可以看出,X越大,得到的对数值越小,也就是使用相同特征的终端的用户账户数量越多,该特征的终端对身份验证行为的安全性的影响越小,即安全性越高。
步骤202,计算所述特征参数与使用所述特征的非安全用户账户比例的乘积,将所述乘积作为所述身份验证行为的非安全参数。
基于前述步骤201,在计算得到所述身份验证行为的特征参数后,在本步骤中,计算所述特征参数与使用所述特征的非安全用户账户比例的乘积。具体地,假设,使用过所述特征的X个用户账户中,有Y个用户账户为非安全账户,则使用所述特征的非安全用户账户比例为Y/X,计算所述身份验证行为的非安全参数的环境评分模型可以为:
在本实施例中,可以理解的是,计算得到的所述身份验证行为的非安全参数越高,说明该身份验证行为的风险越高,安全性越低。在本实施例中,服务端可以先计算身份验证行为的非安全参数,然后对比所述非安全参数和预设的阈值,当所述非安全参数达到所述阈值时,可以确认当前的身份验证行为安全性较差,进而提供安全验证模式两种验证模式对用户进行验证。其中,所述预设的阈值可以由开发人员进行设置,本申请对此不作特殊限制。
在本实施例中,当所述非安全参数没有达到所述阈值时,可以提供缺省验证模式对用户进行验证,所述缺省验证模式通常为用户账户默认的验证模式,比如:让用户输入预设的字符串等。
在本实施例中,所述安全验证模式为安全性更高的验证模式,所述安全验证模式可以采用验证问题的方式,也可以采用生物特征识别的方式,还可以采用验证问题和生物特征识别相结合的方式。当采用提供验证问题的方式作为所述安全验证模式时,服务端在接收到用户基于所述验证问题返回的反馈信息后,通过判断所述反馈信息是否匹配所述验证问题的正确答案以进行验证。其中,服务端可以提供给用户一个验证问题,也可以提供给用户多个验证问题,本申请对此不作特殊限制。
图3是本申请一示例性实施例示出的一种提供安全验证模式对用户进行验证的流程示意图。
请参考图3,在一个例子中,所述提供安全验证模式,可以包括以下步骤:
步骤301,针对用户账户,判断是否能够生成N个验证问题。如果能够生成N个验证问题,则执行步骤302。如果不能生成N个验证问题,则执行步骤304。
在本实施例中,服务端在向用户提供验证问题之前,可以根据用户账户的历史业务数据判断是否能够生成N个验证问题。其中,N为大于1的自然数,N的取值可以由开发人员进行设置。所述历史业务数据可以是用户历史上进行业务操作的各种数据,比如:用户进行业务操作的对象、金额以及频率等信息。所述验证问题可以为“与您经常进行业务交互的小伙伴是谁”,“您没有购买过的物品有哪些”等。
当某一用户账户的业务数据较为充足,服务端可以根据所述历史业务数据生成N个验证问题,然后执行步骤302。当某一用户账户的业务数据较少时,比如:用户在最近一年内没有使用过其用户账户,则服务端根据所述该用户账户的历史业务数据可能无法生成N个验证问题,此时,可以执行步骤304。
步骤302,生成N个的验证问题,并将所述N个验证问题提供给用户。
基于前述步骤301的判断结果,如果能够生成N个验证问题,则在本步骤中,服务端可以根据所述用户账户的历史业务数据生成N个验证问题,并将所述N个验证问题提供给用户,以供用户进行回答。本实施例根据用户的历史业务数据生成验证问题,可以有效避免验证问题的答案泄露造成的安全隐患。
步骤303,在所述N个验证问题中存在至少M个验证问题通过验证时,确认所述安全验证模式通过验证。
基于前述步骤302,服务端在将所述N个验证问题提供给用户之后,接收用户返回针对所述N个验证问题的N个反馈信息,然后分别判断每个反馈信息是否匹配对应验证问题的正确答案,当所述反馈信息匹配对应验证问题的正确答案时,确认该验证问题通过验证。在本步骤中,可以依次判断所述N个验证问题是否通过验证,当所述N个验证问题中,存在至少M个验证问题通过验证时,可以确认所述安全验证模式通过验证。当所述N个验证问题中通过验证的验证问题的数量没有达到M时,可以确认所述安全验证模式没有通过验证。其中,M为大于等于1且小于等于N的自然数,M的取值也可以由开发人员进行设置,本申请对此不作特殊限制。
举例来说,假设在步骤302中,服务端生成6个验证问题发送给用户,如果所述6个验证问题中有4个验证问题通过验证,则服务端可以确认用户通过所述安全验证模式的验证。
步骤304,提供生物特征识别的验证方式给用户。
基于前述步骤301的判断结果,如果不能生成N个验证问题,则在本实施例中,服务端可以提供生物特征识别的验证方式给用户。具体地,服务端可以根据合法用户预先设置的生物特征,提供所述生物特征识别的入口给用户。其中,所述生物特征可以包括:指纹、掌纹、人脸照片、虹膜等,本申请对此不作特殊限制。
步骤305,在所述生物特征识别通过验证时,确认所述安全验证模式通过验证。
基于前述步骤304,服务端在提供生物特征识别的验证方式给用户后,接收用户返回的生物特征,并判断该生物特征是否与预先保存的生物特征匹配,如果匹配,则可以确认所述生物特征识别通过验证,进而确认所述安全验证模式通过验证,如果不匹配,则可以确认所述安全验证模式没有通过验证。
由以上描述可以看出,本实施例服务端在提供安全验证模式给用户时,可以先根据用户账户的历史业务数据判断是否可以生成预设数量的验证问题,当可以生成预设数量的验证问题时,可以采用验证问题的验证方式,当不能生成预设数量的验证问题时,可以采用生物特征识别的验证方式,从而实现安全验证模式的灵活选择。
与前述身份验证方法的实施例相对应,本申请还提供了身份验证装置的实施例。
本申请身份验证装置的实施例可以应用在服务端上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在服务端的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本申请身份验证装置所在服务端的一种硬件结构图,除了图4所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的服务端通常根据该服务端的实际功能,还可以包括其他硬件,对此不再赘述。
图5是本申请一示例性实施例示出的一种身份验证装置的结构示意图。
请参考图5,所述身份验证装置400可以包括:请求接收单元401、参数计算单元402、模式提供单元403以及合法确认单元404。
其中,请求接收单元401,接收用户的身份验证请求,所述身份验证请求中携带有所述用户的账户信息及发送所述身份认证请求的环境信息;
所述参数计算单元402,利用所述环境信息,计算身份验证行为的非安全参数;
所述模式提供单元403,当所述非安全参数达到预设的阈值时,提供安全验证模式对所述用户进行验;
所述合法确认单元404,当所述安全验证模式通过验证时,确认用户身份合法。
进一步地,所述参数计算单元402,具体利用所述环境信息,通过环境评分模型计算所述非安全参数。进一步地,所述环境信息包括:发生所述身份验证行为的终端的特征;
所述环境评分模型根据历史上使用过所述特征的账户的安全信息而建立。
进一步地,所述参数计算单元402,具体计算所述身份验证行为的特征参数,然后计算所述特征参数与使用所述特征的非安全用户账户比例的乘积,将所述乘积作为所述非安全参数。
进一步地,所述参数计算单元402,具体计算用户账户的总数量与使用所述特征的用户账户数量的商值的对数,将所述对数作为所述特征参数。
进一步地,所述模式提供单元403,具体提供验证问题的验证方式给用户,当所述验证问题通过验证时,确认所述安全验证模式通过验证。
进一步地,所述模式提供单元403提供验证问题,包括:
针对所述用户账户,判断是否能够生成N个验证问题,其中,N为大于1的自然数;
如果能够生成N个验证问题,则生成N个的验证问题,并将所述N个验证问题提供给用户;
如果所述N个验证问题中存在至少M个验证问题通过验证,则确认所述安全验证模式通过验证,M为大于等于1且小于等于N的自然数。
进一步地,所述模式提供单元403,在不能生成N个验证问题时,提供生物特征识别的验证方式给用户,在所述生物特征识别通过验证时,确认所述安全验证模式通过验证。
进一步地,所述模式提供单元403,具体根据所述用户账户的历史业务数据生成所述验证问题。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。