1.本发明涉及信息安全技术领域,具体涉及一种用于水电站监控系统的双因子认证登录方法及系统。
背景技术:2.传统水电站监控系统认证登录方式一般采用验证用户名/密码的方式,即仅有密码作为单个因子进行认证,使得水电站监控系统非法登录的门槛较低,给水电站监控系统的整体安全带来了一定的风险。
3.同时,传统水电站监控系统的认证登录方式没有区分工作站的类型,对工程师站和操作员站采用了同一套登录认证方案,使得工程师站安全保护级别不够。
技术实现要素:4.针对现有技术中的上述不足,本发明提供的一种用于水电站监控系统的双因子认证登录方法及系统解决了水电站监控系统的传统认证登陆方式安全性差和安全防护未分级的问题。
5.为了达到上述发明目的,本发明采用的技术方案为:
6.第一方面,一种用于水电站监控系统的双因子认证登录方法,包括以下步骤:
7.s1、对用户进行用户名及密码验证,并判断用户名及密码验证是否通过,若是,则跳转至步骤s2,若否,则跳转至步骤s6;
8.s2、读取并判断用户工作站类型,若是工程师站,则跳转至步骤s3,若不是工程师站,则跳转至步骤s4;
9.s3、对用户进行数字证书验证,并判断数字证书验证是否通过,若是,则跳转至步骤s5,若否,则跳转至步骤s6;
10.s4、对用户进行指纹识别验证,并判断指纹识别验证是否通过,若是,则跳转至步骤s5,若否,则跳转至步骤s6;
11.s5、标记用户认证登录状态为成功,并结束;
12.s6、标记用户认证登录状态为失败,并结束。
13.进一步地,所述步骤s1中对用户进行用户名及密码验证的方法包括以下步骤:
14.a1、通过与用户的交互,获取用户输入的用户名和密码;
15.a2、遍历用户信息数据库,查询用户输入的用户名是否已经注册,若是,则跳转至步骤a3,若否,则跳转至步骤a5;
16.a3、对比用户输入的密码是否与用户信息数据库中注册的密码一致,若是,则跳转至步骤a4,若否,则跳转至步骤a5;
17.a4、标记用户的用户名及密码验证状态为通过,并结束;
18.a5、标记用户的用户名及密码验证状态为未通过,并结束。
19.进一步地,所述步骤s3中对用户进行数字证书验证的方法包括以下步骤:
20.b1、通过与用户的交互,引导用户接入usbkey并选择用户证书;
21.b2、生成一串随机序列,并发送至用户;
22.b3、通过与用户的交互,获取经usbkey内的私钥加密的用户输入的访问口令pin码和回传的随机序列;
23.b4、通过公钥解密访问口令pin码和随机序列,并识别访问口令pin码和随机序列是否正确,若是则跳转至步骤b5,若否,则跳转至步骤b6;
24.b5、标记用户的数字证书验证状态为通过,并结束;
25.b6、标记用户的数字证书验证状态为未通过,并结束。
26.进一步地,所述步骤s4中对用户进行指纹识别验证的方法包括以下步骤:
27.c1、摄取用户指纹图像;
28.c2、对用户指纹图像进行预处理;
29.c3、对预处理后的用户指纹图像进行特征提取,得到用户指纹图像特征向量;
30.c4、遍历用户信息数据库,查询用户指纹图像特征向量是否已经登记,若是,则跳转至步骤c5,若否,则跳转至步骤c6;
31.c5、标记用户的指纹识别验证状态为通过,并结束;
32.c6、标记用户的指纹识别验证状态为未通过,并结束。
33.进一步地,所述步骤c2包括以下分步骤:
34.c21、通过下式计算用户指纹图像的横向边缘检测图:
[0035][0036]
其中,p
x
为用户指纹图像的横向边缘检测图,f为用户指纹图像,*为图像矩阵卷积运算;
[0037]
c22、通过下式计算用户指纹图像的纵向边缘检测图:
[0038][0039]
其中,py为用户指纹图像的纵向边缘检测图;
[0040]
c23、根据用户指纹图像的横向边缘检测图和纵向边缘检测图,通过下式,得到用户指纹图像的边缘信息图:
[0041][0042]
其中,p(i,j)为用户指纹图像的边缘信息图的第i行第j列像素值,p
x
(i,j)为用户指纹图像的横向边缘检测图的第i行第j列像素值,py(i,j)为用户指纹图像的纵向边缘检测图的第i行第j列像素值;
[0043]
c24、根据用户指纹图像的边缘信息图,通过下式对用户指纹图像进行边缘增强:
[0044]f′
=f+α
·
p
[0045]
其中,f
′
为边缘增强后的用户指纹图像,α为增强系数;
[0046]
c25、对边缘增强后的用户指纹图像进行二值化处理。
[0047]
进一步地,所述步骤c3采用vggnet-19神经网络对预处理后的用户指纹图像进行特征提取。
[0048]
进一步地,所述vggnet-19神经网络所有卷积层的卷积核大小参数均设置为3
×
3,其步长均设置为1
×
1;
[0049]
所述vggnet-19神经网络所有最大池化层的采样核大小参数均设置为2
×
2,其步长均设置为1
×
1。
[0050]
第二方面,一种用于水电站监控系统的双因子认证登录系统,包括:用户名及密码验证子系统、用户工作站类型识别子系统、数字证书验证子系统、指纹识别验证子系统和用户信息数据库;
[0051]
所述用户名及密码验证子系统用于对用户进行用户名及密码验证;
[0052]
所述用户工作站类型识别子系统用于读取并判断用户工作站类型;
[0053]
所述数字证书验证子系统用于对用户进行数字证书验证;
[0054]
所述指纹识别验证子系统用于对用户进行指纹识别验证;
[0055]
所述用户信息数据库用于存储用户注册的用户名、密码和用户登记的指纹图像特征向量。
[0056]
第三方面,一种用于水电站监控系统的双因子认证登录设备,包括:
[0057]
存储器,用于存储计算机程序;
[0058]
处理器,用于执行所述计算机程序时实现上述的用于水电站监控系统的双因子认证登录方法的步骤。
[0059]
第四方面,一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的用于水电站监控系统的双因子认证登录方法的步骤。
[0060]
本发明的有益效果为:
[0061]
1)本发明区分了工作站类型,对于工程师站,采用用户名、密码验证和数字证书验证;对于非工程师站,采用了用户名、密码验证和指纹识别验证。相比于现有技术,既进行了安全分区,也提升了水电站监控系统的安全性。
[0062]
2)数字证书验证方法同时采用了硬件usbkey和软件随机序列、访问口令pin码以及私钥加密、公钥解密的高密级加密验证方案,有效保障了工程师站的安全防护。
[0063]
3)指纹识别验证方法对指纹图像的识别采用了边缘增强和二值化的预处理方案,使指纹特征更为显著;同时采用vggnet-19神经网络进行指纹图像的特征提取,在vggnet-19神经网络的参数设计中,采用了同时考虑硬件资源计算开销以及特征提取效果的优值,有效提高了指纹识别精度和速度。
附图说明
[0064]
图1为本发明实施例提供的一种用于水电站监控系统的双因子认证登录方法的流程图;
[0065]
图2为本发明实施例提供的一种用于水电站监控系统的双因子认证登录系统的结构图;
[0066]
图3为本发明实施例提供的一种用于水电站监控系统的双因子认证登录设备的结
构图。
具体实施方式
[0067]
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
[0068]
如图1所示,在本发明的一个实施例中,一种用于水电站监控系统的双因子认证登录方法,包括以下步骤:
[0069]
s1、对用户进行用户名及密码验证,并判断用户名及密码验证是否通过,若是,则跳转至步骤s2,若否,则跳转至步骤s6。
[0070]
其中对用户进行用户名及密码验证的方法包括以下步骤:
[0071]
a1、通过与用户的交互,获取用户输入的用户名和密码;
[0072]
a2、遍历用户信息数据库,查询用户输入的用户名是否已经注册,若是,则跳转至步骤a3,若否,则跳转至步骤a5;
[0073]
a3、对比用户输入的密码是否与用户信息数据库中注册的密码一致,若是,则跳转至步骤a4,若否,则跳转至步骤a5;
[0074]
a4、标记用户的用户名及密码验证状态为通过,并结束;
[0075]
a5、标记用户的用户名及密码验证状态为未通过,并结束。
[0076]
s2、读取并判断用户工作站类型,若是工程师站,则跳转至步骤s3,若不是工程师站,则跳转至步骤s4。
[0077]
s3、对用户进行数字证书验证,并判断数字证书验证是否通过,若是,则跳转至步骤s5,若否,则跳转至步骤s6。
[0078]
其中,对用户进行数字证书验证的方法包括以下步骤:
[0079]
b1、通过与用户的交互,引导用户接入usbkey并选择用户证书;
[0080]
b2、生成一串随机序列,并发送至用户;
[0081]
b3、通过与用户的交互,获取经usbkey内的私钥加密的用户输入的访问口令pin码和回传的随机序列;
[0082]
b4、通过公钥解密访问口令pin码和随机序列,并识别访问口令pin码和随机序列是否正确,若是则跳转至步骤b5,若否,则跳转至步骤b6;
[0083]
b5、标记用户的数字证书验证状态为通过,并结束;
[0084]
b6、标记用户的数字证书验证状态为未通过,并结束。
[0085]
s4、对用户进行指纹识别验证,并判断指纹识别验证是否通过,若是,则跳转至步骤s5,若否,则跳转至步骤s6。
[0086]
其中,对用户进行指纹识别验证的方法包括以下步骤:
[0087]
c1、摄取用户指纹图像。
[0088]
c2、对用户指纹图像进行预处理。
[0089]
步骤c2包括以下分步骤:
[0090]
c21、通过下式计算用户指纹图像的横向边缘检测图:
[0091][0092]
其中,p
x
为用户指纹图像的横向边缘检测图,f为用户指纹图像,*为图像矩阵卷积运算;
[0093]
c22、通过下式计算用户指纹图像的纵向边缘检测图:
[0094][0095]
其中,py为用户指纹图像的纵向边缘检测图;
[0096]
c23、根据用户指纹图像的横向边缘检测图和纵向边缘检测图,通过下式,得到用户指纹图像的边缘信息图:
[0097][0098]
其中,p(i,j)为用户指纹图像的边缘信息图的第i行第j列像素值,p
x
(i,j)为用户指纹图像的横向边缘检测图的第i行第j列像素值,py(i,j)为用户指纹图像的纵向边缘检测图的第i行第j列像素值;
[0099]
c24、根据用户指纹图像的边缘信息图,通过下式对用户指纹图像进行边缘增强:
[0100]f′
=f+α
·
p
[0101]
其中,f
′
为边缘增强后的用户指纹图像,α为增强系数;
[0102]
c25、对边缘增强后的用户指纹图像进行二值化处理。
[0103]
c3、采用vggnet-19神经网络对预处理后的用户指纹图像进行特征提取,得到用户指纹图像特征向量。
[0104]
vggnet-19神经网络所有卷积层的卷积核大小参数均设置为3
×
3,其步长均设置为1
×
1;而所有最大池化层的采样核大小参数均设置为2
×
2,其步长均设置为1
×
1。
[0105]
c4、遍历用户信息数据库,查询用户指纹图像特征向量是否已经登记,若是,则跳转至步骤c5,若否,则跳转至步骤c6。
[0106]
c5、标记用户的指纹识别验证状态为通过,并结束。
[0107]
c6、标记用户的指纹识别验证状态为未通过,并结束。
[0108]
s5、标记用户认证登录状态为成功,并结束。
[0109]
s6、标记用户认证登录状态为失败,并结束。
[0110]
上文对于本发明提供的一种用于水电站监控系统的双因子认证登录方法的实施例进行了详细的描述,本发明还提供了一种与该方法对应的用于水电站监控系统的双因子认证登录系统、设备及计算机可读存储介质。由于系统、设备及计算机可读存储介质部分的实施例与方法部分的实施例相互照应,因此系统、设备及计算机可读存储介质部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
[0111]
如图2所示,本发明实施例提供的一种用于水电站监控系统的双因子认证登录系统,包括:用户名及密码验证子系统、用户工作站类型识别子系统、数字证书验证子系统、指纹识别验证子系统和用户信息数据库;
[0112]
用户名及密码验证子系统用于对用户进行用户名及密码验证;
[0113]
用户工作站类型识别子系统用于读取并判断用户工作站类型;
[0114]
数字证书验证子系统用于对用户进行数字证书验证;
[0115]
指纹识别验证子系统用于对用户进行指纹识别验证;
[0116]
用户信息数据库用于存储用户注册的用户名、密码和用户登记的指纹图像特征向量。
[0117]
如图3所示,本发明实施例还提供的一种用于水电站监控系统的双因子认证登录设备,包括:
[0118]
存储器,用于存储计算机程序;
[0119]
处理器,用于执行计算机程序时实现上述的用于水电站监控系统的双因子认证登录方法的步骤。
[0120]
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述的用于水电站监控系统的双因子认证登录方法的步骤。
[0121]
综上,本发明区分了工作站类型,对于工程师站,采用用户名、密码验证和数字证书验证;对于非工程师站,采用了用户名、密码验证和指纹识别验证。相比于现有技术,既进行了安全分区,也提升了水电站监控系统的安全性。
[0122]
数字证书验证方法同时采用了硬件usbkey和软件随机序列、访问口令pin码以及私钥加密、公钥解密的高密级加密验证方案,有效保障了工程师站的安全防护。
[0123]
指纹识别验证方法对指纹图像的识别采用了边缘增强和二值化的预处理方案,使指纹特征更为显著;同时采用vggnet-19神经网络进行指纹图像的特征提取,在vggnet-19神经网络的参数设计中,采用了同时考虑硬件资源计算开销以及特征提取效果的优值,有效提高了指纹识别精度和速度。
[0124]
本发明是参照根据本发明实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0125]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0126]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0127]
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,
依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
[0128]
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。