软键盘安全输入方法、服务器、客户端、电子设备和介质与流程

文档序号:17395823发布日期:2019-04-13 00:49阅读:235来源:国知局
软键盘安全输入方法、服务器、客户端、电子设备和介质与流程

本发明涉及软键盘输入技术领域,具体涉及一种跨平台的自绘随机软键盘安全输入方法、服务器、客户端、电子设备和介质。



背景技术:

随着网络技术和移动通信技术的普及,近年来我国的互联网金融发展迅猛。互联网巨头纷纷加入移动支付的浪潮。移动互联网已经占据人们的生活,人们的消费逐渐向手机过渡。移动互联网在为用户和企业带来便捷和利益的同时,随之而来的各类安全问题也日益增加,为了防止窃取用户账号信息和支付密码等信息,通常会使用安全控件完成重要信息输入。早先的安全软键盘主要用应在web应用场景,不适用于移动平台。通常的安全软键盘只是将字符顺序打乱,并对输入的内容采用ssl加密后传输。但是当输入界面被截屏的时候,输入的数字会被黑客连续截屏获取,依然存在风险。



技术实现要素:

本发明目的在于提供一种跨平台的自绘随机软键盘安全输入方法、服务器、客户端、电子设备和介质,以防止用户输入信息被黑客窃取。

为了实现本发明目的,本发明第一方面提供一种自绘随机软键盘安全输入方法,包括如下步骤:

接收来自客户端的键盘获取请求;

根据所述键盘获取请求随机生成一混排键盘图片,并将该混排键盘图片推送至所述客户端;

接收来自客户端的用户输入的键位坐标信息;

根据所述键位坐标信息和所述混排键盘图片确定客户端的用户输入信息。

在一些实施例中,所述根据所述键盘获取请求随机生成一混排键盘图片包括:

从图片数据信息库中调取多个第一图片,所述多个第一图片用于显示不同键位;

多个第一图片随机拼接形成所述混排键盘图片。

在一些实施例中,所述键位坐标信息在客户端上通过预设加密策略进行加密。

在一些实施例中,所述根据所述键位坐标信息和所述混排键盘图片确定客户端的用户输入信息包括:

根据预设解密策略对所述加密信息进行解密得到键位坐标值;

根据所述键位坐标值和所述混排键盘图片确定用户输入的信息。

本发明第二方面提供另一种自绘随机软键盘安全输入方法,包括如下步骤:

根据用户输入的安全软键盘启动信号,向服务端发起键盘获取请求;

接收并显示服务端推送的混排键盘图片;

获取用户输入的键位坐标信息;

根据预设加密策略对用户点击的键位坐标信息进行加密得到加密信息,并将所述加密信息后传输至服务端。

本发明第三方面提供一种服务器,包括:

第一接收模块,被配置为接收来自客户端的键盘获取请求;

键盘生成模块,被配置为根据所述键盘获取请求随机生成一混排键盘图片,并将该混排键盘图片推送至所述客户端;

第二接收模块,被配置为接收来自客户端的用户输入的键位坐标信息;

确定模块,根据所述键位坐标信息和所述混排键盘图片确定客户端的用户输入信息。

在一些实施例中,还包括:

图片数据信息库,被配置为存储多个第一图片,所述多个第一图片用于显示不同键位;

其中,所述键盘生成模块具体被配置为从图片数据信息库中调取多个第一图片,并将多个第一图片随机拼接形成所述混排键盘图片。

本发明第四方面提供一种客户端,包括:

软键盘启动模块,被配置为根据用户输入的安全软键盘启动信号,向服务端发起键盘获取请求;

第一获取模块,被配置为接收并显示服务端推送的混排键盘图片;

第二获取模块,被配置为获取用户输入的键位坐标信息;

加密模块,被配置为根据预设加密策略对用户点击的键位坐标信息进行加密得到加密信息,并将所述加密信息后传输至服务端。

本发明第五方面提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,以实现如本发明第一方面所述的自绘随机软键盘安全输入方法,或如本发明第二方面所述的自绘随机软键盘安全输入方法。

本发明第六方面提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时,以实现如本发明第一方面所述的自绘随机软键盘安全输入方法,或如本发明第二方面所述的自绘随机软键盘安全输入方法。

以上技术方案至少具有以下有益效果:

在输入敏感信息(例如输入用户账号信息和支付密码等信息)时会生成字符随机排列的安全软键盘,用户每次输入时点击的位置都不相同,使得黑客无法分析出软键盘字符排列顺序,提升安全性。客户端用户输入的信息,只会记录点击的位置坐标,坐标信息加密后发送给服务端解密,然后解析出真实的数据信息。真实的数据信息只有服务端才能获取,保证重要信息的安全性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例一所述自绘随机软键盘安全输入方法流程图。

图2为本发明实施例一混排键盘图片示意图。

图3为本发明实施例另一混排键盘图片示意图。

图4为本发明实施例二所述自绘随机软键盘安全输入方法流程图。

图5为本发明实施例一及二中自绘随机软键盘原理图。

图6为本发明实施例一及二中加密及解密流程图。

图7为本发明实施例三所述服务器框架结构示意图。

图8为本发明实施例三所述客户端框架结构示意图。

具体实施方式

以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。

另外,为了更好的说明本发明,在下文的具体实施例中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本发明同样可以实施。在一些实例中,对于本领域技术人员熟知的手段、元件和电路未作详细描述,以便于凸显本发明的主旨。

本发明在实施时,提供h5自绘随机软键盘sdk,开发者在源码编译过程中调用,按照开发文档步骤进行集成,在需要使用安全软键盘的地方调用即可。

如图1所示,本发明实施例一提供一种自绘随机软键盘安全输入方法,包括如下步骤:

s101接收来自客户端的键盘获取请求;

s102根据所述键盘获取请求随机生成一混排键盘图片,并将该混排键盘图片推送至所述客户端;

s103接收来自客户端的用户输入的键位坐标信息;

s104根据所述键位坐标信息和所述混排键盘图片确定客户端的用户输入信息。

其中,在客户端使用本实施例的自绘随机软键盘后,会禁用外接键盘输入,防止因外接键盘被劫持带来风险。

在一些实施例中,所述s102中根据所述键盘获取请求随机生成一混排键盘图片包括:

s1021从图片数据信息库中调取多个第一图片,所述多个第一图片用于显示不同键位,也就是不同的字符;

s1022多个第一图片随机拼接形成所述混排键盘图片,例如图2-3所示,图2和3分别为随机生成的不同混排键盘图片。

其中,自绘随机软键盘没有使用使用缓存信息保存数据,并在每次打开时都会进行刷新,从服务端获取新的键盘布局,保证缓存信息的安全性。

在一些实施例中,所述s103中所述的键位坐标信息在客户端上通过预设加密策略进行加密。

在一些实施例中,所述s104根据所述键位坐标信息和所述混排键盘图片确定客户端的用户输入信息包括:

s1041根据预设解密策略对所述加密信息进行解密得到键位坐标值;

s1042根据所述键位坐标值和所述混排键盘图片确定用户输入的信息。

其中,本实施例中软键盘输入时无回显和水印,防止偷窥或截屏获取到敏感信息。通过显示去标识化处理,在用户输入明文密码时将明文信息转化为*字符进行显示,不会显示原始明文信息,输入密码明文转*时间为0。本实施例中软键盘添加了水印效果,提升安全性。

如图4所示,本发明实施例二提供另一种自绘随机软键盘安全输入方法,包括如下步骤:

s201根据用户输入的安全软键盘启动信号,向服务端发起键盘获取请求;

s202接收并显示服务端推送的混排键盘图片;

s203获取用户输入的键位坐标信息;

s204根据预设加密策略对用户点击的键位坐标信息进行加密得到加密信息,并将所述加密信息后传输至服务端。

需说明的是,实施例一所述方法与实施例二所述方法相对应,其中实施例一方法对应服务器,实施例二方法对应客户端。

其中,本发明实施例一及二中的安全软键盘使用h5代码开发,可以兼容传统互联网和移动互联网。安全软键盘真实的内容是一张图片,显示内容是字符信息,当点击输入的时候,记录点击坐标,加密后发送给服务端进行解密获取对应坐标值的真实输入信息。

具体而言,自绘随机软键盘原理如图5所示,下面对图5所示原理进行说明:

1)客户端请求键盘接口,服务器随机从图片池中获取一张图片a(以字节数组的形式保存在内存中)与对应的随机数组s,一对随机的rsa密钥对文件:公钥b,私钥c。

移动端:然后返回给客户端图片a(以base64的形式)和公钥b。

pc端:把图片a保存在session中,返回公钥b,再通过另外一个接口返回图片。

(注意:此处图片a为动态获取,每次都不一样,公钥b和私钥c密钥对都是随机产生。并且私钥c只保存在服务器,用于服务端解密。公钥b用于客户端加密)

2)用户点击图片,客户端记录图片坐标。

3)客户输入完成后,客户端使用公钥b加密坐标,然后发给服务端,服务端收到数据后,使用私钥c进行解密,然后去随机数组s查找对应坐标的真实数值,然后获取到真实数据d。

4)服务器根据结果d自己进行判断等后续操作。

具体而言,所述预设加密策略与所述预设解密策略相对应,其中,加密和解密的流程如图6所示,包括下面流程:

1)用户通过安全键盘输入明文数据;

2)数据在内存中进行去标识化处理,以防黑客通过内存dump技术获取内存中明文数据;

3)去标识化后的数据经过计算长度,将转化为16进制的长度位拼接到数据前面再进行整体转16进制处理;

4)转16进制后的数据通过16进制f进行补齐到64位的数据长度;

5)程序调用sm2加密算法通过公钥对当前16进制的数据进行sm2加密处理;

6)加密后的数据按照c1c3c2序列进行排列;

7)为满足网络传输要求,最终再对加密后的数据进行一次base64转码处理,得到最终密文数据;

8)服务端获取密文数据逆向解密。

如图7所示,本发明实施例三提供一种用于实现实施例一所述方法的服务器1,包括:

第一接收模块11,被配置为接收来自客户端的键盘获取请求;

键盘生成模块12,被配置为根据所述键盘获取请求随机生成一混排键盘图片,并将该混排键盘图片推送至所述客户端;

第二接收模块13,被配置为接收来自客户端的用户输入的键位坐标信息;

确定模块14,根据所述键位坐标信息和所述混排键盘图片确定客户端的用户输入信息。

在一些实施例中,还包括:

图片数据信息库15,被配置为存储多个第一图片,所述多个第一图片用于显示不同键位;

本实施例中,所述键盘生成模块12具体被配置为从图片数据信息库中调取多个第一图片,并将多个第一图片随机拼接形成所述混排键盘图片。

在一些实施例中,还包括:解密模块16。

具体而言,所述键位坐标信息在客户端上通过预设加密策略进行加密,因此,所述服务器上设置有对应的解密模块16,用于根据预设解密策略对所述加密信息进行解密得到键位坐标值。

对于实施例三公开的客户端而言,由于其与实施例一公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

如图8所示,本发明实施例四提供一种用于实现实施例二所述方法的客户端2,包括:

软键盘启动模块21,被配置为根据用户输入的安全软键盘启动信号,向服务端发起键盘获取请求;

第一获取模块22,被配置为接收并显示服务端推送的混排键盘图片;

第二获取模块23,被配置为获取用户输入的键位坐标信息;

加密模块24,被配置为根据预设加密策略对用户点击的键位坐标信息进行加密得到加密信息,并将所述加密信息后传输至服务端。

对于实施例四公开的客户端而言,由于其与实施例二公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

本发明实施例五提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,以实现如实施例一任一所述的自绘随机软键盘安全输入方法,或如实施例二所述的自绘随机软键盘安全输入方法。

在一种可选的实现形式中,该电子设备还可以包括:存储器及处理器,连接不同组件(包括存储器和处理器)的总线,存储器存储有计算机程序,当处理器执行所述程序时实现本申请实施例所述的消息同步方法。

总线表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。

电子设备典型地包括多种计算机设备可读介质。这些介质可以是任何能够被电子设备访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。

存储器还可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)和/或高速缓存存储器。电子设备可以进一步包括其他可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统可以用于读写不可移动的、非易失性磁介质(图未显示,通常称为“硬盘驱动器”)。尽管图中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd-rom,dvd-rom或者其他光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线相连。存储器可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。

具有一组(至少一个)程序模块的程序/实用工具,可以存储在例如存储器中,这样的程序模块包括——但不限于——操作系统、一个或者多个应用程序、其他程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块通常执行本申请所描述的实施例中的功能和/或方法。

电子设备也可以与一个或多个外部设备(例如键盘、指向设备、显示器等)通信,还可与一个或者多个使得用户能与该电子设备交互的设备通信,和/或与使得该电子设备能与一个或多个其他计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口进行。并且,电子设备还可以通过网络适配器与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器通过总线与电子设备的其他模块通信。应当明白,尽管图中未示出,可以结合电子设备使用其他硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。

需要说明的是,前述对消息同步方法实施例的解释说明也适用于该实施例的电子设备,其实现原理类似,此处不再赘述。

本发明实施例六提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时,以实现如实施例一任一所述的自绘随机软键盘安全输入方法,或如实施例二所述的自绘随机软键盘安全输入方法。

一种可选实现形式中,本实施例可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如”c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

通过以上实施例的描述可知,本申请实施例在输入敏感信息时会生成字符随机排列的安全软键盘,用户每次输入时点击的位置都不相同,使得黑客无法分析出软键盘字符排列顺序,提升安全性。客户端用户输入的信息,只会记录点击的位置坐标,坐标信息加密后发送给服务端解密,然后解析出真实的数据信息。真实的数据信息只有服务端才能获取,保证重要信息的安全性。

以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

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