密码重置请求的鉴别方法与装置与流程

文档序号:18741440发布日期:2019-09-21 01:49阅读:263来源:国知局
密码重置请求的鉴别方法与装置与流程

本发明涉及数据安全保护,尤其是涉及密码重置鉴别技术。



背景技术:

随着网络的普及,用户可在各种业务平台上实现多种业务,例如购物、远程办公等。通常为实现相应的业务,用户需要登录到业务平台上并设置相应的密码以保证帐户安全。同时为了增强安全性,业务平台在用户注册时设置了多项需要用户回答的问题,作为用户在找回密码或重置密码时确认该用户是否有资格找回密码的检验手段,或者结合用户注册时添写的个人信息,业务平台利用用户注册时回答的一个或多个问题及个人信息确认来生成验证问题,以判断用户有否有资格重置密码。然而,截止目前,尚不存在有效的策略来对用户重置密码的动机是否合理做出有效判断。



技术实现要素:

本发明提出一种评估用户重置密码请求的方案,从而对用户重置密码的请求判断其动机合理性。按照本发明的一个实施例,对重置密码动机合理的重置密码请求可以生成一些比较容易通过的校验问题,对动机合理性存疑的请求生成正常难度的校验问题,而对动机不合理的请求则做出比较严格的校验。为了充分学习用户重置密码的动机,本发明利用深度学习神经网络框架来对业务平台上大量用户在重置密码时发生的事件进行处理,从而训练出学习到用户的行为模式的密码重置鉴别模型。利用该密码重置鉴别模型,可对用户发出重置密码请求的合理性进行评估,进而根据评估的合理性为用户设置相应的验证问题。

根据本发明的一个方面,提供一种鉴别密码重置请求的方法,包括:接收用户在业务平台上发起的密码重置请求;提取该用户在发起所述重置请求之前的预定时间周期内在该业务平台上多个事件,其中每个事件包括多个属性特征;将所述多个事件转换为多组特征向量;利用密码重置鉴别模型处理所述多组特征向量以产生针对该密码重置请求的评估分值;基于所述评估分值,生成作为该密码重置请求的响应的验证问题,其中所述验证问题具有与所述评估分值对应的复杂度水平。

根据本发明的另一个方面,提供一种鉴别密码重置请求的装置,包括:请求接收模块,用于接收用户在业务平台上发起的密码重置请求;事件提取模块,用于提取该用户在发起所述重置请求之前的预定时间周期内在该业务平台上多个事件,其中每个事件包括多个属性特征;向量生成模块,用于将所述多个事件转换为多组特征向量;请求评估模块,用于利用密码重置鉴别模型处理所述多组特征向量以产生针对该密码重置请求的评估分值;问题生成模块,用于基于所述评估分值,生成作为该密码重置请求的响应的验证问题,其中所述验证问题具有与所述评估分值对应的复杂度水平。

根据本发明的再一个方面,提供一种鉴别密码重置请求的计算设备,包括:用户接口,用于接收用户在业务平台上发起的密码重置请求;控制单元,配置为:提取该用户在发起所述重置请求之前的预定时间周期内在该业务平台上多个事件,其中每个事件包括多个属性特征;将所述多个事件转换为多组特征向量;利用密码重置鉴别模型处理所述多组特征向量以产生针对该密码重置请求的评估分值;基于所述评估分值,生成作为该密码重置请求的响应的验证问题,其中所述验证问题具有与所述评估分值对应的复杂度水平。

此外,本发明的实施例还提供一种计算设备,包括:至少一个处理器,以及与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行本发明的方法。

此外,本发明的实施例还提供一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行本发明的方法。

由此,根据本发明的方案,通过为不同的用户设置不同类型的检验问题,既可提高了有合理性重置密码需要的正常用户的改密体验,加强密码的安全性,从而有效防止不利于业务平台的舆情的出现;同时也可以尽量避免非合理重置密码的过分操作。

附图说明

图1示出根据本发明实施例的鉴别装置的框图;

图2示出根据本发明实施例的密码重置鉴别模型的训练装置框图;

图3示出根据本发明实施例的密码重置鉴别方法的流程图;

图4示出根据本发明另一实施例的计算装置示意图。

具体实施方式

下面结合附图对本发明实施例提供的装置与方法及进行详细说明。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整的传达给本领域的技术人员。

图1示出了根据本发明一个实施例的密码重置请求的鉴别装置100的框图。如图所示,该鉴别装置100包括请求接收模块102、事件提取模块104、向量生成模块106、请求评估模块108以及问题生成模块110。当用户A在业务平台SP上希望重置密码时,请求接收模块102接收来自用户A的密码重置请求PRR。按照本发明的实施例,鉴别装置100既可以位于业务平台SP内部,也可以独立于业务平台SP。以下示例中,以鉴别装置100位于业务平台SP内部为例来说明。不难理解,当鉴别装置100位于业务平台SP外部时,则从业务平台SP接收密码重置请求PRR。

在接收到用户A发出的密码重置请求PRR后,请求接收模块102将PRR发送给事件提取模块104。(这里考虑加入18644第19页的关于文本获取与描述内容)

事件提取模块104基于密码重置请求PRR的发起时间,从业务平台SP例如其数据库(图中未示出)中提取用户A在发起该密码重置请求PRR之前的预定时间周期内在该业务平台SP上已经发生的多个事件,这个预定时间周期可以是发起重密码请求PRR之前的任意时间段,而事件可以是用户在业务平台SP上的任何类型的活动事件,例如登录操作、网络支付操作、扫码支付操作、收款操作等事件,为便于说明,以下以事件提取模块104在时间周期30天内提取到用户在业务平台SP上发生的N个事件为例来说明该实施例,其中该N个事件包含类型不同或相同的事件,例如用户在这30天内的多起扫码支付事件,这里以X(1)、X(2)、X(3)、…X(N)表示从业务平台SP提取的N个事件,其中X()代表一个事件,其中上标()代表了事件发生的时间顺序。通常每个事件均包括有多个属性特征,包括但不限于事件类型、发生时间、发生地点、操作对象等。例如对支付交易事件,其属性特征包括付款、下单时间、支付时间、送货地址、金额等。为便于描述,这里将每个事件的属性特征以x表示,即X=(x1,x2,…xM),M表示基于从事件X中提取到的属性特征的数量。由此,事件提取模块104提取的N个事件X可表示如下:

X(1)=(x(1)1,x(1)2,…x(1)M)

X(2)=(x(2)1,x(2)2,…x(1)M)

……

X(N)=(x(N)1,x(N)2,…x(N)M)。

向量生成模块106将事件提取模块104提取的N个事件转换为多组特征向量,其中每组向量包括M个向量元素,因此该多组特征向量可表示如下:

VX(1)=(vx(1)1,vx(1)2,…vx(1)M)

VX(2)=(vx(2)1,vx(2)2,…vx(1)M)

……

VX(N)=(vx(N)1,vx(N)2,…vx(N)M)。

作为一个示例,向量元素vx是对属性特征x执行向量转换而得到的对应向量,例如通过查找词向量表读出属性关键词对应的词嵌入。但本发明并不限于此,向量生成模块106可采用现有技术已知的向量转换技术实现,在此不再陈述。此外,该本实施例中,事件提取模块104提取到的每个事件的特征属性的个数相同,均为M个,但是本发明并不限于此。在某个事件例如VX(3)所包含的属性特征数量不足M时,向量生成模块106在对事件VX(3)执行向量转换时,可以补足向量元素的个数。

请求评估模块108利用经过训练得到的密码重置鉴别模型PRAM按照事件发生时间顺序依次处理向量生成模块106提供的N个特征向量VX=(VX(1)、VX(2)、...VX(N)),在一个示例中,密码重置鉴别模型PRAM是经过训练的深度学习循环神经网络模型RNN,长短期记忆神经网络(LSTM)或门控循环单元(GRU)神经网络等。按照一个示例,密码重置鉴别模型PRAM首先处理在30天的时间周期内首先发生的第一事件的第一组特征向量VX(1),并得到第一预测输出Y(1)。然后,密码重置鉴别模型PRAM对30天时间周期内随后发生的第二事件的第二组特征向量VX(2)以及第一预测输出Y(1)进行处理,从而生成第二预测输出Y(2)。以此循环方式对随后发生的其它事件进行处理,直到第N组特征向量VX(N),在此,密码重置鉴别模型PRAM对第N事件的第组特征向量VX(N)以及第N-1预测输出Y(N-1)进行处理,从而生成基于30天时间周期内所有N个事件的预测输出Y(N)。该预测输出Y(N)为一个概率值或称为评估分值P,其值大小指示经历了N个事件后用户发出密码重置请求的合理性,其中概率值或分值越高,表明密码重置请求的合理性越好,否则合理性值得怀疑。在确定了概率值P后,请求评估模块108将该概率值P发送给问题生成模块110。

问题生成模块110基于评估概率值P,选择或生成作为该密码重置请求PRR的响应的验证问题,其中验证问题具有与评估分值P对应的复杂度水平。这里的复杂度既可以反映在需要用户回答的问题的数量上,也可以是需要客户回答的问题的难易程度上,具体验证问题的内容及答案的设计可采用本领域的已知的方式实现。按照本发明的一个实施例,设置一个阈值Th1,其中如果评估分值P大于或等于阈值Th1,则问题生成模块110选择具有第一复杂度水平的第一类验证问题,否则,如果评估概率值P小于阈值Th1,则问题生成模块110选择具有第二复杂度水平的第二类验证问题,其中第二复杂度水平大于第一复杂度水平,也就是说,由问题生成模块110提供给用户的待回答的第二类验证问题相对于第一类验证问题无论是数量上或者难易程度上均有所增加。在另一个示例中,为进一步增强用户体验并加强密码安全性,还可以进一步设定对于应更高复杂度水平的阈值Th2。例如,如果评估概率值P小于阈值Th1但大于Th2,则问题生成模块110选择具有第二复杂度水平的第二类验证问题,否则,如果评估概率值P小于Th2,则问题生成模块110选择具有第三复杂度水平的第三类验证问题,其中第三复杂度水平大于第二复杂度水平,而第二复杂度水平大于第一复杂度水平。

如上所述,作为一个示例,密码重置鉴别模型PRAM可以是循环神经网络模型RNN,其中该PRAM模型是利用深度学习神经网络框架通过对大量的用户数据进入学习而训练得到的。图2示出了根据本发明一个实施例的训练深度学习神经网络的训练装置200示意图。

如图2所示,训练装置200包括样本生成模块202以及训练模块204,其中训练装置200连接到业务平台SP的数据库300。在训练密码重置鉴别模型PRAM时,首先,样本生成模块202从业务平台数据库300中收集曾发出密码重置请求的多个用户的事件信息,并提取每个用户在发出密码重置请求之前一预定时间周期例如30天内的所有事件X及每个事件的属性特征x,其中该30天内的事件可以包含有上一次的密码重置请求事件,并生成该用户的时间序列事件样本,例如以X(1),X(2),…X(N)表示,其中每个样本X()代表一个事件,其中上标()代表了事件发生的时间顺序,例如,对于第一个用户提取的事件集合X1可表示如下:

在上述事件集合中,代表事件X(j)中的一个属性特征,其中上标(j)表示事件的发生时序,而i表示属性的标号,1≤i≤M,M表示每个事件中提取的属性特征的总数。由此,样本生成模块202可生成来自多个用户的多个事件样本,以(X1,X2,...XL)表示,其中L表示事件样本总数。

按照本发明,构建训练样本时,同一用户的不同时间周期内的事件以及不同用户的相同或不同时间周期内事件均可用作训练神经网络的样本。此外,在生成训练样本时,在一个时间周期内所提取的每个用户的事件数量可能不同,因此作为一个选择,也可以将所有用户的事件数量调整为相同,例如以每个用户提取100个事件为基准,对于30天内提取的事件多于100件的,则舍弃一些事件,例如随机舍弃。而对于提取到的事件少于100件时,则予以补充,但这些补充的事件及事件中的属性特征对神经网络模型的预测输出没有影响,仅仅是为了满足神经网络预测时对输入的格式要求。

训练模块204确定要采用的深度学习神经网络框架类型,例如RNN或LSTM或GRU等,并定义输入层维数M、确定隐藏层个数以及输出层激活函数,例如这里的激活函数可以是softmax或sigmoid等。以下以采用RNN神经网络并且在输出层利用sigmoid激活函数为例来说明训练过程。

本发明可利用深度学习RNN神经网络自行学习每个用户在发出重置密码请求之前的行为模式,即其在业务平台SP上的历史活动事件,在本发明中,“模式”是指在预定的时间周期内发生的事件之间的顺序、事件类型、时间等,例如用户在经历了什么样的一系列操作后会通常发起重置密码的请求,本发明利用深度学习神经网络致于学习用户的这种行为模式以达到对目标事件(在本发明中为密码重置)的预测。例如,当用户经过了登录、购买电影票并支付、网上支付、扫码支付等行为后所发起的重置密码请求可认为是积极的;而例如像网上下单、放弃、登录等简单重复性的事件,则认为用户的重置密码动机不合理,因此其训练结果应当是消极的。这里需要指出的是,本发明对于RNN神经网络的训练是一种无监督学习,对于所有训练样本中的每一个训练样本,样本中包含的N个事件之后的第N+1个事件是密码重置请求,即都会发生密码重置请求这个必然事件,而训练RNN神经网络的目标在于对于绝大多数例如数量N1的事件样本而言,训练好的密码重置鉴别模型PRAM的输出趋向于1,即评估分值或概率值P更高,例如大于第一阈值Th1。而对于其它少数(即N-N1)的样本,则模型输出接近于0,例如小于第一阈值Th1。或者在另一实施例中,也可以训练RNN神经网络以便对于绝大多数例如数量N1的样本而言,模型输出趋向于1,即大于第一阈值Th1;而对于剩余数量样本中的大部分样本(即中等数量N2的样本),可将其模型输出目标设置为小于第一阈值Th1但大于第二阈值Th2,而对其余样本(即最小数量N-N1-N2的样本)则设置模型输出目标小于第二阈值Th2,其中N》N1》N2,从而训练模块204可训练出合格的深度学习神经网络模型,并固化模型中的隐藏层以及输出层中的各参数,作为密码重置鉴别模型PRAM提供给评估装置100使用。按照本发明的另一实施例,也可以在训练深度学习神经网络时也可以将陈隐藏层的个数作为模型参数进行动态调整,从而训练出更优化的密码重置鉴别模型PRAM。

根据本发明的实施例,所生成的密码重置鉴别模型PRAM可以学习到大量用户中发出密码重置请求的最合理的行为模式即最大数量用户的习惯、存在嫌疑的行为模式即中等数量用户的习惯以及发出不合理的密码重置请求的最小数量的用户习惯。因此,在使用鉴别模型PRAM模型时,利用该经过训练的PRAM模型分析提出密码重置请求PRR的当前用户在一预定时间周期内的行为模式即所经历的事件,鉴别模型PRAM模型可输出指示当前用户最有可能属于哪个用户群类的行为模式的概率分值P。例如当属于最大数量用户的合理模式时,作为对密码重置请求的响应,问题生成模块110生成容易检验的验证问题;当属于中等数量用户的嫌疑模式时,问题生成模块110生成正常难度校验的验证问题;而当属于最小数量用户的不合理模式时,问题生成模块110生成严格校验的验证问题。

这里需要指的是,虽然在上述实施例中是以样本生成模块202提取的全部样本(X1,X2,...XL)用来训练循环神经网络RNN模型,但是作为一个可选实施例,也可以采用L个事件样本中的一部分样本用于训练出密码重置鉴别模型PRAM,而同时使用L个样本中的其余样本用来校验该训练出密码重置鉴别模型PRAM,以防止过拟合。

这里需要指出的是,在密码重置鉴别模型PRAM训练中,样本生成模块202所提取的彼此事件之间的属性特征的类型并不是要求必须相同的,只要该属性特征能反映该事件的一种特征即可。例如,对于‘登录’事件,则其属性特征可以包括事件类型(登录)、登录时间、地点、终端设备类型等,而对于‘扫码支付’事件,其属性特征可以包括:商户名称、事件类型(扫码支付)、下单时间、支付时间、送货地址等。可以看到,对于同一用户来说,所提取的‘登录’事件与‘扫码支付’事件中,所提取的属性特征包含有相同性质的属性,例如时间、地点等,但也包含有不同性质的属性,例如事件类型,并且‘扫码支付’事件还可以额外提取出像商户名称、送货地址等特有的属性特征。因此,输入到深度学习神经网络的变量并不是固定的,而是依赖于每个事件的。

但这里需要注意的是,在样本生成模块202从预定的时间周期内提取的多个事件中的每个事件的属性特征数量不相同的情况下,则由训练模块204在对每个事件样本执行词嵌入等向量转换时,可进行格式转换,以转换成深度学习神经网络模型预定的变量输入数量,例如在本例中,均转换为M个变量。

图3示出根据本发明一个实施例的鉴别密码重置请求的方法流程图。如图3所示,在步骤302,鉴别装置100接收用户A在业务平台SP上发起的密码重置请求PRR。在步骤304,鉴别装置100根据用户A发出的密码重置请求PRR,提取用户A在发起重置请求PRR之前的预定时间周期内在该业务平台上多个事件,其中每个事件包括多个属性特征。例如,鉴别装置100提取用户在业务平台SP上的30天内发生的N个事件,其中该N个事件包含类型不同或相同的事件,这里以X(1)、X(2)、X(3)、…X(N)表示从业务平台SP提取的N个事件。通常每个事件均包括有多个属性特征,包括但不限于事件类型、发生时间、发生地点、操作对象等。例如对支付交易事件,其属性特征包括付款、下单时间、支付时间、送货地址、金额等。为便于描述,这里将每个事件的属性特征以x表示,即X=(x1,x2,…xM),M表示基于从事件X中提取到的属性特征的数量。由此,鉴别装置100提取的N个事件X可表示如下:

X(1)=(x(1)1,x(1)2,…x(1)M)

X(2)=(x(2)1,x(2)2,…x(1)M)

……

X(N)=(x(N)1,x(N)2,…x(N)M)。

在步骤306,鉴别装置100将N个事件(X(1)、X(2)...X(N))转换为多组特征向量(VX(1)、VX(2)...VX(N)),其中VX(i)=(vx(i)1,vx(i)2,…vx(i)M),vx为每组特征向量的元素,是对属性特征x执行向量转换而得到的对应向量,例如通过查找词向量表读出属性关键词对应的词嵌入。

在步骤308,鉴别装置100利用经过训练的密码重置鉴别模型PRAM处理多组特征向量(VX(1)、VX(2)...VX(N))以产生针对该密码重置请求PRR的评估分值P。按照一个示例,密码重置鉴别模型PRAM首先处理在例如30天的时间周期内首先发生的第一事件的特征向量VX(1),并得到预测输出Y(1)。然后,密码重置鉴别模型PRAM对30天时间周期内随后发生的第二事件的特征向量VX(2)以及预测输出Y(1)进行处理,从而生成预测输出Y(2)。以此循环方式对随后发生的其它事件进行处理,直到第N组特征向量VX(N),在此,密码重置鉴别模型PRAM对第N事件的特征向量VX(N)以及第N-1次预测输出Y(N-1)进行处理,从而生成基于30天时间周期内所有N个事件的预测输出Y(N)。该预测输出Y(N)为一个概率评估分值P,其值大小指示经历了N个事件后用户发出密码重置请求的合理性,其中概率值或分值越高,表明密码重置请求的合理性越好,否则合理性值得怀疑。

在步骤310,在确定了概率评估值P后,鉴别装置100基于评估概率值P,选择或生成作为该密码重置请求PRR的响应的验证问题,其中验证问题具有与评估分值P对应的复杂度水平。例如,在一个示例中,为增强用户体验并加强密码安全性,可设置二个合理性阈值Th1,Th2,其中,如果评估分值P大于或等于阈值Th1,则鉴别装置100可选择或生成具有第一复杂度水平的类验证问题;如果评估概率值P小于阈值Th1但大于Th2,则鉴别装置100选择或生成具有第二复杂度水平的类验证问题,否则,如果评估概率值P小于Th2,则选择或生成具有第三复杂度水平的类验证问题,其中第三复杂度水平大于第二复杂度水平,而第二复杂度水平大于第一复杂度水平。

图4示出根据本发明另一实施例的计算设备示意图,计算设备可用于实现用户重置密码请求的合理性鉴别。如图4所示,该计算设备示例为一个计算机,其包含处理器实现的控制单元、用于存储计算机可执行程序的非易失存储器以及用户接口等。该用户接口例如可以是呈现呈现显示界面的显示器等。在该用户接口上可接收到用户在业务平台上发起的密码重置请求PRR。处理器在收到密码重置请求PRR后通过执行非易失存储器中的程序来实现对密码重置请求PRR的合理性判断。具体地,处理器提取用户在发起重置请求PRR之前的预定时间周期内在该业务平台上N个事件,其中每个事件包括多个属性特征;随后,处理器将N个事件转换为多组特征向量,并利用密码重置鉴别模型处理多组特征向量以产生针对该密码重置请求的评估分值。最后,基于所述评估分值,处理器生成作为该密码重置请求PRR的响应的验证问题,其中所述验证问题具有与所述评估分值对应的复杂度水平,这些验证问题通过用户接口呈现给用户。这里需要指出的是,除了图4所示的处理器、内存、用户接口以及非易失性存储器之外,实施例中实现用户重置密码请求的合理性鉴别的计算设备通常根据其实际功能,还可以包括其它硬件,对此不再赘述。

这里需要指出的是,虽然结合上述优选实施例描述了本发明,但显然本发明不限于此。此外,图1、2中的各模块可以包括处理器、电子设备、硬件设备、电子部件、逻辑电路、存储器、软件代码、固件代码等,或者它们的任意组合。技术人员还将认识到的是,结合本文公开内容描述的各种说明性的逻辑方框、模块和方法步骤可以实现为电子硬件、计算机软件或二者的组合。以软件实现为例,作为一个逻辑意义上的设备,是通过处理器将非易失性存储器中对应的计算机程序指令读取内存中运行形成的。

本发明另一实施例提供的机器可读介质上存储有机器可读指令,该机器可读指令在被计算机执行时,使计算机执行本文公开的前述的任一种方法。具体地,可以提供配有机器可读介质的系统或者装置,在该机器可读介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统的计算机读出并执行存储在该机器可读介质中的机器可读指令。在这种情况下,从机器可读介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此机器可读代码和存储机器可读代码的机器可读介质构成了本发明的一部分。

需要说明的是,上述各流程和设备的结构图中不是所有的步骤或模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。上述各实施例中描述的系统结构可以是物理结构,也可以是逻辑结构,即,有些模块可能由同一物理实体实现,或者,有些模块可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。

上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施例,基与上述多个实施例本领域技术人员可以知晓,可以组合上述不同实施例中的代码审核手段得到本发明更多的实施例,这些实施例也在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1