掌桥专利:专业的专利平台
掌桥专利
首页

键盘输入信息的方法、装置、系统、电子设备和存储介质

文献发布时间:2023-06-19 11:29:13


键盘输入信息的方法、装置、系统、电子设备和存储介质

技术领域

本公开的实施例涉及计算机技术领域,具体涉及键盘输入信息的方法、装置、系统、电子设备和存储介质。

背景技术

随着移动终端设备及应用的普及和支付环境的利好,移动终端应用消费在我国经济和人民生活中得到高速增长,手机端金融业务的交易量与支付额快速提升,移动金融成为人们日常生活的重要组成部分,但在移动金融快速发展的同时安全问题也日益凸显。

在移动应用开发过程中,通常首先会考虑到对服务器数据存储安全、客户端与服务器间的数据通讯安全做加密保护,而常常忽略了数据第一入口保护——移动应用的键盘保护。大多数非金融应用仍习惯与使用应用调用系统自带或者用户默认设置的输入法,而这将使用户输入的数据暴露在攻击者面前。现有的移动应用安全键盘技术采用了随机键盘以及固定密钥加密的方式。但这种方法不能保障密钥的安全,键盘输入一次性全过程实施加密在数据过程中留有风险空挡,容易被破解。并且现有的加密算法效率低,不灵活。现有的移动应用安全键盘技术不能针对不同的输入内容自适应调整键盘的内容,使得用户在乱排的、有大量冗余字符的键盘中很难查找目标字符,导致用户体验差。

发明内容

本公开的实施例提出了键盘输入信息的方法、装置、系统、电子设备和存储介质。

第一方面,本公开的实施例提供了一种键盘输入信息的方法,应用于移动端,包括:响应于检测到键盘输入信息请求,调用安全键盘;接收服务端发送的用于对称加密的第一密钥和用于非对称加密的第二密钥;将所述用户每次点击的所述安全键盘上的字符使用所述第一密钥进行对称加密,得到第一密文;响应于检测到用户确认输入,将所述第一密文使用所述第二密钥进行非对称加密,得到第二密文;将所述第二密文发送给所述服务端。

在一些实施例中,所述将所述用户每次点击的所述安全键盘上的字符使用所述第一密钥进行对称加密,得到第一密文,包括:将用户首次点击的所述安全键盘上的字符使用所述第一密钥进行对称加密,得到第一子密文;基于所述第一子密文,执行如下加密步骤:将用户点击的所述安全键盘上的字符与所述第一子密文拼接后使用所述第一密钥进行对称加密,得到第二子密文;如果检测到用户确认输入,则将所述第二子密文确定为第一密文;如果没检测到用户确认输入,则将所述第二子密文作为第一子密文继续执行所述加密步骤。

在一些实施例中,在所述调用安全键盘之后,所述方法还包括:与服务端共同生成基于时间的一次性密码验证信息;响应于检测到用户输入所述一次性密码验证信息,将所述一次性密码验证信息发送给服务端,以供所述服务端根据所述一次性密码验证信息验证所述用户的身份。

在一些实施例中,所述调用安全键盘,包括:根据业务类型从以下安全键盘中调用一种安全键盘:基础键盘、功能键盘、组合键盘。

在一些实施例中,所述方法还包括:响应于检测到用户确认输入,清空通过所述安全键盘输入信息的内容,并隐藏所述安全键盘。

在一些实施例中,所述安全键盘为随机键盘。

在一些实施例中,所述方法还包括:响应于接收到所述服务端反馈的超时消息,重新调用安全键盘。

第二方面,本公开的实施例提供了一种键盘输入信息的方法,应用于服务端,包括:响应于检测到移动端调用安全键盘,随机生成用于对称加密的第一密钥和用于非对称加密的第二密钥;将所述第一密钥和所述第二密钥发送给所述移动端;接收所述移动端发送的密文;通过所述第二密钥对应的私钥对所述密文解密后,再通过所述第一密钥依次对每个字符解密,得到键盘输入的信息。

在一些实施例中,所述随机生成用于对称加密的第一密钥和用于非对称加密的第二密钥,包括:与所述移动端共同生成基于时间的一次性密码验证信息;响应于接收到所述移动端发送的所述一次性密码验证信息,验证是否超时;若不超时,则随机生成用于对称加密的第一密钥和用于非对称加密的第二密钥。

在一些实施例中,在所述接收所述移动端发送的密文之后,所述方法还包括:对所述密文进行超时验证;若不超时,则获取所述密文;若超时,则向所述移动端发送超时消息。

在一些实施例中,所述随机生成用于对称加密的第一密钥和用于非对称加密的第二密钥,包括:通过硬件设备产生随机数,生成SM2密钥作为第二密钥,生成SM4密钥作为第一密钥。

第三方面,本公开的实施例提供了一种键盘输入信息的系统,包括:移动端,用于实现如第一方面中任一项所述的方法;服务端,用于实现如第二方面中任一项所述的方法。

第四方面,本公开的实施例提供了一种键盘输入信息的装置,应用于移动端,包括:调用单元,被配置成响应于检测到键盘输入信息请求,调用安全键盘;接收单元,被配置成接收服务端发送的用于对称加密的第一密钥和用于非对称加密的第二密钥;第一加密单元,被配置成将所述用户每次点击的所述安全键盘上的字符使用所述第一密钥进行对称加密,得到第一密文;第二加密单元,被配置成响应于检测到用户确认输入,将所述第一密文使用所述第二密钥进行非对称加密,得到第二密文;发送单元,被配置成将所述第二密文发送给所述服务端。

第五方面,本公开的实施例提供了一种键盘输入信息的装置,应用于服务端,包括:生成单元,被配置成响应于检测到移动端调用安全键盘,随机生成用于对称加密的第一密钥和用于非对称加密的第二密钥;发送单元,被配置成将所述第一密钥和所述第二密钥发送给所述移动端;接收单元,被配置成接收所述移动端发送的密文;解密单元,被配置成通过所述第二密钥对应的私钥对所述密文解密后,再通过所述第一密钥依次对每个字符解密,得到键盘输入的信息。

第六方面,本公开的实施例提供了一种键盘输入信息的电子设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面和第二方面中任一项所述的方法。

第七方面,本公开的实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如第一方面和第二方面中任一项所述的方法。

本公开的实施例提供的键盘输入信息的方法和装置,充分考虑到金融业务高安全性要求,全面保护信息输入安全,从底层、启动前、输入时、输入后等多个维度进行输入数据保护,可有效防止数据侦听、键盘劫持、键盘截屏等攻击行为。在随机键盘基础上,对输入过程中每次输入数据采用一键一密的加密流技术,将输入的每次操作进行加密;数据输入前启动安全键盘密文生成前,基于时间生成OTP(one time password,一次性密码)对输入数据防重放保护;输入完成后,对输入全过程结果进行非对称加密密文。“对称加密+非对称加密”能够提高安全性。采用高强度的加密算法和机制,对内存数据实时加密,不留下风险空档,并且应用的加密密钥一次一密,实时更新,从而提高了安全性。安全键盘输入数据调用随机键盘生成函数后,安全键盘服务端在每次加密时产生动态密钥,运用密钥随机产生来保障密钥安全,除此之外服务端可全面支持国密算法基础上,提供密钥管理、对接硬件加密机模块、对接其他密钥系统模块等符合PCI PED认证安要求的密码键盘安全解决方案以满足用户不同应用场景。在保证密钥安全的同时还提高了加密效率和灵活性。此外,还可以根据业务类型调用不同功能的安全键盘,可以减少键盘上冗余的字符来提高用户查找目标字符的速度,从而提升用户体验。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本公开的其它特征、目的和优点将会变得更明显:

图1是本公开的一个实施例可以应用于其中的示例性系统架构图;

图2是根据本公开的键盘输入信息的方法的一个实施例的流程图;

图3是根据本公开的键盘输入信息的方法的又一个实施例的流程图;

图4是根据本公开的键盘输入信息的方法的一个应用场景的示意图;

图5是根据本公开的键盘输入信息的装置的一个实施例的结构示意图;

图6是根据本公开的键盘输入信息的装置的又一个实施例的结构示意图;

图7是适于用来实现本公开的实施例的电子设备的计算机系统的结构示意图。

具体实施方式

下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。

需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。

图1示出了键盘输入信息的系统的架构图。

如图1所示,键盘输入信息的系统主要包含移动端和服务端。移动端提供了安全键盘前端,服务端是安全键盘的后台服务器,其中服务端架构包括密钥生成模块、算法支持模块、软件安全模块、硬件安全模块以及WEB后台管理中心。

移动端的安全键盘前端提供基础键盘、功能键盘、组合键盘样式。基础键盘:基础数字、字母组合安全键盘,提供正则匹配判断、弱密码校验等功能;功能键盘:提供短信验证码、支付密码、还款金额、身份证等功能;组合键盘:提供字母、数字组合键盘,适用于输入身份证、输入支付密码等场景。

安全键盘服务端WEB管理中心主要为用户管理员提供管理界面,进行密钥管理操作应用。

密钥生成模块,动态生成密钥(例如SM4密钥)提供移动端安全键盘进行数据加密使用。

算法支持模块,用于支持国密SM2/SM3/SM4算法。还可支持国标加密算法。

软件安全模块,金融环境应用场景中各业务中大部分已存在密钥管理系统,本模块负责对接用户密钥管理系统,应用用户业务系统密钥标准对移动端数据进行加解密工作。

硬件安全模块,由于监管合规要求需要对接硬件加密,使用硬件设备产生随机数、SM2密钥、SM4密钥以及转加密等功能场景。

该键盘输入信息的系统的主要功能实现原理:

1、密钥管理:密钥随机产生、密钥存储、密钥销毁等。

2、支持算法:支持国密SM2/SM3/SM4算法.

3、高可用性:各组件间通过socket通信,具备在线加解密、硬件模式、离线模式等多种降级模式以保障业务高可用。

4、调用接口

对外各种服务接口使用dubbo服务框架,使得系统可通过高性能的RPC实现服务的输出和输入

继续参考图2,示出了根据本公开的键盘输入信息的方法应用于移动端的一个实施例的流程200。该键盘输入信息的方法,包括以下步骤:

步骤201,响应于检测到键盘输入信息请求,调用安全键盘。

在本实施例中,键盘输入信息的方法的执行主体(例如图1所示的移动端)运行的APP可检测到用户想要输入信息,例如,用户点击了密码输入框,则检测到键盘输入信息请求,调用安全键盘。可调用键盘对外接口,包括构建键盘应用对象及键盘枚举类型,设置输入是否显示明文,获取当前输入最大长度以及禁用系统输入法等。

键盘应用对象可分为以下三种:基础键盘、功能键盘、组合键盘。

基础键盘:基础数字、字母组合安全键盘,提供正则匹配判断、弱密码校验等功能;功能键盘:提供短信验证码、支付密码、还款金额、身份证等功能;组合键盘:提供字母、数字组合键盘,适用于输入身份证、输入支付密码等场景。根据键盘枚举类型再将每种键盘应用对象细分,例如功能键盘中键盘枚举类型为0则代表提供短信验证码的键盘,1代表提供支付密码的键盘。

在本实施例的一些可选的实现方式中,根据业务类型从以下安全键盘中调用一种安全键盘:基础键盘、功能键盘、组合键盘。例如,用户点击的是身份证号码的输入框,则说明用户使用身份证号码输入业务,可调用功能键盘,并选择键盘枚举类型为身份证,即可调用适用于输入身份证号码的安全键盘。可以减少键盘上冗余的字符来提高用户查找目标字符的速度,从而提升用户体验。

在本实施例的一些可选的实现方式中,在所述调用安全键盘之后,所述方法还包括:与服务端共同生成基于时间的一次性密码验证信息;响应于检测到用户输入所述一次性密码验证信息,将所述一次性密码验证信息发送给服务端,以供所述服务端根据所述一次性密码验证信息验证所述用户的身份。例如,可设置2分钟内有效的一次性密码验证信息。如果2分钟内移动端将正确的一次性密码验证信息发送给服务端,则身份验证通过。一次性密码验证信息可以是服务端发给用户注册的手机号的验证码。用户通过安全键盘输入验证码后移动端将验证码发送到服务端。服务端先判断接收到的验证码的时间是否超过2分钟,如果没有超时,则将本地存储的验证码和接收到的验证码进行匹配。匹配成功后,身份验证通过,才允许向移动端发送密钥。

采用基于时间的OTP技术,使得密码密文数据无法被重放攻击,从而保证安全性。

步骤202,接收服务端发送的用于对称加密的第一密钥和用于非对称加密的第二密钥。

在本实施例中,移动端调用安全键盘时会通知服务端。服务端为安全键盘随机生成两种密钥。一种是用于对称加密的第一密钥,另一种是用于非对称加密的第二密钥。第一密钥和第二密钥可以是国密的密钥例如SM2/SM3/SM4。还可以是国际密钥,例如DES、RSA等。采用国密算法提高了保密性,并且可以根据需求灵活地支持各种密钥算法。

步骤203,将用户每次点击的安全键盘上的字符使用第一密钥进行对称加密,得到第一密文。

在本实施例中,用户输入的字符依次被第一密钥加密。例如,用户输入“1”,用第一密钥加密后得到密文A,然后用户再输入“2”,则将“2”和密文A拼接后再通过第一密钥加密得到密文B,用户再输入“3”,则将“3”和密文B拼接后再通过第一密钥加密得到密文C。使用拼接的方式加密可以提高加密效率。

步骤204,响应于检测到用户确认输入,将第一密文使用第二密钥进行非对称加密,得到第二密文。

在本实施例中,用户输入完毕会点击确定按键,移动端通过检测确定按键来判断用户确认输入。然后将第一密文使用第二密钥进行非对称加密,得到第二密文。例如,步骤203中用户输入3个字符得到密文C,则第二密钥对密文C进行非对称加密,得到第二密文。非对称加密比传统的固定密钥加密的方式安全性更高。经过两次加密的密文不易被破解。

步骤205,将第二密文发送给服务端。

在本实施例中,利用安全键盘输入每次触发键盘时进行对称性加密,点击确定后,系统对整体输入过程进行非对称性加密,此次输入生成密文为“对称加密+非对称加密”密文传送至服务端。

在本实施例的一些可选的实现方式中,该方法还包括:响应于检测到用户确认输入,清空通过所述安全键盘输入信息的内容,并隐藏所述安全键盘。这样可以防止黑客截屏攻击,进一步提高安全性。

在本实施例的一些可选的实现方式中,安全键盘为随机键盘。以防止黑客通过用户点击的位置获取用户输入的信息,从而提高数据输入的安全性。

在本实施例的一些可选的实现方式中,所述方法还包括:响应于接收到所述服务端反馈的超时消息,重新调用安全键盘。如果超时,则密钥失败,移动端重新调用安全键盘,重新执行步骤201-205。从而保证密钥能够及时更新,防止黑客攻击,进一步提高安全性。

本公开的上述实施例提供的方法,采用高强度的加密算法和机制,对内存数据实时加密,不留下风险空档,并且应用的加密密钥一次一密,实时更新。安全键盘既支持国际加密算法,同时也支持SM2/3/4的国密算法。采用基于时间的OTP技术,使得密码密文数据无法被重放攻击;防截屏攻击,对截屏攻击进行防御,不回显输入信息。安全控件有Android/iOS原生版本、也有H5版本,兼容性通过Top600机型测试。并且安全键盘既有数字键盘、全键盘等基础键盘,也有带有业务场景的短密、长密、验证码等带有输入框的键盘,场景丰富。

进一步参考图3,其示出了键盘输入信息的方法应用于服务端的又一个实施例的流程300。该键盘输入信息的方法的流程300,包括以下步骤:

步骤301,响应于检测到移动端调用安全键盘,随机生成用于对称加密的第一密钥和用于非对称加密的第二密钥。

在本实施例中,键盘输入信息的方法的执行主体(例如图1所示的服务端)可在移动端调用安全键盘时接收到通知消息,然后随机生成用于对称加密的第一密钥和用于非对称加密的第二密钥。每次移动端调用安全键盘时随机生成一次密钥。移动端重新调用安全键盘时重新生成密钥。因此能够保证密钥能够及时更新,从而保证密钥安全。第一密钥和第二密钥可以是国标密钥,也可以是国密密钥。可根据移动端APP的具体需求选择相应的密钥协议。服务端保存第一密钥用于解密对称加密的密文。该系统采用公钥加密私钥解密的非对称加密方式,服务端发给移动端的第二密钥其实是公钥,服务端保存第二密钥对应的私钥用于解密。这种方式可保证密钥的安全性,防止被窃取。

在本实施例的一些可选的实现方式中,所述随机生成用于对称加密的第一密钥和用于非对称加密的第二密钥,包括:与所述移动端共同生成基于时间的一次性密码验证信息;响应于接收到所述移动端发送的所述一次性密码验证信息,验证是否超时;若不超时,则随机生成用于对称加密的第一密钥和用于非对称加密的第二密钥。需要进行基于时间的OTP验证,验证通过,服务端才会向移动端发送密钥。从而使得密码密文无法被重放攻击,提高安全性。

在本实施例的一些可选的实现方式中,随机生成用于对称加密的第一密钥和用于非对称加密的第二密钥,包括:通过硬件设备(图1和图4所示的HMS)产生随机数,生成SM2密钥作为第二密钥,生成SM4密钥作为第一密钥。还可通过软件模块(KMS)生成密钥。硬件方式生成的密钥保密性更高,还可以提高加密速度。

国密即国家密码局认定的国产密码算法。主要有SM1,SM2,SM3,SM4。密钥长度和分组长度均为128位。

SM1为对称加密。其加密强度与AES相当。该算法不公开,调用该算法时,需要通过加密芯片的接口进行调用。

SM2为非对称加密,基于ECC。该算法已公开。由于该算法基于ECC,故其签名速度与密钥生成速度都快于RSA。ECC 256位(SM2采用的就是ECC 256位的一种)安全强度比RSA2048位高,但运算速度快于RSA。

SM3消息摘要。可以用MD5作为对比理解。该算法已公开。校验结果为256位。

SM4无线局域网标准的分组数据算法。对称加密,密钥长度和分组长度均为128位。

由于SM1、SM4加解密的分组大小为128bit,故对消息进行加解密时,若消息长度过长,需要进行分组,若消息长度不足,则要进行填充。

步骤302,将第一密钥和第二密钥发送给移动端。

在本实施例中,通过RPC(Remote Procedure Call Protocol,远程调用协议)技术将第一密钥和第二密钥发送给移动端。

步骤303,接收移动端发送的密文。

在本实施例中,移动端发送的密文的内容是通过步骤203-204生成的。服务端可直接对接收到的密文进行读取。

在本实施例的一些可选的实现方式中,在所述接收所述移动端发送的密文之后,所述方法还包括:对所述密文进行超时验证;若不超时,则获取所述密文;若超时,则向所述移动端发送超时消息。即使服务端接收到密文,但如果时间超过预定时间(可从发送密钥给移动端开始计时),则认为移动端发送的密文无效,丢弃该密文。并通知移动端密文的超时消息,让移动端重新调用安全键盘,重新执行步骤201-205。此时使用的密钥是重新随机生成的密钥,不同于之前发送的密钥,提高了安全性。

步骤304,通过第二密钥对应的私钥对密文解密后,再通过第一密钥依次对每个字符解密,得到键盘输入的信息。

在本实施例中,由于移动端加密时采用的公钥加密,因此服务端解密时采用对应的私钥进行解密。解密的结果仍是密文,即步骤203中的第一密文。然后再通过步骤203的逆过程进行解密,得到键盘输入的信息。如果解密失败,则同样可发送失败消息给移动端,通知移动端重新执行步骤201-205。如果解密失败次数超过预定失败阈值,则不再让该用户继续输入字符,提高了安全性。

可选地,如果移动端采用的是随机键盘,则解密的结果实际上是键盘的位置信息。再将位置信息映射为真实的用户输入字符,提高了安全性。此过程为现有技术,因此不再赘述。

从图3中可以看出,与图2对应的实施例相比,本实施例中的键盘输入信息的方法的流程300体现了服务端进行生成密钥和解密的步骤。从而达到自主性强,依据国家商业密码标准,符合国家网络安全战略方向的技术效果。并实现数据完整性,解决移动设备输入数据监听、键盘截屏、输入数据篡改、内存dump、重放用户密码等数据输入方面的安全问题。

继续参见图4,图4是根据本实施例的键盘输入信息的方法的应用场景的一个示意图。在图4的应用场景中,安全键盘工作流程如下所示:

1、移动端启动调用安全键盘,调用键盘对外接口包括构建键盘应用对象及键盘枚举类型,设置输入是否显示明文,获取当前输入最大长度以及禁用系统输入法等。

2、同时基于时间生成2分钟之内有效的OTP。

3、利用安全键盘输入每次触发键盘时进行对称性加密,点击确定后,系统对整体输入过程进行非对称性加密,此次输入生成密文为“对称加密+非对称加密”密文传送至服务端。同时移动端清空键盘,调起键盘后隐藏键盘,释放资源。

4、服务端通过密码校验接口,匹配结果后,获取键盘输入的密文,进行数据解密交给业务进行业务运算。

进一步参考图5,作为对上述各图所示方法的实现,本公开提供了一种键盘输入信息的装置应用于移动端的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。

如图5所示,本实施例的键盘输入信息的装置500包括:调用单元501、接收单元502、第一加密单元503、第二加密单元504和发送单元505。其中,调用单元501,被配置成响应于检测到键盘输入信息请求,调用安全键盘;接收单元502,被配置成接收服务端发送的用于对称加密的第一密钥和用于非对称加密的第二密钥;第一加密单元503,被配置成将所述用户每次点击的所述安全键盘上的字符使用所述第一密钥进行对称加密,得到第一密文;第二加密单元504,被配置成响应于检测到用户确认输入,将所述第一密文使用所述第二密钥进行非对称加密,得到第二密文;发送单元505,被配置成将所述第二密文发送给所述服务端。

在本实施例中,键盘输入信息的装置500的调用单元501、接收单元502、第一加密单元503、第二加密单元504和发送单元505的具体处理可以参考图2对应实施例中的步骤201、步骤202、步骤203、步骤204和步骤205。

在本实施例的一些可选的实现方式中,所述装置还包括时间校验单元(附图中未示出),被配置成:在所述调用安全键盘之后,与服务端共同生成基于时间的一次性密码验证信息;响应于检测到用户输入所述一次性密码验证信息,将所述一次性密码验证信息发送给服务端,以供所述服务端根据所述一次性密码验证信息验证所述用户的身份。

在本实施例的一些可选的实现方式中,调用单元501进一步被配置成:根据业务类型从以下安全键盘中调用一种安全键盘:基础键盘、功能键盘、组合键盘。

在本实施例的一些可选的实现方式中,所述装置还包括隐藏单元(附图中未示出),被配置成:响应于检测到用户确认输入,清空通过所述安全键盘输入信息的内容,并隐藏所述安全键盘。

在本实施例的一些可选的实现方式中,所述安全键盘为随机键盘。

在本实施例的一些可选的实现方式中,第一加密单元503进一步被配置成;基于所述第一子密文,执行如下加密步骤:将用户点击的所述安全键盘上的字符与所述第一子密文拼接后使用所述第一密钥进行对称加密,得到第二子密文;如果检测到用户确认输入,则将所述第二子密文确定为第一密文;如果没检测到用户确认输入,则将所述第二子密文作为第一子密文继续执行所述加密步骤

在本实施例的一些可选的实现方式中,所述装置还包括重复单元(附图中未示出),被配置成:响应于接收到所述服务端反馈的超时消息,重新调用安全键盘。

进一步参考图6,作为对上述各图所示方法的实现,本公开提供了一种键盘输入信息的装置应用于服务端的一个实施例,该装置实施例与图3所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。

如图6所示,本实施例的键盘输入信息的装置600包括:生成单元601、发送单元602、接收单元603和解密单元604。其中,生成单元601,被配置成响应于检测到移动端调用安全键盘,随机生成用于对称加密的第一密钥和用于非对称加密的第二密钥;发送单元602,被配置成将所述第一密钥和所述第二密钥发送给所述移动端;接收单元603,被配置成接收所述移动端发送的密文;解密单元604,被配置成通过所述第二密钥对应的私钥对所述密文解密后,再通过所述第一密钥依次对每个字符解密,得到键盘输入的信息。

在本实施例中,键盘输入信息的装置600的生成单元601、发送单元602、接收单元603和解密单元604的具体处理可以参考图3对应实施例中的步骤301、步骤302、步骤303、步骤304。

在本实施例的一些可选的实现方式中,生成单元601进一步被配置成:与所述移动端共同生成基于时间的一次性密码验证信息;响应于接收到所述移动端发送的所述一次性密码验证信息,验证是否超时;若不超时,则随机生成用于对称加密的第一密钥和用于非对称加密的第二密钥。

在本实施例的一些可选的实现方式中,所述装置还包括超时单元(附图中未示出),被配置成:在所述接收所述移动端发送的密文之后,对所述密文进行超时验证;若不超时,则获取所述密文;若超时,则向所述移动端发送超时消息。

在本实施例的一些可选的实现方式中,生成单元601进一步被配置成:通过硬件设备产生随机数,生成SM2密钥作为第二密钥,生成SM4密钥作为第一密钥。

根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质。

图7示出了可以用来实施本公开的实施例的示例电子设备700的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。

如图7所示,设备700包括计算单元701,其可以根据存储在只读存储器(ROM)702中的计算机程序或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序,来执行各种适当的动作和处理。在RAM 703中,还可存储设备700操作所需的各种程序和数据。计算单元701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。

设备700中的多个部件连接至I/O接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如键盘输入信息的方法。例如,在一些实施例中,键盘输入信息的方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到RAM 703并由计算单元701执行时,可以执行上文描述的键盘输入信息的方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行键盘输入信息的方法。

本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以为分布式系统的服务器,或者是结合了区块链的服务器。服务器也可以是云服务器,或者是带人工智能技术的智能云计算服务器或智能云主机。服务器可以为分布式系统的服务器,或者是结合了区块链的服务器。服务器也可以是云服务器,或者是带人工智能技术的智能云计算服务器或智能云主机。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。

上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

相关技术
  • 键盘输入信息的方法、装置、系统、电子设备和存储介质
  • 一种键盘输入方法、装置、电子设备及存储介质
技术分类

06120112942607