通过软键盘实现密码输入的方法、系统、客户端及服务器的制作方法

文档序号:6427857阅读:207来源:国知局
专利名称:通过软键盘实现密码输入的方法、系统、客户端及服务器的制作方法
技术领域
本发明涉及软键盘技术领域,尤其涉及一种通过软键盘实现密码输入的方法、系统、客户端及服务器。
背景技术
软键盘是软件模拟的键盘,可以通过鼠标点击软键盘上的按键实现字符的输入。软键盘常应用于实现密码的输入,由于软键盘通过鼠标(即操作系统中的鼠标,简称系统鼠标)进行密码输入吋,密码自始至终端都不会以任何形式的字符明文出现,因此相对于普通的文本输入框或硬键盘,软键盘拥有较高的安全性。
目前,通过软键盘实现密码的输入的方案为服务器向客户端下发ー组顺序打乱的图片,每张图片分别对应一个字符,其对应关系存储于服务器中;客户端将服务器下发的该组图片组合成软键盘显示给用户,其中,软键盘中每个字符按键对应ー张图片;用户输入密码时,客户端根据用户的鼠标按键操作依次获取密码的各个字符对应的图片序号,将获取到的图片序号序列发送至服务器;服务器通过预先保存的对应关系,获得图片序号序列对应的密码并进行密码验证。现有通过软键盘实现密码的输入的方案中,客户端获取到的密码的每个字符对应的图片序号后,木马可以较容易的从客户端的内存中获取各个图片序号,配合截获系统鼠标的位置和系统鼠标的事件,结合对客户端显示的软键盘的截屏操作,木马可以得到图片与字符的对应关系并推出密码,导致用户输入的密码被盗取,安全性较低。

发明内容
本发明实施例所要解决的技术问题在于,提供一种通过软键盘实现密码输入的方法、系统、客户端及服务器,可提升通过软键盘进行密码输入的安全性。为了解决上述技术问题,本发明实施例提供了一种通过软键盘实现密码输入的方法,包括
客户端向服务器发送软键盘获取请求,并接收所述服务器返回的软键盘图片和变换因
子;
所述客户端根据预设的乱序算法和所述变换因子,对所述软键盘图片进行变换,生成输入键盘和内存键盘,并建立所述输入键盘和所述内存键盘的映射关系;
所述客户端显示所述输入键盘,当用户在所述输入键盘上输入密码时,所述客户端根据所述输入键盘和所述内存键盘的映射关系,对所述密码进行处理后发送至所述服务器。其中,所述客户端向服务器发送软键盘获取请求,并接收所述服务器返回的软键盘图片和变换因子,包括
当接收到用户的密码输入请求时,客户端向服务器发送软键盘获取请求;
所述服务器根据所述软键盘获取请求,基于预设的变换因子对应的变换算法,生成软键盘图片;所述服务器将所述软键盘图片和所述预设的变换因子返回给所述客户端。其中,所述客户端根据预设的乱序算法和所述变换因子,对所述软键盘图片进行变换,生成输入键盘和内存键盘,并建立所述输入键盘和所述内存键盘的映射关系,包括
所述客户端根据预设的乱序算法,对所述软键盘图片进行乱序变换,生成输入键盘;
所述客户端基于所述变换因子对应的变换算法,对所述软键盘图片进行变换,生成内存键盘;
所述客户端建立所述输入键盘和所述内存键盘的映射关系;
其中,所述输入键盘和所述内存键盘的映射关系为所述输入键盘中的任ー个按键对应于所述内存键盘中的ー个按键。 其中,所述客户端显示所述输入键盘之后,接收用户在所述输入键盘上输入的密码之前,还包括
当检测到系统鼠标进入所述输入键盘内时,所述客户端隐藏所述系统鼠标,并在所述输入键盘内显不输入鼠标;
当检测到所述输入鼠标位于所述输入键盘上任ー按键区域时,所述客户端隐藏所述输入鼠标;
其中,所述输入鼠标与所述系统鼠标相对应,所述用户通过所述输入鼠标在所述输入键盘上进行密码输入。其中,当用户在所述输入键盘上输入密码时,所述客户端根据所述输入键盘和所述内存键盘的映射关系,对所述密码进行处理后发送至所述服务器,包括
当检测到所述输入鼠标的按键操作时,所述客户端获取所述按键操作时所述输入鼠标的坐标所处的按键区域对应的按键序号;
当检测到用户的密码确认操作吋,所述客户端将依次获取的按键序号顺序组成所述用户在所述输入键盘上输入的密码;
所述客户端根据所述输入键盘和所述内存键盘的映射关系,将用户在所述输入键盘上输入的密码转换为所述内存键盘对应的密码;
所述客户端将转换后的密码发送至所述服务器;
其中,用户在所述输入键盘上输入的密码为所述客户端依次获取的按键序号序列。其中,所述客户端将转换后的密码发送至所述服务器之后,还包括所述服务器基于所述预设的变换因子对应的变换算法,对所述客户端发送的密码进行验证。相应地,本发明实施例还提供了一种客户端,包括
请求接收模块,用于向服务器发送软键盘获取请求,并接收所述服务器返回的软键盘图片和变换因子;
处理模块,用于根据预设的乱序算法和所述变换因子,对所述请求接收模块接收的软键盘图片进行变换,生成输入键盘和内存键盘,并建立所述输入键盘和所述内存键盘的映身寸关系;
显示输入模块,用于显示所述处理模块获得的输入键盘,当用户在所述输入键盘上输入密码时,根据所述输入键盘和所述内存键盘的映射关系,对所述密码进行处理后发送至所述服务器。其中,所述请求接收模块包括请求单元,用于当接收到用户的密码输入请求吋,向服务器发送软键盘获取请求; 接收单元,用于接收所述服务器返回的软键盘图片和变换因子。其中,所述处理模块包括
第一处理单元,用于根据预设的乱序算法,对所述软键盘图片进行乱序变换,生成输入键盘;
第二处理单元,用于基于所述变换因子对应的变换算法,对所述软键盘图片进行变换,生成内存键盘;
建立単元,用于建立所述第一处理单元获得的输入键盘与所述第二处理单元获得的内存键盘之间的映射关系;
其中,所述输入键盘和所述内存键盘的映射关系为所述输入键盘中的任ー个按键对 应于所述内存键盘中的ー个按键。其中,所述客户端还包括
鼠标控制模块,用于当检测到系统鼠标进入所述输入键盘内时,隐藏所述系统鼠标,并在所述输入键盘内显示输入鼠标;当检测到所述输入鼠标位于所述输入键盘上任一按键区域时,隐藏所述输入鼠标;
其中,所述输入鼠标与所述系统鼠标相对应,所述用户通过所述输入鼠标在所述输入键盘上进行密码输入。其中,所述显示输入模块包括
显示单元,用于显示所述输入键盘;
获取单元,用于当检测到所述显示单元显示的输入鼠标的按键操作时,获取所述按键操作时所述输入鼠标的坐标所处的按键区域对应的按键序号;
组合单元,用于当检测到用户的密码确认操作吋,将所述获取单元依次获取的按键序号按序组成所述用户在所述输入键盘上输入的密码;
转换单元,用于根据所述输入键盘和所述内存键盘的映射关系,将所述组合单元组合形成的所述用户在所述输入键盘上输入的密码转换为所述内存键盘对应的密码;
发送单元,用于将所述转换単元得到的密码发送至所述服务器。其中,用户在所述输入键盘上输入的密码为所述客户端依次获取的按键序号序列。相应地,本发明实施例还提供了一种服务器,包括
生成模块,用于当接收到客户端发送的软键盘获取请求时,基于预设的变换因子对应的变换算法,生成软键盘图片;
请求响应模块,用于将所述生成模块生成的软键盘图片和所述预设的变换因子返回给所述客户端;
接收模块,用于接收所述客户端发送的密码。其中,所述服务器还包括
密码验证模块,用于基于所述预设的变换因子对应的变换算法,对所述接收模块接收到的密码进行验证。相应地,本发明实施例还提供了一种通过软键盘实现密码输入的系统,包括服务器和至少ー个客户端,其中所述客户端,用于向所述服务器发送软键盘获取请求,根据预设的乱序算法和所述服务器返回的变换因子,对所述服务器返回的软键盘图片进行变换,生成输入键盘和内存键盘,建立所述输入键盘和所述内存键盘的映射关系;显示所述输入键盘,当用户在所述输入键盘上输入密码时,根据所述输入键盘和所述内存键盘的映射关系,对所述密码进行处理后发送至所述服务器;
所述服务器,用于当接收到客户端发送的软键盘获取请求吋,将软键盘图片和预设的变换因子返回给所述客户端,并接收所述客户端发送的密码。实施本发明实施例,具有如下有益效果
本发明实施例的客户端根据服务器返回的变换因子,对软键盘图片进行变换得到内存键盘;客户端根据预设的乱序算法,对软键盘图片进行变换得到输入键盘,并建立内存键盘与输入键盘之间的映射关系;当用户通过输入键盘进行密码输入时,客户端通过映射关系将该密码转换为内存键盘对应的密码。木马仅能从内存中截获转换后得到的内存键盘对应的密码,而通过截屏仅能获得输入键盘的排布,因此,即使配合截获的密码和截屏操作,木 马依然无法推出用户输入的正确密码,从而提升了通过软键盘进行密码输入的安全性。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图I为本发明的通过软键盘实现密码输入的系统的实施例的结构示意 图2为本发明的客户端的第一实施例的结构示意 图3为本发明的客户端的第二实施例的结构示意 图4为本发明的客户端的请求接收模块的实施例的结构示意 图5为本发明的客户端的处理模块的实施例的结构示意 图6为本发明的客户端的显示输入模块的实施例的结构示意 图7为本发明的服务器的第一实施例的结构示意 图8为本发明的服务器的第二实施例的结构示意 图9为本发明的通过软键盘实现密码输入的方法的第一实施例的流程 图10为本发明的通过软键盘实现密码输入的方法的第二实施例的流程图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。请參见图1,为本发明的通过软键盘实现密码输入的系统的实施例的结构示意图;所述系统包括服务器和至少ー个客户端,图I中示出了三个客户端,实际应用中,所述客户端并不限于三个,其可以为与所述服务器相连接的任意一个或多个客户端。
所述客户端,用于向所述服务器发送软键盘获取请求,根据预设的乱序算法和所述服务器返回的变换因子,对所述服务器返回的软键盘图片进行变换,生成输入键盘和内存键盘,建立所述输入键盘和所述内存键盘的映射关系;显示所述输入键盘,当用户在所述输入键盘上输入密码时,根据所述输入键盘和所述内存键盘的映射关系,对所述密码进行处理后发送至所述服务器。需要说明的是,本发明实施例所述的客户端包括但不限于手机、PDA (PersonalDigital Assistant,个人数字助理)、PC (Personal Computer,个人计算机)、智能手机中的任ー种或多种。所述服务器,用于当接收到客户端发送的软键盘获取请求时,将软键盘图片和预设的变换因子返回给所述客户端,并接收所述客户端发送的密码。
为了更清楚地说明本发明,下面将对上述系统中的客户端进行详细介绍。请參见图2,为本发明的客户端的第一实施例的结构示意图;所述客户端包括 请求接收模块101,用于向服务器发送软键盘获取请求,并接收所述服务器返回的软键
盘图片和变换因子。当用户需要使用软键盘输入密码时,用户可点击软键盘图标发出密码输入请求,所述请求接收模块101接收到用户的密码输入请求时,生成软键盘获取请求,向所述服务器请求软键盘。所述请求接收模块101还用于接收所述服务器根据所述软键盘获取请求所返回的软键盘图片和变换因子。其中,所述服务器返回的软键盘图片可以为ー张顺序打乱的完整的图片,也可以为ー组顺序打乱的图片;所述变换因子为所述服务器预设的、对正常顺序的软键盘中各个字符进行乱序变换的算法种子;所述变换算法可以为随机算法或乱序算法等动态算法中的任ー种。处理模块102,用于根据预设的乱序算法和所述变换因子,对所述请求接收模块101接收的软键盘图片进行变换,生成输入键盘和内存键盘,并建立所述输入键盘和所述内存键盘的映射关系。所述输入键盘为所述客户端向用户展示的、用于密码输入的软键盘;所述内存键盘为存储于所述客户端内存的软键盘。其中,所述输入键盘和所述内存键盘的映射关系为所述输入键盘中的任一个按键对应于所述内存键盘中的ー个按键。显示输入模块103,用于显示所述处理模块102获得的输入键盘,当用户在所述输入键盘上输入密码时,根据所述输入键盘和所述内存键盘的映射关系,对所述密码进行处理后发送至所述服务器。当用户在所述显示输入模块103显示的输入键盘上进行密码输入吋,所述显示输入模块103获取用户输入的密码,井根据所述输入键盘和所述内存键盘的映射关系,将获取的所述用户在所述输入键盘上输入的密码转换为所述内存键盘对应的密码发送至所述服务器。可以理解的是,所述显示输入模块103还用于在文本输入框中显示密码输入的标识,比如若用户输入了六位密码,所述显示输入模块103在文本输入框中显示“*##*”,以提醒用户已输入密码以及输入的密码的位数,所述显示输入模块103对密码输入的标识的显示过程与现有技术相同,在此不赘述。本发明实施例在客户端生成内存键盘和输入键盘,并建立内存键盘与输入键盘之间的映射关系;当用户通过输入键盘进行密码输入时,客户端通过映射关系将该密码转换为内存键盘对应的密码。木马仅能从内存中截获转换后得到的内存键盘对应的密码,而通过截屏仅能获得输入键盘的排布,因此,即使配合截获的密码和截屏操作,木马依然无法推出用户输入的正确密码,从而提升了通过软键盘进行密码输入的安全性。请參见图3,为本发明的客户端的第二实施例的结构示意图;与上一实施例相同,所述客户端包括请求接收模块101、处理模块102和显示输入模块103。本实施例中,所述客户端进ー步包括
鼠标控制模块104,用于当检测到系统鼠标进入所述 输入键盘内时,隐藏所述系统鼠标,并在所述输入键盘内显示输入鼠标;当检测到所述输入鼠标位于所述输入键盘上任一按键区域吋,隐藏所述输入鼠标。所述系统鼠标为所述客户端的操作系统中的鼠标,所述输入鼠标为所述客户端在所述输入键盘上提供的、用于用户进行密码输入的鼠标。所述输入鼠标与所述系统鼠标相对应,所述用户通过所述输入鼠标在所述输入键盘上进行密码输入。具体实现中,所述输入鼠标的坐标为所述系统鼠标的坐标经预设的公式变换得到,比如所述输入鼠标的坐标=所述系统鼠标的坐标+偏移量,该预设的公式和偏移量均存储于所述客户端的存储空间中,该存储空间安全性较高,不易被木马入侵。可以理解的是,上述公式仅为举例,其他预设的公式的情况下可类似分析,在此不赘述。当检测到系统鼠标进入所述输入键盘内时,所述鼠标控制模块104隐藏所述系统鼠标,并在所述输入键盘内显示输入鼠标。具体实现中,所述鼠标控制模块104隐藏所述系统鼠标的方式为将所述系统鼠标设置为透明,之后,用户则无法在客户端的显示屏上看到所述系统鼠标;可以理解的是,此处隐藏方式仅为举例。当用户移动鼠标时,所述客户端只移动所述输入键盘内的输入鼠标来响应用户的操作。所述鼠标控制模块104将所述输入鼠标与所述系统鼠标的坐标进行了变换,可防止木马通过截获所述系统鼠标的坐标获得真实的鼠标位置,提升了输入安全性。当检测到所述输入鼠标位于所述输入键盘上任ー按键区域时,即当用户预点击所述输入鼠标所处的按键时,所述鼠标控制模块104隐藏所述输入鼠标。具体实现中,所述鼠标控制模块104隐藏所述输入鼠标的方式为将所述输入鼠标设置为透明,之后,用户则无法在客户端的显示屏上看到所述系统鼠标;可以理解的是,此处隐藏方式仅为举例,其他情況,比如由于所述输入鼠标为所述客户端所提供的虚拟鼠标,当需要隐藏所述输入鼠标时,所述鼠标控制模块104控制所述客户端中断所述输入鼠标的提供,用户则无法在所述输入键盘内看到所述输入鼠标,上述情况下可类似分析,在此不赘述。在输入鼠标预点击按键操作时隐藏输入鼠标,可防止木马通过截屏获得用户对输入鼠标的操作,进ー步提升了安全性。本发明实施例提高了木马截获密码的门槛,输入密码所采用的输入鼠标与系统鼠标之间的坐标进行了变换,有效地防止木马通过截获所述系统鼠标的坐标获得真实的鼠标位置,提升了输入安全性;在输入鼠标预点击按键操作时隐藏输入鼠标,有效地防止木马通过截屏获得用户对输入鼠标的操作,进ー步提升了安全性。为了更清楚地说明本发明,下面将对本发明的客户端的各模块进行详细介绍。请參见图4,为本发明的客户端的请求接收模块的实施例的结构示意图;所述请求接收模块101包括请求单元111,用于当接收到用户的密码输入请求吋,向服务器发送软键盘获取请求。当用户需要使用软键盘输入密码时,用户可点击软键盘图标发出密码输入请求,所述请求単元111接收到用户的密码输入请求时,生成软键盘获取请求,向所述服务器请求软键盘。接收单元112,用于接收所述服务器返回的软键盘图片和变换因子。所述接收単元112接收所述服务器根据所述请求单元111的软键盘获取请求所返回的软键盘图片和变换因子。其中,所述服务器返回的软键盘图片可以为ー张顺序打乱的完整的图片,也可以为ー组顺序打乱的图片;所述变换因子为所述服务器预设的、对正常顺序的软键盘中各个字符进行乱序变换的算法种子;所述变换算法可以为随机算法或乱序算法等动态算法中的任一种。请參见图5,为本发明的客户端的处理模块的实施例的结构示意图;所述处理模块102包括
第一处理单元211,用于根据预设的乱序算法,对所述软键盘图片进行乱序变换,生成输入键盘。所述客户端预先设置乱序算法,所述乱序算法是ー种将顺序打乱的随机算法。所述第一处理单元211基于预设的乱序算法将所述软键盘图片进行乱序变换,生成输入键盘。第二处理单元212,用于基于所述变换因子对应的变换算法,对所述软键盘图片进行变换,生成内存键盘。如前述,所述变换因子为所述服务器预设的、对正常顺序的软键盘中各个字符进行乱序变换的算法种子;所述变换算法可以为随机算法或乱序算法等动态算法中的任一种。所述第二处理单元212基于所述变换算法对所述软键盘图片进行乱序变换,生成内存键盘。建立単元213,用于建立所述第一处理单元211获得的输入键盘与所述第二处理単元212获得的内存键盘之间的映射关系。其中,所述输入键盘和所述内存键盘的映射关系为所述输入键盘中的任一个按键对应于所述内存键盘中的ー个按键。请參见图6,为本发明的客户端的显示输入模块的实施例的结构示意图;所述显示输入模块103包括
显示单元311,用于显示所述输入键盘。获取单元312,用于当检测到所述显示単元311显示的输入鼠标的按键操作吋,获取所述按键操作时所述输入鼠标的坐标所处的按键区域对应的按键序号。如前述,所述输入鼠标与所述系统鼠标相对应,所述用户通过所述输入鼠标在所述输入键盘上进行密码输入。具体实现中,所述输入鼠标的坐标为所述系统鼠标的坐标经预设的公式变换得到,比如所述输入鼠标的坐标=所述系统鼠标的坐标+预设的偏移量,该预设的公式和预设的偏移量均存储于所述客户端的存储空间中,该存储空间安全性较高,不易被木马入侵。当检测到所述输入鼠标的按键操作吋,即用户通过所述输入鼠标点击所述输入键盘上的按键时,所述获取単元312首先获取所述按键操作时所述输入鼠标的坐标,该坐标可由对应的系统鼠标的坐标经预设的公式变换得到;所述获取単元312根据所述输入鼠标的坐标确定所处的按键区域对应的按键序号。可以理解的是,由于所述输入鼠标与所述系统鼠标的坐标进行了变换,可防止木马通过截获所述系统鼠标的坐标获得真实的鼠标位置,提升了输入安全性。如前述,当所述用户通过所述输入鼠标位于所述输入键盘上的任ー按键区域吋,所述输入鼠标被所述鼠标控制模块104控制隐藏;当所述用户点击某按键时,所述客户端对所述输入键盘上的被点击的按键不做处理既不改变被点击按键的颜色,也不改变被点击按键的亮度,这样可防止木马通过截屏获得用户的按键操作,进ー步提升了安全性。组合单元313,用于当检测到用户的密码确认操作吋,将所述获取单元312依次获取的按键序号按序组成所述用户在所述输入键盘上输入的密码。当用户连续进行多次按键操作吋,所述获取単元312依次获取每次按键操作时的按键序号,当检测到用户的密码确认操作时,所述组合単元313将各个按键序号顺序组成 所述用户在所述输入键盘上输入的密码,所述用户在所述输入键盘上输入的密码为所述客户端依次获取的按键序号序列。转换单元314,用于根据所述输入键盘和所述内存键盘的映射关系,将所述组合单元313组合形成的所述用户在所述输入键盘上输入的密码转换为所述内存键盘对应的密码。发送单元315,用于将所述转换単元314转换得到的密码发送至所述服务器。本发明实施例提高了木马截获用户输入的密码的技术门槛,提升了通过软键盘进行密码输入的安全性。为了更清楚地说明本发明,下面将对本发明的通过软键盘实现密码输入的系统中的服务器进行详细介绍。请參见图7,为本发明的服务器的第一实施例的结构示意图;所述服务器包括 生成模块201,用于当接收到客户端发送的软键盘获取请求时,基于预设的变换因子对
应的变换算法,生成软键盘图片。所述生成模块201基于预设的变换因子对应的变换算法,对正常顺序的软键盘中各个字符的顺序进行乱序变换,形成软键盘图片。根据预设的变换算法,所述软键盘图片可以为ー张顺序打乱的完整的图片,也可以为ー组顺序打乱的图片。请求响应模块202,用于将所述生成模块201生成的软键盘图片和所述预设的变换因子返回给所述客户端。接收模块203,用于接收所述客户端发送的密码。所述接收模块203用于接收所述客户端发送的、用户输入的所述内存键盘对应的密码。本发明实施例由服务器在下发软键盘图片的同时下发变换因子,使客户端依据变换因子生成内存键盘,并依据预设的乱序算法生成输入键盘,建立内存键盘与输入键盘之间的映射关系;通过映射关系将对用户输入的密码进行转换,提升了通过软键盘进行密码输入的安全性。请參见图8,为本发明的服务器的第二实施例的结构示意图;与上一实施例相同,所述服务器包括生成模块201、请求响应模块202和接收模块203。本实施例中的,所述服务器进一歩包括
密码验证模块204,用于基于所述预设的变换因子对应的变换算法,对所述接收模块203接收到的密码进行验证。
由于所述客户端的内存键盘依所述服务器下发的变换因子对应的变换算法变换得到,因此,所述密码验证模块204可基于所述预设的变换因子对应的变换算法,还原所述接收模块203接收到的所述客户端发送的所述内存键盘对应的密码(按键序号序列),获得用户输入的密码原文(字符序列)。所述密码验证模块204对还原得到的密码原文进行验证,其验证过程与现有技术相同,在此不赘述。本发明实施例由服务器依据相同的变换因子对客户端传送的密码进行还原和验证,有效地提升了通过软键盘进行密码输入的安全性。为了更清楚地说明本发明,下面将对本发明的通过软键盘实现密码输入的方法进行详细介绍。请參见图9,为本发明的通过软键盘实现密码输入的方法的第一实施例的流程图;所述方法包括
S101,客户端向服务器发送软键盘获取请求,并接收所述服务器返回的软键盘图片和 变换因子。当用户需要使用软键盘输入密码时,用户可点击软键盘图标发出密码输入请求,步骤SlOl中,所述客户端接收到用户的密码输入请求时,则生成软键盘获取请求,向所述服务器请求软键盘。步骤SlOl中,所述客户端还接收所述服务器根据所述软键盘获取请求所返回的软键盘图片和变换因子。其中,所述服务器返回的软键盘图片可以为ー张顺序打乱的完整的图片,也可以为ー组顺序打乱的图片;所述变换因子为所述服务器预设的、对正常顺序的软键盘中各个字符进行乱序变换的算法种子;所述变换算法可以为随机算法或乱序算法等动态算法中的任ー种。S102,所述客户端根据预设的乱序算法和所述变换因子,对所述软键盘图片进行变换,生成输入键盘和内存键盘,并建立所述输入键盘和所述内存键盘的映射关系。所述输入键盘为所述客户端向用户展示的、用于密码输入的软键盘;所述内存键盘为存储于所述客户端内存的软键盘。其中,所述输入键盘和所述内存键盘的映射关系为所述输入键盘中的任一个按键对应于所述内存键盘中的ー个按键。S103,所述客户端显示所述输入键盘,当用户在所述输入键盘上输入密码时,所述客户端根据所述输入键盘和所述内存键盘的映射关系,对所述密码进行处理后发送至所述服务器。步骤S103中,所述客户端向用户显示所述输入键盘,当用户在所述输入键盘上进行密码输入时,所述客户端获取用户输入的密码,井根据所述输入键盘和所述内存键盘的映射关系,将获取的所述用户在所述输入键盘上输入的密码转换为所述内存键盘对应的密码发送至所述服务器。本发明实施例在客户端生成内存键盘和输入键盘,并建立内存键盘与输入键盘之间的映射关系;当用户通过输入键盘进行密码输入时,客户端通过映射关系将该密码转换为内存键盘对应的密码。木马仅能从内存中截获转换后得到的内存键盘对应的密码,而通过截屏仅能获得输入键盘的排布,因此,即使配合截获的密码和截屏操作,木马依然无法推出用户输入的正确密码,从而提升了通过软键盘进行密码输入的安全性。请參见图10,为本发明的通过软键盘实现密码输入的方法的第二实施例的流程图;所述方法包括S201,当接收到用户的密码输入请求时,客户端向服务器发送软键盘获取请求。当用户需要使用软键盘输入密码时,用户可点击软键盘图标发出密码输入请求,步骤S201中,所述客户端接收到用户的密码输入请求时,则生成软键盘获取请求,向所述服务器请求软键盘。S202,所述服务器根据所述软键盘获取请求,基于预设的变换因子对应的变换算法,生成软键盘图片。步骤S202中,所述服务器基于预设的变换因子对应的变换算法,对正常顺序的软键盘中各个字符的顺序进行乱序变换,形成软键盘图片。根据预设的变换算法,所述软键盘图片可以为ー张顺序打乱的完整的图片,也可以为ー组顺序打乱的图片。S203,所述服务器将所述软键盘图片和所述预设的变换因子返回给所述客户端。本实施例中,步骤S201-S203为上ー实施例的步骤SlOl的具体细化步骤。 S204,所述客户端根据预设的乱序算法,对所述软键盘图片进行乱序变换,生成输入键盘。所述客户端预先设置乱序算法,所述乱序算法是ー种将顺序打乱的随机算法。步骤S204中,所述客户端基于预设的乱序算法将所述软键盘图片进行乱序变换,生成输入键盘。S205,所述客户端基于所述变换因子对应的变换算法,对所述软键盘图片进行变换,生成内存键盘。如前述,所述变换因子为所述服务器预设的、对正常顺序的软键盘中各个字符进行乱序变换的算法种子;所述变换算法可以为随机算法或乱序算法等动态算法中的任一种。步骤S205中,所述客户端基于所述变换算法对所述软键盘图片进行乱序变换,生成内存键盘。S206,所述客户端建立所述输入键盘和所述内存键盘的映射关系。其中,所述输入键盘和所述内存键盘的映射关系为所述输入键盘中的任ー个按键对应于所述内存键盘中的ー个按键。本实施例中,步骤S204-S206为上ー实施例的步骤S102的具体细化步骤。S207,所述客户端显示所述输入键盘。S208,当检测到系统鼠标进入所述输入键盘内时,所述客户端隐藏所述系统鼠标,并在所述输入键盘内显示输入鼠标。所述系统鼠标为所述客户端的操作系统中的鼠标,所述输入鼠标为所述客户端在所述输入键盘上提供的、用于用户进行密码输入的鼠标。所述输入鼠标与所述系统鼠标相对应,所述用户通过所述输入鼠标在所述输入键盘上进行密码输入。具体实现中,所述输入鼠标的坐标为所述系统鼠标的坐标经预设的公式变换得到,比如所述输入鼠标的坐标=所述系统鼠标的坐标+偏移量,该预设的公式和偏移量均存储于所述客户端的存储空间中,该存储空间安全性较高,不易被木马入侵。可以理解的是,上述公式仅为举例,其他预设的公式的情况下可类似分析,在此不赘述。步骤S208中,当检测到系统鼠标进入所述输入键盘内时,所述客户端隐藏所述系统鼠标,并在所述输入键盘内显示输入鼠标。具体实现中,所述客户端隐藏所述系统鼠标的方式为将所述系统鼠标设置为透明,之后,用户则无法在客户端的显示屏上看到所述系统鼠标;可以理解的是,此处隐藏方式仅为举例。当用户移动鼠标时,所述客户端只移动所述输入键盘内的输入鼠标来响应用户的操作。所述客户端将所述输入鼠标与所述系统鼠标的坐标进行了变换,可防止木马通过截获所述系统鼠标的坐标获得真实的鼠标位置,提升了输入安全性。S209,当检测到所述输入鼠标位于所述输入键盘上任ー按键区域时,所述客户端隐藏所述输入鼠标。步骤S209中,当检测到所述输入鼠标位于所述输入键盘上任ー按键区域吋,即当用户预点击所述输入鼠标所处的按键时,所述客户端隐藏所述输入鼠标。具体实现中,所述客户端隐藏所述输入鼠标的方式为将所述输入鼠标设置为透明,之后,用户则无法在客户端的显示屏上看到所述系统鼠标;可以理解的是,此处隐藏方式仅为举例,其他情況,比如由于所述输入鼠标为所述客户端所提供的虚拟鼠标,当需要隐藏所述输入鼠标时,所述客户端中断所述输入鼠标的提供,用户则无法在所述输入键盘内看到所述输入鼠标,上述情况下可类似分析,在此不赘述。在输入鼠标预点击按键操作时隐藏输入鼠标,可防止木马通 过截屏获得用户对输入鼠标的操作,进ー步提升了安全性。S210,当检测到所述输入鼠标的按键操作时,所述客户端获取所述按键操作时所述输入鼠标的坐标所处的按键区域对应的按键序号。当检测到所述输入鼠标的按键操作时,即用户通过所述输入鼠标点击所述输入键盘上的按键时,所述客户端执行步骤S210,首先获取所述按键操作时所述输入鼠标的坐标,该坐标可由对应的系统鼠标的坐标经预设的公式变换得到;步骤S210中,所述客户端根据所述输入鼠标的坐标确定所处的按键区域对应的按键序号。可以理解的是,由于所述输入鼠标与所述系统鼠标的坐标进行了变换,可防止木马通过截获所述系统鼠标的坐标获得真实的鼠标位置,提升了输入安全性。如前述,当所述用户通过所述输入鼠标位于所述输入键盘上的任ー按键区域吋,所述输入鼠标被隐藏;当所述用户点击某按键时,所述客户端对所述输入键盘上的被点击的按键不做处理既不改变被点击按键的颜色,也不改变被点击按键的亮度,这样可防止木马通过截屏获得用户的按键操作,进ー步提升了安全性。S211,当检测到用户的密码确认操作时,所述客户端将依次获取的按键序号按序组成所述用户在所述输入键盘上输入的密码。当用户连续进行多次按键操作时,所述客户端通过执行步骤S210,依次获取每次按键操作时的按键序号,步骤S211中,当检测到用户的密码确认操作时,所述客户端将各个按键序号顺序组成所述用户在所述输入键盘上输入的密码,所述用户在所述输入键盘上输入的密码为所述客户端依次获取的按键序号序列。S212,所述客户端根据所述输入键盘和所述内存键盘的映射关系,将用户在所述输入键盘上输入的密码转换为所述内存键盘对应的密码。S213,所述客户端将转换后的密码发送至所述服务器。本实施例中,步骤S207-S213为上ー实施例中的步骤S103的具体细化步骤。S214,所述服务器基于所述预设的变换因子对应的变换算法,对所述客户端发送的密码进行验证。由于所述客户端的内存键盘依所述服务器下发的变换因子对应的变换算法变换得到,因此,步骤S214中,所述服务器可基于所述预设的变换因子对应的变换算法,还原所述客户端发送的所述内存键盘对应的密码(按键序号序列),获得用户输入的密码原文(字符序列)。所述服务器对该密码原文进行验证,其验证过程与现有技术相同,在此不赘述。本发明实施例提高了木马截获密码的门槛,输入密码所采用的输入鼠标与系统鼠标之间的坐标进行了变换,有效地防止木马通过截获所述系统鼠标的坐标获得真实的鼠标位置,提升了输入安全性;在输入鼠标预点击按键操作时隐藏输入鼠标,有效地防止木马通过截屏获得用户对输入鼠标的操作,进ー步提升了安全性。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random Access Memory, RAM)等。以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。
权利要求
1.一种通过软键盘实现密码输入的方法,其特征在于,包括 客户端向服务器发送软键盘获取请求,并接收所述服务器返回的软键盘图片和变换因子; 所述客户端根据预设的乱序算法和所述变换因子,对所述软键盘图片进行变换,生成输入键盘和内存键盘,并建立所述输入键盘和所述内存键盘的映射关系; 所述客户端显示所述输入键盘,当用户在所述输入键盘上输入密码时,所述客户端根据所述输入键盘和所述内存键盘的映射关系,对所述密码进行处理后发送至所述服务器。
2.如权利要求I所述的方法,其特征在于,所述客户端向服务器发送软键盘获取请求,并接收所述服务器返回的软键盘图片和变换因子,包括 当接收到用户的密码输入请求时,客户端向服务器发送软键盘获取请求; 所述服务器根据所述软键盘获取请求,基于预设的变换因子对应的变换算法,生成软键盘图片; 所述服务器将所述软键盘图片和所述预设的变换因子返回给所述客户端。
3.如权利要求I所述的方法,其特征在于,所述客户端根据预设的乱序算法和所述变换因子,对所述软键盘图片进行变换,生成输入键盘和内存键盘,并建立所述输入键盘和所述内存键盘的映射关系,包括 所述客户端根据预设的乱序算法,对所述软键盘图片进行乱序变换,生成输入键盘; 所述客户端基于所述变换因子对应的变换算法,对所述软键盘图片进行变换,生成内存键盘; 所述客户端建立所述输入键盘和所述内存键盘的映射关系; 其中,所述输入键盘和所述内存键盘的映射关系为所述输入键盘中的任ー个按键对应于所述内存键盘中的ー个按键。
4.如权利要求1-3任一项所述的方法,其特征在于,所述客户端显示所述输入键盘之后,接收用户在所述输入键盘上输入的密码之前,还包括 当检测到系统鼠标进入所述输入键盘内时,所述客户端隐藏所述系统鼠标,并在所述输入键盘内显不输入鼠标; 当检测到所述输入鼠标位于所述输入键盘上任ー按键区域时,所述客户端隐藏所述输入鼠标; 其中,所述输入鼠标与所述系统鼠标相对应,所述用户通过所述输入鼠标在所述输入键盘上进行密码输入。
5.如权利要求4所述的方法,其特征在于,当用户在所述输入键盘上输入密码时,所述客户端根据所述输入键盘和所述内存键盘的映射关系,对所述密码进行处理后发送至所述服务器,包括 当检测到所述输入鼠标的按键操作时,所述客户端获取所述按键操作时所述输入鼠标的坐标所处的按键区域对应的按键序号; 当检测到用户的密码确认操作吋,所述客户端将依次获取的按键序号顺序组成所述用户在所述输入键盘上输入的密码; 所述客户端根据所述输入键盘和所述内存键盘的映射关系,将用户在所述输入键盘上输入的密码转换为所述内存键盘对应的密码;所述客户端将转换后的密码发送至所述服务器; 其中,用户在所述输入键盘上输入的密码为所述客户端依次获取的按键序号序列。
6.如权利要求5所述的方法,其特征在于,所述客户端将转换后的密码发送至所述服务器之后,还包括 所述服务器基于所述预设的变换因子对应的变换算法,对所述客户端发送的密码进行验证。
7.一种客户端,其特征在于,包括 请求接收模块,用于向服务器发送软键盘获取请求,并接收所述服务器返回的软键盘图片和变换因子; 处理模块,用于根据预设的乱序算法和所述变换因子,对所述请求接收模块接收的软键盘图片进行变换,生成输入键盘和内存键盘,并建立所述输入键盘和所述内存键盘的映身寸关系; 显示输入模块,用于显示所述处理模块获得的输入键盘,当用户在所述输入键盘上输入密码时,根据所述输入键盘和所述内存键盘的映射关系,对所述密码进行处理后发送至所述服务器。
8.如权利要求7所述的客户端,其特征在于,所述请求接收模块包括 请求单元,用于当接收到用户的密码输入请求吋,向服务器发送软键盘获取请求; 接收单元,用于接收所述服务器返回的软键盘图片和变换因子。
9.如权利要求7所述的客户端,其特征在于,所述处理模块包括 第一处理单元,用于根据预设的乱序算法,对所述软键盘图片进行乱序变换,生成输入键盘; 第二处理单元,用于基于所述变换因子对应的变换算法,对所述软键盘图片进行变换,生成内存键盘; 建立単元,用于建立所述第一处理单元获得的输入键盘与所述第二处理单元获得的内存键盘之间的映射关系; 其中,所述输入键盘和所述内存键盘的映射关系为所述输入键盘中的任ー个按键对应于所述内存键盘中的ー个按键。
10.如权利要求7-9任一项所述的客户端,其特征在于,还包括 鼠标控制模块,用于当检测到系统鼠标进入所述输入键盘内时,隐藏所述系统鼠标,并在所述输入键盘内显示输入鼠标;当检测到所述输入鼠标位于所述输入键盘上任一按键区域时,隐藏所述输入鼠标; 其中,所述输入鼠标与所述系统鼠标相对应,所述用户通过所述输入鼠标在所述输入键盘上进行密码输入。
11.如权利要求10所述的客户端,其特征在于,所述显示输入模块包括 显示单元,用于显示所述输入键盘; 获取单元,用于当检测到所述显示单元显示的输入鼠标的按键操作时,获取所述按键操作时所述输入鼠标的坐标所处的按键区域对应的按键序号; 组合单元,用于当检测到用户的密码确认操作吋,将所述获取单元依次获取的按键序号按序组成所述用户在所述输入键盘上输入的密码;转换单元,用于根据所述输入键盘和所述内存键盘的映射关系,将所述组合单元组合形成的所述用户在所述输入键盘上输入的密码转换为所述内存键盘对应的密码; 发送单元,用于将所述转换単元得到的密码发送至所述服务器; 其中,用户在所述输入键盘上输入的密码为所述客户端依次获取的按键序号序列。
12.一种服务器,其特征在于,包括 生成模块,用于当接收到客户端发送的软键盘获取请求时,基于预设的变换因子对应的变换算法,生成软键盘图片; 请求响应模块,用于将所述生成模块生成的软键盘图片和所述预设的变换因子返回给所述客户端; 接收模块,用于接收所述客户端发送的密码。
13.如权利要求12所述的服务器,其特征在于,还包括 密码验证模块,用于基于所述预设的变换因子对应的变换算法,对所述接收模块接收到的密码进行验证。
14.一种通过软键盘实现密码输入的系统,包括服务器和至少ー个客户端,其特征在于 所述客户端,用于向所述服务器发送软键盘获取请求,根据预设的乱序算法和所述服务器返回的变换因子,对所述服务器返回的软键盘图片进行变换,生成输入键盘和内存键盘,建立所述输入键盘和所述内存键盘的映射关系;显示所述输入键盘,当用户在所述输入键盘上输入密码时,根据所述输入键盘和所述内存键盘的映射关系,对所述密码进行处理后发送至所述服务器; 所述服务器,用于当接收到客户端发送的软键盘获取请求吋,将软键盘图片和预设的变换因子返回给所述客户端,并接收所述客户端发送的密码。
全文摘要
本发明实施例公开了一种通过软键盘实现密码输入的方法,包括客户端向服务器发送软键盘获取请求,并接收所述服务器返回的软键盘图片和变换因子;所述客户端根据预设的乱序算法和所述变换因子,对所述软键盘图片进行变换,生成输入键盘和内存键盘,并建立所述输入键盘和所述内存键盘的映射关系;所述客户端显示所述输入键盘,当用户在所述输入键盘上输入密码时,所述客户端根据所述输入键盘和所述内存键盘的映射关系,对所述密码进行处理后发送至所述服务器。本发明实施例还公开了一种客户端、服务器及通过软键盘实现密码输入的系统。本发明可提升通过软键盘进行密码输入的安全性。
文档编号G06F21/83GK102867159SQ201110186370
公开日2013年1月9日 申请日期2011年7月5日 优先权日2011年7月5日
发明者申亮, 蒋臻甄 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1