本发明涉及核算装置领域,尤其涉及一种POS机的SE端接管安卓屏幕的密码键盘系统及其方法。
背景技术:
POS机设备的使用范围越来越广。POS机设备对安全性有要求很高,尤其表现在密码的安全输入过程中。无论在什么样的安全环境下,只要是单一的使用Android设备上的键盘输入密码,密码的信息都会存在于Android上,这样存在泄露用户密码的风险。
技术实现要素:
本发明的目的在于提供一种POS机的SE端接管安卓屏幕的密码键盘系统及其方法,从而解决现有技术中存在的前述问题。
为了实现上述目的,本发明所述POS机的SE端接管安卓屏幕的密码键盘系统,所述系统包括POS机安卓屏幕端和POS机SE端;所述POS机安卓屏幕端包括界面显示模块、数据读取模块和数据处理模块;所述POS机SE端包括:屏幕接管模块、屏幕采点模块和数据存储模块;
界面显示模块,显示从SE端获得随机排序的按键,并将显示的所有按键的坐标信息集合反馈到SE端,所述按键包括数字键和功能键,所述功能键包括确定键、取消键和回退键;
屏幕接管模块,获取并将屏幕上发生的点击事件发送到屏幕采点模块;
屏幕采点模块,分析接收到的点击事件,得到用户的按键输入信息;
数据存储模块,将得到的按键输入信息按序排列得到用户在屏幕上输入的密码和/或功能操作信息,同时,将用户在屏幕上输入的密码转化为与其等长度的代码,然后代码和/或功能操作信息保存在本地等待反馈给数据读取模块;
数据读取模块,从数据存储模块获得用户输入密码的代码和/或功能操作信息并转发给数据处理模块;
数据处理模块,显示得到的代码和/或执行与功能操作信息所对应的功能操作。
优选地,所述屏幕采点模块具体按照下述步骤实现:
E1,获取第一个点击事件的坐标信息A,将坐标信息A与SE端存储的屏幕上当前显示的按键坐标信息集合对比,判断坐标信息A与按键坐标信息集合中的任意一个坐标信息B的匹配度是否超过阈值,如果是,则获取并记录所述坐标信息B所对应的按键信息,并进入E2;如果否,提示输入无效;
E2,按序继续判断下一个点击事件的坐标信息,直至完成当前屏幕上的所有点击事件的分析为止;
E3,将获得的按键信息按序排列获得用户输入信息。
更优选地,所述POS机安卓屏幕端包括密码显示请求模块:向所述POS机SE端发送显示密码键盘的请求,所述POS机SE端将用户输入信息以等长的非密码字符形式,发送到密码显示请求模块。
本发明所述基于POS机的SE端接管安卓屏幕的密码键盘系统显示密码的方法,所述方法包括:
S1,POS机SE端接收到安卓屏幕端发送的显示密码键盘的请求后,将包括0到9数字键及功能键的随机排布的密码键盘发送给界面显示模块;
S2,界面显示模块将密码键盘显示到当前屏幕,并将密码键盘上每个按键的位置信息整理成位置坐标集合发送到SE端,SE端存储当前屏幕上显示的按键位置坐标集合;
S3,用户在当前屏幕上进行点击,屏幕接管模块获取并将在当前屏幕上的点击事件发送到屏幕采点模块;
S4,按序分析接收到的点击事件,得到用户的按键输入信息,然后将所述按键输入信息按序排列得到用户输入的密码和/或功能操作,并将用户输入的密码转化为与其等长度的代码,然后将用户输入的密码、代码、功能操作信息保存在本地;
S5,安卓屏幕端显示与用户输入密码相对应的代码和/或执行与功能操作信息所对应的功能操作。
优选地,界面显示模块不能显示密码键盘、屏幕接管模块不能获取当前屏幕上的点击事件、屏幕采点模块无法将点击事件转换成按键、安卓屏幕端无法从SE端获取与用户输入密码相对应的代码和/或功能操作信息,当上述事件发生任意一个时,均立即结束显示密码的操作。
优选地,步骤S4中,所述按序分析接收到的点击事件,得到用户的按键输入信息,具体按照下述步骤实现:
S41,获取第一个点击事件的坐标信息A,将坐标信息A与SE端存储的屏幕上当前显示的按键坐标信息集合对比,判断坐标信息A与按键坐标信息集合中的任意一个坐标信息B的匹配度是否超过阈值,如果是,则获取并记录所述坐标信息B所对应的按键信息,并进入S42;如果否,提示输入无效;
S42,按序继续判断下一个点击事件的坐标信息,直至完成当前屏幕上的所有点击事件的分析为止将获得的。
优选地,在步骤S41之前还包括以下步骤:用户在当前屏幕上完成完整的点击事件,屏幕接管模块接收完整点击事件涉及到的所有坐标信息,然后进入S41。
本发明中所述SE为Security Element,是POS机上开辟出来的一块单独存放敏感信息的空间,由安全芯片进行控制,加上Android端和SE端的通信都是加密的,所以不会泄露POS机安全信息。
本发明的有益效果是:
本发明所述POS机的SE端接管Android屏幕的密码键盘和方法,使得使用密码键盘输入密码过程中,由SE端接管Android端的屏幕并自动获取用户的输入密码,Android端只能读取到用户输入的密码长度,且只用于密码键盘界面的输入显示,用“*”或其他字符表示密码,或者最后一次按下的功能键,所以在Android端没有用户密码存在过的一丝痕迹,彻底解决了密码的在Android泄露问题。
附图说明
图1是POS机的SE端接管安卓屏幕的密码键盘系统的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。
实施例
本实施例所述POS机的SE端接管安卓屏幕的密码键盘系统,所述系统包括POS机安卓屏幕端和POS机SE端;
所述POS机安卓屏幕端包括界面显示模块A101、数据读取模块A105和数据处理模块A106;所述POS机SE端包括:屏幕接管模块A102、屏幕采点模块A103和数据存储模块A104;
界面显示模块A101,显示从SE端获得的随机排序按键,并将所有按键的坐标信息集合反馈到SE端,所述按键包括数字键和功能键,所述功能键包括确定键、取消键和回退键;
屏幕接管模块A102,获取并将屏幕上发生的点击事件发送到屏幕采点模块;
屏幕采点模块A103,分析接收到的点击事件,得到用户的按键输入信息;
数据存储模块A104,将得到的按键输入信息按序排列得到用户在屏幕上输入的密码和/或功能操作信息,同时,将用户在屏幕上输入的密码转化为与其等长度的代码,然后代码和/或功能操作信息保存在本地等待反馈给数据读取模块;
数据读取模块A105,从数据存储模块获得用户输入密码的代码和/或功能操作信息并转发给数据处理模块;
数据处理模块A106,显示得到的代码和/或执行与功能操作信息所对应的功能操作。
更详细的解释说明:
(一)所述屏幕采点模块A102具体按照下述步骤实现:
E1,获取第一个点击事件的坐标信息A,将坐标信息A与SE端存储的屏幕上当前显示的按键坐标信息集合对比,判断坐标信息A与按键坐标信息集合中的任意一个坐标信息B的匹配度是否超过阈值,如果是,则获取并记录所述坐标信息B所对应的按键信息,并进入E2;如果否,提示输入无效;
E2,按序继续判断下一个点击事件的坐标信息,直至完成当前屏幕上的所有点击事件的分析为止;
E3,将获得的按键信息按序排列获得用户输入信息。
(二)所述POS机安卓屏幕端包括密码显示请求模块:向所述POS机SE端发送显示密码键盘的请求,所述POS机SE端将用户输入信息以等长的非密码字符形式,发送到密码显示请求模块。所述非密码字符为※或其他字符。
如本领域技术人员知,本申请中用户输入的密码仅仅在SE端存在,在安卓屏幕端仅仅是与用户输入密码等长度的代码,与密码无实质性关系,故,本实施例保证了在Android端没有用户密码存在过的一丝痕迹,彻底解决了密码的在Android泄露问题。
实施例2
本实施例基于所述POS机的SE端接管安卓屏幕的密码键盘系统显示密码的方法,所述方法包括:
S1,POS机SE端接收到安卓屏幕端发送的显示密码键盘的请求后,将包括0到9数字键及功能键的随机排布的密码键盘发送给界面显示模块A101;
S2,界面显示模块A101将密码键盘显示到当前屏幕,并将密码键盘上每个按键的位置信息整理成位置坐标集合发送到SE端,SE端存储当前屏幕上显示的按键位置坐标集合;
S3,用户在当前屏幕上进行点击,屏幕接管模块A102获取并将在当前屏幕上的点击事件发送到屏幕采点模块A103;
S4,按序分析接收到的点击事件,得到用户的按键输入信息,然后将所述按键输入信息按序排列得到用户输入的密码和/或功能操作,并将用户输入的密码转化为与其等长度的代码,然后将用户输入的密码、代码、功能操作信息保存在本地,以供后续模块查询;
S5,安卓屏幕端显示与用户输入密码相对应的代码和/或执行与功能操作信息所对应的功能操作。
更详细的解释说明:
(一)界面显示模块A101不能显示密码键盘、屏幕接管模块A102不能获取当前屏幕上的点击事件、屏幕采点模块A103无法将点击事件转换成按键、安卓屏幕端无法从SE端获取与用户输入密码相对应的代码和/或功能操作信息,当上述事件发生任意一个时,均立即结束显示密码的操作。
(二)步骤S4中,所述按序分析接收到的点击事件,得到用户的按键输入信息,具体按照下述步骤实现:
S41,获取第一个点击事件的坐标信息A,将坐标信息A与SE端存储的屏幕上当前显示的按键坐标信息集合对比,判断坐标信息A与按键坐标信息集合中的任意一个坐标信息B的匹配度是否超过阈值,如果是,则获取并记录所述坐标信息B所对应的按键信息,并进入S42;如果否,提示输入无效;
S42,按序继续判断下一个点击事件的坐标信息,直至完成当前屏幕上的所有点击事件的分析为止将获得的。
在步骤S41之前还包括以下步骤:用户在当前屏幕上完成完整的单机事件,屏幕接管模块接收完整单机事件涉及到的所有坐标信息,然后进入S41。
通过采用本发明公开的上述技术方案,得到了如下有益的效果:
本发明所述POS机的SE端接管Android屏幕的密码键盘和方法,使得使用密码键盘输入密码过程中,由SE端接管Android端的屏幕并自动获取用户的输入密码,Android端只能读取到用户输入的密码长度,且只用于密码键盘界面的输入显示,用“*”或其他字符表示密码,或者最后一次按下的功能键,所以在Android端没有用户密码存在过的一丝痕迹,彻底解决了密码的在Android泄露问题。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。