CN112035827A - 密码数据处理方法、装置、设备以及可读存储介质 - Google Patents
密码数据处理方法、装置、设备以及可读存储介质 Download PDFInfo
- Publication number
- CN112035827A CN112035827A CN202011209521.XA CN202011209521A CN112035827A CN 112035827 A CN112035827 A CN 112035827A CN 202011209521 A CN202011209521 A CN 202011209521A CN 112035827 A CN112035827 A CN 112035827A
- Authority
- CN
- China
- Prior art keywords
- password
- hidden
- character
- target
- verified
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
- G06F21/46—Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本申请实施例公开了密码数据处理方法、装置、设备以及可读存储介质,其中,方法包括:发送针对当前密码处理业务的处理请求至密码服务器,以使密码服务器生成用于执行当前密码处理业务的密码字符映射表;获取基于密码字符映射表所生成且包含用于显示原始字符的至少两个密码字符区域的密码图像;响应针对目标密码字符区域的触发操作,根据密码字符映射表获取目标密码字符区域对应的待验证隐藏密码;待验证隐藏密码与由目标原始字符所组成的密码不同;根据待验证隐藏密码生成密码验证请求,将密码验证请求发送至密码服务器,以使密码服务器根据密码字符映射表以及密码验证请求,确定密码验证结果。采用本申请,可以提高用户输入密码数据的安全性。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种密码数据处理方法、装置、设备以及可读存储介质。
背景技术
出于对密码数据安全性的考虑,移动网页(web)应用需要对用户输入的密码数据等敏感信息进行二次加密。
现有移动web密码加密主要采用以下方式:使用超文本传输安全协议(Hyper TextTransfer Protocol over SecureSocket Layer,HTTPS)进行密码数据的传输,或者联合安全套接字协议(Secure Sockets Layer,SSL)/安全传输协议(Transport Layer Security,TLS)实现通信加密。
使用HTTPS进行密码数据传输是利用前端Java Script(JS)直接对密码进行加密,如果业务处理页面被注入恶意代码,那么用户输入密码后,可以被恶意代码从内存中获取原始密码;HTTPS联合SSL/TLS的缺陷是,因为SSL也存在被劫持的问题,并且如果SSL/TLS是非对称加密的话,那么在私钥泄露的情况下,即使密码被加密也会被私钥解密出原始密码,可知现有密码加密技术的安全程度不高。
发明内容
本申请实施例提供一种密码数据处理方法、装置、设备以及计算机可读存储介质,可以提高用户输入密码数据的安全性。
本申请实施例一方面提供一种密码数据处理方法,包括:
发送针对当前密码处理业务的处理请求至密码服务器,以使密码服务器根据处理请求生成用于执行当前密码处理业务的密码字符映射表;
获取基于密码字符映射表所生成且包含用于显示原始字符的至少两个密码字符区域的密码图像;至少两个密码字符区域包括目标密码字符区域;
响应针对目标密码字符区域的触发操作,根据密码字符映射表获取目标密码字符区域对应的待验证隐藏密码;待验证隐藏密码与由目标密码字符区域显示的原始字符所组成的密码不同;
根据待验证隐藏密码生成密码验证请求,将密码验证请求发送至密码服务器,以使密码服务器根据密码字符映射表以及密码验证请求,确定针对待验证隐藏密码的密码验证结果。
本申请实施例一方面提供一种密码数据处理方法,包括:
获取用户终端发送的针对当前密码处理业务的处理请求,根据处理请求生成用于执行当前密码处理业务的密码字符映射表;
发送基于密码字符映射表所生成且包含用于显示原始字符的至少两个密码字符区域的密码图像至用户终端,以使用户终端显示密码图像;至少两个密码字符区域包括目标密码字符区域;
获取用户终端发送的密码验证请求;密码验证请求是用户终端根据待验证隐藏密码所生成的,待验证隐藏密码是由用户终端在响应针对目标密码字符区域的触发操作时,根据密码字符映射表和目标密码字符区域所生成的;待验证隐藏密码与由目标密码字符区域显示的原始字符所组成的密码不同;
根据密码字符映射表以及密码验证请求,确定针对待验证隐藏密码的密码验证结果。
本申请实施例一方面提供一种密码数据处理装置,包括:
第一显示模块,用于发送针对当前密码处理业务的处理请求至密码服务器,以使密码服务器根据处理请求生成用于执行当前密码处理业务的密码字符映射表;
第一显示模块,还用于获取基于密码字符映射表所生成且包含用于显示原始字符的至少两个密码字符区域的密码图像;至少两个密码字符区域包括目标密码字符区域;
第一获取模块,用于响应针对目标密码字符区域的触发操作,根据密码字符映射表获取目标密码字符区域对应的待验证隐藏密码;待验证隐藏密码与由目标密码字符区域显示的原始字符所组成的密码不同;
发送请求模块,用于根据待验证隐藏密码生成密码验证请求,将密码验证请求发送至密码服务器,以使密码服务器根据密码字符映射表以及密码验证请求,确定针对待验证隐藏密码的密码验证结果。
其中,密码字符映射表包括至少两个原始字符与至少两个隐藏字符之间的字符映射关系;密码图像中的至少两个密码字符区域,分别与所显示的原始字符映射的隐藏字符相关联。
其中,目标密码字符区域包括目标密码字符区域Ri以及目标密码字符区域Ri+1,i为正整数且i小于目标密码字符区域的总数量;
第一获取模块,包括:
第一获取单元,用于响应针对目标密码字符区域Ri的触发操作,根据密码字符映射表获取目标密码字符区域Ri对应的隐藏字符Si;
第二获取单元,用于响应针对目标密码字符区域Ri+1的触发操作,根据密码字符映射表获取目标密码字符区域Ri+1对应的隐藏字符Si+1;
第一生成单元,用于将隐藏字符Si以及隐藏字符Si+1进行组合,生成待验证隐藏密码。
其中,发送请求模块,包括:
第二生成单元,用于生成待验证隐藏密码的待验证密码哈希值;
密码加密单元,用于根据待验证密码哈希值对待验证隐藏密码进行加密,得到加密密码;
第三生成单元,用于根据加密密码生成密码验证请求。
其中,第二生成单元,包括:
数据填充子单元,用于对待验证隐藏密码进行数据填充,得到填充密码;其中,填充密码的密码位数为标准位数的正整数倍n;
数据分组子单元,用于根据标准位数对填充密码进行分组,得到n组分组数据;
数据扩展子单元,用于对n组分组数据分别进行消息扩展,得到n组扩展数据;
数据获取子单元,用于获取初始压缩值以及压缩函数,根据初始压缩值、压缩函数以及n组扩展数据,生成待验证密码哈希值。
其中,密码加密单元,包括:
确定密钥子单元,用于根据待验证密码哈希值确定加密密钥,根据待验证隐藏密码生成待加密密码明文;
获取参数子单元,用于获取分组参数,根据加密密钥以及分组参数,得到m组过渡密钥;其中,m为正整数,且m为分组参数所指示的分组数量;
生成密钥子单元,用于根据m组过渡密钥生成Q个轮密钥;其中,Q为正整数;
迭代加密子单元,用于根据Q个轮密钥对待加密密码明文进行Q轮迭代加密,得到m组过渡密文;
变换密文子单元,用于对m组过渡密文进行反序列变换,得到加密密码。
其中,密码数据处理装置还包括:
第二获取模块,用于获取密码验证结果;密码验证结果包括密码验证成功以及密码验证失败;
第二显示模块,用于若密码验证结果为密码验证成功,则在用户业务页面中显示与密码验证成功相关联的业务处理成功结果;
第二显示模块,还用于若密码验证结果为密码验证失败,则在用户业务页面中显示与密码验证失败相关联的业务处理失败结果。
本申请实施例一方面提供一种密码数据处理装置,包括:
发送图像模块,用于获取用户终端发送的针对当前密码处理业务的处理请求,根据处理请求生成用于执行当前密码处理业务的密码字符映射表;
发送图像模块,还用于发送基于密码字符映射表所生成且包含用于显示原始字符的至少两个密码字符区域的密码图像至用户终端,以使用户终端显示密码图像;至少两个密码字符区域包括目标密码字符区域;
获取请求模块,用于获取用户终端发送的密码验证请求;密码验证请求是用户终端根据待验证隐藏密码所生成的,待验证隐藏密码是由用户终端在响应针对目标密码字符区域的触发操作时,根据密码字符映射表和目标密码字符区域所生成的;待验证隐藏密码与由目标密码字符区域显示的原始字符所组成的密码不同;
确定结果模块,用于根据密码字符映射表以及密码验证请求,确定针对待验证隐藏密码的密码验证结果。
其中,密码字符映射表包括至少两个原始字符与至少两个隐藏字符之间的字符映射关系;密码图像中的至少两个密码字符区域,分别与所显示的原始字符映射的隐藏字符相关联。
其中,密码验证请求包括用户信息;
确定结果模块,包括:
第二获取单元,用于获取用户信息对应的用户预存密码;用户预存密码是由至少两个目标原始字符组成的;至少两个目标原始字符属于至少两个原始字符;至少两个目标原始字符包括目标原始字符Fi以及目标原始字符Fi+1,i为正整数且i小于至少两个目标原始字符中目标原始字符的总数量;
第三获取单元,用于根据密码字符映射表,获取与目标原始字符Fi存在字符映射关系的隐藏字符Ei,获取与目标原始字符Fi+1存在字符映射关系的隐藏字符Ei+1;
组合字符单元,用于将隐藏字符Ei以及隐藏字符Ei+1进行组合,得到目标隐藏密码;
确定结果单元,用于根据目标隐藏密码,确定针对待验证隐藏密码的密码验证结果。
其中,密码验证请求还包括待验证隐藏密码;密码验证结果包括密码验证成功以及密码验证失败;
确定结果单元,包括:
第一对比子单元,用于对目标隐藏密码与待验证隐藏密码进行对比;
第一确定子单元,用于若目标隐藏密码与待验证隐藏密码相同,则确定密码验证结果为密码验证成功;
第一确定子单元,还用于若目标隐藏密码与待验证隐藏密码不相同,则确定密码验证结果为密码验证失败。
其中,密码验证请求还包括加密密码,加密密码是根据待验证密码哈希值对待验证隐藏密码进行加密所生成的;待验证密码哈希值是待验证隐藏密码对应的哈希值;密码验证结果包括密码验证成功以及密码验证失败;
确定结果单元,包括:
密码解密子单元,用于生成目标隐藏密码的目标密码哈希值,根据目标密码哈希值对加密密码进行解密,得到解密隐藏密码;
第二对比子单元,用于对解密隐藏密码以及目标隐藏密码进行对比;
第二确定子单元,用于若解密隐藏密码以及目标隐藏密码相同,则确定针对待验证隐藏密码的密码验证结果为密码验证成功;
第二确定子单元,还用于若解密隐藏密码以及目标隐藏密码不相同,则确定针对待验证隐藏密码的密码验证结果为密码验证失败。
本申请一方面提供了一种计算机设备,包括:处理器、存储器、网络接口;
上述处理器与上述存储器、上述网络接口相连,其中,上述网络接口用于提供数据通信功能,上述存储器用于存储计算机程序,上述处理器用于调用上述计算机程序,以执行本申请实施例中的方法。
本申请实施例一方面提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序包括程序指令,上述程序指令被处理器执行时,以执行本申请实施例中的方法。
本申请实施例一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中;计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例中的方法。
本申请实施例针对当前密码处理业务的处理请求,可以生成用于执行当前密码处理业务的密码字符映射表(即基于每次发起的处理请求均可以生成不同的密码字符映射表),然后根据密码字符映射表生成用于执行当前密码处理业务的密码图像;将密码图像作为用户终端对应的密码键盘,该密码键盘中的控件是至少两个密码字符区域分别对应的控件;一方面,根据密码字符映射表可知,密码图像中的至少两个密码字符区域所显示的原始字符,与至少两个密码字符区域所分别关联的隐藏字符不相同,所以当用户点击目标密码字符区域时,用户终端获取到的待验证隐藏密码不是用户根据密码图像所输入的用户密码,那么用户所输入的用户密码就不易于被非法人员获取;另一方面,由于用户每次发送针对密码处理业务的处理请求至密码服务器时,密码服务器均会生成用于执行当前密码处理业务的密码字符映射表,故用户终端针对当前密码处理业务获取的待验证隐藏密码,不同于针对以往密码处理业务获取的待验证隐藏密码,即用户每次输入相同的用户密码后,用户终端获取到的待验证隐藏密码均不相同,从而增加了破解待验证隐藏密码的难度,因此,采用本申请,可以提高用户输入密码的安全性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种系统架构示意图;
图2a是本申请实施例提供的一种密码字符映射表的示意图;
图2b是本申请实施例提供的一种密码图像的示意图;
图3是本申请实施例提供的一种密码数据处理方法的流程示意图;
图4是本申请实施例提供的一种密码数据处理的场景示意图;
图5a是本申请实施例提供的一种密码数据处理的场景示意图;
图5b是本申请实施例提供的一种密码数据处理的场景示意图;
图6是本申请实施例提供的一种密码数据处理方法的流程示意图;
图7是本申请实施例提供的一种密码数据处理的场景示意图;
图8是本申请实施例提供的一种密码数据处理的场景示意图;
图9是本申请实施例提供的一种密码数据处理的场景示意图;
图10是本申请实施例提供的一种密码数据处理方法的交互流程示意图;
图11是本申请实施例提供的一种密码数据处理装置的结构示意图;
图12是本申请实施例提供的一种密码数据处理装置的结构示意图;
图13是本申请实施例提供的一种计算机设备的结构示意图;
图14是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了便于理解,首先对部分名词进行以下简单解释:
1、随机图像:是指通过随机算法所生成无规律的图像,可用于软件应用登录界面的验证码的生成或者软件应用支付界面的验证码的生成。
2、移动网页(Web)应用:用于移动设备的互联网应用,主要是指利用移动设备,包括手机、平板电脑等移动设备的浏览器或者应用的内置浏览器方式访问的超级文本标记语言(Hyper Text Markup Language,HTML)技术的应用。
3、密码(combination):用于用户访问系统或者移动设备的认证口令。
4、加密(encryption):利用技术手段把重要的数据变为乱码进行传送,到达目的地后再用相同或不同的手段还原。
5、哈希值:也称作信息特征值或散列值,哈希值是通过哈希算法将任意长度的输入数据转换为密码并进行固定输出而生成的,不能通过解密哈希值来检索原始输入数据,它是一个单向的加密函数。
6、SM3算法:国家密码管理局发布的一种哈希算法,主要用于数字签名及验证、消息认证码生成及验证、随机数生成。
7、SM4算法:国家密码管理局发布的一种分组加密算法,主要用于数据的加解密。
请参见图1,图1是本申请实施例提供的一种系统架构示意图。如图1所示,该系统可以包括密码服务器10a以及用户终端集群,用户终端集群可以包括:用户终端10b、用户终端10c、...、用户终端10d,其中,用户终端集群之间可以存在通信连接,例如用户终端10b与用户终端10c之间存在通信连接,用户终端10b与用户终端10d之间存在通信连接。同时,用户终端集群中的任一用户终端可以与密码服务器10a存在通信连接,例如用户终端10b与密码服务器10a之间存在通信连接,用户终端10c与密码服务器10a之间存在通信连接。其中,上述的通信连接不限定连接方式,可以通过有线通信方式进行直接或间接地连接,也可以通过无线通信方式进行直接或间接地连接,还可以通过其他方式,本申请在此不做限制。
密码服务器10a通过通信连接功能为用户终端集群提供服务,密码服务器10a的功能可以包括根据用户终端(也包括用户终端10b、用户终端10c、...、用户终端10d)发送的针对当前密码处理业务的处理请求,生成用于执行当前密码处理业务的密码字符映射表,以及根据密码字符映射表生成密码图像。应当理解,如图1所示的用户终端集群中的每个用户终端均可以安装应用客户端,密码服务器10a为上述应用客户端的后台服务器,当该应用客户端运行于各用户终端中时,可以分别与密码服务器10a之间进行数据交互。其中,该应用客户端可以为检索客户端(例如浏览器),或者社交客户端、多媒体客户端(例如,视频客户端)、娱乐客户端(例如,游戏客户端)、教育客户端、直播客户端等具有内置浏览器方式访问HTML技术功能的应用客户端。其中,该应用客户端可以为独立的客户端,也可以为集成在某客户端(例如,社交客户端、教育客户端以及多媒体客户端等)中的嵌入式子客户端,在此不做限定。
用户终端(可以是用户终端10b、用户终端10c或用户终端10d)发送针对当前密码处理业务的处理请求至密码服务器10a,该处理请求可以是业务登录请求或者业务转账请求等。密码服务器10a可以根据处理请求生成用于执行当前密码处理业务的密码字符映射表,请一并参见图2a,图2a是本申请实施例提供的一种密码字符映射表的示意图。如图2a所示,密码字符映射表包括至少两个原始字符以及至少两个隐藏字符,且两者一一对应,具有字符映射关系,至少两个原始字符可以包括0、1、2、3、4、5、6、7、8以及9,每个原始字符对应的隐藏字符是随机生成的,可以理解的是,用户通过用户终端每次向密码服务器10a发送针对密码处理业务的处理请求时,密码服务器10a所生成的密码字符映射表中的原始字符与隐藏字符之间的字符映射关系会发生更新。
密码服务器10a可以根据密码字符映射表生成密码图像,请一并参见图2b,图2b是本申请实施例提供的一种密码图像的示意图。如图2b所示,密码服务器10a将密码字符映射表中的隐藏字符作为属性值,和根据密码字符映射表中的原始字符所生成的密码图像20a绑定,然后一起转成HTML标签返回给用户终端。明显地,用户终端对应的显示屏只显示密码图像20a,密码图像20a包括多个密码字符区域,例如密码字符区域20b以及密码字符区域20c,而密码字符区域(也可以理解成原始字符)所关联的隐藏字符被隐藏,例如密码字符区域20b显示原始字符3,密码字符区域20c显示原始字符1,但与原始字符1具有字符映射关系的隐藏字符012,以及与原始字符3具有字符映射关系的隐藏字符218(请参见图2a)不会被显示在用户终端的显示屏上。
用户终端响应针对目标密码字符区域的触发操作,例如用户点击密码图像20a中的密码字符区域20b,即用户选择原始字符3,需要注意的是,用户终端获取的不是原始字符3,而是其对应的隐藏字符218,以此类推,用户终端获取多个目标密码字符区域对应的隐藏字符,从而得到待验证隐藏密码。用户终端可以根据待验证隐藏密码生成密码验证请求,然后将密码验证请求发送至密码服务器10a,密码服务器10a获取到密码验证请求后,可以根据密码字符映射表以及密码验证请求,确定针对待验证隐藏密码的密码验证结果。后续,密码服务器10a将生成的密码验证结果发送至用户终端的应用客户端,用户终端的应用客户端根据密码验证结果提示用户进行下一步操作,例如密码验证结果为密码验证成功,即用户输入了用户真实密码(用户终端获取到的不是用户真实密码,而是根据用户真实密码以及密码字符映射表所确定的待验证隐藏密码),那么用户终端对应的显示屏可以提示用户,其业务处理成功(例如用户登录成功或者用户转账成功)。
综上所述,本申请实施例摒弃常规的实体键盘或密码键盘,使用密码图像,该密码图像中的密码字符区域中的原始字符是随机显示的,且通过密码字符映射表,获取到实际密码(即待验证隐藏密码)与由目标密码字符区域显示的原始字符所组成的密码(用户输入的用户密码)不同,实现对用户密码进行了加密;此外,通过密码图像这种方式,可以提供更加统一跨平台的移动端Web密码加密,该方法对用户使用更友好、安全程度更高。
为了进一步提高用户输入密码的安全性,本申请实施例还支持多次加密处理,具体过程请参见下文的描述。
可以理解的是,本申请实施例所提供的方法可以由计算机设备执行,本申请实施例中的密码服务器10a以及用户终端集群中的任一用户终端均可以为计算机设备。计算机设备包括但不限于用户终端或服务器。上述服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。上述用户终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能电视、智能手表等,但并不局限于此。用户终端以及服务器的数量不做限制,且两者之间可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
进一步地,请参见图3,图3是本申请实施例提供的一种密码数据处理方法的流程示意图。如图3所示,该密码数据处理过程包括以下步骤。
步骤S101,发送针对当前密码处理业务的处理请求至密码服务器,以使密码服务器根据处理请求生成用于执行当前密码处理业务的密码字符映射表。
具体的,密码字符映射表包括至少两个原始字符与至少两个隐藏字符之间的字符映射关系。
请一并参见图4,图4是本申请实施例提供的一种密码数据处理的场景示意图。如图4所示,用户使用用户终端40a访问浏览器中业务A的业务登录界面40c,业务登录界面40c可以包括用户信息以及登录密码;用户信息可以包括用户名、手机号、身份证号或者用户标识,例如用户名可以是用户在业务A中的昵称或者真实姓名,用户标识可以是业务号码,该用户标识具有唯一性,即使用业务A的所有用户分别对应的用户标识均不相同;登录密码可以包括阿拉伯数字,例如0-9,可以包括英文字母,例如a、b、c、A、B、C,可以理解的是,在登录密码中,大写字母与小写字母不能等同;登录密码还可以包括各种字符,例如希腊字符,登录密码还可以包括其他字符以及标号,此处不限定登录密码的组成内容,在应用时,可以根据实际场景进行设置。
如图4所示,当用户点击登录密码控件40i时,前端浏览器(也可以理解用户终端40a)请求加载密码控件,用户终端40a发送针对当前密码处理业务的处理请求至密码服务器40b,在本申请实施例中,该处理请求可以为业务登录请求;若当前场景为用户通过业务A进行财产转移,则该处理请求可以为业务支付请求,本申请实施例不限定处理请求的范围,可以根据实际应用场景确定。
密码服务器40b获取处理请求,根据处理请求生成用于执行当前密码处理业务的密码字符映射表40d,结合图2a以及图4可知,在本申请实施例所示意的密码字符映射表40d中,将原始字符1映射为隐藏字符012,将原始字符2映射为隐藏字符834,将原始字符3映射为隐藏字符218,将原始字符4映射为隐藏字符465,将原始字符5映射为隐藏字符225,将原始字符6映射为隐藏字符711,将原始字符8映射为隐藏字符821,将原始字符9映射为隐藏字符533,将原始字符0映射为隐藏字符321。值得注意的是,每次用户终端40a请求加载密码控件时,密码服务器40b均随机生成新的密码字符映射表40d,且密码字符映射表40d不会被暴力破解出来。
如图4所示,密码服务器40b根据密码字符映射表40d生成密码图像40e,密码图像40e包括多个密码字符区域,例如图4中密码字符区域40f以及密码字符区域40g,其中,密码字符区域40f显示密码字符映射表40d中的原始字符1,但与密码字符映射表40d中的隐藏字符012相关联(可以参见图2b,图2b中的箭头表明该区域关联的隐藏字符);密码字符区域40g显示密码字符映射表40d中的原始字符8,但与密码字符映射表40d中的隐藏字符821相关联,同理,其他密码字符区域(不包括密码图像40e中的删除控件以及确认控件),分别与所显示的原始字符映射的隐藏字符相关联。
密码服务器40b将密码字符映射表40d中的隐藏字符值作为密码字符区域的属性值,和显示原始字符的密码图像40e一起转成HTML标签返回给前端浏览器,即用户终端40a。
步骤S102,获取基于密码字符映射表所生成且包含用于显示原始字符的至少两个密码字符区域的密码图像;至少两个密码字符区域包括目标密码字符区域。
具体的,密码图像中的至少两个密码字符区域,分别与所显示的原始字符映射的隐藏字符相关联。
请再参见图4,用户终端40a对应的显示屏显示业务登录界面40h(即用户业务页面),与业务登录界面40c不同的是,业务登录界面40h可以显示密码控件界面,即密码图像40e。
在本申请实施例中,图2a以及图4中所示的密码字符映射表40d只包括数字,但实际应用时,为了保证生成的对照字符尽量不重复,可以考虑使用多位字符+数字的随机组合,字符可以包括前文所述的英文字母(大小写区分)、希腊字符以及标点符号。因此密码图像40e除了显示数字外,还可以显示英文字母、希腊字符以及标点符号等。
由上述可知,移动Web前端(即用户终端40a)不使用自身的输入法键盘输入用户密码,而采用后台(即密码服务器40b)生产的随机图片(即密码图像40e)的密码控件(即密码字符区域),密码字符区域所显示的原始字符与密码字符区域所关联的隐藏字符不同,并且,密码服务器40b每次响应处理请求时,均生成新的密码字符映射表,新的密码字符映射表中的原始字符以及隐藏字符均发生随机变化。
上述的用户终端40a可以是图1中描述的用户终端集群中的任意一个用户终端,密码服务器40h可以是图1中描述的密码服务器10a。
步骤S103,响应针对目标密码字符区域的触发操作,根据密码字符映射表获取目标密码字符区域对应的待验证隐藏密码;待验证隐藏密码与由目标密码字符区域显示的原始字符所组成的密码不同。
具体的,目标密码字符区域包括目标密码字符区域Ri以及目标密码字符区域Ri+1,i为正整数且i小于目标密码字符区域的总数量;响应针对目标密码字符区域Ri的触发操作,根据密码字符映射表获取目标密码字符区域Ri对应的隐藏字符Si;响应针对目标密码字符区域Ri+1的触发操作,根据密码字符映射表获取目标密码字符区域Ri+1对应的隐藏字符Si+1;将隐藏字符Si以及隐藏字符Si+1进行组合,生成待验证隐藏密码。
请一并参见图5a,图5a是本申请实施例提供的一种密码数据处理的场景示意图。如图5a所示,用户终端50c在获取到密码服务器50i发送的包括密码字符映射表50d以及密码图像50b的HTML标签后,可以根据HTML标签生成密码图像50b;可选的,用户终端50c可以根据HTML标签,在本地生成密码字符映射表50d,也可以根据HTML标签以及密码图像50b在用户触发目标密码字符区域时,确定目标隐藏字符,此处不限定。
业务登录界面50a中的用户信息为用户在业务A中的用户标识198****211。在本申请实施例中,用户点击密码图像50b确定用户密码,但用户终端50c通过用户点击密码图像50b中目标密码字符区域获取到的是待验证隐藏密码,而不是用户密码,具体过程如下所述。假设用户密码为1287,则用户需要在密码图像50b中按序点击显示原始字符1的密码字符区域(即密码字符区域50e),显示原始字符2的密码字符区域(即密码字符区域50f),显示原始字符8的密码字符区域(即密码字符区域50g),显示原始字符7的密码字符区域(即密码字符区域50h),即密码字符区域50e,密码字符区域50f,密码字符区域50g,密码字符区域50h为目标密码字符区域。
请再参见图5a,当用户点击密码图像50b(可以理解成密码控件界面,其包括多个密码控件)中的密码字符区域50e时,根据HTML标签或密码字符映射表50d,用户终端50c获取密码字符区域50e所关联的隐藏字符012,则待验证隐藏密码1是012,而不是密码字符区域50e所显示的原始字符1,即不是用户密码中的第1位密码。当用户点击密码图像50b中的密码字符区域50f时,根据HTML标签或密码字符映射表50d,用户终端50c获取密码字符区域50f所关联的隐藏字符834,则待验证隐藏密码2是012834,而不是密码字符区域50e以及密码字符区域50f所分别显示的原始字符1以及原始字符2,即不是用户密码中的前2位密码。
同理,当用户先后点击密码图像50b中密码字符区域50g以及密码字符区域50h后,用户终端50c分别获取密码字符区域50g以及密码字符区域50h关联的隐藏字符821以及隐藏字符003,则最终的待验证隐藏密码3是0128348210-03,而不是密码字符区域50e、密码字符区域50f、密码字符区域50g、密码字符区域50h所分别显示的原始字符1、原始字符2、原始字符8以及原始字符7,即不是用户密码1287。
上述可知,在本申请实施例中,用户点击密码图像50b输入用户密码,但用户终端50c获取的密码为根据密码字符映射表50d映射后的密码,即待验证隐藏密码,一方面,用户输入的密码不会被输入法窃取,另一方面,用户每次登陆业务A时,密码图像50b显示的原始字符与关联的隐藏字符均是随机生成的(因为密码字符映射表中的字符映射关系是随机生成的),致使非法用户获取到用户终端50c之前获取的待验证隐藏密码,也无法解密出当前原始字符内容或者当前的待验证隐藏密码,因此可以提高用户输入密码的安全性。
步骤S104,根据待验证隐藏密码生成密码验证请求,将密码验证请求发送至密码服务器,以使密码服务器根据密码字符映射表以及密码验证请求,确定针对待验证隐藏密码的密码验证结果。
具体的,生成待验证隐藏密码的待验证密码哈希值;根据待验证密码哈希值对待验证隐藏密码进行加密,得到加密密码;根据加密密码生成密码验证请求。
其中,生成待验证隐藏密码的待验证密码哈希值的具体过程可以为:对待验证隐藏密码进行数据填充,得到填充密码;其中,填充密码的密码位数为标准位数的正整数倍n;根据标准位数对填充密码进行分组,得到n组分组数据;对n组分组数据分别进行消息扩展,得到n组扩展数据;获取初始压缩值以及压缩函数,根据初始压缩值、压缩函数以及n组扩展数据,生成待验证密码哈希值。
其中,根据待验证密码哈希值对待验证隐藏密码进行加密,得到加密密码的具体过程可以为:根据待验证密码哈希值确定加密密钥,根据待验证隐藏密码生成待加密密码明文;获取分组参数,根据加密密钥以及分组参数,得到m组过渡密钥;其中,m为正整数,且m为分组参数所指示的分组数量;根据m组过渡密钥生成Q个轮密钥;其中,Q为正整数;根据Q个轮密钥对待加密密码明文进行Q轮迭代加密,得到m组过渡密文;对m组过渡密文进行反序列变换,得到加密密码。
请再参见图5a,用户终端50c根据业务登录界面50a中的用户信息以及待验证隐藏密码012834821003生成密码验证请求,然后将携带用户信息以及待验证隐藏密码012834821003的密码验证请求发送至密码服务器50i,以使密码服务器50i根据密码字符映射表50d以及密码验证请求中的用户信息,确定针对待验证隐藏密码012834821003的密码验证结果。
可选的,为了进一步提高密码输入的安全性,本申请实施例在前述内容的基础上,还支持多次加密处理,可以包括对待验证隐藏密码进行哈希计算以及对待验证隐藏密码进行加密处理。本申请实施例结合上述两种加密方法,获取加密效果更好的加密算法,例如,用户终端50c获取到待验证隐藏密码后,通过哈希算法对待验证隐藏密码进行哈希计算,得到哈希计算结果值(即待验证密码哈希值),利用待验证密码哈希值作为加密密钥,使用加密算法以及加密密钥对待验证隐藏密码进行加密,得到加密密码,最后根据加密密码以及用户信息(如图5a中的用户标识198****211)生成密码验证请求。用户终端50c将密码验证请求发送至密码服务器50i,具体过程请参见图6对应的实施例中的描述。
可选的,获取密码验证结果;密码验证结果包括密码验证成功以及密码验证失败;若密码验证结果为密码验证成功,则在用户业务页面中显示与密码验证成功相关联的业务处理成功结果;若密码验证结果为密码验证失败,则在用户业务页面中显示与密码验证失败相关联的业务处理失败结果。
请一并参见图5b,图5b是本申请实施例提供的一种密码数据处理的场景示意图。如图5b所示,在用户输入用户密码后,用户终端50c可以在业务登录界面50j中显示用户信息以及登录提示,例如图5b中所示的用户标识198****211以及“密码验证中…”。如上所述,密码服务器确定的密码验证结果包括密码验证成功结果以及密码验证失败结果,当用户终端50c获取的密码验证结果为密码验证成功时,用户终端50c所显示的业务登录界面50j会跳转至业务登录界面50k,此时,用户终端50c可以显示提示语“业务登录成功”;相应地,当用户终端50c获取的密码验证结果为密码验证失败时,用户终端50c所显示的业务登录界面50j会跳转至业务登录界面50m,此时,用户终端50c可以显示提示语“业务登录失败,请重新输入密码”,以提示用户重新操作登录步骤。
本申请实施例针对当前密码处理业务的处理请求,可以生成用于执行当前密码处理业务的密码字符映射表(即基于每次发起的处理请求均可以生成不同的密码字符映射表),然后根据密码字符映射表生成用于执行当前密码处理业务的密码图像;将密码图像作为用户终端对应的密码键盘,该密码键盘中的控件是至少两个密码字符区域分别对应的控件;一方面,根据密码字符映射表可知,密码图像中的至少两个密码字符区域所显示的原始字符,与至少两个密码字符区域所分别关联的隐藏字符不相同,所以当用户点击目标密码字符区域时,用户终端获取到的待验证隐藏密码不是用户根据密码图像所输入的用户密码,那么用户所输入的用户密码就不易于被非法人员获取;另一方面,由于用户每次发送针对密码处理业务的处理请求至密码服务器时,密码服务器均会生成用于执行当前密码处理业务的密码字符映射表,故用户终端针对当前密码处理业务获取的待验证隐藏密码,不同于针对以往密码处理业务获取的待验证隐藏密码,即用户每次输入相同的用户密码后,用户终端获取到的待验证隐藏密码均不相同,从而增加了破解待验证隐藏密码的难度,因此,采用本申请,可以提高用户输入密码的安全性。此外,本申请实施例通过提供密码图像,可以提供一种跨平台的移动端Web安全键盘方案,各移动端使用统一随机生成的密码图像,用户点击密码图像实现用户密码的输入,不依赖操作系统平台,用户体验感更加友好。
进一步地,请参见图6,图6是本申请实施例提供的一种密码数据处理方法的流程示意图。如图6所示,该密码数据处理过程包括以下步骤。
步骤S201,获取用户终端发送的针对当前密码处理业务的处理请求,根据处理请求生成用于执行当前密码处理业务的密码字符映射表。
具体的,密码字符映射表包括至少两个原始字符与至少两个隐藏字符之间的字符映射关系。
步骤S202,发送基于密码字符映射表所生成且包含用于显示原始字符的至少两个密码字符区域的密码图像至用户终端,以使用户终端显示密码图像;至少两个密码字符区域包括目标密码字符区域。
具体的,根据密码字符映射表生成密码图像;密码图像中的至少两个密码字符区域,分别与所显示的原始字符映射的隐藏字符相关联。
步骤S201-步骤S202的具体过程请参见图3对应的实施例中步骤S101-步骤S102的描述。
可以理解的是,结合图4,用户通过用户终端40a访问业务A的业务登录界面40c时,可以先填写业务登录界面40c中的用户信息,再触发登录密码控件40i,也可以先触发登录密码控件40i,然后在业务登录界面40h中输入用户信息以及用户密码,其中,输入用户信息以及用户密码的先后顺序,本申请实施例也不做限定,可以根据实际应用场景进行设置。
步骤S203,获取用户终端发送的密码验证请求;密码验证请求是用户终端根据待验证隐藏密码所生成的,待验证隐藏密码是由用户终端在响应针对目标密码字符区域的触发操作时,根据密码字符映射表和目标密码字符区域所生成的;待验证隐藏密码与由目标密码字符区域显示的原始字符所组成的密码不同。
具体的,该步骤可以参见图3对应的实施例中步骤S103的描述,其次,随着金融安全上升到国家安全高度, 本申请实施例采用国密算法,可满足近年来国家有关机关和监管机构站在国家安全和长远战略的高度,所提出的推动国密算法的应用实施、加强行业安全可控的要求。在本步骤中,利用SM3算法以及SM4算法叙述待验证隐藏密码进行加密处理的过程。
首先叙述利用SM3算法对待验证隐藏密码进行哈希计算的过程,请一并参见图7,图7是本申请实施例提供的一种密码数据处理的场景示意图。如图7所示,用户终端获取到待验证隐藏密码后,先对待验证隐藏密码进行数据填充,将待验证隐藏密码视为原始数据,首先将数字“1”添加到原始数据的末尾,再添加k 个数字“0”,k是满足I+1+k≡448mod512的最小的非负整数,I比特是原始数据的长度,然后再添加一个64位比特串,该64位比特串是长度I的二进制表示,最后得到512的正整数倍,即填充密码的位数为512*n。将512*n位的填充密码按512位进行分组,则得到n组分组数据,分别为分组数据J1、分组数据J2、…、分组数据Jn,每组分组数据均为512位;将n组分组数据分别扩展为132个消息字,其中每组分组数据的前16个消息字(w1-w16)是根据当前分组数据中的512位数据生成,消息字w为32字节,后续的第17到第132个消息字根据置换函数扩展生成,其中,生成第17到第68个消息字所采用的置换算法与生成第69到第132个消息字所采用的置换函数不同,最后分组数据J1扩展为消息扩展1(即扩展数据1),分组数据J2扩展为消息扩展2,…,分组数据Jn扩展为消息扩展n。SM3算法的初始压缩值IV =7380166f 4914b2b9 172442d7 da8a0600 a96f30bc163138aa e38dee4d b0fb0e4e,将初始压缩值IV存到字寄存器ABCDEFGH中,将压缩初始值和n组消息扩展输入压缩函数,进行n次循环计算,每轮的计算结果作为下一次压缩函数的压缩初始值,最后得到256位的字寄存器ABCDEFGH的拼接结果,将该256位的拼接结果作为待验证密码哈希值。
再叙述利用SM4算法对待验证隐藏密码进行加密的过程,SM4算法是一种分组加密算法,也是一种迭代分组密码算法,由加解密算法和密钥扩展算法组成。SM4算法的分组长度和密钥长度均为128位,加解密算法和密钥扩展算法迭代轮数均为32轮,其加解密过程相同,但是轮密钥的使用顺序相反。请一并参见图8,图8是本申请实施例提供的一种密码数据处理的场景示意图。结合SM3所得到的待验证密码哈希值以及SM4算法对待验证隐藏密码进行加密的过程如下:
1)输入明文X(X0 -X3)和加密密钥MK[(MK)0-(MK)3],其中,明文(即待加密密码明文)是基于待验证隐藏密码生成的,加密密钥是基于待验证密码哈希值生成的。
2)根据加密密钥生成轮密钥,轮密钥的生成是利用分组参数(即系统初始值FK[(FK)0-(FK)3])和固定参数CK[(CK)0-(CK)3],系统初始值FK[(FK)0-(FK)3]和固定参数CK[(CK)0-(CK)3]均为32位;首先生成过渡密钥K(K0 -K3), Ka=(MK)a⊕(FK)a(⊕为32位异或计算),a=0,1,2,3;再根据Ka以及固定参数CK [(CK)0-(CK)3]生成轮密钥(rk)b,b=0,1,2,…,31。需要注意的是,上述的字母“K”或者字母组合“FK”以及“CK”等,均表示一个标识。
3)进行32轮计算,每轮计算利用之前生成的轮密钥(rk)b,对明文或者上一轮的计算结果进行计算,如图8所示,第一轮计算是根据轮密钥(rk)0对明文X(X0 -X3)进行加密计算,得到过渡密文X(X4–X7),然后利用轮密钥(rk)1对过渡密文X(X4–X7)进行第二轮计算,得到过渡密文X(X8–X11),利用轮密钥(rk)31进行第32轮计算后,得到结果X(X124-X127)。
4)将结果X(X124-X127)进行反序列变换,则得到密文Y(Yo-Y3),即加密密码。
最后用户终端根据加密密码以及用户信息生成密码验证请求,并将密码验证请求发送至密码服务器。
可以理解的是,在实际应用时,可以采用其他哈希算法对待验证隐藏密码进行哈希计算,同理,可以采用其他加密算法对待验证隐藏密码进行加密处理,本申请实施例不限定加密算法以及哈希算法。
步骤S204,根据密码字符映射表以及密码验证请求,确定针对待验证隐藏密码的密码验证结果。
具体的,密码验证请求包括用户信息;获取用户信息对应的用户预存密码;用户预存密码是由至少两个目标原始字符组成的;至少两个目标原始字符属于至少两个原始字符;至少两个目标原始字符包括目标原始字符Fi以及目标原始字符Fi+1,i为正整数且i小于至少两个目标原始字符中目标原始字符的总数量;根据密码字符映射表,获取与目标原始字符Fi存在字符映射关系的隐藏字符Ei,获取与目标原始字符Fi+1存在字符映射关系的隐藏字符Ei+1;将隐藏字符Ei以及隐藏字符Ei+1进行组合,得到目标隐藏密码;根据目标隐藏密码,确定针对待验证隐藏密码的密码验证结果。
其中,根据目标隐藏密码,确定针对待验证隐藏密码的密码验证结果的具体过程可以为:密码验证请求还包括待验证隐藏密码;密码验证结果包括密码验证成功以及密码验证失败;对目标隐藏密码与待验证隐藏密码进行对比;若目标隐藏密码与待验证隐藏密码相同,则确定密码验证结果为密码验证成功;若目标隐藏密码与待验证隐藏密码不相同,则确定密码验证结果为密码验证失败。
密码服务器获取用户终端发送的密码验证请求,该密码验证请求包括用户信息,例如图5a所示的用户标识198****211,密码服务器从数据库获取用户信息对应的用户预存密码;由图5a可知,用户预存密码是4位数,假设用户预存密码是1287,则密码服务器可以根据用户预存密码以及密码字符映射表获取目标隐藏密码,即012834821003。
若密码验证请求包括待验证隐藏密码,即用户终端没有对待验证隐藏密码进行后续加密处理,那么将目标隐藏密码与待验证隐藏密码进行对比,明显地,目标隐藏密码与待验证隐藏密码相同,所以密码服务器可以确定密码验证结果为密码验证成功;假设用户预存密码是1281,则目标隐藏密码为012834821012,明显地,目标隐藏密码与待验证隐藏密码不相同,所以密码服务器可以确定密码验证结果为密码验证失败。
可选的,密码验证请求还包括加密密码,加密密码是根据待验证密码哈希值对待验证隐藏密码进行加密所生成的;待验证密码哈希值是待验证隐藏密码对应的哈希值;密码验证结果包括密码验证成功以及密码验证失败;生成目标隐藏密码的目标密码哈希值,根据目标密码哈希值对加密密码进行解密,得到解密隐藏密码;对解密隐藏密码以及目标隐藏密码进行对比;若解密隐藏密码以及目标隐藏密码相同,则确定针对待验证隐藏密码的密码验证结果为密码验证成功;若解密隐藏密码以及目标隐藏密码不相同,则确定针对待验证隐藏密码的密码验证结果为密码验证失败。
请一并参见图9,图9是本申请实施例提供的一种密码数据处理的场景示意图。如图9所示,密码服务器90b获取用户终端发送的密码验证请求90a,明显地,密码验证请求90a中包括用户信息以及加密密码。密码服务器90b首先从数据库90c中获取用户信息对应的用户预存密码,该用户预存密码为真实的用户密码,然后将用户预存密码中的每位字符与密码字符映射表中的原始字符匹配,进而可以确定与用户预存密码对应的目标隐藏密码。
由于发送至密码服务器90b的密码为加密密码,故密码服务器90b需要对目标隐藏密码做进一步地处理,在本申请实施例中,仅以SM3算法以及SM4算法为例进行叙述,且该过程可以与步骤S203利用SM3算法以及SM4算法对待验证隐藏密码加密的过程结合理解。密码服务器90b需要对加密密码进行解密,由于用户终端对待验证隐藏密码进行加密时,是利用待验证隐藏密码的待验证密码哈希值作为加密密钥,故密码服务器90b首先利用SM3算法对目标隐藏密码进行哈希计算,得到目标密码哈希值,将其作为解密密钥。其中,利用SM3算法对待验证隐藏密码进行哈希计算,与利用SM3算法对目标隐藏密码进行哈希计算的过程一致,故可以参见步骤S203中利用SM3算法对待验证隐藏密码进行哈希计算过程的描述,此处不再进行赘述。
密码服务器90b根据解密密钥以及SM4算法对加密密码进行解密的过程,与利用SM4算法以及加密密钥对待验证隐藏密码进行加密的过程相似,区别在于轮密钥的使用顺序是倒序,即从轮密钥(rk)31到轮密钥(rk)0,故可以参见步骤S203中利用SM4算法对待验证隐藏密码进行加密过程的描述,此处不再进行赘述。
请再参见图9,密码服务器90b对加密密码解密后,得到节目隐藏密码,然后将解密隐藏密码与目标隐藏密码进行对比,具体对比过程可以参见上文的描述,此处不再进行赘述。
结合图3以及图6对应的实施例,可以一并参见图10,图10是本申请实施例提供的一种密码数据处理方法的交互流程示意图。如图10所示,该密码数据处理方法的整体交互流程如下:
步骤S301-步骤S302,开始以及访问业务登录界面;
步骤S303,请求业务登录界面。移动端浏览器(即用户终端)请求加载登录密码控件。
步骤S304-步骤S305,按照随机规则生成密码字符映射表,该密码字符映射表中的原始字符是密码图像中的密码字符区域所显示的字符;生成HTML代码,该代码包含密码图像、密码字符映射表中隐藏字符以及两者之间关联关系的。需要注意的是,密码服务器每次获取到针对密码处理业务的处理请求时,均生成新的密码字符映射表,该密码字符映射表仅仅适用于当前的密码处理业务,不适用与下一次的密码处理业务。
步骤S306,显示密码图像。
步骤S307,点击登录密码控件,输入密码。
步骤S308-步骤S310,按点击顺序获取待验证隐藏密码;使用SM3算法对待验证隐藏密码进行哈希计算,得到待验证密码哈希值;利用SM4算法以及待验证密码哈希值对待验证隐藏密码进行加密,得到加密密码。
步骤S311,输入用户信息。
步骤S312,根据用户信息以及加密密码生成密码验证请求,发送密码验证请求至密码服务器。
步骤S313-步骤S317,获取用户信息对应的用户预存密码;将用户预存密码与密码字符映射表对比,获取目标隐藏密码;使用SM3算法对目标隐藏密码进行哈希计算,得到目标密码哈希值;将目标密码哈希值作为解密密钥,利用SM4算法以及解密密钥对加密密码进行解密,得到解密隐藏密码;确认解密隐藏密码以及目标隐藏密码是否相同。
步骤S318,结束。
本申请实施例针对当前密码处理业务的处理请求,可以生成用于执行当前密码处理业务的密码字符映射表(即基于每次发起的处理请求均可以生成不同的密码字符映射表),然后根据密码字符映射表生成用于执行当前密码处理业务的密码图像;将密码图像作为用户终端对应的密码键盘,该密码键盘中的控件是至少两个密码字符区域分别对应的控件;一方面,根据密码字符映射表可知,密码图像中的至少两个密码字符区域所显示的原始字符,与至少两个密码字符区域所分别关联的隐藏字符不相同,所以当用户点击目标密码字符区域时,用户终端获取到的待验证隐藏密码不是用户根据密码图像所输入的用户密码,那么用户所输入的用户密码就不易于被非法人员获取;另一方面,由于用户每次发送针对密码处理业务的处理请求至密码服务器时,密码服务器均会生成用于执行当前密码处理业务的密码字符映射表,故用户终端针对当前密码处理业务获取的待验证隐藏密码,不同于针对以往密码处理业务获取的待验证隐藏密码,即用户每次输入相同的用户密码后,用户终端获取到的待验证隐藏密码均不相同,从而增加了破解待验证隐藏密码的难度,因此,采用本申请,可以提高用户输入密码的安全性。此外,本申请实施例通过提供密码图像,可以提供一种跨平台的移动端Web安全键盘方案,各移动端使用统一随机生成的密码图像,用户点击密码图像实现用户密码的输入,不依赖操作系统平台,用户体验感更加友好。
进一步地,请参见图11,图11是本申请实施例提供的一种密码数据处理装置的结构示意图。上述密码数据处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该密码数据处理装置为一个应用软件;该装置可以用于执行本申请实施例提供的方法中的相应步骤。如图11所示,该密码数据处理装置1可以包括:第一显示模块11、第一获取模块12以及发送请求模块13。
第一显示模块11,用于发送针对当前密码处理业务的处理请求至密码服务器,以使密码服务器根据处理请求生成用于执行当前密码处理业务的密码字符映射表;
第一显示模块11,还用于获取基于密码字符映射表所生成且包含用于显示原始字符的至少两个密码字符区域的密码图像;至少两个密码字符区域包括目标密码字符区域;
第一获取模块12,用于响应针对目标密码字符区域的触发操作,根据密码字符映射表获取目标密码字符区域对应的待验证隐藏密码;待验证隐藏密码与由目标密码字符区域显示的原始字符所组成的密码不同;
发送请求模块13,用于根据待验证隐藏密码生成密码验证请求,将密码验证请求发送至密码服务器,以使密码服务器根据密码字符映射表以及密码验证请求,确定针对待验证隐藏密码的密码验证结果。
其中,第一显示模块11、第一获取模块12以及发送请求模块13的具体功能实现方式可以参见上述图3对应实施例中的步骤S101-步骤S104,这里不再进行赘述。
再请参见图11,密码字符映射表包括至少两个原始字符与至少两个隐藏字符之间的字符映射关系;密码图像中的至少两个密码字符区域,分别与所显示的原始字符映射的隐藏字符相关联。
再请参见图11,目标密码字符区域包括目标密码字符区域Ri以及目标密码字符区域Ri+1,i为正整数且i小于目标密码字符区域的总数量;
第一获取模块12可以包括:第一获取单元121、第二获取单元122以及第一生成单元123。
第一获取单元121,用于响应针对目标密码字符区域Ri的触发操作,根据密码字符映射表获取目标密码字符区域Ri对应的隐藏字符Si;
第二获取单元122,用于响应针对目标密码字符区域Ri+1的触发操作,根据密码字符映射表获取目标密码字符区域Ri+1对应的隐藏字符Si+1;
第一生成单元123,用于将隐藏字符Si以及隐藏字符Si+1进行组合,生成待验证隐藏密码。
其中,第一获取单元121、第二获取单元122以及第一生成单元123的具体功能实现方式可以参见上述图3对应实施例中的步骤S103,这里不再进行赘述。
再请参见图11,发送请求模块13可以包括:第二生成单元131、密码加密单元132以及第三生成单元133。
第二生成单元131,用于生成待验证隐藏密码的待验证密码哈希值;
密码加密单元132,用于根据待验证密码哈希值对待验证隐藏密码进行加密,得到加密密码;
第三生成单元133,用于根据加密密码生成密码验证请求。
其中,第二生成单元131、密码加密单元132以及第三生成单元133的具体功能实现方式可以参见上述图3对应实施例中的步骤S104,这里不再进行赘述。
再请参见图11,第二生成单元131可以包括:数据填充子单元1311、数据分组子单元1312、数据扩展子单元1313以及数据获取子单元1314。
数据填充子单元1311,用于对待验证隐藏密码进行数据填充,得到填充密码;其中,填充密码的密码位数为标准位数的正整数倍n;
数据分组子单元1312,用于根据标准位数对填充密码进行分组,得到n组分组数据;
数据扩展子单元1313,用于对n组分组数据分别进行消息扩展,得到n组扩展数据;
数据获取子单元1314,用于获取初始压缩值以及压缩函数,根据初始压缩值、压缩函数以及n组扩展数据,生成待验证密码哈希值。
其中,数据填充子单元1311、数据分组子单元1312、数据扩展子单元1313以及数据获取子单元1314的具体功能实现方式可以参见上述图3对应实施例中的步骤S104,这里不再进行赘述。
再请参见图11,密码加密单元132可以包括:确定密钥子单元1321、获取参数子单元1322、生成密钥子单元1323、迭代加密子单元1324以及变换密文子单元1325。
确定密钥子单元1321,用于根据待验证密码哈希值确定加密密钥,根据待验证隐藏密码生成待加密密码明文;
获取参数子单元1322,用于获取分组参数,根据加密密钥以及分组参数,得到m组过渡密钥;其中,m为正整数,且m为分组参数所指示的分组数量;
生成密钥子单元1323,用于根据m组过渡密钥生成Q个轮密钥;其中,Q为正整数;
迭代加密子单元1324,用于根据Q个轮密钥对待加密密码明文进行Q轮迭代加密,得到m组过渡密文;
变换密文子单元1325,用于对m组过渡密文进行反序列变换,得到加密密码。
其中,确定密钥子单元1321、获取参数子单元1322、生成密钥子单元1323、迭代加密子单元1324以及变换密文子单元1325的具体功能实现方式可以参见上述图3对应实施例中的步骤S104,这里不再进行赘述。
再请参见图11,密码数据处理装置1还可以包括:第二获取模块14以及第二显示模块15。
第二获取模块14,用于获取密码验证结果;密码验证结果包括密码验证成功以及密码验证失败;
第二显示模块15,用于若密码验证结果为密码验证成功,则在用户业务页面中显示与密码验证成功相关联的业务处理成功结果;
第二显示模块15,还用于若密码验证结果为密码验证失败,则在用户业务页面中显示与密码验证失败相关联的业务处理失败结果。
其中,第二获取模块14以及第二显示模块15的具体功能实现方式可以参见上述图3对应实施例中的步骤S104,这里不再进行赘述。
本申请实施例针对当前密码处理业务的处理请求,可以生成用于执行当前密码处理业务的密码字符映射表(即基于每次发起的处理请求均可以生成不同的密码字符映射表),然后根据密码字符映射表生成用于执行当前密码处理业务的密码图像;将密码图像作为用户终端对应的密码键盘,该密码键盘中的控件是至少两个密码字符区域分别对应的控件;一方面,根据密码字符映射表可知,密码图像中的至少两个密码字符区域所显示的原始字符,与至少两个密码字符区域所分别关联的隐藏字符不相同,所以当用户点击目标密码字符区域时,用户终端获取到的待验证隐藏密码不是用户根据密码图像所输入的用户密码,那么用户所输入的用户密码就不易于被非法人员获取;另一方面,由于用户每次发送针对密码处理业务的处理请求至密码服务器时,密码服务器均会生成用于执行当前密码处理业务的密码字符映射表,故用户终端针对当前密码处理业务获取的待验证隐藏密码,不同于针对以往密码处理业务获取的待验证隐藏密码,即用户每次输入相同的用户密码后,用户终端获取到的待验证隐藏密码均不相同,从而增加了破解待验证隐藏密码的难度,因此,采用本申请,可以提高用户输入密码的安全性。此外,本申请实施例通过提供密码图像,可以提供一种跨平台的移动端Web安全键盘方案,各移动端使用统一随机生成的密码图像,用户点击密码图像实现用户密码的输入,不依赖操作系统平台,用户体验感更加友好。
进一步地,请参见图12,图12是本申请实施例提供的一种密码数据处理装置的结构示意图。上述密码数据处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该密码数据处理装置为一个应用软件;该装置可以用于执行本申请实施例提供的方法中的相应步骤。如图12所示,该密码数据处理装置2可以包括:发送图像模块21、获取请求模块22以及确定结果模块23。
发送图像模块21,用于获取用户终端发送的针对当前密码处理业务的处理请求,根据处理请求生成用于执行当前密码处理业务的密码字符映射表;
发送图像模块21,还用于发送基于密码字符映射表所生成且包含用于显示原始字符的至少两个密码字符区域的密码图像至用户终端,以使用户终端显示密码图像;至少两个密码字符区域包括目标密码字符区域;
获取请求模块22,用于获取用户终端发送的密码验证请求;密码验证请求是用户终端根据待验证隐藏密码所生成的,待验证隐藏密码是由用户终端在响应针对目标密码字符区域的触发操作时,根据密码字符映射表和目标密码字符区域所生成的;待验证隐藏密码与由目标密码字符区域显示的原始字符所组成的密码不同;
确定结果模块23,用于根据密码字符映射表以及密码验证请求,确定针对待验证隐藏密码的密码验证结果。
其中,发送图像模块21、获取请求模块22以及确定结果模块23的具体功能实现方式可以参见上述图6对应实施例中的步骤S201-步骤S204,这里不再进行赘述。
再请参见图12,密码字符映射表包括至少两个原始字符与至少两个隐藏字符之间的字符映射关系;密码图像中的至少两个密码字符区域,分别与所显示的原始字符映射的隐藏字符相关联。
再请参见图12,密码验证请求包括用户信息;
确定结果模块23可以包括:第二获取单元231、第三获取单元232、组合字符单元233以及确定结果单元234。
第二获取单元231,用于获取用户信息对应的用户预存密码;用户预存密码是由至少两个目标原始字符组成的;至少两个目标原始字符属于至少两个原始字符;至少两个目标原始字符包括目标原始字符Fi以及目标原始字符Fi+1,i为正整数且i小于至少两个目标原始字符中目标原始字符的总数量;
第三获取单元232,用于根据密码字符映射表,获取与目标原始字符Fi存在字符映射关系的隐藏字符Ei,获取与目标原始字符Fi+1存在字符映射关系的隐藏字符Ei+1;
组合字符单元233,用于将隐藏字符Ei以及隐藏字符Ei+1进行组合,得到目标隐藏密码;
确定结果单元234,用于根据目标隐藏密码,确定针对待验证隐藏密码的密码验证结果。
其中,第二获取单元231、第三获取单元232、组合字符单元233以及确定结果单元234的具体功能实现方式可以参见上述图6对应实施例中的步骤S204,这里不再进行赘述。
再请参见图12,密码验证请求还包括待验证隐藏密码;密码验证结果包括密码验证成功以及密码验证失败;
确定结果单元234可以包括:第一对比子单元2341以及第一确定子单元2342。
第一对比子单元2341,用于对目标隐藏密码与待验证隐藏密码进行对比;
第一确定子单元2342,用于若目标隐藏密码与待验证隐藏密码相同,则确定密码验证结果为密码验证成功;
第一确定子单元2342,还用于若目标隐藏密码与待验证隐藏密码不相同,则确定密码验证结果为密码验证失败。
其中,第一对比子单元2341以及第一确定子单元2342的具体功能实现方式可以参见上述图6对应实施例中的步骤S204,这里不再进行赘述。
再请参见图12,密码验证请求还包括加密密码,加密密码是根据待验证密码哈希值对待验证隐藏密码进行加密所生成的;待验证密码哈希值是待验证隐藏密码对应的哈希值;密码验证结果包括密码验证成功以及密码验证失败;
确定结果单元234可以包括:密码解密子单元2343、第二对比子单元2344以及第二确定子单元2345。
密码解密子单元2343,用于生成目标隐藏密码的目标密码哈希值,根据目标密码哈希值对加密密码进行解密,得到解密隐藏密码;
第二对比子单元2344,用于对解密隐藏密码以及目标隐藏密码进行对比;
第二确定子单元2345,用于若解密隐藏密码以及目标隐藏密码相同,则确定针对待验证隐藏密码的密码验证结果为密码验证成功;
第二确定子单元2345,还用于若解密隐藏密码以及目标隐藏密码不相同,则确定针对待验证隐藏密码的密码验证结果为密码验证失败。
其中,密码解密子单元2343、第二对比子单元2344以及第二确定子单元2345的具体功能实现方式可以参见上述图6对应实施例中的步骤S204,这里不再进行赘述。
本申请实施例针对当前密码处理业务的处理请求,可以生成用于执行当前密码处理业务的密码字符映射表(即基于每次发起的处理请求均可以生成不同的密码字符映射表),然后根据密码字符映射表生成用于执行当前密码处理业务的密码图像;将密码图像作为用户终端对应的密码键盘,该密码键盘中的控件是至少两个密码字符区域分别对应的控件;一方面,根据密码字符映射表可知,密码图像中的至少两个密码字符区域所显示的原始字符,与至少两个密码字符区域所分别关联的隐藏字符不相同,所以当用户点击目标密码字符区域时,用户终端获取到的待验证隐藏密码不是用户根据密码图像所输入的用户密码,那么用户所输入的用户密码就不易于被非法人员获取;另一方面,由于用户每次发送针对密码处理业务的处理请求至密码服务器时,密码服务器均会生成用于执行当前密码处理业务的密码字符映射表,故用户终端针对当前密码处理业务获取的待验证隐藏密码,不同于针对以往密码处理业务获取的待验证隐藏密码,即用户每次输入相同的用户密码后,用户终端获取到的待验证隐藏密码均不相同,从而增加了破解待验证隐藏密码的难度,因此,采用本申请,可以提高用户输入密码的安全性。此外,本申请实施例通过提供密码图像,可以提供一种跨平台的移动端Web安全键盘方案,各移动端使用统一随机生成的密码图像,用户点击密码图像实现用户密码的输入,不依赖操作系统平台,用户体验感更加友好。
进一步地,请参见图13,图13是本申请实施例提供的一种计算机设备的结构示意图。如图13所示,上述计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,上述计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非易失性的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图13所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图13所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
发送针对当前密码处理业务的处理请求至密码服务器,以使密码服务器根据处理请求生成用于执行当前密码处理业务的密码字符映射表;
获取基于密码字符映射表所生成且包含用于显示原始字符的至少两个密码字符区域的密码图像;至少两个密码字符区域包括目标密码字符区域;
响应针对目标密码字符区域的触发操作,根据密码字符映射表获取目标密码字符区域对应的待验证隐藏密码;待验证隐藏密码与由目标密码字符区域显示的原始字符所组成的密码不同;
根据待验证隐藏密码生成密码验证请求,将密码验证请求发送至密码服务器,以使密码服务器根据密码字符映射表以及密码验证请求,确定针对待验证隐藏密码的密码验证结果。
在一个实施例中,密码字符映射表包括至少两个原始字符与至少两个隐藏字符之间的字符映射关系;密码图像中的至少两个密码字符区域,分别与所显示的原始字符映射的隐藏字符相关联。
在一个实施例中,目标密码字符区域包括目标密码字符区域Ri以及目标密码字符区域Ri+1,i为正整数且i小于目标密码字符区域的总数量;
上述处理器1001在执行响应针对目标密码字符区域的触发操作,根据密码字符映射表获取目标密码字符区域对应的待验证隐藏密码时,具体执行以下步骤:
响应针对目标密码字符区域Ri的触发操作,根据密码字符映射表获取目标密码字符区域Ri对应的隐藏字符Si;
响应针对目标密码字符区域Ri+1的触发操作,根据密码字符映射表获取目标密码字符区域Ri+1对应的隐藏字符Si+1;
将隐藏字符Si以及隐藏字符Si+1进行组合,生成待验证隐藏密码。
在一个实施例中,上述处理器1001在执行根据待验证隐藏密码生成密码验证请求时,具体执行以下步骤:
生成待验证隐藏密码的待验证密码哈希值;
根据待验证密码哈希值对待验证隐藏密码进行加密,得到加密密码;
根据加密密码生成密码验证请求。
在一个实施例中,上述处理器1001在执行生成待验证隐藏密码的待验证密码哈希值时,具体执行以下步骤:
对待验证隐藏密码进行数据填充,得到填充密码;其中,填充密码的密码位数为标准位数的正整数倍n;
根据标准位数对填充密码进行分组,得到n组分组数据;
对n组分组数据分别进行消息扩展,得到n组扩展数据;
获取初始压缩值以及压缩函数,根据初始压缩值、压缩函数以及n组扩展数据,生成待验证密码哈希值。
在一个实施例中,上述处理器1001在执行根据待验证密码哈希值对待验证隐藏密码进行加密,得到加密密码时,具体执行以下步骤:
根据待验证密码哈希值确定加密密钥,根据待验证隐藏密码生成待加密密码明文;
获取分组参数,根据加密密钥以及分组参数,得到m组过渡密钥;其中,m为正整数,且m为分组参数所指示的分组数量;
根据m组过渡密钥生成Q个轮密钥;其中,Q为正整数;
根据Q个轮密钥对待加密密码明文进行Q轮迭代加密,得到m组过渡密文;
对m组过渡密文进行反序列变换,得到加密密码。
在一个实施例中,上述处理器1001还具体执行以下步骤:
获取密码验证结果;密码验证结果包括密码验证成功以及密码验证失败;
若密码验证结果为密码验证成功,则在用户业务页面中显示与密码验证成功相关联的业务处理成功结果;
若密码验证结果为密码验证失败,则在用户业务页面中显示与密码验证失败相关联的业务处理失败结果。
本申请实施例针对当前密码处理业务的处理请求,可以生成用于执行当前密码处理业务的密码字符映射表(即基于每次发起的处理请求均可以生成不同的密码字符映射表),然后根据密码字符映射表生成用于执行当前密码处理业务的密码图像;将密码图像作为用户终端对应的密码键盘,该密码键盘中的控件是至少两个密码字符区域分别对应的控件;一方面,根据密码字符映射表可知,密码图像中的至少两个密码字符区域所显示的原始字符,与至少两个密码字符区域所分别关联的隐藏字符不相同,所以当用户点击目标密码字符区域时,用户终端获取到的待验证隐藏密码不是用户根据密码图像所输入的用户密码,那么用户所输入的用户密码就不易于被非法人员获取;另一方面,由于用户每次发送针对密码处理业务的处理请求至密码服务器时,密码服务器均会生成用于执行当前密码处理业务的密码字符映射表,故用户终端针对当前密码处理业务获取的待验证隐藏密码,不同于针对以往密码处理业务获取的待验证隐藏密码,即用户每次输入相同的用户密码后,用户终端获取到的待验证隐藏密码均不相同,从而增加了破解待验证隐藏密码的难度,因此,采用本申请,可以提高用户输入密码的安全性。此外,本申请实施例通过提供密码图像,可以提供一种跨平台的移动端Web安全键盘方案,各移动端使用统一随机生成的密码图像,用户点击密码图像实现用户密码的输入,不依赖操作系统平台,用户体验感更加友好。
进一步地,请参见图14,图14是本申请实施例提供的一种计算机设备的结构示意图。如图14所示,上述计算机设备2000可以包括:处理器2001,网络接口2004和存储器2005,此外,上述计算机设备2000还可以包括:用户接口2003,和至少一个通信总线2002。其中,通信总线2002用于实现这些组件之间的连接通信。其中,用户接口2003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口2003还可以包括标准的有线接口、无线接口。网络接口2004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器2005可以是高速RAM存储器,也可以是非易失性的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器2005可选的还可以是至少一个位于远离前述处理器2001的存储装置。如图14所示,作为一种计算机可读存储介质的存储器2005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图14所示的计算机设备2000中,网络接口2004可提供网络通讯功能;而用户接口2003主要用于为用户提供输入的接口;而处理器2001可以用于调用存储器2005中存储的设备控制应用程序,以实现:
获取用户终端发送的针对当前密码处理业务的处理请求,根据处理请求生成用于执行当前密码处理业务的密码字符映射表;
发送基于密码字符映射表所生成且包含用于显示原始字符的至少两个密码字符区域的密码图像至用户终端,以使用户终端显示密码图像;至少两个密码字符区域包括目标密码字符区域;
获取用户终端发送的密码验证请求;密码验证请求是用户终端根据待验证隐藏密码所生成的,待验证隐藏密码是由用户终端在响应针对目标密码字符区域的触发操作时,根据密码字符映射表和目标密码字符区域所生成的;待验证隐藏密码与由目标密码字符区域显示的原始字符所组成的密码不同;
根据密码字符映射表以及密码验证请求,确定针对待验证隐藏密码的密码验证结果。
在一个实施例中,密码字符映射表包括至少两个原始字符与至少两个隐藏字符之间的字符映射关系;密码图像中的至少两个密码字符区域,分别与所显示的原始字符映射的隐藏字符相关联。
在一个实施例中,密码验证请求包括用户信息;
上述处理器2001在执行根据密码字符映射表以及密码验证请求,确定针对待验证隐藏密码的密码验证结果时,具体执行以下步骤:
获取用户信息对应的用户预存密码;用户预存密码是由至少两个目标原始字符组成的;至少两个目标原始字符属于至少两个原始字符;至少两个目标原始字符包括目标原始字符Fi以及目标原始字符Fi+1,i为正整数且i小于至少两个目标原始字符中目标原始字符的总数量;
根据密码字符映射表,获取与目标原始字符Fi存在字符映射关系的隐藏字符Ei,获取与目标原始字符Fi+1存在字符映射关系的隐藏字符Ei+1;
将隐藏字符Ei以及隐藏字符Ei+1进行组合,得到目标隐藏密码;
根据目标隐藏密码,确定针对待验证隐藏密码的密码验证结果。
在一个实施例中,密码验证请求还包括待验证隐藏密码;密码验证结果包括密码验证成功以及密码验证失败;
上述处理器2001在执行根据目标隐藏密码,确定针对待验证隐藏密码的密码验证结果时,具体执行以下步骤:
对目标隐藏密码与待验证隐藏密码进行对比;
若目标隐藏密码与待验证隐藏密码相同,则确定密码验证结果为密码验证成功;
若目标隐藏密码与待验证隐藏密码不相同,则确定密码验证结果为密码验证失败。
在一个实施例中,密码验证请求还包括加密密码,加密密码是根据待验证密码哈希值对待验证隐藏密码进行加密所生成的;待验证密码哈希值是待验证隐藏密码对应的哈希值;密码验证结果包括密码验证成功以及密码验证失败;
上述处理器2001在执行根据目标隐藏密码,确定针对待验证隐藏密码的密码验证结果时,具体执行以下步骤:
生成目标隐藏密码的目标密码哈希值,根据目标密码哈希值对加密密码进行解密,得到解密隐藏密码;
对解密隐藏密码以及目标隐藏密码进行对比;
若解密隐藏密码以及目标隐藏密码相同,则确定针对待验证隐藏密码的密码验证结果为密码验证成功;
若解密隐藏密码以及目标隐藏密码不相同,则确定针对待验证隐藏密码的密码验证结果为密码验证失败。
本申请实施例针对当前密码处理业务的处理请求,可以生成用于执行当前密码处理业务的密码字符映射表(即基于每次发起的处理请求均可以生成不同的密码字符映射表),然后根据密码字符映射表生成用于执行当前密码处理业务的密码图像;将密码图像作为用户终端对应的密码键盘,该密码键盘中的控件是至少两个密码字符区域分别对应的控件;一方面,根据密码字符映射表可知,密码图像中的至少两个密码字符区域所显示的原始字符,与至少两个密码字符区域所分别关联的隐藏字符不相同,所以当用户点击目标密码字符区域时,用户终端获取到的待验证隐藏密码不是用户根据密码图像所输入的用户密码,那么用户所输入的用户密码就不易于被非法人员获取;另一方面,由于用户每次发送针对密码处理业务的处理请求至密码服务器时,密码服务器均会生成用于执行当前密码处理业务的密码字符映射表,故用户终端针对当前密码处理业务获取的待验证隐藏密码,不同于针对以往密码处理业务获取的待验证隐藏密码,即用户每次输入相同的用户密码后,用户终端获取到的待验证隐藏密码均不相同,从而增加了破解待验证隐藏密码的难度,因此,采用本申请,可以提高用户输入密码的安全性。此外,本申请实施例通过提供密码图像,可以提供一种跨平台的移动端Web安全键盘方案,各移动端使用统一随机生成的密码图像,用户点击密码图像实现用户密码的输入,不依赖操作系统平台,用户体验感更加友好。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令被处理器执行时实现图3和图6中各个步骤所提供的密码数据处理方法,具体可参见上述图3和图6各个步骤所提供的实现方式,在此不再赘述。
上述计算机可读存储介质可以是前述任一实施例提供的密码数据处理装置或者上述计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smart media card,SMC),安全数字(secure digital, SD)卡,闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、装置、产品或设备固有的其他步骤单元。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例提供的方法及相关装置是参照本申请实施例提供的方法流程图和/或结构示意图来描述的,具体可由计算机程序指令实现方法流程图和/或结构示意图的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指令可提供到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或结构示意一个方框或多个方框中指定的功能的步骤。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (15)
1.一种密码数据处理方法,其特征在于,包括:
发送针对当前密码处理业务的处理请求至密码服务器,以使所述密码服务器根据所述处理请求生成用于执行所述当前密码处理业务的密码字符映射表;
获取基于所述密码字符映射表所生成且包含用于显示原始字符的至少两个密码字符区域的密码图像;所述至少两个密码字符区域包括目标密码字符区域;
响应针对所述目标密码字符区域的触发操作,根据所述密码字符映射表获取所述目标密码字符区域对应的待验证隐藏密码;所述待验证隐藏密码与由所述目标密码字符区域显示的原始字符所组成的密码不同;
根据所述待验证隐藏密码生成密码验证请求,将所述密码验证请求发送至所述密码服务器,以使所述密码服务器根据所述密码字符映射表以及所述密码验证请求,确定针对所述待验证隐藏密码的密码验证结果。
2.根据权利要求1所述的方法,其特征在于,所述密码字符映射表包括至少两个原始字符与至少两个隐藏字符之间的字符映射关系;所述密码图像中的所述至少两个密码字符区域,分别与所显示的原始字符映射的隐藏字符相关联。
3.根据权利要求1所述的方法,其特征在于,所述目标密码字符区域包括目标密码字符区域Ri以及目标密码字符区域Ri+1,i为正整数且i小于所述目标密码字符区域的总数量;
响应针对所述目标密码字符区域的触发操作,根据所述密码字符映射表获取所述目标密码字符区域对应的待验证隐藏密码,包括:
响应针对所述目标密码字符区域Ri的触发操作,根据所述密码字符映射表获取所述目标密码字符区域Ri对应的隐藏字符Si;
响应针对所述目标密码字符区域Ri+1的触发操作,根据所述密码字符映射表获取所述目标密码字符区域Ri+1对应的隐藏字符Si+1;
将所述隐藏字符Si以及所述隐藏字符Si+1进行组合,生成所述待验证隐藏密码。
4.根据权利要求1所述的方法,其特征在于,所述根据所述待验证隐藏密码生成密码验证请求,包括:
生成所述待验证隐藏密码的待验证密码哈希值;
根据所述待验证密码哈希值对所述待验证隐藏密码进行加密,得到加密密码;
根据所述加密密码生成所述密码验证请求。
5.根据权利要求4所述的方法,其特征在于,所述生成所述待验证隐藏密码的待验证密码哈希值,包括:
对所述待验证隐藏密码进行数据填充,得到填充密码;其中,所述填充密码的密码位数为标准位数的正整数倍n;
根据所述标准位数对所述填充密码进行分组,得到n组分组数据;
对所述n组分组数据分别进行消息扩展,得到n组扩展数据;
获取初始压缩值以及压缩函数,根据所述初始压缩值、所述压缩函数以及所述n组扩展数据,生成所述待验证密码哈希值。
6.根据权利要求4所述的方法,其特征在于,所述根据所述待验证密码哈希值对所述待验证隐藏密码进行加密,得到加密密码,包括:
根据所述待验证密码哈希值确定加密密钥,根据所述待验证隐藏密码生成待加密密码明文;
获取分组参数,根据所述加密密钥以及所述分组参数,得到m组过渡密钥;其中,m为正整数,且m为所述分组参数所指示的分组数量;
根据所述m组过渡密钥生成Q个轮密钥;其中,Q为正整数;
根据所述Q个轮密钥对所述待加密密码明文进行Q轮迭代加密,得到m组过渡密文;
对所述m组过渡密文进行反序列变换,得到所述加密密码。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述密码验证结果;所述密码验证结果包括密码验证成功以及密码验证失败;
若所述密码验证结果为所述密码验证成功,则在用户业务页面中显示与所述密码验证成功相关联的业务处理成功结果;
若所述密码验证结果为所述密码验证失败,则在所述用户业务页面中显示与所述密码验证失败相关联的业务处理失败结果。
8.一种密码数据处理方法,其特征在于,包括:
获取用户终端发送的针对当前密码处理业务的处理请求,根据所述处理请求生成用于执行所述当前密码处理业务的密码字符映射表;
发送基于所述密码字符映射表所生成且包含用于显示原始字符的至少两个密码字符区域的密码图像至所述用户终端,以使所述用户终端显示所述密码图像;所述至少两个密码字符区域包括目标密码字符区域;
获取所述用户终端发送的密码验证请求;所述密码验证请求是所述用户终端根据待验证隐藏密码所生成的,所述待验证隐藏密码是由所述用户终端在响应针对所述目标密码字符区域的触发操作时,根据密码字符映射表和所述目标密码字符区域所生成的;所述待验证隐藏密码与由所述目标密码字符区域显示的原始字符所组成的密码不同;
根据所述密码字符映射表以及所述密码验证请求,确定针对所述待验证隐藏密码的密码验证结果。
9.根据权利要求8所述的方法,其特征在于,所述密码字符映射表包括至少两个原始字符与至少两个隐藏字符之间的字符映射关系;所述密码图像中的所述至少两个密码字符区域,分别与所显示的原始字符映射的隐藏字符相关联。
10.根据权利要求9所述的方法,其特征在于,所述密码验证请求包括用户信息;
所述根据所述密码字符映射表以及所述密码验证请求,确定针对所述待验证隐藏密码的密码验证结果,包括:
获取所述用户信息对应的用户预存密码;所述用户预存密码是由至少两个目标原始字符组成的;所述至少两个目标原始字符属于所述至少两个原始字符;所述至少两个目标原始字符包括目标原始字符Fi以及目标原始字符Fi+1,i为正整数且i小于所述至少两个目标原始字符中目标原始字符的总数量;
根据所述密码字符映射表,获取与所述目标原始字符Fi存在字符映射关系的隐藏字符Ei,获取与所述目标原始字符Fi+1存在字符映射关系的隐藏字符Ei+1;
将所述隐藏字符Ei以及所述隐藏字符Ei+1进行组合,得到目标隐藏密码;
根据所述目标隐藏密码,确定针对所述待验证隐藏密码的所述密码验证结果。
11.根据权利要求10所述的方法,其特征在于,所述密码验证请求还包括所述待验证隐藏密码;所述密码验证结果包括密码验证成功以及密码验证失败;
所述根据所述目标隐藏密码,确定针对所述待验证隐藏密码的所述密码验证结果,包括:
对所述目标隐藏密码与所述待验证隐藏密码进行对比;
若所述目标隐藏密码与所述待验证隐藏密码相同,则确定所述密码验证结果为所述密码验证成功;
若所述目标隐藏密码与所述待验证隐藏密码不相同,则确定所述密码验证结果为所述密码验证失败。
12.根据权利要求10所述的方法,其特征在于,所述密码验证请求还包括加密密码,所述加密密码是根据待验证密码哈希值对所述待验证隐藏密码进行加密所生成的;所述待验证密码哈希值是所述待验证隐藏密码对应的哈希值;所述密码验证结果包括密码验证成功以及密码验证失败;
所述根据所述目标隐藏密码,确定针对所述待验证隐藏密码的所述密码验证结果,包括:
生成所述目标隐藏密码的目标密码哈希值,根据所述目标密码哈希值对所述加密密码进行解密,得到解密隐藏密码;
对所述解密隐藏密码以及所述目标隐藏密码进行对比;
若所述解密隐藏密码以及所述目标隐藏密码相同,则确定针对所述待验证隐藏密码的所述密码验证结果为所述密码验证成功;
若所述解密隐藏密码以及所述目标隐藏密码不相同,则确定针对所述待验证隐藏密码的所述密码验证结果为所述密码验证失败。
13.一种密码数据处理装置,其特征在于,包括:
第一显示模块,用于发送针对当前密码处理业务的处理请求至密码服务器,以使所述密码服务器根据所述处理请求生成用于执行所述当前密码处理业务的密码字符映射表;
所述第一显示模块,还用于获取基于所述密码字符映射表所生成且包含用于显示原始字符的至少两个密码字符区域的密码图像;所述至少两个密码字符区域包括目标密码字符区域;
第一获取模块,用于响应针对所述目标密码字符区域的触发操作,根据所述密码字符映射表获取所述目标密码字符区域对应的待验证隐藏密码;所述待验证隐藏密码与由所述目标密码字符区域显示的原始字符所组成的密码不同;
发送请求模块,用于根据所述待验证隐藏密码生成密码验证请求,将所述密码验证请求发送至所述密码服务器,以使所述密码服务器根据所述密码字符映射表以及所述密码验证请求,确定针对所述待验证隐藏密码的密码验证结果。
14.一种计算机设备,其特征在于,包括:处理器、存储器以及网络接口;
所述处理器与所述存储器、所述网络接口相连,其中,所述网络接口用于提供数据通信功能,所述存储器用于存储程序代码,所述处理器用于调用所述程序代码,以执行权利要求1至12中任一项所述方法的步骤。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时,执行权利要求1至12中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011209521.XA CN112035827B (zh) | 2020-11-03 | 2020-11-03 | 密码数据处理方法、装置、设备以及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011209521.XA CN112035827B (zh) | 2020-11-03 | 2020-11-03 | 密码数据处理方法、装置、设备以及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112035827A true CN112035827A (zh) | 2020-12-04 |
CN112035827B CN112035827B (zh) | 2022-02-08 |
Family
ID=73573555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011209521.XA Active CN112035827B (zh) | 2020-11-03 | 2020-11-03 | 密码数据处理方法、装置、设备以及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112035827B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112507326A (zh) * | 2020-12-16 | 2021-03-16 | 平安国际智慧城市科技股份有限公司 | 基于sm3杂凑算法的密码信息加密方法、装置以及计算机设备 |
CN112966252A (zh) * | 2021-04-26 | 2021-06-15 | 平安国际智慧城市科技股份有限公司 | 一种基于密码技术的客户端验证方法、装置、电子设备及介质 |
CN114117368A (zh) * | 2021-10-11 | 2022-03-01 | 福州克拉电气自动化有限公司 | 基于物联网云平台的多功能电力仪表数据信息采集能耗管理系统、方法以及存储介质 |
CN114301681A (zh) * | 2021-12-28 | 2022-04-08 | 中国电信股份有限公司 | 业务数据的传输方法和装置、存储介质及电子装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080320310A1 (en) * | 2007-06-21 | 2008-12-25 | Microsoft Corporation | Image based shared secret proxy for secure password entry |
CN101764684A (zh) * | 2009-10-26 | 2010-06-30 | 广州杰赛科技股份有限公司 | 实现sms4算法的加解密系统 |
CN101827360A (zh) * | 2010-04-09 | 2010-09-08 | 中兴通讯股份有限公司 | 一种通信终端图形密码设置方法及装置 |
CN102202067A (zh) * | 2011-07-15 | 2011-09-28 | 席勇良 | 动态随机密码登录方法 |
CN106549759A (zh) * | 2015-09-16 | 2017-03-29 | 阿里巴巴集团控股有限公司 | 身份认证方法和装置 |
WO2017190561A1 (zh) * | 2016-05-06 | 2017-11-09 | 平安科技(深圳)有限公司 | 通过虚拟键盘实现密码输入的方法、终端、服务器、系统和存储介质 |
CN108197478A (zh) * | 2017-08-08 | 2018-06-22 | 鸿秦(北京)科技有限公司 | 一种采用随机盐值的NandFlash加密文件系统 |
CN108650227A (zh) * | 2018-03-30 | 2018-10-12 | 苏州科达科技股份有限公司 | 基于数据报安全传输协议的握手方法及系统 |
CN111679781A (zh) * | 2020-06-05 | 2020-09-18 | 腾讯科技(深圳)有限公司 | 一种验证处理方法、装置、设备及介质 |
-
2020
- 2020-11-03 CN CN202011209521.XA patent/CN112035827B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080320310A1 (en) * | 2007-06-21 | 2008-12-25 | Microsoft Corporation | Image based shared secret proxy for secure password entry |
CN101764684A (zh) * | 2009-10-26 | 2010-06-30 | 广州杰赛科技股份有限公司 | 实现sms4算法的加解密系统 |
CN101827360A (zh) * | 2010-04-09 | 2010-09-08 | 中兴通讯股份有限公司 | 一种通信终端图形密码设置方法及装置 |
CN102202067A (zh) * | 2011-07-15 | 2011-09-28 | 席勇良 | 动态随机密码登录方法 |
CN106549759A (zh) * | 2015-09-16 | 2017-03-29 | 阿里巴巴集团控股有限公司 | 身份认证方法和装置 |
WO2017190561A1 (zh) * | 2016-05-06 | 2017-11-09 | 平安科技(深圳)有限公司 | 通过虚拟键盘实现密码输入的方法、终端、服务器、系统和存储介质 |
CN108197478A (zh) * | 2017-08-08 | 2018-06-22 | 鸿秦(北京)科技有限公司 | 一种采用随机盐值的NandFlash加密文件系统 |
CN108650227A (zh) * | 2018-03-30 | 2018-10-12 | 苏州科达科技股份有限公司 | 基于数据报安全传输协议的握手方法及系统 |
CN111679781A (zh) * | 2020-06-05 | 2020-09-18 | 腾讯科技(深圳)有限公司 | 一种验证处理方法、装置、设备及介质 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112507326A (zh) * | 2020-12-16 | 2021-03-16 | 平安国际智慧城市科技股份有限公司 | 基于sm3杂凑算法的密码信息加密方法、装置以及计算机设备 |
CN112507326B (zh) * | 2020-12-16 | 2023-11-28 | 平安国际智慧城市科技股份有限公司 | 基于sm3杂凑算法的密码信息加密方法、装置以及计算机设备 |
CN112966252A (zh) * | 2021-04-26 | 2021-06-15 | 平安国际智慧城市科技股份有限公司 | 一种基于密码技术的客户端验证方法、装置、电子设备及介质 |
CN112966252B (zh) * | 2021-04-26 | 2023-11-24 | 平安国际智慧城市科技股份有限公司 | 一种基于密码技术的客户端验证方法、装置、电子设备及介质 |
CN114117368A (zh) * | 2021-10-11 | 2022-03-01 | 福州克拉电气自动化有限公司 | 基于物联网云平台的多功能电力仪表数据信息采集能耗管理系统、方法以及存储介质 |
CN114117368B (zh) * | 2021-10-11 | 2023-06-23 | 福州克拉电气自动化有限公司 | 基于物联网云平台的电力仪表数据信息采集能耗管理系统 |
CN114301681A (zh) * | 2021-12-28 | 2022-04-08 | 中国电信股份有限公司 | 业务数据的传输方法和装置、存储介质及电子装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112035827B (zh) | 2022-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112035827B (zh) | 密码数据处理方法、装置、设备以及可读存储介质 | |
EP3319069B1 (en) | Method for authenticating a user by means of a non-secure terminal | |
CN107302539B (zh) | 一种电子身份注册及认证登录的方法及其系统 | |
CN109714176B (zh) | 口令认证方法、装置及存储介质 | |
KR20060003319A (ko) | 기기 인증 시스템 | |
CN115333857B (zh) | 基于智慧城市系统云平台数据防篡改的检测方法 | |
CN112989426B (zh) | 授权认证方法及装置、资源访问令牌的获取方法 | |
CN102684877A (zh) | 一种进行用户信息处理的方法及装置 | |
TW200421812A (en) | System and method for securing digital messages | |
CA3066701A1 (en) | Controlling access to data | |
KR102421567B1 (ko) | 단말 그룹핑 기반의 인터넷 접속 관리 서비스를 제공할 수 있는 인터넷 접속 관리 서비스 서버 및 그 동작 방법 | |
CN104992119A (zh) | 一种敏感信息防窃取的安全传输方法及系统 | |
CN101145911A (zh) | 具有私密保护及口令找回功能的身份认证方法 | |
CN112199622A (zh) | 页面跳转方法、系统及存储介质 | |
CN114266033A (zh) | 验证码生成方法、装置、验证码登录系统及电子设备 | |
CN110062002A (zh) | 一种鉴权方法及相关产品 | |
CN114244508A (zh) | 数据加密方法、装置、设备及存储介质 | |
US20190258829A1 (en) | Securely performing a sensitive operation using a non-secure terminal | |
CN116076055A (zh) | 用于验证用户标识的方法及系统 | |
CN116701831B (zh) | 处理数据的方法、装置及存储介质 | |
CN114244616B (zh) | 登录验证方法、登录验证系统、电子设备以及存储介质 | |
CN112565156A (zh) | 信息注册方法、装置和系统 | |
CN116232700A (zh) | 登录认证方法、装置、计算机设备、存储介质 | |
CN109462620A (zh) | 一种基于多种安全验证方式实现密码找回方法及系统 | |
CN114329415A (zh) | 一种基于随机图像方案的移动Web登录密码加密方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40036267 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |