一种用户安全登录多因素验证方法及装置与流程
未命名
09-18
阅读:99
评论:0
1.本文涉及金融科技领域,尤其是一种用户安全登录多因素验证方法及装置。
背景技术:
2.注册作为网站和应用程序app的重要交互端口,是一切用户行为的源头。用户下载app时通常使用手机号作为注册账号进行注册、登录,注册过程中首先需要用户输入字符验证码以证明用户是真实用户,再由用户请求短信验证,最后输入确认码才算结束。
3.短信验证因为用户广泛拥有且方便验证,是目前最普遍的身份验证形式。不过短信验证接口存在遭受黑产攻击的风险,黑产自动化程序在短时间内会发起大批量请求利用和攻击,对企业造成额外的威胁的风险。因此app运营者需要多种安全工具来防范黑产的攻击。
技术实现要素:
4.为解决上述现有技术的验证方法无法抵御黑产攻击风险的问题,本文实施例提供了一种用户安全登录多因素验证方法及装置。
5.本文实施例提供了一种用户安全登录多因素验证方法,包括:获取用户在登录设备时的预登录信息;根据所述用户对预登录信息的选择,确定一种预登录方式,所述预登录方式包括:验证码登录、密码登录其中的一种;根据用户历史登录信息,判断用户是否属于白名单用户并确定用户风险级别;若用户属于白名单用户,判断所述用户当前是否首次登录当前设备;若首次登录当前设备,利用第一验证方式验证用户登录行为,所述第一验证方式为所述验证码登录和密码登录;若通过所述第一验证方式,根据用户风险级别判断是否利用第二验证方式验证用户登录行为,其中所述第二验证方式与所述第一验证方式不同;若通过所述第二验证方式,则允许用户安全登录;若用户不属于白名单用户,则所述选择的一种预登录方式登录设备。
6.根据本文实施例的一个方面,根据用户历史登录设备信息,判断用户是否属于白名单用户包括:将预设历史周期内的用户历史登录信息输入至预先构建的登录校验预测模型,预测得到用户是否属于白名单用户及用户风险级别的结果,其中,所述登录验证预测模型根据用户历史样本登录信息训练得到。
7.根据本文实施例的一个方面,所述登录验证预测模型的训练过程包括:获取预设历史周期内的用户登录信息中的不同类型的登录参数;统计每一登录参数对应的不同参数值的数量;将所述登录参数及登录参数对应的不同参数值的数量,作为用户历史样本登录信息输入至基础机器学习模型中,训练得到登录验证预测模型。
8.根据本文实施例的一个方面,判断所述用户当前是否首次登录当前设备包括:从预登录信息中,获取用户登录的当前设备信息;获取本地记录中存储的历史登录设备信息;根据历史登录设备信息,判断用户是否首次登录当前设备。
9.根据本文实施例的一个方面,若首次登录当前设备,利用第一验证方式验证用户
登录行为包括:判断用户是否已设置密码;若已设置密码,依次利用验证码及密码验证用户登录行为;若未设置密码,验证用户身份是否为本人;若是,提供密码设置界面供所述用户设置密码,并依次利用验证码及密码验证用户登录行为。
10.根据本文实施例的一个方面,若已设置密码,依次利用验证码及密码验证用户登录行为包括:若当前用户当前预登录设备的方式为验证码登录,验证所述用户输入的验证码;若验证码验证通过,跳转至密码输入页面,验证所述用户输入的密码;若密码验证通过,判断所述用户成功登录。
11.根据本文实施例的一个方面,依次利用验证码及密码验证所述用户登录行为进一步包括:若用户当前预登录设备的方式为密码登录,验证用户输入的密码;若密码验证通过,跳转至验证码输入页面,验证所述用户输入的验证码;若验证码验证通过,判断所述用户登录成功。
12.根据本文实施例的一个方面,若通过一级验证,根据用户风险级别判断是否利用第二验证方式验证用户登录行为包括:判断用户风险级别是否高于预设安全级别;若是,利用第二验证方式验证用户登录行为;若否,则允许通过所述预登录方式的用户登录。
13.根据本文实施例的一个方面,若所述用户非首次登录当前设备,则允许通过所述预登录方式的用户登录。
14.本文实施例还提供了一种用户安全登录多因素验证装置,所述装置包括:预登录信息获取单元,用于获取用户在登录设备时的预登录信息;预登录方式确定单元,用于根据所述用户对预登录信息的选择,确定一种预登录方式,所述预登录方式包括:验证码登录、密码登录其中的一种;风险级别确定单元,用于根据用户历史登录信息,判断用户是否属于白名单用户并确定用户风险级别;判断单元,用于若用户属于白名单用户,判断所述用户当前是否首次登录当前设备;第一验证单元,用于若首次登录当前设备,利用第一验证方式验证用户登录行为;第二验证单元,用于若通过所述第一验证方式,根据用户风险级别判断是否利用第二验证方式验证用户登录行为,其中所述第二验证方式与所述第一验证方式不同;确认单元,用于若通过所述第二验证方式,则允许用户安全登录;允许单元,用于若用户不属于白名单用户,则允许通过所述预登录方式的用户登录设备。
15.本文实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述用户安全登录多因素验证方法。
16.本文实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现所述用户安全登录多因素验证方法。
17.本文实施例还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现所述用户安全登录多因素验证方法。
18.本文通过设置多重验证要素,对存在登录风险的用户进行登录验证,有效抵御大批量恶意登录请求。
附图说明
19.为了更清楚地说明本文实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本文
的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
20.图1所示为本文实施例一种用户安全登录多因素验证方法的流程图;
21.图2所示为本文实施例一种训练登录验证预测模型的方法流程图;
22.图3所示为本文实施例一种判断用户是否首次登录当前设备的方法流程图;
23.图4所示为本文实施例一种利用第一验证方式验证用户登录行为的方法流程图;
24.图5所示为本文实施例一种依次利用验证码及密码验证用户登录行为的方法流程图;
25.图6所示为本文实施例另一种依次利用验证码及密码验证用户登录行为的方法流程图;
26.图7所示为本文实施例一种判断是否利用第二验证方式验证用户登录行为的方法流程图;
27.图8所示为本文实施例一种用户安全登录多因素验证装置的结构示意图;
28.图9所示为本文实施例一种计算机设备的结构示意图。
29.附图符号说明:
30.801、预登录信息获取单元;
31.802、预登录方式确定单元;
32.803、风险级别确定单元;
33.804、判断单元;
34.805、第一验证单元;
35.806、第二验证单元;
36.807、确认单元;
37.808、允许单元;
38.902、计算机设备;
39.904、处理器;
40.906、存储器;
41.908、驱动机构;
42.910、输入/输出模块;
43.912、输入设备;
44.914、输出设备;
45.916、呈现设备;
46.918、图形用户接口;
47.920、网络接口;
48.922、通信链路;
49.924、通信总线。
具体实施方式
50.为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本文实施例中的附图,对本文实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例
仅仅是本文一部分实施例,而不是全部的实施例。基于本文中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本文保护的范围。
51.需要说明的是,本文的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本文的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
52.本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或装置产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行。
53.需要说明的是,本文方法可用计算机领域,也可用于金融领域,本文对用户安全登录多因素验证方法及装置的应用领域不做限定。本技术技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
54.图1所示为本文实施例一种用户安全登录多因素验证方法的流程图,具体包括如下步骤:
55.步骤101,获取用户在登录设备时的预登录信息。本技术中,用户登录设备时的预登录信息反映用户登录的是什么应用程序或小程序、用户登录的账号、将在什么设备上登录、用户登录设备时所处的地理位置等。其中,预登录信息包括但不限于:登录设备、用户ip地址、mac地址、用户操作系统、用户设备型号等。
56.步骤102,根据所述用户对预登录信息的选择,确定一种预登录方式,所述预登录设备的方式包括:验证码登录、密码登录中的一种。
57.本步骤中,获取用户当前准备登录应用的方式。其中,用户预登录设备的方式包括:验证码登录或密码登录中的其中之一。具体的,应用系统或管理应用系统的服务器获取用户在应用系统侧触发的行为。例如,当用户在应用系统相应位置处点击“获取验证码”或发生了触发请求验证码的行为,本方法可以识别用户行为,即为用户当前预登录设备的方式。又例如,当用户在应用系统相应位置处点击“输入密码”或在密码输入菜单栏、密码输入位置发生了键入行文,本方案可以识别用户行为,即为用户当前预登录设备的方式。本说明书实施例中,当用户创建密码时,服务端生成一串随机数返回给客户端,用户输入明文密码点击提交后,将随机数追加到明文密码后,使用存储在客户端的公钥对明文密码进行加密,得到了加密串。进一步通过接口返回加密串到服务端,服务端用私钥对加密串进行解密,解密后再进行密码哈希。数据库存储户名、哈希值、随机数。后续步骤中根据数据库当前存储的户名、哈希值及随机数,进行密码验证。
58.步骤103,根据用户历史登录信息,判断用户是否属于白名单用户并确定用户风险级别。在本步骤中,白名单用户表示存在登录风险的用户,当用户在过去一段时间内登录行为存在异常,则该用户将被列为白名单用户。
59.具体的,根据过去一段时间内用户的交易设备信息、用户ip地址、用户登录位置
(经度、纬度),mac地址、操作系统类型种类编码、操作系统版本取值、手机型号、手机号码列表内容、应用信息列表内容、网络类型描述、app版本号、所属城市编码、浏览器版本号、处理器版本号、gpu信息是否一致,确定用户是否存在异常登录行为。若用户的上述信息在过去一段时间内未发生变化,或变化范围在合理允许范围内,则认为用户登录行为正常,用户不属于白名单用户。
60.进一步的,还可以根据过去一段时间内用户持有设备的电池信息、陀螺仪信息、设备显示器屏幕亮度值、调试状态标志,进程xposed框架标志,模拟定位开关标志的记录等用户历史登录信息,判断用户是否存在异常登录行为。
61.同时,根据上述用户的用户历史登录信息,确定用户风险等级。具体的,用户历史登录信息在过去一段时间内一致,用户登录行为正常无风险,则用户风险等级为零;若用户历史登录信息在过去一段时间内变化频次较高,用户登录行为存在风险,则确定用户风险等级较高。
62.本技术中,将用户历史登录信息输入至训练好的登录验证预测模型中,可以得到用户的风险级别。关于登录验证预测模型的训练过程具体见图2的详细描述。
63.步骤104,若用户属于白名单用户,判断所述用户当前是否首次登录当前设备。在本步骤中,若用户登录行为存在风险,则需要判断用户是否第一次登录当前预备登录的设备。
64.步骤105,若首次登录当前设备,利用第一验证方式验证用户登录行为。本技术中,若用户首次登录当前设备,相比于用户此前已经登录过当前设备的情形,需要对用户首次登录设备的行为严加监管。因此首先需要利用第一验证方式验证用户的登录行为。在本步骤中,第一验证方式为所述验证码登录和密码登录,例如,密码验证及验证码验证的组合。本步骤需要分别利用第一验证方式中的所有验证方式验证用户登录行为,并确定用户登录行为是否通过第一验证方式中的所有验证。
65.在本说明书的一些实施例中,若用户非首次登录当前设备,则允许通过其在步骤102中选择的预登录方式进行用户登录,即,在用户通过预登录方式的验证后,允许用户登录设备。
66.步骤106,若通过所述第一验证方式,则根据用户风险级别判断是否利用第二验证方式验证用户登录行为,其中所述第二验证方式不同于所述第一验证方式。若通过第一验证,还需要根据用户风险级别,确定是否需要使用第二验证方式验证用户的登录行为。其中,用户风险级别表征用户在过去一段时间内的登录行为的风险程度,若用户风险级别较高,则需要对该用户着重关注,在第一验证方式的基础上,进一步使用第二验证方式验证用户的登录行为是否正常。其中,第二验证方式不同于第一验证方式,第二验证方式也可以是一个或多个验证方式的组成或集合,第二验证方式中的验证方式的验证准确度比第一验证方式中的验证方式更高。
67.步骤107,若通过第二验证方式,则允许用户安全登录。若用户登录行为通过第二验证,确定用户登录行为正常,允许用户进行安全登录。
68.步骤108,若用户不属于白名单用户,则通过所述选择的一种预登录方式登录设备。本步骤对应于步骤104中的判断,若用户不属于白名单用户,说明用户在过去一段时间的登录行为无异常或风险程度低,则在用户通过预登录方式的验证后,允许用户登录设备。
本方案通过设置多重验证要素,对存在登录风险的用户进行登录验证,有效抵御大批量的恶意登录请求。
69.在本说明书的一些实施例中,根据用户历史登录设备信息,判断用户是否属于白名单用户包括:将预设周期内的用户历史登录信息输入至预先构建的登录校验预测模型,预测得到用户是否属于白名单用户及用户风险级别的结果,其中,所述登录验证预测模型根据用户历史样本登录信息训练得到。在本说明书的一些实施例中,利用预先构建的登录校验预测模型,可以根据用户历史登录信息预测用户是否属于白名单用户,以及预测得到用户风险识别结果。具体描述见图2。
70.图2所示为本文实施例一种训练登录验证预测模型的方法流程图。
71.步骤201,获取预设历史周期内的用户登录信息中的不同类型的历史样本登录参数及用户的历史样本交易风险值,作为训练样本数据集,所述历史样本登录参数包括每一历史样本登录参数不同参数值的数量。由前文所述,用户登录信息中包括多种不同类型的信息,将其称为用户登录参数。用户登录参数包括但不限于:用户ip地址、用户地理位置、mac地址、用户设备星号、网络类型、用户设备操作系统类型等。本步骤中,在生产环境提取纯验证码登录方式或纯密码验证方式登录的用户信息。
72.在将历史样本参数确定为训练样本数据集之前,统计历史样本参数在预设历史周期内具有不同参数值的数量。例如,用户甲在过去一个月内登录设备的ip地址发生多次变化,共出现了5次不同的ip地址。则统计得到用户ip地址这一登录参数对应的不同参数值的数量为5。又例如,用户丙在过去10天内登录设备的手机型号发生多次变化,共涉及12种不同的手机型号,在统计得到用户设备型号这一登录参数对应的不同参数值的数量为12。本说明书实施例中,用户样本历史登录参数具有越多的不同参数值,说明该样本历史登录参数的风险越高,反之具有越少的不同参数值,则该样本历史登录参数的风险越低、本技术在此对用户登录参数及对应的不同参数值的数量不作限定。
73.进一步的,根据用户的历史样本登录参数及其对应的不同参数值的数量,确定用户历史样本登录参数各自对应的交易风险值,从而得到历史样本交易风险值。将历史样本登录参数及历史样本交易风险值,作为训练样本数据集。
74.步骤202,将所述训练样本数据集输入至深度置信网络,根据深度置信网络输出的风险预测值与交易风险值的差异,迭代训练所述深度置信网络,得到登录验证预测模型。将不同类型的登录参数、每种登录参数对应的不同参数值的数量作为用户历史样本登录信息,也即模型训练样本,用于基础机器学习模型的训练,经过迭代更新,从而训练得到登录验证预测模型。深度置信网络(deep belief network,dbn)是一个概率生成模型,用于建立一个观察数据和标签之间的联合分布。dbn由多个限制玻尔兹曼机层、一个典型的神经网络组成。这些网络被“限制”为一个可视层和一个隐层,层间存在连接,但层内的单元间不存在连接。隐层单元被训练用于捕捉在可视层表现出来的高阶数据的相关性。
75.根据用户登录后发生的交易风险值计算出模型中各个样本参数的权重,进行模型初始化,得到初始登录验证预测模型。选取交易风险值超出预设阈值的用户加入白名单。然后根据白名单中用户的登录行为对初始模型进行动态调整,得出稳定的权重。从而得到登录验证预测模型。使用dbn相比于传统的机器学习算法如svm、聚类算法、决策树等具有更智能的优势,dbn可以在训练过程中自主发现样本数据之间的关联关系和规律,并通过调节自
身的权重值来持久化发现的关联关系和规律。减少了人工识别风险用户的成本,提高更新风险因素的时效性。
76.图3所示为本文实施例一种判断用户是否首次登录当前设备的方法流程图,具体包括如下步骤:
77.步骤301,从预登录信息中,获取用户登录的当前设备信息。如步骤101所述,从用户在登录设备时的预登录信息中,获取用户登录的当前设备的信息。
78.步骤302,获取本地记录中存储的历史登录设备信息。本步骤中,可以从数据库中查询用户历史登录设备的信息。
79.步骤303,根据历史登录设备信息,判断用户是否首次登录当前设备。根据预登录信息中的用户登录的当前设备信息及历史登录设备的信息,判断用户登录的当前设备信息是否与历史登录设备相同,如是,确定用户不是首次登录当前设备;若否,确定用户是首次登录当前设备。
80.图4所示为本文实施例一种利用第一验证方式验证用户登录行为的方法流程图,在本方法中,第一验证方式为密码验证及验证码验证两种验证方式的组合,本方法具体包括如下步骤:
81.步骤401,判断用户是否已设置密码。本步骤中,通过调用本地记录的用户注册信息,从用户注册信息中确定用户此前是否已设置登录应用程序的密码。
82.步骤402,若已设置密码,依次利用验证码、密码验证用户登录行为。若用户已设置密码,则使用验证码及密码组合验证的方式,依次分别验证用户的登录行为是否存在风险。其中,首先需要区分用户预登录设备的方式是哪一种,并利用该预登录设备的方式验证用户的登录行为,其次再利用第一验证方式中的另外一种方式验证用户的登录行为。
83.步骤403,若未设置密码,验证用户身份是否为本人。在本步骤中,若用户未设置密码,则需要用户设置密码。在用户设置密码之前,通过其他验证方式验证用户身份,在确定用户通过身份验证之后,再对用户登录行为进行验证。具体的,若用户此前未设置密码,则可以利用问题回答、人脸验证等方式与数据库中存储的用户数据进行比对,确认当前用户是否为用户本人。
84.步骤404,若是,提供密码设置界面供所述用户设置密码,并依次利用验证码及密码验证用户登录行为。若确定用户为本人,则在验证码输入窗口下方动态显示密码设置窗口,由用户分别在验证码输入窗口输入验证码,在密码
85.图5所示为本文实施例一种依次利用验证码及密码验证用户登录行为的方法流程图。由前文所述,用户预登录方式包括验证码登录、密码登录。其中,本方案适用于用户预登录方式为验证码登录的场景,方法具体包括如下步骤:
86.步骤501,若当前用户当前预登录设备的方式为验证码登录,验证所述用户输入的验证码。本步骤中,当用户输入验证码之后,点击登录按钮,则校验用户输入的验证码是否准确。
87.步骤502,若验证码验证通过,跳转至密码输入页面,验证所述用户输入的密码。若校验通过,返回校验成功的提示,并跳转至新的输入密码的页面,由用户输入密码。当用户输入密码后,验证用户输入的密码是否准确。在本说明书的一些实施例中,在验证用户输入的密码时,服务端将数据库存储的随机数返回给客户端,用户输入明文密码点击提交后,将
客户端的随机数追加到明文密码后,并使用存储在客户端的公钥对明文密码加密,得到了加密串。进一步通过接口将加密串返回到服务端,服务端使用私钥对加密串进行解密,解密后再进行密码哈希,校验数据库的用户名、哈希值、随机数与接口上送的用户名、哈希值、随机数是否一致,一致则验证通过,否则不通过
88.步骤503,若密码验证通过,判断所述用户成功登录。在本说明书另外一些实施例中,密码验证通过、用户点击登录之后,还需要校验时间戳,如果用户输入密码及验证密码时,数据库与接口上送的用户名、哈希值、随机数、时间戳一致,则认为是重放,不允许用户登录,确定用户登录失败。
89.本步骤中,确定用户登录成功同时,保存用户的登录数据到本地,包括但不限于:用户本次登录的预登录信息、登录使用的验证码及密码等数据。
90.在本说明书实施例中,当用户修改密码并登录设备时,需要验证原密码是否正确,因此在用户输入新密码时服务端要重新生成随机数。本说明书实施例使用明文密码追加加密串的方法,可以保证密码加密传输,防止客户端到服务端存在不安全传输;进行公钥加密可以保证即使不同的用户使用相同的密码,生成的加密串不同,规避了网络监听风险;另外,数据库储存哈希值,避免明文储存密码。
91.图6所示为本文实施例另一种依次利用验证码及密码验证用户登录行为的方法流程图,由前文所述,用户预登录方式包括验证码登录、密码登录。其中,本方案适用于用户预登录方式为密码登录的场景,方法具体包括如下步骤:
92.步骤601,若用户当前预登录设备的方式为密码登录,验证用户输入的密码。本步骤中在密码输入页面验证用户输入的密码与用户注册信息中此前设置的登录密码进行比对,确认用户输入的密码与此前设置的登录密码是否一致。
93.步骤602,若密码验证通过,跳转至验证码输入页面,验证所述用户输入的验证码。若密码验证通过,则返回密码校验成功的提示,并进入验证码输入页面,待用户输入验证码后,验证用户输入的验证码与系统发送的验证码是否一致。本步骤中验证密码的方式与步骤503相同,本步骤在此不作赘述。本说明书实施例的密码验证方法相较于现有技术可以降低密码储存、网络监听和重放的风险。
94.步骤603,若验证码验证通过,判断所述用户登录成功。
95.图7所示为本文实施例一种判断是否利用第二验证方式验证用户登录行为的方法流程图,具体包括如下步骤:
96.步骤701,判断用户风险级别是否高于预设安全级别。基于前述步骤确定用户风险级别之后,将用户风险级别与预设安全级别进行比较。若用户风险级别高于预设安全级别,则确定用户风险较高,用户在过去一段时间内的历史登录信息发生变动的次数较高。例如,预设安全级别为2级,根据前述步骤确定的用户风险级别为3级,则用户风险级别高于预设安全级别。
97.步骤702,若是,利用第二验证方式验证用户登录行为。在步骤中,第二验证方式不同于第一验证方式,第二验证方式比第一验证方式的验证级别更高,用于验证风险程度较高的用户。第二验证方式包括但不限于:人脸图像识别、人脸视频识别、声纹识别、虹膜是被等。
98.步骤703,若否,则允许通过所述预登录方式的用户登录。
99.本方案通过设置多重验证要素,对存在登录风险的用户进行登录验证,相比于单独的短信验证方式安全性更高,能够有效抵御大批量的恶意登录请求。
100.如图8所示为本文实施例一种用户安全登录多因素验证装置的结构示意图,在本图中描述了用户安全登录多因素验证装置的基本结构,其中的功能单元、模块可以采用软件方式实现,也可以采用通用芯片或者特定芯片实现用户安全登录多因素验证,该装置具体包括:
101.预登录信息获取单元801,用于获取用户在登录设备时的预登录信息;
102.预登录方式确定单元802,用于根据所述用户对预登录信息的选择,确定一种预登录方式,所述预登录方式包括:验证码登录、密码登录其中的一种;
103.风险级别确定单元803,用于根据用户历史登录信息,判断用户是否属于白名单用户并确定用户风险级别;
104.判断单元804,用于若用户属于白名单用户,判断所述用户当前是否首次登录当前设备;
105.第一验证单元805,用于若首次登录当前设备,利用第一验证方式验证用户登录行为;
106.第二验证单元806,用于若通过所述第一验证方式,根据用户风险级别判断是否利用第二验证方式验证用户登录行为,其中所述第二验证方式与所述第一验证方式不同;
107.确认单元807,用于若通过所述第二验证方式,则允许用户安全登录;
108.允许单元808,用于若用户不属于白名单用户,则允许通过所述预登录方式的用户登录设备。
109.本方案通过设置多重验证要素,对存在登录风险的用户进行登录验证,有效抵御大批量的恶意登录请求。
110.如图9所示,为本文实施例提供的一种计算机设备,所述计算机设备可用于执行所述用户安全登录多因素验证方法。所述计算机设备902可以包括一个或多个处理器904,诸如一个或多个中央处理单元(cpu),每个处理单元可以实现一个或多个硬件线程。计算机设备902还可以包括任何存储器906,其用于存储诸如代码、设置、数据等之类的任何种类的信息。非限制性的,比如,存储器906可以包括以下任一项或多种组合:任何类型的ram,任何类型的rom,闪存设备,硬盘,光盘等。更一般地,任何存储器都可以使用任何技术来存储信息。进一步地,任何存储器可以提供信息的易失性或非易失性保留。进一步地,任何存储器可以表示计算机设备902的固定或可移除部件。在一种情况下,当处理器904执行被存储在任何存储器或存储器的组合中的相关联的指令时,计算机设备902可以执行相关联指令的任一操作。计算机设备902还包括用于与任何存储器交互的一个或多个驱动机构908,诸如硬盘驱动机构、光盘驱动机构等。
111.计算机设备902还可以包括输入/输出模块910(i/o),其用于接收各种输入(经由输入设备912)和用于提供各种输出(经由输出设备914)。一个具体输出机构可以包括呈现设备916和相关联的图形用户接口(gui)918。在其他实施例中,还可以不包括输入/输出模块910(i/o)、输入设备912以及输出设备914,仅作为网络中的一台计算机设备。计算机设备902还可以包括一个或多个网络接口920,其用于经由一个或多个通信链路922与其他设备交换数据。一个或多个通信总线924将上文所描述的部件耦合在一起。
112.通信链路922可以以任何方式实现,例如,通过局域网、广域网(例如,因特网)、点对点连接等、或其任何组合。通信链路922可以包括由任何协议或协议组合支配的硬连线链路、无线链路、路由器、网关功能、名称服务器等的任何组合。
113.对应于图1至图6中的方法,本文实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法的步骤。
114.本文实施例还提供一种计算机可读指令,其中当处理器执行所述指令时,其中的程序使得处理器执行如图1至图7所示的方法。
115.应理解,在本文的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本文实施例的实施过程构成任何限定。
116.还应理解,在本文实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
117.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本文的范围。
118.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
119.在本文所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
120.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本文实施例方案的目的。
121.另外,在本文各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
122.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本文的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设
备(可以是个人计算机,服务器,或者网络设备等)执行本文各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
123.本文中应用了具体实施例对本文的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本文的方法及其核心思想;同时,对于本领域的一般技术人员,依据本文的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本文的限制。
技术特征:
1.一种用户安全登录多因素验证方法,其特征在于,所述方法包括:获取用户在登录设备时的预登录信息;根据所述用户对预登录信息的选择,确定一种预登录方式,所述预登录方式包括:验证码登录、密码登录其中的一种;根据用户历史登录信息,判断用户是否属于白名单用户并确定用户风险级别,包括:将预设历史周期内的用户历史登录信息输入至预先构建的登录校验预测模型,预测得到用户是否属于白名单用户及用户风险级别的结果,其中,训练登录验证预测模型包括:获取预设历史周期内的用户登录信息中的不同类型的历史样本登录参数及用户的历史样本风险值,作为训练样本数据集,所述历史样本登录参数包括每一历史样本登录参数对应的不同参数值的数量;将所述训练样本数据集输入至深度置信网络,根据深度置信网络输出的风险预测值与风险值的差异,迭代训练所述深度置信网络,得到登录验证预测模型;若用户属于白名单用户,判断所述用户当前是否首次登录当前设备;若首次登录当前设备,利用第一验证方式验证用户登录行为,所述第一验证方式为所述验证码登录和密码登录;若通过所述第一验证方式,根据用户风险级别判断是否利用第二验证方式验证用户登录行为,其中所述第二验证方式与所述第一验证方式不同;若通过所述第二验证方式,则允许用户安全登录;若用户不属于白名单用户,则通过所述选择的一种预登录方式登录设备。2.根据权利要求1所述的用户安全登录多因素验证方法,其特征在于,当使用密码登录方式验证用户登录行为时,所述方法包括:获取密码创建时存储的用户名、生成的随机数及解密使用的第一密码哈希值;获取当前输入的用户名、密码、所述随机数及加密所述密码时使用的第二密码哈希值;验证密码创建时的用户名与当前输入的用户名,所述第一密码哈希值和第二密码哈希值、所述哈希值是否一致。3.根据权利要求1所述的用户安全登录多因素验证方法,其特征在于,判断所述用户当前是否首次登录当前设备包括:从预登录信息中,获取用户登录的当前设备信息;获取本地记录中存储的历史登录设备信息;根据历史登录设备信息,判断用户是否首次登录当前设备。4.根据权利要求1所述的用户安全登录多因素验证方法,其特征在于,若首次登录当前设备,利用第一验证方式验证用户登录行为包括:判断用户是否已设置密码;若已设置密码,依次利用验证码及密码验证用户登录行为;若未设置密码,验证用户身份是否为本人;若是,提供密码设置界面供所述用户设置密码,并依次利用验证码及密码验证用户登录行为。5.根据权利要求4所述的用户安全登录多因素验证方法,其特征在于,若已设置密码,依次利用验证码及密码验证用户登录行为包括:
若当前用户当前预登录设备的方式为验证码登录,验证所述用户输入的验证码;若验证码验证通过,跳转至密码输入页面,验证所述用户输入的密码;若密码验证通过,判断所述用户成功登录。6.根据权利要求5所述的用户安全登录多因素验证方法,其特征在于,依次利用验证码及密码验证所述用户登录行为进一步包括:若用户当前预登录设备的方式为密码登录,验证用户输入的密码;若密码验证通过,跳转至验证码输入页面,验证所述用户输入的验证码;若验证码验证通过,判断所述用户登录成功。7.根据权利要求6所述的用户安全登录多因素验证方法,其特征在于,若通过一级验证,根据用户风险级别判断是否利用第二验证方式验证用户登录行为包括:判断用户风险级别是否高于预设安全级别;若是,利用第二验证方式验证用户登录行为;若否,则允许通过所述预登录方式的用户登录。8.根据权利要求1所述的用户安全登录多因素验证方法,其特征在于,若所述用户非首次登录当前设备,则允许通过所述预登录方式的用户登录。9.一种用户安全登录多因素验证装置,其特征在于,所述装置包括:预登录信息获取单元,用于获取用户在登录设备时的预登录信息;预登录方式确定单元,用于根据所述用户对预登录信息的选择,确定一种预登录方式,所述预登录方式包括:验证码登录、密码登录其中的一种;风险级别确定单元,用于根据用户历史登录信息,判断用户是否属于白名单用户并确定用户风险级别;判断单元,用于若用户属于白名单用户,判断所述用户当前是否首次登录当前设备;第一验证单元,用于若首次登录当前设备,利用第一验证方式验证用户登录行为;第二验证单元,用于若通过所述第一验证方式,根据用户风险级别判断是否利用第二验证方式验证用户登录行为,其中所述第二验证方式与所述第一验证方式不同;确认单元,用于若通过所述第二验证方式,则允许用户安全登录;允许单元,用于若用户不属于白名单用户,则允许通过所述预登录方式的用户登录设备。10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8任意一项所述的方法。11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至8任意一项所述的方法。12.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现权利要求1至8任意一项所述的方法。
技术总结
本文涉及金融科技领域,尤其涉及一种用户安全登录多因素验证方法及装置。包括:获取用户在登录设备时的预登录信息;根据用户对预登录信息的选择,确定预登录方式;根据用户历史登录信息,判断用户是否属于白名单用户并确定用户风险级别;若用户属于白名单用户,判断用户是否首次登录当前设备;若首次登录,利用第一验证方式验证用户登录行为,第一验证方式为验证码登录和密码登录;若通过第一验证方式,根据用户风险级别判断是否利用第二验证方式验证用户登录行为,其中第二验证方式与所述第一验证方式不同;若通过第二验证方式,则允许用户登录。本方案通过设置多重验证要素,对存在登录风险的用户进行登录验证,有效抵御大批量的恶意登录请求。量的恶意登录请求。量的恶意登录请求。
技术研发人员:梁沛霖 李尚真 谢潇宇
受保护的技术使用者:建信金融科技有限责任公司
技术研发日:2023.07.03
技术公布日:2023/9/14
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
