具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1为本申请实施例提供的一种安全问题的生成过程,具体包括以下步骤:
S101:向终端发送安全问题的生成指令,并接收所述终端根据所述生成指令生成并返回的基准图片。
通常由于身份验证过程所需的安全问题,用于对使用业务(或者,发起业务请求)的用户身份进行验证,所以如何生成安全问题以及生成哪些种类的安全问题,通常也是由提供业务服务的一方决定的(即,不是由用户决定的),于是,一般情况下在生成安全问题时,可由提供业务服务一方的服务器向使用业务一方的终端发送安全问题的生成指令(即,由服务器向终端发送安全问题的生成指令),以使得该操作该终端的用户可以在该生成指令的引导下,完成安全问题的设置,以便在有身份验证的需要时,可以通过该安全问题进行身份验证。同理,在本申请中,可由服务器向终端发送安全问题的生成指令。
另外,需要说明的是,由于通常用户需要通过账户执行业务,不同的账户可以对应于不同的用户,而身份验证是对用户的身份进行验证的,所以该服务器可通过账户发送该生成指令至该终端。
其中,该服务器可采用多种方式,确定向哪一个账户所在的终端发送安全问题,例如,确定上一时刻注册完成的各账户,并通过各账户向各终端发送安全问题的生成指令,或者轮询各注册完成的账户,并确定没有安全问题的各账户,并通过各账户向各终端发送安全问题的生成指令,等等,本申请对于如何发起安全问题的生成指令的方式并不做限定。
进一步地,与现有技术相同,该服务器在发送安全问题的生成指令之前,还可确定该终端上登录的该账户在当前登录有效期内已通过了身份验证,以保证后续生成的安全问题的有效性,当然,本申请不限定具体采用什么方法确定该终端上登录的该账户在当前登录有效期内已通过了身份验证,该服务器可根据实际应用的需要对该终端上登录的该账户进行身份验证,并且,在该账户的身份验证通过时,继续后续的操作。
更进一步地,在本申请实施例中,该生成指令可用于使该终端根据该生成指令生成该基准图片,并将该基准图片返回该服务器,当然,为了使该服务器可以确定该基准图片对应的账号,所述该生成指令还可以使该终端将该账户的标识以及该基准图片返回该服务器,于是,该服务器还可以接收该终端根据该生成指令生成并返回的该基准图片以及该账户的标识。
具体的,该生成指令中可以包含文字、图片、音频以及视频等信息,用以在该终端上显示,并引导使用该终端的用户执行操作,在该终端上生成该基准图片。其中,该操作可以包括:手势操作、语音操作等等,该操作具体可根据实际应用的需求确定,只要该终端可以在用户的操作下生成该基准图片即可,例如,该基准图片可以是用户通过手势操作绘画出的一张图片,可以是用户通过手势操作使用该终端的摄像头拍摄的一张图片等等,可以是用户通过语音使该终端拍摄一张图片等等,即,该基准图片可通过多种方式生成。
需要说明的是,在本申请实施例中,该终端可以是手机、平板电脑等终端,该服务器可以是单独的一台设备,可以是有多台设备组成的系统,即,分布式服务器,本申请对此不做具体限定。
S102:确定若干与所述基准图片对应的混淆图片。
在本申请实施例中,由于在步骤S101中该终端返回了该基准图片,所以该服务器可以根据该基准图片,确定对应的混淆图片,以便后续基于该基准图片以及混淆图片生成该安全问题。
由于,该基准图片的生成过程是在用户的参与下完成的,所以该用户对该基准图片的特征以及细节通常是最为清楚的,于是在本申请中,该服务器可基于该基准图片作为该安全问题的正确选项,生成该安全问题。同时,在生成该安全问题时还需要一定数量错误选项,用于在该安全问题中作为混淆选项,以提高该安全问题的保密性,所以该服务器还可确定与该基准图片相似的混淆图片,并以该混淆图片作为错误选项,并且,该服务器确定的该混淆图片也不能与该基准图片过于相似,使得生成该基准图片的用户也无法分辨出该基准图片与混淆图片的区别。
于是,在本申请中,该服务器可先确定该基准图片的特征值,以便根据该特征值筛选出合适的混淆图片,于是该服务器可以确定该基准图片的特征值。
具体的,在本申请实施例中,该服务器可以根据预设的特征提取模型,确定该基准图片的特征值,其中,特征提取模型可以有多个,并且可包含:颜色特征模型、图形特征模型以及复杂度特征模型中的至少一种。
其中,该颜色模型可以是色调、饱和度、明度(Hue、Saturation、Value,HSV)模型,通过该颜色模型可以确定该基准图片的每一个像素点的色调值、饱和度值以及明度值,并以该基准图片的每一个像素点的色调值对应的矩阵作为该基准图片的特征值、以该基准图片的每一个像素点的饱和度值对应的矩阵作为该基准图片的特征值以及以该基准图片的每一个像素点的色调值对应的矩阵作为该基准图片的特征值,可以是颜色矩对应的该基准图片的颜色一阶矩、颜色二阶矩和颜色三阶矩,并将该颜色矩作为该基准图片的颜色特征值等等。
该形状特征值模型,可以是利用边界特征法计算确定的该基准图片的形状特征值,可以是通过傅里叶形状描述符(Fourier Shape Descriptors)确定的该基准图片的形状特征值,可以是利用形状不变矩法,以任一形状区域的矩作为形状描述参数确定的该基准图片的形状特征值等等。
该复杂度特征模型,可以是利用该基准图片的灰阶直方图中,各灰阶在该基准图片中出现频率作为该基准图片的复杂度特征值,可以是利用该基准图片的灰阶直方图的灰度共生矩阵,生成的该基准图片的纹理特征值,作为该基准图片的复杂度特征值等等。
也就是说,在本申请中,可以使用现有技术中的对图像特征提取的任何模型、方法等,确定该基准图片的多种特征值,具体的该图像特征提取的方式可采用与现有技术相同的方式来确定该基准图片的特征值,并且该基准图片对应的特征值至少有一个即可,即,本申请并不限定具体使用何种方式确定该基准图片的特征值。
进一步地,当该服务器确定了该基准图片的特征值之后,便可根据该特征值确定与所述基准图片对应的各混淆图片。
如前所述,由于各混淆图片的作用是:减少除了使用该终端生成该基准图片的用户以外的其他用户,在面对后续生成的该安全问题时,选择出该基准图片的概率,所以各混淆图片的特征值可与该基准图片的特征值相近,以起到混淆的作用。另一方面,若各混淆图片与该基准图片过于相似(即,特征值过于相近)时,也会增加使用该终端生成该基准图片的用户无法分辨该基准图片与各混淆图片的概率,所以在本申请中,各混淆图片的特征值可与该基准图片的特征值也可存在一定的差异。
具体的,确定的该基准图片的特征值,该服务器可以预先配置的取值策略,确定该基准图片对应的取值范围,并根据该取值范围,从已存储的待选图片池中,确定落入该取值范围内的待选图片,作为与该基准图片对应的混淆图片,其中,该待选图片池由各待选图片组成。
第一步,该服务器在确定该基准图片对应的取值范围时,为了避免确定的该混淆图片与该基准图片过于相似或者过于不相似,该服务器确定的该取值范围的最大值与该基准图片的特征值的差值不大于预设的最大值,且确定的该取值范围的最小值与该基准图片的特征值的差值不小于预设的最小值,并且确定的该特征值不在该取值范围内。即,以该特征值为基准,在该特征值的两侧确定该特征值的取值范围,使得该取值范围与该特征值即不过于相近,差异也不过大。需要说明的是,具体采用何种方法确定该取值策略本申请不作限定,如,根据经验确定、根据机器学习的方法确定等等。
进一步地,由于对于不同的特征值,该服务器可以采用不同的取值策略,于是,在该服务器中存储的取值策略可根据针对的特征值不同而不同,如表1所示。
| 特征值标识 |
特征值区间 |
取值策略 |
| 特征值A |
0~100 |
±12~15 |
| 特征值B |
0~255 |
+90~150 |
| 特征值C |
-10~150 |
±110~120 |
表1
其中,该特征值区间表示该特征值的可取的最大值以及最小值(例如,在RGB色彩空间中,每个颜色的取值区间为0~255,也就是最大值可取255最小值可取0),该取值策略表示以该特征值的数值为基准对应的取值范围。需要说明的是,表1中所示“±”符号表示该特征值对应的取值区间为增加量以及减少量,同理“+”符号表示该特征值对应的取值区间为增加量,“-”符号表示该特征值对应的取值区间为减少量。
例如,假设对于基准图片X,确定该基准图片X的特征值A为35、特征值B为20、特征值C为16,则该基准图片X根据表1所示的取值策略,确定的取值范围可如表2所示。
表2
其中,可见对于特征值A和特征值C对应的取值范围均有两组,即符号“±”所表示的增加量以及减少量,而特征值B对应的取值范围为增加量,所以该特征值B对应的取值范围只有一个,即“110~170”。并且,由于特征值C的特征值区间为“-10~150”,所以在本申请中特征值C在取值策略“±110~120”下仅对应有一个增加量对应的取值范围在该特征值区间内,即“116~136”,减少量对应的取值范围已经超出该特征值C的特征值区间,即“-104~-94”不在特征值区间“-10~150”的范围内,所以“不存在”。
为方便理解,本申请实施例还提供该基准图片X的取值范围的示意图,如图2所示。其中,该特征值A、B、C分别以三段线段表示,该三段线段的端点即表示该特征值A、B、C分别可取的最大值以及最小值,该基准图片X的特征值,以在该三段线段上的点表示,该基准图片X的取值范围以在该三段线段上的粗线表示,可见,该基准图片X的取值范围没有包含该基准图片X的特征值。
第二步,该服务器在确定了该基准图片对应的取值范围之后,还可根据该取值范围,从已存储的待选图片池中,确定特征值落入该取值范围之内的待选图片,作为与该基准图片对应的混淆图片。
具体的,该服务器中可预先存储由若干待选图片组成的待选图片池,以便该服务器可以根据该取值范围,从该待选图片池中确定落入该取值范围内的待选图片,并后续生成该安全问题。其中,该待选图片池中的各待选图片可由工作人员人工添加进该待选图片池中,也可由该服务器通过网络从各种数据库中获取,本申请对获取该待选图片池中的各待选图片的过程不作具体限定。
并且,针对该待选图片池中的每一个待选图片,由于确定该待选图片是否可作为与该基准图片对应的混选图片,是根据该待选图片的特征值是否落入该基准图片的取值范围内确定的,所以为了节省该服务器确定与基准图片对应的混选图片时耗费的时间,该服务器可在存储该待选图片之前,便预先确定该待选图片的特征值,并存储该待选图片以及该待选图片的特征值(即,该待选图片池中的各待选图片的特征值可预先确定),以便当确定该基准图片对应的该混淆图片时,可以根据已存储的各待选图片的特征值,确定落入该基准图片的取值范围内的待选图片作为混淆图片。当然,本申请并不限定采用上述方法确定各待选图片的特征值,何时以及如何确定该待选图片池中的各待选图片的特征值也可采用其他方式。
另外,若该服务器没确定任何一个待选图片落入该取值范围,则可返回错误信息,并向该终端重新发送如步骤S101中所述的该生成指令,直至确定至少一个混淆图片为止。
S103:根据所述基准图片以及各混淆图片,生成安全问题。
在本申请实施例中,该服务器在确定了该基准图片以及与该基准图片对应的各混淆图片之后,便可以生成该安全问题。
具体的,首先,由于该服务器在步骤S102中确定的与该基准图片对应的各混淆图片的数量无法预先确定,所以该服务器可能确定出大量与该基准图片对应的混淆图片,而在生成该安全问题时,若将所有的混淆图片与该基准图片全部作为该安全问题的答题选项,则可能造成选项过多,以至于用户难以回答该安全问题(例如,该安全问题的答题选项有50个,则用户浏览各选项都需要耗费大量时间,从50个答题选项中确定正确答案就更困难了),所以在本申请中,该服务器可以先从与该基准图片对应的各混淆图片中,确定指定数量的混淆图片。其中,该指定数量可由工作人员根据实际应用时的需要进行设置,或者根据该基准图片对应的混淆图片的数量确定,具体的该指定数量如何确定本申请不做具体限定。
其次,该服务器可将该基准图片以及指定数量的各混淆图片,作为答题选项,生成该安全问题,即,以该基准图片作为正确的答题选项,将指定数量的各混淆图片作为错误的答题选项,生成选择题形式的安全问题。
进一步地,由于在步骤S101中所述的,该安全问题可用于对该账户进行身份验证,所以该服务器在生成该安全问题时,还可生成该安全问题的标识,并将该安全问题、该安全问题的标识以及该安全问题与该安全问题的标识的对应关系保存,以便后续需要使用该安全问题时,可根据该安全问题的标识确定该安全问题,并使用该安全问题(如,向待验证账户发送该安全问题)。
更进一步地,该服务器在保存该安全问题时,还可以保存该基准图片、该基准图片与各混淆图片的对应关系,并在确定需要使用该安全问题时,通过保存的该基准图片、该基准图片与各混淆图片的对应关系,确定该安全问题。也就是说,在本申请中,该服务器在通过步骤S103生成该安全问题之后,由于该安全问题并不一定是立刻就要使用的,所以在保存该安全问题时,该服务器也可仅保存生成该安全问题的基础(即,该基准图片、该基准图片与各混淆图片的对应关系),并在需要使用该安全问题时,再根据该基准图片、该基准图片与各混淆图片的对应关系,将该安全问题“组合”起来。具体在实际应用过程采用那种方式,本申请并不做具体限定,只要该安全问题是由该基准图片以及确定的混淆图片分别作为答题选项的安全问题即可。
通过如图1所示的安全问题的生成方法,该服务器在生成该安全问题时,是基于的是用户在该终端上操作而生成的基准图片,由于该基准图片生成的时间可以是任一时刻,所以增加了他人预谋盗取该基准图片的成本,并且该基准图片具体是什么内容也仅有该用户知晓,他人即使能了解该用户的生活习惯、取得该用户的个人信息,也难以确定该基准图片的具体内容,所以该基准图片的安全性较高。同时,由于该基准图片是在用户的操作下生成的,增加了用户对该安全问题设置的参与度,所以该用户对于该基准图片较为了解,增加了该用户对该基准图片的记忆力,减少了用户遗忘该基准图片的概率。可见,本申请实施例提供的方法,可以生成利于用户记忆,安全性较高的安全问题,并且,由于生成安全问题时无需借助用户的历史行为数据,所以也提高了安全问题的易用性,降低了运行成本,提高了身份验证的效率。
另外,在本申请中步骤S102该服务器确定各混淆图片的过程中,由于针对步骤S101中该终端生成的该基准图片,该服务器确定的混淆图片越多,生成的安全问题的答题选项的自由度就越高(如,假设安全问题有3个选项,则除去该基准图片对应的答题选项以外,还需要两张混淆图片分别对应的答题选项,若确定的与该基准图片对应的混淆图片只有两张,则该安全问题的答题选项就只能固定的,而若确定的混淆图片有两张以上,则该安全问题的答题选项的可以有更多的变化,也就是说各混淆图片越多,则在生成该安全问题时,答题选项的选择自由度就越大)。并且,由于生成该安全问题的答题选项的自由度越高,该安全问题被重复使用时,重复出现同样的答题选项的概率就越小,则该安全问题的安全性也就越高,所以在步骤S102中,该服务器还可根据确定的该混淆图片的数量,确定是否继续执行后续的步骤。
具体的,在该服务器中,还可预先配置有混淆图片的数量阈值,在步骤S102中当该服务器确定的该基准图片对应的混淆图片的数量不小于预设的混淆图片数量阈值时,该服务器可确定继续执行后续步骤S103,当确定图片对应的混淆图片的数量小于预设的混淆图片数量阈值时,该服务器可确定执行步骤S101重新发送该生成指令至该终端,并且其中还可以携带有提示信息,如,文字信息:“生成的安全问题选项过少,请重新绘制/拍摄一张图片”。
进一步地,在本申请中,步骤S102中确定的该基准图片的特征值,可视为执行后续步骤S103的基础,而该基准图片的图片质量决定了提取的该基准图片的特征值可以唯一表示该基准图片的概率(即,该基准图片的特征值可否准确的表示该基准图片),当该基准图片的图片质量越高,则该基准图片的特征值唯一表示该基准图片的概率就越高,若该基准图片的图片质量较低,则确定的该基准图片的特征值可同时表示多个图片的概率就较高,而唯一表示该基准图片的概率较低,使得后续确定的各混淆图片与该基准图片之间存在较大差异的可能性增加,使得各混淆图片用于混淆正确选项的作用下降,导致生成的安全问题的质量下降。
所以在本申请中,为了保证后续生成的该安全问题的质量,该服务器在生成该安全问题之前,还可以判断该基准图片是否满足预设的条件,其中,该条件包括以下至少一种:该基准图片的像素数量不小于预设的像素数量、该基准图片的存储占用空间不小于预设的存储占用空间、该基准图片的内容分类不属于预设的分类。
其中,对于该基准图片的像素数量以及存储占用空间的预设条件,可以保证该基准图片的图片质量,即,保证该基准图片足够大、足够清晰的图片,以便提取较为准确的特征值,而对该基准图片的内容分类的预设条件,则可从该基准图片的内容上排除该基准图片是色情图片、政治敏感图片、广告图片等携带不良信息的图片。其中,该预设的像素数量、该预设的存储占用空间以及该预设的分类,均可由工作人员根据实际应用的需要设置。
需要说明的是,该基准图片的内容分类在本申请中,采用“黑名单”的方式,排除该基准图片是不良信息的可能,即该预设条件是:所述基准图片的内容分类不属于预设的分类。但是,该服务器也可采用“白名单”的方式,确定该基准图片不包含不良信息,则该预设条件也可以是:所述基准图片的内容分类属于预设的分类。
另外,由于在确定图片质量时,该基准图片的色彩信息也关系到该基准图片的像素数量以及存储占用空间,例如,一张彩色图片与一张黑白图片,在具有相同的像素数量时,分别对应的存储占用空间是不同的,但是可能该彩色图片与该黑白图片都具有同样的清晰度,所以在本申请中,该服务器可针对彩色图片以及黑白图片,分别预设两个存储占用空间的条件,即,彩色图片存储占用空间以及黑白图片存储占用空间,并在确定该基准图片是否满足预设的条件之前,该服务器先根据该基准图片的色彩信息,判断该基准图片是彩色图片还是黑白图片,并根据判断结果,确定该基准图片的预设条件。
或者,该服务器在确定该基准图片的存储占用空间时,可根据该基准图片的色彩信息对该基准图片的存储占用空间进行补正,具体方法,可采用以人工经验确定补正系数,对黑白图片的存储占用空间进行补正,当然,本申请也不限制采用其他方法就该基准图片的存储占用空间进行补正,对此也不做具体限定。
进一步地,由于在现有技术中存在多种对图片的内容分类进行筛查,以减少网络上不良信息的方法,而在本申请中,该预设条件:该基准图片的内容分类不属于预设的分类,也可视为一种对图片内容分类进行筛查的过程,所以在本申请中,也可采用与现有技术相同的方法确定该基准图片的内容分类不属于预设的分类,如,通过机器学习生成的模型,判断该基准图片的内容是否满足预设的条件,或者通过人工筛查的方式判断该基准图片的内容是否满足预设的条件,或者多种方法相结合的方式,本申请不做具体限定。
当然,若该服务器确定该基准图片不满足预设条件,则该服务器还可向该终端发送提示信息并重新执行步骤S101,直至该终端返回的该基准图片满足预设条件为止。其中,该提示信息可以包含将该基准图片不满足的预设条件,例如,当该基准图片的像素数量不满足要求时,该提示信息可包含“您设置的图片的像素数量不满足要求,请提高设置图片的质量,并重新发送”。
需要说明的是,在本申请中该服务器可在生成该安全问题之前,确定该基准图片满足预设条件,但是考虑到该服务器执行步骤S102会耗费一定的资源,所以为了减少该服务器的运行压力、减少资源耗费以及减少时间浪费,在本申请中,该服务器也可以在步骤S101中接收到该基准图片时,对该基准图片的是否满足预设的条件进行判断,或者该服务器也可以在步骤S102中对该基准图片的是否满足预设的条件进行判断,具体的该服务器在何时判断该基准图片是否满足预设的条件本申请不做具体限定,可根据实际应用的需要确定,只要在生成该安全问题之前进行即可。
进一步地,由于在步骤S101中该终端生成的该基准图片,有可能是该终端的传感器采集的图像(如,用户使用该终端的摄像头拍摄的照片),所以该基准图片存在暴露该用户个人隐私的信息的可能性(如,用户拍摄的是该用户的汽车、住房等等,则车牌号、门牌号存在泄漏该用户的个人隐私的可能),所以为了减少由于该基准图片作为安全问题的答题选项,造成用户的隐私泄露的概率,并更好的保护用户的个人隐私,在本申请实施例中生成该安全问题之前,该服务器还可以对该基准图片进行模糊处理,作为该基准图片的副本,并在步骤S103中将该基准图片的副本以及各混淆图片作为答题选项,生成该安全问题。
具体的,该服务器可根据预设的颗粒度数值以及模糊强度数值,将所述基准图片进行模糊处理,并将进行模糊处理的图片作为所述基准图片的副本,其中,该颗粒度数值以及该模糊强度数值可根据实际应用的需要由工作人员设置。
另外,由于生成该安全问题时,该基准图片的副本是经过模糊处理的该基准图片,所以该基准图片的副本从清晰度以及图片质量上可能与各混淆图片存在差异,这就使得该服务器在以该基准图片的副本和各混淆图片作为答题选项生成该安全问题的时,该基准图片与各混淆图片的差异过大,使该基准图片的副本在作为答题选项时,在该安全问题的各答题选项中显得过于突兀,使得该安全问题的安全性大大降低。
所以在本申请中,该服务器在生成该安全问题之前,还可将确定的与该基准图片对应的各混淆图片进行模糊处理,并将该基准图片的副本以及经过模糊处理的各混淆图片作为答题选项,生成该安全问题。其中,对各混淆图片进行模糊处理的过程,可与对该基准图片进行模糊处理的过程一致,并且,进行模糊处理时所使用的颗粒度数值以及该模糊强度数值也可一致,以使得该安全问题的各答题选项的模糊程度一致,
需要说明的是,若该安全问题在生成时,采用的该基准图片作为答题选项,则各混淆图片无需进行模糊处理,若该安全问题在生成时,采用的是该基准图片的副本作为答题选项,则各混淆图片可进行模糊处理。
当然,当需要对各混淆图片进行模糊处理时,该服务器也可预先对各混淆图片进行模糊处理,如,确定与该基准图片对应的各混淆图片时,或者该服务器在存储各待选图片时,便对各待选图片进行模糊处理。当然,由于图片进行模糊处理后提取的特征值的准确度较低,所以在对各待选图片进行模糊处理之前,该服务器可先提取各待选图片的特征值,针对每一个待选图片,对该待选图片进行模糊处理后,将该待选图片、该待选图片的特征值、经过模糊处理后的该待选图片保存在本地,并记录该待选图片、该待选图片的特征值、经过模糊处理后的该待选图片的对应关系。则该服务器在确定与该基准图片对应的各混淆图片时,可从待选图片池中选择经过模糊处理的待选图片,作为与该基准图片对应的各混淆图片。当然,本申请并不具体的限定何时对各混淆图片进行模糊处理。
更进一步地,由于通常该终端生成的图片均会自动保存在该终端本地,所以该基准图片也可被该终端保存在该终端本地,这就使得生成的该安全问题存在一定的安全隐患(如,不法分子通过黑客软件入侵该终端,并获取了该终端中存储的该基准图片,则该不法分子破解该安全问题的概率将会提高),于是,为了提高生成的该安全问题的安全性,在本申请中,该服务器在生成安全问题之前,还可以向该终端发送删除该基准图片的指令,并在本地保存该基准图片、该基准图片的副本。当然,该服务器可以在接收到该基准图片后,生成该安全问题之前的任一时刻,发送删除该基准图片的指令,本申请对此不做限定。
另外,为了加深用户对该安全问题的理解以及对该基准图片的记忆,所以在本申请中,该服务器还可以向该终端发送该安全问题,以使得该用户试答该安全问题,并将安全问题的答题结果返回该终端,帮助该用户对该安全问题的理解和记忆,并且,该服务器还可向该终端发送是否保存所述安全问题的询问信息,并根据该终端返回的结果,保存或者删除该安全问题。
具体的,首先,该服务器可向该终端发送生成的该安全问题,其次,根据该终端返回的对该安全问题的答题结果,确定该终端的身份验证结果,之后,将该身份验证结果以及是否保存该安全问题的询问信息发送至该终端,最后,当该终端返回保存该安全问题的信息时,保存该安全问题,当该终端返回不保存该安全问题的信息时,删除该安全问题,详细过程可如图3所示。
图3为本申请实施例提供的服务器发送安全问题以及保存询问信息的过程示意图。
S1031:向该终端发送生成的该安全问题。
S1032:根据该终端返回的对该安全问题的答题结果,确定该终端的身份验证结果。
S1033:将该身份验证结果以及是否保存该安全问题的询问信息,发送至该终端。
S1034:当该终端返回保存该安全问题的信息时,保存该安全问题。
S1035:当该终端返回不保存该安全问题的信息时,删除该安全问题。
通过如图3所示的过程,可以使用户加深对该基准图片的记忆的同时,使用户可以对是否使用该基准图片生成该安全问题进行选择,提高了用户的体验。
另外,如图3中所述的该安全问题的任一答题选项是该基准图片的副本时(而不是该基准图片时),则当该用户选择的答题结果不是该基准图片的副本对应的答题选项时,该服务器还可以向该终端返回正确的答题选项,即,该基准图片的副本,以使得该用户了解该基准图片在经过模糊处理之后,该基准图片的副本的模糊程度,以增加用户对该基准图片的副本的记忆力的同时,让用户了解模糊处理的程度,可增加用户对该安全问题的生成过程的理解,提高用户使用该安全问题的意愿。
当然,在本申请中,该服务器也可不同时发送该安全问题与该是否保存该安全问题的询问信息,即,该服务器可以仅发送该安全问题,并根据该终端返回的该安全问题的结果,确定是否保存该安全问题,或者该服务器也可仅发送该是否保存该安全问题的询问信息,并当该终端返回保存该安全问题的信息时,保存该安全问题,反之亦然。
具体的,可如步骤S10311~步骤S10314所示,根据身份验证结果确定是否保存安全问题:
步骤S10311:该服务器可以向该终端发送生成的该安全问题;
步骤S10312:根据该终端返回的对该安全问题的答题结果,确定该终端的身份验证结果;
步骤S10313:当该身份验证结果为通过时,确定保存该安全问题;
步骤S10314:当该身份验证结果为不通过时,删除该安全问题。
或者,如步骤S10321~步骤S10324所示,根据终端返回的信息,确定是否保存该安全问题:
步骤S10321:向该终端发送是否保存该安全问题的询问信息;
步骤S10322:当该终端返回保存该安全问题的信息时,保存该安全问题;
步骤S10323:当该终端返回不保存该安全问题的信息时,删除该安全问题.
进一步地,由于任何安全问题在长时间使用之后,随着该安全问题使用次数的增加,该安全问题被破解的概率会越来越高,并且,若该安全问题在较长时间内没有使用,则用户对该安全问题的记忆也会有所下降,该安全问题的准确性下降,所以为了提高该安全问题的安全性以及提高该安全问题的准确性,在本申请中,该服务器还可以在生成该安全问题时,同时确定该安全问题的标识对应的有效期,并当需要使用该安全问题时,根据该安全问题的标识的有效期,判断是否使用该安全问题,具体的,当需要使用该安全问题时,判断该安全问题在当前时刻是否处于有效期内,若是,则该安全问题可以使用,反之亦然。
更进一步地,在现有技术中,为了提高身份验证的准确性,通常一个账户标识可对应多个用于身份验证的安全问题,而通常考虑到用户对身份验证过程的使用意愿,现有技术不会在一次身份验证过程中将所有的安全问题都发送至终端进行身份验证,而可根据各安全问题的优先级,确定一定数量的安全问题用于身份验证。并且,可以是以当前时刻该安全问题的标识对应的优先级越高,选择该安全问题的标识的概率越高的方式,选择安全问题的标识。
于是,在本申请中,当该服务器确定该账号对应有多个安全问题时,该服务器还可在生成该安全问题时,设置该安全问题的标识的优先级(即,初始设置的该安全问题的标识的优先级),并且该安全问题的标识初始设置的优先级,可随该安全问题的标识生成时间至当前时刻的时长增加而降低,直至降低到预设的基础优先级为止,具体过程可如图4a或者图4b所示。
图4a为本申请实施例提供的安全问题的标识的优先级随时间变化的示意图。其中,横轴(即,x轴)为时间轴,纵轴(即,y轴)表示优先级,在y轴上越高的点对应的优先级越高,可见当图4中所示的安全问题的标识生成时,该安全问题的标识对应的优先级,自x轴的初始时间点开始随着时间的变化逐渐降低,直至基准优先级。另外,在本申请中,对于安全问题的标识的优先级如何随时间降低也可以采用多种形式,如图4b所示该安全问题的标识的优先级不是逐渐变化的而是突变的,当然,本申请对设置的优先级如何随时间并不做具体限定,在实际应用过程中可根据需要进行确定。
在本申请中,由于可以采用该安全问题的标识的优先级越高,选中该安全问题的标识的概率越高的方式,确定安全问题的标识,所以采用如图4a-4b所示的优先级变化的设置,可以使得该安全问题在生成之后,该安全问题被用于身份验证的概率较高,使得该用户可以更多的接触到该安全问题,该以提高用户对该安全问题的记忆力,即,优先级数值较高的安全问题,被选为进行身份验证的安全问题的几率也就越高,使该用户回答该安全问题的概率增加,并进一步的增加该用户对该安全问题的记忆力。
另外,在本申请中,并不限定在步骤S101中该基准图片一定是由该终端生成的,该基准图片也可以是由该服务器发送至该终端的。
具体的,该服务器向该终端发送安全问题的生成指令以及若干待选图片,以使得操作该终端的用户选择并确认一张图片作为基准图片,则该服务器可接收该终端根据该生成指令从该若干待选图片中选择并返回的图片,作为该基准图片。其中,该待选图片可由工作人员进行设置,或者,是由该服务器中该待选图片池中确定的。当然,在本申请中,该服务器发送的该待选图片,可以是从该待选图片池中确定的,也可以是该服务器通过其他方法确定的,即,本申请不限定该若干待选图片的确定方法或者选择方法。
另外,在本申请步骤S102中除了上述采用通过确定该基准图片的特征值,以确定各混淆图片的方法以外,该服务器确定与该基准图片对应的混淆图片时,也可以采用先确定与该基准图片对应的点阵向量,并以该点阵向量以及预设的取值策略,确定与该基准图片对应的混淆图片。
具体的,该服务器可以根据该基准图片的各像素点,对应生成一个像素矩阵,并以该像素矩阵作为点阵,确定该基准图片对应的向量,之后,该服务器便可根据预设的取值策略,确定混淆图片的向量与该基准图片的向量在该点阵中的距离范围,并从该待选图片池中,选择待选图片的向量与该基准图片的向量的距离落入该距离范围内的待选图片,作为与该基准图片对应的混淆图片。
其中,对于像素矩阵来说,该像素矩阵中的每一个元素都可以对应该基准图片中的一个像素点的灰度值,或者该像素矩阵中的每一个元素都可以对应该基准图片中的多个像素点的灰度值的平均值,则通过该像素矩阵可以表示该基准图片的特征。
为了方便后续操作,该服务器还可以将像素矩阵生成为对应的向量形式,则该向量所处的向量空间维度可以是该像素矩阵的维度,也就是说在该像素矩阵对应的向量空间中,确定该基准图片的向量。
另外,对于该预设的取值策略来说,该取值策略用于确定与该基准图片的向量的距离既不过于接近又不过于远离的混淆图片的向量的距离范围。
具体的,该取值策略可以是距离该基准图片的向量的距离不小于预设的最小距离,且不大于预设的最大距离,则该服务器可根据该距离范围,在该待选图片池中,确定在该像素矩阵对应的向量空间中,待选图片的向量落入该距离范围的内待选图片,作为混淆图片,如图5所示。
图5为本申请实施例提供的在向量空间中,该距离范围、各待选图片的向量以及该基准图片的向量的对应关系。
可见,该向量空间由像素矩阵中的R值和B值确定,各个实心点为各待选图片在该向量空间中的向量,空心点为该基准图片在盖向量空间中的向量,虚线所围起的环状区域,为该距离范围,则落入该距离范围内的向量所对应的待选图片可作为与该基准图片对应的混淆图片。
当然,由于该基准图片中的每个像素点都可以以红绿蓝(Red、Blue、Green,RGB)值来表示,所以该像素矩阵中的每个元素,也可以由该基准图片中一个像素点的RBG值的平均值、最大值或者最小值确定、由该基准图片中一个像素点的R值确定、由该基准图片中一个像素点的B值确定、由该基准图片中一个像素点的G值确定。
于是,该基准图片可以生成在多个向量空间中的多个向量,或者一个向量空间中的多个向量,例如,在RGB值对应的像素矩阵生成的向量空间中,对应一个由每个像素点的RGB值的平均值确定的向量,或者,在R值对应的像素矩阵生成的向量空间中,对应一个由每个像素点的R值确定的向量,或者,在RGB值对应的像素矩阵生成的向量空间中,对应分别由每个像素点的R值、B值以及G值确定的3个向量,等等,具体的如何生成该基准图片的向量可以采用多种方法,本申请对此不做限定。
更进一步地,由于不同的设备生成的基准图片的像素数量可能不一致,所以为了后续确定的混淆图片更加准确,所以该服务器还可以统各待选图片以及该基准图片的像素数量。
具体的,假设该服务器选择像素数量为1600X1200,则当该服务器接收该基准图片时,可将该基准图片的像素数量统一为1600X1200,再继续后续操作。当然,对于每个待选图片,该服务器可在确定该待选图片时,便将该待选图片的像素数量统一。当然,对于该服务器将该基准图片的像素数量统一为多少,本申请并不做限定,并且,该像素数量的确定可以参考对该基准图片的图片质量的要求而确定。
需要说明的是,本申请实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤S101和步骤S102的执行主体可以为设备1,步骤S103的执行主体可以为设备2;又比如,步骤S101的执行主体可以为设备1,步骤S102和步骤S103的执行主体可以为设备2;等等,即,该服务器可以是由多台设备组成的分布式服务器。同时,本申请实施例所提供的方法的各步骤的执行主体也不限定为服务器,也可以是终端,该终端可以是手机、个人电脑、平板电脑等设备。
基于图1所示的安全问题的生成过程,本申请实施例还对应提供一种执行的安全问题的生成方法,如图6所示。
图6为本申请实施例提供的一种安全问题的生成过程,具体包括以下步骤:
S201:接收服务器发送的安全问题的生成指令。
由于通常用户使用终端发起或者执行业务,所以身份验证所针对的通常也是终端上登录的账户,于是在本申请实施例中,可由用户使用的终端接收该服务器发送的安全问题的生成指令,并根据该生成指令执行后续的操作,其中,该终端包括手机、个人电脑、平板电脑等设备。
具体的,该生成指令可包括脚本语言(JavaScript,JS)代码,在该JS代码中携带有引导信息,该引导信息可包括:字符、音频以及视频等。用于引导使用该终端的用户执行操作,其中,该JS代码用于通过在该终端上运行,显示该引导信息,并使该终端执行后续的操作。
例如,该终端通过运行该生成指令中携带的JS代码,显示用于设置该基准图片的设置界面,如图6所示。
图7为本申请实施例提供的基准图片的设置界面示意图,其中,可见文字说明如何设置图片,显示用户绘画结果或者拍摄结果的区域,“拍照”、“确定”和“取消”按钮,该终端可监视用户在该绘画结果或者拍摄结果的区域内的手势操作,或者用户对各按钮的操作。
进一步地,该引导信息可根据实际应用情况,由工作人员设置,例如,字符信息“请您拍摄您的钱包”、或者一段音频信息发出的声音“请您拍摄您的水杯”或者一段视频信息播放出的画面引导用户绘出一张特有的图片等等,对于该引导信息的具体形式以及具体内容本申请不做限定。
当然,在本申请中由该终端接收该生成指令仅仅是一种实施例,在其他实施例中也可由其它设备接收该生成指令,如,区别于发送该生成指令的其他服务器等等,为方便描述本申请后续仅以该终端为图6所示安全问题的生成过程的执行主体进行说明。
需要说明的是,在本申请中并不限定该生成指令中一定携带有JS代码,该生成指令中也可携带其他语言的代码(如,C++语言、C#语言等),并且该终端也可通过运行其他语言的代码显示该引导信息。
S202:监测用户的操作,并根据监测到的所述操作生成基准图片。
在本申请实施例中,该终端可监测用户的操作,并确定该在终端上生成的基准图片,以便继续执行后续步骤,使该服务器生成该安全问题。
具体的,由于在步骤S201中,该终端通过该生成指令,可以引导使用该终端的用户,绘画或者拍照,所以在步骤S202中,该终端可监测该用户的置操作,并根据监测到的该操作生成基准图片。
该终端可监测用户在指定区域的手势操作,并将该手势操作生成的图像作为生成的该基准图片,或者该终端可监测用户的操作,将传感器采集的图像作为生成的所述基准图片。也就是说,该终端可以通过监测用户手势操作“画”出的图片,并作为该基准图片,或者也可监测用户的操作,将用户操作时该终端的传感器采集的图片作为该基准图片,其中该传感器可以是该终端上的摄像头,或者其他传感器,只要该传感器采集的数据可以作为一张基准图片即可。
例如,图7所示的界面,当该终端监测到用户点击“确定”按钮的操作时,便可确定该显示用户绘画结果或者拍摄结果的区域中的图片为在该终端上生成的该基准图片。
另外,在本申请中由于并不限制该传感器一定是图像采集传感器,而可以是其他传感器,如,当该传感器为加速度传感器时,该终端也可将该用户操作时,该加速度传感采集的加速度数据进行图像化处理后,作为该基准图片,又或者,当该传感器为声音传感器(如,话筒)时,该终端也可见将该用户操作室,该声音传感器采集的声音音频数据进行图像化处理后,作为该基准图片。
S203:向所述服务器返回所述基准图片,以使得所述服务器根据所述基准图片生成安全问题。
在本申请实施例中,该终端在确定了该基准图片之后,便可将该基准图片返回该服务器,以使得该服务器执行如图1所示的步骤S102~S104,生成该安全问题,本申请对此不再赘述。
需要说明的是,本申请实施例所提供方法的各步骤的执行主体均可以是同一设备。
基于上述描述,本申请实施例还提供一个安全问题生成的详细流程图,如图8所示。
图8为本申请实施例提供的安全问题生成的详细流程图。
S301:服务器判断账户标识是否已通过身份验证,若是执行步骤S302,若否执行步骤S318;
S302:向终端发送安全问题的生成指令;
S303:终端接收服务器发送的安全问题的生成指令;
S304:该终端监测用户的操作,并根据监测到的所述操作生成基准图片;
S305:该终端向所述服务器返回所述基准图片;
S306:该服务器接收该基准图片,并判断该基准图片是否满足预设条件,若是则执行步骤S307,若否则重新执行步骤S302;
S307:该服务器将该基准图片进行模糊处理,确定该基准图片的副本;
S308:该服务器确定该基准图片对应的特征值;
S309:该服务器根据该特征值,确定若干与该基准图片对应的混淆图片;
S310:该服务器根据所述基准图片的副本以及各混淆图片,生成安全问题;
S311:该服务器向所述终端发送生成的所述安全问题;
S312:该终端接收该安全问题,并将监测到的对该安全问题的答题结果返回至该服务器;
S313:该服务器根据所述终端返回的对所述安全问题的答题结果,确定所述终端的身份验证结果;
S314:该服务器将所述身份验证结果以及是否保存所述安全问题的询问信息,发送至所述终端;
S315:该终端监测该用户对该保存询问信息的选择,并返回该服务器;
S316:当所述终端返回保存所述安全问题的信息时,保存所述安全问题;
S317:当所述终端返回不保存所述安全问题的信息时,删除所述安全问题;
S318:不生成该安全问题。
其中,需要说明的是该终端可以是手机、个人电脑等设备,该服务器可以是单独的一台设备,也可以是由多台设备组成的系统,并且,步骤S306中所述的判断该基准图片是否满足条件的步骤,也可在后续步骤中的执行,只要在步骤S316之前执行即可,步骤S307对该基准图片进行模糊处理的过程只要在步骤S310之前执行即可。
另外,在步骤S316或步骤S310中,当该服务器确定生成该安全问题时,该服务器还可保存该账户标识、该基准图片、该基准图片的副本、各混淆图片、该安全问题的标识的对应关系,以便可以多次重复生成该安全问题。
进一步地,该步骤S308和步骤S309中,除了采用特征值确定各混淆图片以外,也可以采用先确定与该基准图片对应的点阵向量,并以该点阵向量以及预设的取值策略,确定与该基准图片对应的混淆图片,本申请对此不再赘述。
本申请实施例还提供一种使用图1、图6或图8所示方法生成的安全问题进行身份验证的方法,如图9所示。
图9为本申请实施例提供的一种身份验证方法,具体包括以下步骤:
S401:根据待验证账户,确定用于生成与所述待验证账户对应的安全问题的基准图片。
在现有技术中,身份验证的过程可以由服务器发起,也可由终端发起,而在本申请中并不涉及身份验证如何发起的问题,但是安全问题通常使用服务器确定并发送至终端的,所以在本申请中,可由该服务器确定待验证账户。
其中,身份验证通常都是针对账户的身份验证,所以在本申请中,该服务器确定的是待验证账户,并且,该服务器可根据确定的该待验证账户,进一步确定用于生成安全问题的基准图片。
具体的,该服务器可以先确定待验证的账户,之后通过已经存储的账户与各基准图片之间的对应关系,确定该待验证账户对应的基准图片,当然,若该服务器中没有存储该对应关系,则说明该待验证账户没有生成对应的安全问题,或者没有可用的安全问题,身份验证过程结束。
S402:根据所述基准图片以及与所述基准图片对应的各混淆图片,生成安全问题。
在本申请实施例中,当该服务器确定了该待验证账户对应的该基准图片之后,便可生成该安全问题已进行后续的身份验证过程。
具体的,该服务器可以根据已经存储的该基准图片与各混淆图片的对应关系,确定若干混淆图片,并采用图1所示步骤S104相同的方法,生成该安全问题。
另外,由于该服务器在生成该安全问题时,保存了该安全问题的标识、该基准图片、该基准图片与各混淆图片的对应关系等等数据,以便在身份验证时可以确定该安全问题的,并且,该安全问题的标识还可以对应有有效期,撕破该服务器在生成该安全问题之前,还可判断当前时刻该安全问题的标识是否处于有效期内,若是,则确定生成该安全问题,若否,则不生成该安全问题,并向该终端返回过期信息。
进一步地,当该服务器确定生成该安全问题时,该终端的用户可在后续的身份验证过程中回答该安全问题,则该用户对该安全问题的记忆可得到一次加深,这就意味着,后续在采用该安全问题进行身份验证时,该用户仍然记得该安全问题的概率较高,所以在本申请中该服务器还可延长该安全问题的标识的有效期,以延长该安全问题的使用时间。
S403:向所述待验证账户所在的终端发送所述安全问题。
S404:接收所述终端返回的选择结果,并根据所述选择结果对所述待验证账户进行身份验证。
在本申请实施例中,该服务器在采用图1步骤S104所述的方法生成该安全问题后,还可将该安全问题发送至该终端,并接收所述终端返回的选择结果,以根据该选择结果对该待验证账户进行身份验证。
具体的,由于该安全问题的各答题选项分别对应于该基准图片以及各混淆图片,所以该服务器接收的该终端返回的选择结果也是该答题选项之一,也就是说该选择结果不是该基准图片就是个混淆图片中的一张,所以该服务器在根据该选择结果对该待验证账户进行身份验证时,可以判断该选择结果与该基准图片是否匹配,若是,则可确定身份验证结果为通过,若否,则可确定身份验证结果为不通过。
当然,由于在现有技术中,为提高身份验证的准确率,一个账户通常可对应多个安全问题(即,为该账户生成多个安全问题),并且在进行身份验证时,服务器可选择多个安全问题发送至终端,并根据该终端返回的对所有安全问题的选择结果,进行身份验证,所以在本申请中,该待验证账户对应的安全问题也可存在多个。
另外,由于在多种情况下,都可使用身份验证方法,验证该待验证账户是否具有继续执行业务的权限或者资格,所以本申请所述的身份验证方法具体可用于登录操作时的身份验证、支付操作时的身份验证、修改个人信息时的身份验证等等,具体何时进行身份验证可根据实际应用时的需要确定,本申请对此并不做具体限定。
其中,对于支付操作时的身份验证,本申请实施例中所述支付涉及的技术载体,例如可以包括近场通信(Near Field Communication,NFC)、WIFI、3G/4G/5G、POS机刷卡技术、二维码扫码技术、条形码扫码技术、蓝牙、红外、短消息(Short Message Service,SMS)、多媒体消息(Multimedia Message Service,MMS)等,即,在执行支付操作时可以采用包括但不限于上述技术载体的支付方法,并可使用本申请所述的身份验证方法进行身份验证。
需要说明的是,该待验证账户对应的多个安全问题中,可存在通过引导用户预先设置安全问题的题目以及答案,生成安全问题,或者通过采集和分析用户的历史行为数据,生成用于身份验证的安全问题,或者如本申请图1所示的方法生成的安全问题,本申请对此不做具体限定。并且,该服务器在选择安全问题时,可以是根据选择的安全问题的标识,确定用于身份验证的各安全问题。
基于上述描述,在该服务器执行本申请步骤S401之前,该服务器还可从与该待验证账户对应的各安全问题的标识中,选择基于基准图片生成的安全问题的标识。
具体的,该服务器可采用以下至少一种方法,选择基于该基准图片生成的安全问题的标识:
根据各安全问题的标识分别对应的有效期,选择当前时刻处于有效期内的安全问题的标识,或者根据各安全问题的标识对应的冷却期,选择当前时刻不处于冷却期内的安全问题的标识,或者根据各安全问题的标识对应的优先级,选择安全问题的标识。
其中,由于各安全问题的标识在生成时,该服务器可为该安全问题的标识设置有效期,所以该服务器在选择对该待验证账户进行身份验证的安全问题时,可以选择当前时刻处于有效期内的安全问题的标识。与已经描述过的内容同理,该服务器在选择当前时刻处于有效期内的安全问题的标识之后,还可延长选择的该安全问题的标识对应的有效期,具体不在赘述。
对于安全问题的标识的冷却期,由于同一个安全问题如果在一段时间内频繁出现,则可能造成该安全问题的安全性下降,所以在本申请中,该服务器可以选择当前时刻不在冷却期内的安全问题的标识,并且在选择之后,为该安全问题的标识设置对应的冷却期,其中,该冷却期的时长可由工作人员根据实际应用的需要设置。
同理,该服务器可以采用优先级越高,选择的概率越高的方式,选择用于身份验证的安全问题,所以除了设置该冷却期以外,该服务器还可在选择该安全问题的标识之后,降低所选择的该安全问题的标识的优先级,以使得该安全问题的标识在连续几次的身份验证的过程中,均被选择的概率降低。
进一步地,该服务器可针对该待验证账户对应的每一个安全问题的标识,以当前时刻该安全问题的标识对应的优先级越高,选择该安全问题的标识的概率越高的方式,选择安全问题的标识。其中,对各安全问题的标识初始设置的优先级,随各安全问题的标识生成时间至当前时刻的时长增加而降低,直至降低到预设的基础优先级为止。
更进一步地,当该选择的安全问题的标识的优先级不是基础优先级时,该服务器降低该安全问题的标识的优先级之后,还可随时间变化逐渐恢复该优先级,直到选择该安全问题的标识时该安全问题的标识对应的优先级为止,再使该安全问题的标识的优先级随时间变化而逐渐降低。而当该选择的安全问题的标识的优先级是基础优先级时,该服务器降低该安全问题的标识的优先级之后,还可随时间变化逐渐恢复该安全问题的标识的优先级直到基础优先级为止。也就是说,该服务器还可避免选择安全问题的标识之后,该安全问题的标识由于优先级一直较低而导致难以被选中的情况出现,由于该优先级还可随时间变化而恢复,所以当该安全问题的标识的优先级恢复正常水平时(如,基础优先级时),该服务器选择该安全问题的标识的概率也会恢复到正常水平。
当然,该服务器采用上述的三种方法中的至少一种选择的安全问题的标识可以有多个,也可以仅有一个,具体采用何种方式,本申请不做具体限定。
需要说明的是,本申请实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤S401和步骤S402的执行主体可以为设备1,步骤S403的执行主体可以为设备2;又比如,步骤S401的执行主体可以为设备1,步骤S402和步骤S403的执行主体可以为设备2;等等,即,该服务器可以是由多台设备组成的分布式服务器。
基于图9所示的身份验证过程,本申请还提供一种安全问题的管理方法,如图10所示。
图10位本申请实施例提供的一种安全问题的管理方法,具体包括以下步骤:
S801:确定账户对应的各安全问题。
通常安全问题的管理可在服务器中进行,所以在本申请实施例中,可由该服务器确定账户对应的各安全问题。其中,由于该服务器可针对在该服务器中存储的所有账户进行安全问题的管理,所以在本申请中,该账户可以是该服务器中存储的任一账户,并且为了方便描述,后续以该账户对应的安全问题的管理进行说明。
具体的,假设该服务器确定了一个需要进行安全问题管理的账户,则该服务器可先确定该账户对应的各安全问题的标识。由于,针对任一安全问题,在该安全问题生成时,该服务器可为该安全问题设置一个标识,以便管理和使用,并且该安全问题仅能针对某一个账户进行身份验证,所以该安全问题的标识还可与账户存在对应关系,于是在本申请中,该服务器可以确定该账户对应的各安全问题的标识。当然,本申请并不限定该服务器仅以安全问题的标识,确定各安全问题,该服务器也可以通过其他方式确定各安全问题,例如,该服务器通过已存储的各账户与各安全问题的对应关系,确定该账户对应的各安全问题等等。
S802:确定各安全问题分别对应的生成时间以及使用记录。
在本申请中,由于各安全问题的生成时间以及使用记录关系到各安全问题的管理,例如,一个安全问题生成后的较长时间内都没有使用过,则用户对该安全问题的记忆有较大概率变得不清楚,则用该安全问题进行身份验证的准确率就无从保证,或者,一个安全问题在一天之内多次使用,则该安全问题暴露的过于频繁,则该安全问题的安全性有降低的可能,所以该服务器为了管理各安全问题,需要进一步确定各安全问题分别对应的生成时间以及使用记录。
具体的,针对每一个安全问题,由于该安全问题在生成时,生成该安全问题的服务器还可为该安全问题生成对应的标识,即,该安全问题的标识,所以该服务器可以根据该安全问题的标识生成时间确定该安全问题的生成时间。例如,可由该服务器读取该安全问题的标识对应的第一条历史记录,或者该安全问题的标识的生成记录,并根据该记录确定该安全问题的标识的生成时间,当然,该服务器具体如何确定该安全问题的标识的生成时间本申请不做具体限定,可根据实际应用的需要而由工作人员设置。
同理,对于使用记录可与现有技术相同,该服务器可针对每一个安全问题,调用该安全问题的标识对应的使用记录,以确定该安全问题的使用记录。
另外,正如步骤S101中所述的,本申请并不限定采用通过安全问题的标识的生成时间和使用记录,确定该安全问题的生成时间以及使用记录,该服务器也可根据该安全问题的日志,确定该安全问题的生成时间以及使用记录。
S803:根据各安全问题对应的生成时间以及使用记录,确定各安全问题分别对应的有效期、优先级以及冷却期中的至少一种。
在本申请实施例中,针对该账户的每个安全问题,由于该安全问题可对应有效期、冷却期以及优先级中的至少一种,并且该有效期、冷却期以及优先级均可通过该安全问题的生成时间以及使用记录确定,所以该服务器可根据步骤S802中确定的各安全问题的生成时间以及使用记录,确定各安全问题的有效期、冷却期以及优先级中的至少一种。
具体的,该服务器针对每个安全问题,根据该安全问题的生成时间至当前时刻的时长,确定当前时刻该安全问题的优先级,其中,对该安全问题初始设置的优先级,随该安全问题生成时间至当前时刻的时长增加而降低,直至降低到预设的基础优先级为止。
针对每个安全问题,根据该安全问题对应的使用记录,每生成一次该安全问题对应的使用记录,该服务器便可确定该安全问题使用了一次,则可延长一次该安全问题对应的有效期。
针对每个安全问题,根据该安全问题对应的使用记录,每生成一次该安全问题对应的使用记录,该服务器便可确定该安全问题使用了一次,则可为该安全问题设置一个冷却期。
也就是说,该服务器可以通过该安全问题对应的使用记录,确定该安全问题的每一次使用情况,并在该安全问题使用时,延长该安全问题对应的有效期,为该安全问题设置一个冷却期。
另外,该服务器除了设置冷却期以外,如图7所述的身份验证过程同理,该服务器也可根据各安全问题的使用记录,降低各安全问题的优先级,如,当该选择的安全问题的优先级不是基础优先级时,该服务器降低该安全问题的优先级之后,该安全问题的优先级还可随时间变化逐渐恢复该优先级,直到选择该安全问题时该安全问题对应的优先级。或者,当该选择的安全问题的优先级是基础优先级时,该服务器降低该安全问题的优先级之后,该安全问题的优先级可随时间变化逐渐恢复到基础优先级为止。
当然,若针对该账户对应的每个安全问题的标识,该安全问题的标识也对应有效期、冷却期以及优先级,并用以标识该安全问题的有效期、冷却期以及优先级,则该服务器还可以确定该安全问题的标识的有效期、冷却期以及优先级中的至少一种,并以此确定该安全问题的有效期、冷却期以及优先级,本申请对比不做限定。
S804:当对所述账户进行身份验证时,根据各安全问题分别对应的有效期、冷却期以及优先级中的至少一种,从所述账户对应的各安全问题中,选择用于身份验证的安全问题对所述账户进行身份验证。
在本申请中,当该服务器确定对该账户进行身份验证时,该服务器也可根据各安全问题分别对应的有效期、冷却期以及优先级中的至少一种,采用以下至少一种方法,从所述账户对应的各安全问题中,选择用于身份验证的安全问题:
根据各安全问题分别对应的有效期,确定当前时刻处于有效期内的安全问题,和/或根据各安全问题对应的冷却期,确定当前时刻不处于冷却期内的安全问题,和/或根据各安全问题对应的优先级,以当前时刻该安全问题对应的优先级越高,选择该安全问题的概率越高的方式,选择安全问题,并使用选择的安全问题对应的安全问题对所述账户进行身份验证。
具体过程可如图8所示的身份验证的过程,本申请对此不再赘述。
另外,在本申请实施例中,当该服务器确定任一安全问题在当前时刻不处于有效期内时(或者,任一安全问题的标识在当前时刻不处于有效期内时),该服务器还可以删除该安全问题以及该安全问题对应的安全问题,以释放存储空间,并且,该服务器也可删除该安全问题的生成时间以及使用记录。
另外,由于在多种情况下,都可使用身份验证方法验证账户是否具有继续执行业务的权限或者资格,所以本申请所述的步骤S804中是对进行于支付操作的账户进行身份验证性,本申请实施例中所述支付涉及的技术载体,例如可以包括近场通信(Near FieldCommunication,NFC)、WIFI、3G/4G/5G、POS机刷卡技术、二维码扫码技术、条形码扫码技术、蓝牙、红外、短消息(Short Message Service,SMS)、多媒体消息(Multimedia MessageService,MMS)等。
基于图1所示的安全问题的生成过程,本申请实施例还对应提供一种安全问题的生成装置,如图11所示。
图11为本申请实施例提供的一种安全问题的生成装置的结构示意图,包括:
通讯模块501,向终端发送安全问题的生成指令,并接收所述终端根据所述生成指令生成并返回的基准图片;
确定模块502,确定若干与所述基准图片对应的混淆图片;
生成模块503,根据所述基准图片以及各混淆图片,生成安全问题。
所述生成模块503,在生成所述安全问题之前,确定所述基准图片满足预设条件,其中,所述预设条件至少包括以下一种:
所述基准图片的像素数量不小于预设的像素数量;所述基准图片的存储占用空间不小于预设的存储占用空间;所述基准图片的内容分类不属于预设的分类。
所述确定模块502,确定所述基准图片的特征值,并根据所述基准图片的特征值,确定若干与所述基准图片对应的混淆图片。
所述确定模块502,根据预设的特征提取模型,确定所述基准图片的特征值,其中,所述特征提取模型包含:颜色特征模型、图形特征模型、复杂度特征模型中的至少一种,所述特征值包含:颜色特征值、形状特征值、复杂度特征值中的至少一种。
所述确定模块502,根据所述基准图片的特征值以及预设的取值策略,确定所述混淆图片的特征值对应的取值范围,根据所述取值范围,从已存储的待选图片池中,确定特征值落入所述取值范围内的待选图片,作为与所述基准图片对应的混淆图片。
所述取值范围的最大值与所述基准图片的特征值的差值不大于预设的最大值,所述取值范围的最小值与所述基准图片的特征值的差值不小于预设的最小值,所述特征值不在所述取值范围内。
所述生成模块503,从各混淆图片中,确定指定数量的所述混淆图片,将所述基准图片以及确定的混淆图片分别作为答题选项,生成安全问题。
所述生成模块503,在生成所述安全问题之前,将所述基准图片进行模糊处理,作为所述基准图片的副本,向所述终端发送删除所述基准图片的指令,并在本地保存所述基准图片以及所述基准图片的副本。
所述生成模块503,从各混淆图片中,确定指定数量的所述混淆图片,将所述基准图片的副本以及确定的混淆图片分别作为答题选项,生成与所述账户标识对应的安全问题。
所述装置还包括:
测试保存模块504,接收所述终端返回的对所述安全问题的答题结果,当所述终端返回的安全问题的答题结果与所述基准图片匹配时,确定保存所述安全问题,当所述终端返回的安全问题的答题结果与所述基准图片不匹配时,确定保存所述安全问题。
所述测试保存模块504,向所述终端发送是否保存所述安全问题的询问信息,当所述终端返回保存所述安全问题的信息时,保存所述安全问题,当所述终端返回不保存所述安全问题的信息时,删除所述安全问题。
所述通讯模块501,向所述终端发送安全问题的生成指令以及若干待选图片,接收所述终端根据所述生成指令从所述若干待选图片中选择并返回的图片,作为所述基准图片。
具体的,上述如图11所示的安全问题的生成装置可以位于服务器中,该服务器具体可以是一台设备,也可以是由多台设备组成的系统,即,分布式服务器。
基于图6所示的安全问题的生成过程,本申请实施例还对应提供一种安全问题的生成装置,如图12所示。
图12为本申请实施例提供的另一种安全问题的生成装置的结构示意图,包括:
接收模块601,接收服务器发送的安全问题的生成指令;
监测生成模块602,监测用户的操作,并根据监测到的所述操作生成基准图片;
发送生成模块603,向所述服务器返回所述基准图片,以使得所述服务器根据所述基准图片生成安全问题。
所述监测生成模块603,监测用户在指定区域的手势操作,并将所述手势操作生成的图像作为生成的所述基准图片,或者监测用户的操作,将传感器采集的图像作为生成的所述基准图片。
所述装置还包括:
删除模块604,所述通讯模块接收的所述服务器发送的删除所述基准图片的指令,并根据所述删除所述基准图片的指令,将本地保存的所述基准图片删除。
具体的,上述如图12所示的安全问题的生成装置可以位于终端中,该终端可以是手机、平板电脑等设备。
基于图9所示的身份验证的过程,本申请实施例还对应提供一种身份验证的装置,如图13所示。
图13为本申请实施例提供的一种身份验证的装置的结构示意图,包括:
确定模块701,根据待验证账户,确定用于生成与所述待验证账户对应的安全问题的基准图片;
生成模块702,根据所述基准图片以及与所述基准图片对应的各混淆图片,生成安全问题;
发送模块703,向所述待验证账户所在的终端发送所述安全问题;
验证模块704,接收所述终端返回的选择结果,并根据所述选择结果对所述待验证账户进行身份验证。
与所述待验证账户对应的安全问题存在多个,所述确定模块701,在确定用于生成与所述待验证账户对应的安全问题的基准图片之前,从与所述待验证账户对应的各安全问题的标识中,选择基于基准图片生成的安全问题的标识。
所述确定模块701,采用以下至少一种方法,选择基于基准图片生成的安全问题的标识:
根据各安全问题的标识分别对应的有效期,选择当前时刻处于有效期内的安全问题的标识;根据各安全问题的标识对应的冷却期,选择当前时刻不处于冷却期内的安全问题的标识;根据各安全问题的标识对应的优先级,选择安全问题的标识。
所述确定模块701,在选择当前时刻处于有效期内的安全问题的标识之后,延长选择的所述安全问题的标识对应的有效期。
所述确定模块701,在选择当前时刻不处于冷却期内的安全问题的标识之后,设置选择的所述安全问题的标识对应的冷却期。
所述确定模块701,在选择安全问题的标识之后,降低选择的所述安全问题的标识对应的优先级。
对所述安全问题的标识初始设置的优先级,随所述安全问题的标识生成时间至当前时刻的时长增加而降低,直至降低到预设的基础优先级为止。
所述确定模块701,针对每一个安全问题的标识,以当前时刻该安全问题的标识对应的优先级越高,选择该安全问题的标识的概率越高的方式,选择安全问题的标识。
所述验证模块704,接收所述终端返回的选择结果,判断所述选择结果与所述基准图片是否匹配,若是,则确定所述待验证账户的身份验证结果为通过,若否,则确定所述待验证账户的身份验证结果为不通过。
所述待验证账户为执行支付操作的账户,所述验证模块704,根据所述选择结果,对所述待验证账户进行身份验证,当所述身份验证结果通过时,执行所述支付操作,当所述身份验证结果不通过时,拒绝所述支付操作。
具体的,上述如图13所示的身份验证的装置可以位于服务器中,该服务器具体可以是一台设备,也可以是由多台设备组成的系统,即,分布式服务器。
当本申请实施例提供的该身份验证的装置用于,对进行支付操作的账户身份验证时,本申请实施例中所述支付涉及的技术载体,例如可以包括近场通信(Near FieldCommunication,NFC)、WIFI、3G/4G/5G、POS机刷卡技术、二维码扫码技术、条形码扫码技术、蓝牙、红外、短消息(Short Message Service,SMS)、多媒体消息(Multimedia MessageService,MMS)等。
基于图9所述的安全问题的管理方法,本申请实施例还对应提供一种安全问题的管理装置,如图13所示。
图13为本申请实施例提供的一种安全问题的管理装置的结构示意图,包括:
第一确定模块901,确定账户对应的各安全问题;
第二确定模块902,确定各安全问题分别对应的生成时间以及使用记录;
第三确定模块903,根据各安全问题对应的生成时间以及使用记录,确定各安全问题分别对应的有效期、优先级以及冷却期中的至少一种;
验证选择模块904,当对所述账户进行身份验证时,根据各安全问题分别对应的有效期、冷却期以及优先级中的至少一种,从所述账户对应的各安全问题中,选择用于身份验证的安全问题对所述账户进行身份验证。
所述第三确定模块903,针对每个安全问题,根据该安全问题的生成时间至当前时刻的时长,确定当前时刻该安全问题的优先级,其中,对该安全问题的优先级,随该安全问题生成时间至当前时刻的时长增加而降低,直至降低到预设的基础优先级为止。
所述第三确定模块903,针对每个安全问题,根据该安全问题对应的使用记录,每使用一次该安全问题,延长一次该安全问题对应的有效期。
所述第三确定模块903,针对每个安全问题,根据该安全问题对应的使用记录,每使用一次该安全问题,为该安全问题设置一个冷却期。
验证选择模块904,根据所述账户标识对应的各安全问题分别对应的有效期、优先级以及冷却期,采用以下至少一种方法,从所述账户对应的各安全问题中,选择用于身份验证的安全问题:
根据各安全问题分别对应的有效期,确定当前时刻处于有效期内的安全问题;根据各安全问题对应的冷却期,确定当前时刻不处于冷却期内的安全问题;根据各安全问题对应的优先级,以当前时刻该安全问题对应的优先级越高,选择该安全问题的概率越高的方式,选择安全问题。
所述验证选择模块904,当确定所述安全问题不处于有效期内时,删除所述安全问题以及所述安全问题对应的安全问题。
具体的,上述如图13所示的身份验证的装置可以位于服务器中,该服务器具体可以是一台设备,也可以是由多台设备组成的系统,即,分布式服务器。
另外,当本申请实施例提供的该验证选择模块904用于,对执行支付操作的账户身份验证时,本申请实施例中所述支付涉及的技术载体,例如可以包括近场通信(Near FieldCommunication,NFC)、WIFI、3G/4G/5G、POS机刷卡技术、二维码扫码技术、条形码扫码技术、蓝牙、红外、短消息(Short Message Service,SMS)、多媒体消息(Multimedia MessageService,MMS)等。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。