基于数据安全的密码输入方法、装置、设备及存储介质与流程

未命名 08-07 阅读:119 评论:0


1.本技术涉及金融科技技术领域,尤其涉及一种基于数据安全的密码输入方法、装置、设备及存储介质。


背景技术:

2.随着移动互联网和智能操作系统的快速发展的今天,绝大部分用户是通过智能手机完成移动支付、移动储蓄、投资理财、移动登陆等重要操作,在这些过程中,用户输入支付密码、登陆密码如果处于不安全的使用环境下,容易被黑客窃取,从而造成严重的经济损失,由此可见安全的密码输入系统是对于银行、金融等行业有着非常重要的作用。
3.智能手机自带的软键盘或开发者自行开发的软键盘,绝大部分不具备数据安全保护的能力,所以数据安全的密码输入系统是一个能替换自带软键盘或开发者自行开发的软键盘的一整套可靠稳定安全的用户输入解决方案。
4.现有的密码输入系统在加密的过程中不能保证任意时刻都没有明文密码,导致了依旧存在泄露风险的技术问题。


技术实现要素:

5.本技术提供了一种基于数据安全的密码输入方法、装置、设备及存储介质,解决了现有的密码输入系统在加密的过程中不能保证任意时刻都没有明文密码,导致的依旧存在泄露风险的技术问题。
6.有鉴于此,本技术第一方面提供了一种基于数据安全的密码输入方法,所述方法包括:
7.s1、响应于键盘唤醒指令,生成sm4的动态密钥;
8.s2、基于所述动态密钥对虚拟键盘的逐个键盘字符数据进行加密处理,分别得到所述键盘字符数据对应的密文串;
9.s3、生成所述键盘字符数据对应键位的随机id,并构建所述随机id与对应的所述密文串的映射关系;
10.s4、接收至少一个键位触发指令,所述键位触发指令中携带有目标键位;
11.s5、存储所述目标键位对应的随机id至目标数据库;
12.s6、当调用密码密文接口时,从所述目标数据库中调用所述随机id,并按预设格式拼接所述随机id对应的所述密文串,得到加密字符串;
13.s7、将所述加密字符串以及所述动态密钥通过预设加密算法进行非对称加密后,向后端系统发送密码密文。
14.可选地,所述步骤s1之后还包括:
15.在前端页面中显示虚拟键盘,并调用防截屏以及防录屏功能组件对所述虚拟键盘显示页面进行屏蔽。
16.可选地,所述步骤s6具体包括:
17.当接收密码校验指令时,调用密码密文接口;
18.从所述目标数据库中调用至少一个所述随机id;
19.根据所述随机id与对应的所述密文串的映射关系,获取至少一个所述随机id对应的所述密文串;
20.按照协议版本、时间戳以及至少一个随机id对应的所述密文串的预设格式进行拼接,得到加密字符串。
21.本技术第二方面提供一种基于数据安全的密码输入装置,所述装置包括:
22.第一处理单元,用于响应于键盘唤醒指令,生成sm4的动态密钥;
23.第一加密单元,用于基于所述动态密钥对虚拟键盘的逐个键盘字符数据进行加密处理,分别得到所述键盘字符数据对应的密文串;
24.第二处理单元,用于生成所述键盘字符数据对应键位的随机id,并构建所述随机id与对应的所述密文串的映射关系;
25.第一接收单元,用于接收至少一个键位触发指令,所述键位触发指令中携带有目标键位;
26.存储单元,用于存储所述目标键位对应的随机id至目标数据库;
27.第三处理单元,用于当调用密码密文接口时,从所述目标数据库中调用所述随机id,并按预设格式拼接所述随机id对应的所述密文串,得到加密字符串;
28.第二加密单元,用于将所述加密字符串以及所述动态密钥通过预设加密算法进行非对称加密后,向后端系统发送密码密文。
29.可选地,还包括:
30.显示单元,用于在前端页面中显示虚拟键盘,并调用防截屏以及防录屏功能组件对所述虚拟键盘显示页面进行屏蔽。
31.可选地,所述第三处理单元具体用于:
32.当接收密码校验指令时,调用密码密文接口;
33.从所述目标数据库中调用至少一个所述随机id;
34.根据所述随机id与对应的所述密文串的映射关系,获取至少一个所述随机id对应的所述密文串;
35.按照协议版本、时间戳以及至少一个随机id对应的所述密文串的预设格式进行拼接,得到加密字符串。
36.本技术第三方面提供了一种基于数据安全的密码输入方法,所述方法包括:
37.接收前端系统发送的密码密文,所述密码密文包含通过预设加密算法进行非对称加密的加密字符串以及动态密钥;
38.对所述密码密文进行解密后,解析所述加密字符串以及所述动态密钥,得到所述加密字符串包含的至少一个密文串对应的随机id;
39.根据所述随机id与键盘字符数据对应键位的映射关系,得到所述密码密文对应的密码明文。
40.本技术第四方面提供一种基于数据安全的密码输入装置,所述装置包括:
41.第二接收单元,用于接收前端系统发送的密码密文,所述密码密文包含通过预设加密算法进行非对称加密的加密字符串以及动态密钥;
42.解密单元,用于对所述密码密文进行解密后,解析所述加密字符串以及所述动态密钥,得到所述加密字符串包含的至少一个密文串对应的随机id;
43.确定单元,用于根据所述随机id与键盘字符数据对应键位的映射关系,得到所述密码密文对应的密码明文。
44.本技术第五方面提供一种基于数据安全的密码输入设备,所述设备包括处理器以及存储器:
45.所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
46.所述处理器用于根据所述程序代码中的指令,执行如上述第一方面或第三方面所述的基于数据安全的密码输入方法的步骤。
47.本技术第六方面提供一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行上述第一方面或第三方面所述的基于数据安全的密码输入方法。
48.从以上技术方案可以看出,本技术实施例具有以下优点:
49.本技术中,提供了一种基于数据安全的密码输入方法、装置、设备及存储介质,在用户唤醒虚拟键盘时,动态生成sm4的动态密钥,基于动态密钥实现虚拟键盘各键位的一次加密,同时动态生成与键位对应的随机id,采用存储随机id而不是键位字符信息的方式避免密码明文在前端系统中出现,同时采用预设加密算法对随机id对应的密文串拼接成的加密字符串以及动态密钥进行二次加密,才得到的密码密文传输至后端系统再进行解密以及密码明文的校验,使得前端系统不存在解密,后端系统不存在加密,解决了现有的密码输入系统在加密的过程中不能保证任意时刻都没有明文密码,导致的依旧存在泄露风险的技术问题。
附图说明
50.图1为本技术实施例中一种基于数据安全的密码输入方法的第一个方法流程图;
51.图2为本技术实施例中一种基于数据安全的密码输入方法的第二个方法流程图;
52.图3为本技术实施例中一种基于数据安全的密码输入装置的第一个结构示意图;
53.图4为本技术实施例中一种基于数据安全的密码输入装置的第二个结构示意图;
54.图5为本技术实施例中一种基于数据安全的密码输入设备的结构示意图。
具体实施方式
55.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
56.本技术设计了一种基于数据安全的密码输入方法、装置、设备及存储介质,解决了现有的密码输入系统在加密的过程中不能保证任意时刻都没有明文密码,导致的依旧存在泄露风险的技术问题。
57.为了便于理解,请参阅图1,图1为本技术实施例中一种基于数据安全的密码输入方法的第一个方法流程图,如图1所示,具体为:
58.s1、响应于键盘唤醒指令,生成sm4的动态密钥;
59.需要说明的是,当用户发出键盘唤醒指令时,前端系统将生成sm4加密算法的动态密钥。
60.s2、基于动态密钥对虚拟键盘的逐个键盘字符数据进行加密处理,分别得到键盘字符数据对应的密文串;
61.需要说明的是,采用sm4加密算法的动态密钥对唤醒的虚拟键盘的逐个键盘字符数据进行加密处理,从而分别得到键盘字符数据对应的密文串,例如对于键盘字符数据“1”通过动态密钥进行加密,得到对应的第一串密文串。
62.s3、生成键盘字符数据对应键位的随机id,并构建随机id与对应的密文串的映射关系;
63.需要说明的是,为了进一步避免在前端系统出现密码明文,随机生成键盘字符数据对应键位的随机id,且构建随机id与密文串的映射关系,例如:键盘字符数据“1”对应随机id“985”对应密文串“14516545”。
64.s4、接收至少一个键位触发指令,键位触发指令中携带有目标键位;
65.需要说明的是,在用户通过虚拟键盘进行密码输入时,每点击一个虚拟键盘的目标键位,则会产生一个键位触发指令。
66.s5、存储目标键位对应的随机id至目标数据库;
67.需要说明的是,将目标键位对应的随机id存储至目标数据库,避免在目标数据库中直接出现目标键位的字符数据。
68.s6、当调用密码密文接口时,从目标数据库中调用随机id,并按预设格式拼接随机id对应的密文串,得到加密字符串;
69.需要说明的是,在用户密码全部输入完毕后,可以通过触发校验按钮,或者满足校验条件时触发校验,从而调用密码密文接口。
70.调用密码密文接口时,从目标数据库中调用随机id,并按照预设格式拼接随机id对应的密文串,从而得到用户密码明文对应的加密字符串。
71.s7、将加密字符串以及动态密钥通过预设加密算法进行非对称加密后,向后端系统发送密码密文。
72.需要说明的是,采用预设加密算法对加密字符串以及动态密钥进行二次加密,形成密码密文,传输至后端系统,由后端系统进行解密。
73.其中,预设加密算法可以采用sm2的非对称加密算法,或rsa的非对称加密算法,根据实际开发需要进行确定。
74.进一步地,步骤s1之后还包括:
75.在前端页面中显示虚拟键盘,并调用防截屏以及防录屏功能组件对虚拟键盘显示页面进行屏蔽。
76.需要说明的是,键盘前端整体防止截屏、录屏,防止用户输入密码时被监听后非法获取。
77.进一步地,步骤s6具体包括:
78.当接收密码校验指令时,调用密码密文接口;
79.从目标数据库中调用至少一个随机id;
80.根据随机id与对应的密文串的映射关系,获取至少一个随机id对应的密文串;
81.按照协议版本、时间戳以及至少一个随机id对应的密文串的预设格式进行拼接,得到加密字符串。
82.请参阅图2,图2为本技术实施例中一种基于数据安全的密码输入方法的第二个方法流程图,如图2所示,具体为:
83.201、接收前端系统发送的密码密文,密码密文包含通过预设加密算法进行非对称加密的加密字符串以及动态密钥;
84.202、对密码密文进行解密后,解析加密字符串以及动态密钥,得到加密字符串包含的至少一个密文串对应的随机id;
85.203、根据随机id与键盘字符数据对应键位的映射关系,得到密码密文对应的密码明文。
86.需要说明的是,后端系统对密码密文进行解密时,需要先通过预设加密算法进行第一次解密,得到加密字符串和动态密钥,再需要解析sm4的动他密钥和单字符加符的加密字符串,逐个解密后拼接后得多组随机id,基于随机id与键位的映射关系,最终才得到密码明文,再把密码明文转换成对应算法的哈希串再行密码对比校验,完成整个密码校验的过程。
87.整个流程中,只有后端系统才会知道用户密码,其它地方均不会出现用户密码明文。
88.请参阅图3,图3为本技术实施例中一种基于数据安全的密码输入装置的第一个结构示意图,如图3所示,具体为:
89.第一处理单元301,用于响应于键盘唤醒指令,生成sm4的动态密钥;
90.第一加密单元302,用于基于动态密钥对虚拟键盘的逐个键盘字符数据进行加密处理,分别得到键盘字符数据对应的密文串;
91.第二处理单元303,用于生成键盘字符数据对应键位的随机id,并构建随机id与对应的密文串的映射关系;
92.第一接收单元304,用于接收至少一个键位触发指令,键位触发指令中携带有目标键位;
93.存储单元305,用于存储目标键位对应的随机id至目标数据库;
94.第三处理单元306,用于当调用密码密文接口时,从目标数据库中调用随机id,并按预设格式拼接随机id对应的密文串,得到加密字符串;
95.第二加密单元307,用于将加密字符串以及动态密钥通过预设加密算法进行非对称加密后,向后端系统发送密码密文。
96.进一步地,还包括:
97.显示单元,用于在前端页面中显示虚拟键盘,并调用防截屏以及防录屏功能组件对虚拟键盘显示页面进行屏蔽。
98.进一步地,第三处理单元306具体用于:
99.当接收密码校验指令时,调用密码密文接口;
100.从目标数据库中调用至少一个随机id;
101.根据随机id与对应的密文串的映射关系,获取至少一个随机id对应的密文串;
102.按照协议版本、时间戳以及至少一个随机id对应的密文串的预设格式进行拼接,得到加密字符串。
103.请参阅图4,图4为本技术实施例中一种基于数据安全的密码输入装置的第二个结构示意图,如图4所示,具体为:
104.第二接收单元401,用于接收前端系统发送的密码密文,密码密文包含通过预设加密算法进行非对称加密的加密字符串以及动态密钥;
105.解密单元402,用于对密码密文进行解密后,解析加密字符串以及动态密钥,得到加密字符串包含的至少一个密文串对应的随机id;
106.确定单元403,用于根据随机id与键盘字符数据对应键位的映射关系,得到密码密文对应的密码明文。
107.本技术实施例还提供了另一种基于数据安全的密码输入设备,如图5所示,为了便于说明,仅示出了与本技术实施例相关的部分,具体技术细节未揭示的,请参照本技术实施例方法部分。该终端可以为包括手机、平板电脑、个人数字助理(英文全称:personal digitalassistant,英文缩写:pda)、销售终端(英文全称:point ofsales,英文缩写:pos)、车载电脑等任意终端设备,以终端为手机为例:
108.图5示出的是与本技术实施例提供的终端相关的手机的部分结构的框图。参考图5,手机包括:射频(英文全称:radio frequency,英文缩写:rf)电路1010、存储器1020、输入单元1030、显示单元1040、传感器1050、音频电路1060、无线保真(英文全称:wireless fidelity,英文缩写:wifi)模块1070、处理器1080、以及电源1090等部件。本领域技术人员可以理解,图5中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
109.下面结合图5对手机的各个构成部件进行具体的介绍:
110.rf电路1010可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1080处理;另外,将设计上行的数据发送给基站。通常,rf电路1010包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(英文全称:lownoiseamplifier,英文缩写:lna)、双工器等。此外,rf电路1010还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(英文全称:global system ofmobile communication,英文缩写:gsm)、通用分组无线服务(英文全称:generalpacket radio service,gprs)、码分多址(英文全称:code division multiple access,英文缩写:cdma)、宽带码分多址(英文全称:wideband code divisionmultipleaccess,英文缩写:wcdma)、长期演进(英文全称:long termevolution,英文缩写:lte)、电子邮件、短消息服务(英文全称:shortmessaging service,sms)等。
111.存储器1020可用于存储软件程序以及模块,处理器1080通过运行存储在存储器1020的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器1020可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1020可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
112.输入单元1030可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元1030可包括触控面板1031以及其他输入设备1032。触控面板1031,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1031上或在触控面板1031附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板1031可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1080,并能接收处理器1080发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1031。除了触控面板1031,输入单元1030还可以包括其他输入设备1032。具体地,其他输入设备1032可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
113.显示单元1040可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元1040可包括显示面板1041,可选的,可以采用液晶显示器(英文全称:liquid crystal display,英文缩写:lcd)、有机发光二极管(英文全称:organic light-emitting diode,英文缩写:oled)等形式来配置显示面板1041。进一步的,触控面板1031可覆盖显示面板1041,当触控面板1031检测到在其上或附近的触摸操作后,传送给处理器1080以确定触摸事件的类型,随后处理器1080根据触摸事件的类型在显示面板1041上提供相应的视觉输出。虽然在图5中,触控面板1031与显示面板1041是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板1031与显示面板1041集成而实现手机的输入和输出功能。
114.手机还可包括至少一种传感器1050,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1041的亮度,接近传感器可在手机移动到耳边时,关闭显示面板1041和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
115.音频电路1060、扬声器1061,传声器1062可提供用户与手机之间的音频接口。音频电路1060可将接收到的音频数据转换后的电信号,传输到扬声器1061,由扬声器1061转换为声音信号输出;另一方面,传声器1062将收集的声音信号转换为电信号,由音频电路1060接收后转换为音频数据,再将音频数据输出处理器1080处理后,经rf电路1010以发送给比如另一手机,或者将音频数据输出至存储器1020以便进一步处理。
116.wifi属于短距离无线传输技术,手机通过wifi模块1070可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图5示出了wifi模块1070,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
117.处理器1080是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1020内的软件程序和/或模块,以及调用存储在存储器1020
内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器1080可包括一个或多个处理单元;优选的,处理器1080可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1080中。
118.手机还包括给各个部件供电的电源1090(比如电池),优选的,电源可以通过电源管理系统与处理器1080逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
119.尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
120.在本技术实施例中,该终端所包括的处理器1080还具有以下功能:
121.s1、响应于键盘唤醒指令,生成sm4的动态密钥;
122.s2、基于动态密钥对虚拟键盘的逐个键盘字符数据进行加密处理,分别得到键盘字符数据对应的密文串;
123.s3、生成键盘字符数据对应键位的随机id,并构建随机id与对应的密文串的映射关系;
124.s4、接收至少一个键位触发指令,键位触发指令中携带有目标键位;
125.s5、存储目标键位对应的随机id至目标数据库;
126.s6、当调用密码密文接口时,从目标数据库中调用随机id,并按预设格式拼接随机id对应的密文串,得到加密字符串;
127.s7、将加密字符串以及动态密钥通过预设加密算法进行非对称加密后,向后端系统发送密码密文。
128.本技术实施例还提供一种计算机可读存储介质,用于存储程序代码,该程序代码用于执行前述各个实施例的一种基于数据安全的密码输入方法中的任意一种实施方式。
129.本技术实施例中,提供了一种基于数据安全的密码输入方法、装置、设备及存储介质,在用户唤醒虚拟键盘时,动态生成sm4的动态密钥,基于动态密钥实现虚拟键盘各键位的一次加密,同时动态生成与键位对应的随机id,采用存储随机id而不是键位字符信息的方式避免密码明文在前端系统中出现,同时采用预设加密算法对随机id对应的密文串拼接成的加密字符串以及动态密钥进行二次加密,才得到的密码密文传输至后端系统再进行解密以及密码明文的校验,使得前端系统不存在解密,后端系统不存在加密,解决了现有的密码输入系统在加密的过程中不能保证任意时刻都没有明文密码,导致的依旧存在泄露风险的技术问题。
130.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
131.本技术的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
132.应当理解,在本技术中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
133.在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
134.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
135.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
136.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文全称:read-only memory,英文缩写:rom)、随机存取存储器(英文全称:randomaccess memory,英文缩写:ram)、磁碟或者光盘等各种可以存储程序代码的介质。
137.以上所述,以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。

技术特征:
1.一种基于数据安全的密码输入方法,其特征在于,包括:s1、响应于键盘唤醒指令,生成sm4的动态密钥;s2、基于所述动态密钥对虚拟键盘的逐个键盘字符数据进行加密处理,分别得到所述键盘字符数据对应的密文串;s3、生成所述键盘字符数据对应键位的随机id,并构建所述随机id与对应的所述密文串的映射关系;s4、接收至少一个键位触发指令,所述键位触发指令中携带有目标键位;s5、存储所述目标键位对应的随机id至目标数据库;s6、当调用密码密文接口时,从所述目标数据库中调用所述随机id,并按预设格式拼接所述随机id对应的所述密文串,得到加密字符串;s7、将所述加密字符串以及所述动态密钥通过预设加密算法进行非对称加密后,向后端系统发送密码密文。2.根据权利要求1所述的基于数据安全的密码输入方法,其特征在于,所述步骤s1之后还包括:在前端页面中显示虚拟键盘,并调用防截屏以及防录屏功能组件对所述虚拟键盘显示页面进行屏蔽。3.根据权利要求1所述基于数据安全的密码输入方法,其特征在于,所述步骤s6具体包括:当接收密码校验指令时,调用密码密文接口;从所述目标数据库中调用至少一个所述随机id;根据所述随机id与对应的所述密文串的映射关系,获取至少一个所述随机id对应的所述密文串;按照协议版本、时间戳以及至少一个随机id对应的所述密文串的预设格式进行拼接,得到加密字符串。4.一种基于数据安全的密码输入装置,其特征在于,包括:第一处理单元,用于响应于键盘唤醒指令,生成sm4的动态密钥;第一加密单元,用于基于所述动态密钥对虚拟键盘的逐个键盘字符数据进行加密处理,分别得到所述键盘字符数据对应的密文串;第二处理单元,用于生成所述键盘字符数据对应键位的随机id,并构建所述随机id与对应的所述密文串的映射关系;第一接收单元,用于接收至少一个键位触发指令,所述键位触发指令中携带有目标键位;存储单元,用于存储所述目标键位对应的随机id至目标数据库;第三处理单元,用于当调用密码密文接口时,从所述目标数据库中调用所述随机id,并按预设格式拼接所述随机id对应的所述密文串,得到加密字符串;第二加密单元,用于将所述加密字符串以及所述动态密钥通过预设加密算法进行非对称加密后,向后端系统发送密码密文。5.根据权利要求4所述的基于数据安全的密码输入装置,其特征在于,还包括:显示单元,用于在前端页面中显示虚拟键盘,并调用防截屏以及防录屏功能组件对所
述虚拟键盘显示页面进行屏蔽。6.根据权利要求4所述基于数据安全的密码输入装置,其特征在于,所述第三处理单元具体用于:当接收密码校验指令时,调用密码密文接口;从所述目标数据库中调用至少一个所述随机id;根据所述随机id与对应的所述密文串的映射关系,获取至少一个所述随机id对应的所述密文串;按照协议版本、时间戳以及至少一个随机id对应的所述密文串的预设格式进行拼接,得到加密字符串。7.一种基于数据安全的密码输入方法,其特征在于,包括:接收前端系统发送的密码密文,所述密码密文包含通过预设加密算法进行非对称加密的加密字符串以及动态密钥;对所述密码密文进行解密后,解析所述加密字符串以及所述动态密钥,得到所述加密字符串包含的至少一个密文串对应的随机id;根据所述随机id与键盘字符数据对应键位的映射关系,得到所述密码密文对应的密码明文。8.一种基于数据安全的密码输入装置,其特征在于,包括:第二接收单元,用于接收前端系统发送的密码密文,所述密码密文包含通过预设加密算法进行非对称加密的加密字符串以及动态密钥;解密单元,用于对所述密码密文进行解密后,解析所述加密字符串以及所述动态密钥,得到所述加密字符串包含的至少一个密文串对应的随机id;确定单元,用于根据所述随机id与键盘字符数据对应键位的映射关系,得到所述密码密文对应的密码明文。9.一种基于数据安全的密码输入设备,其特征在于,所述设备包括处理器以及存储器:所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;所述处理器用于根据所述程序代码中的指令执行权利要求1-3、7任一项所述的基于数据安全的密码输入方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行权利要求1-3、7任一项所述的基于数据安全的密码输入方法。

技术总结
本申请公开了一种基于数据安全的密码输入方法、装置、设备及存储介质,在用户唤醒虚拟键盘时,动态生成SM4的动态密钥,基于动态密钥实现虚拟键盘各键位的一次加密,同时动态生成与键位对应的随机ID,采用存储随机ID而不是键位字符信息的方式避免密码明文在前端系统中出现,同时采用预设加密算法对随机ID对应的密文串拼接成的加密字符串以及动态密钥进行二次加密,才得到的密码密文传输至后端系统再进行解密以及密码明文的校验,使得前端系统不存在解密,后端系统不存在加密,解决了现有的密码输入系统在加密的过程中不能保证任意时刻都没有明文密码,导致的依旧存在泄露风险的技术问题


技术研发人员:谢钰铭
受保护的技术使用者:平安银行股份有限公司
技术研发日:2023.06.02
技术公布日:2023/8/5
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐