安全输入系统、方法及智能终端与流程

文档序号:14013042阅读:265来源:国知局

本发明涉及通信领域,尤其涉及一种安全输入系统、方法及智能终端。



背景技术:

随着智能手机的快速普及,移动支付等业务在手机终端的服务获得了快速增长,随之而来的客户信息失窃和资金损失却成为普通用户的一大安全威胁。比如一种隐私窃取类病毒——“键盘黑手”,曾在海外流行,该病毒被打包到知名手机输入法swiftkeykeyboard中,可以直接监听用户键盘输入,上传泄露用户账户密码信息,甚至包括信用卡、网银等支付资料,该病毒的危害十分严重。

目前智能终端键盘输入安全风险,可以归纳如下:

1、恶意程序通过进程注入技术获取目标程序的输入内容。进程注入简单来说就是将一段代码拷贝到目标进程,然后让目标进程执行这段代码的技术。通过进程注入技术可以在目标程序中运行一段获取输入框的内容或者注入到输入法中获取输入内容。

2、通过操作系统底层的键盘事件获取记录,也就是通过获取键盘输入的编码值,再将编码值转换成键盘字符,比如在基于linux系统的移动终端中可以通过记录/dev/input路径下的输入设备内容,获取用户输入内容,完成入侵。

3、通过输入法获取键盘输入内容。智能终端上的各类程序的内容输入必须通过输入法来完成,所以,只要用户的重要信息输入调用到输入法,就有可能给输入法程序机会窃取到用户输入信息。恶意程序入侵输入法程序不需要特殊的权限,迷惑性强,难度低。如果普通用户下载安装包含恶意代码的输入法程序,或者终端上正常的输入法程序被恶意程序入侵,那么用户就会面临信息被窃取的安全风险。比如,上文提到的“键盘黑手”就是采用打包国外手机输入法swiftkeykeyboard进行键盘输入窃取。

针对通过输入法获取键盘输入内容这种安全风险,已有的解决方案有:

关于智能终端安全输入的方法,目前已经存在一些方案,例如:

方案一:触摸终端安全交易的方法,该方法通过在触摸终端安装输入法,所安装的输入法绑定在交易程序上,在交易程序中使用绑定的输入法并禁止切换到普通输入法,可避免不安全输入法窃取用户敏感信息,降低了在输入敏感数据时数据被悄悄窃取的可能。

方案二:安全输入的实现方法和终端,该方法应用于一具有显示屏的终端,所述终端包括第一应用程序,包括:获得输入的初始输入字符,将所述初始输入字符显示在一输入框内;识别输入所述初始输入字符的输入方式;基于所述输入方式和预定的指令安全策略,确定所述初始输入字符对应的有效输入字符;将所述有效输入字符提供给所述第一应用程序。这种采用指令安全策略对输入的初始输入字符进行识别并转换形成有效指令,使得用户可以在环境复杂的情形下无须顾忌旁观者而能够在终端上安全的输入各种隐私信息和安全信息,有效地保证了隐私信息和安全信息的安全性。

现有方案虽然在一定程度上解决了安全输入的问题,但同时也可以看到,上述方案均存在一些弊端,主要表现为:

对于方案一,是借助专用的输入法程序完全安全输入,对普通输入法不起作用,用户使用终端时很多情况下是使用普通输入法程序完成输入。所以,此种方案覆盖面不广;

对于方案二,是通过将初始输入字符转换成预置的有效字符,达到安全输入的目的,这种方案需要用户预置字符的转换对应关系,用户在使用时会出现忘记字符对应关系的情况,所以,此方案在应用推广上存在一定弊端。



技术实现要素:

本发明提供一种安全输入系统、方法及智能终端,用以解决现有技术中输入法程序易被入侵,导致用户输入的信息易被窃取的问题。

依据本发明的一个方面,提供一种安全输入系统,包括:

输入驱动模块,用于将用户的输入事件写入设备输入节点文件;

干扰事件插入模块,用于在监测到所述设备输入节点文件有输入事件写入时,生成用于干扰的输入事件,将该输入事件写入所述设备输入节点文件;

输入事件处理模块,用于读取所述设备输入节点文件中的输入事件,并将其传递给输入法程序;

安全输入处理模块,用于接收所述输入法程序发送的根据所述输入事件生成的字符,并从接收的所述字符中剔除所述用于干扰的输入事件对应的干扰字符,以及将未被剔除的字符发送至目标程序。

依据本发明的另一个方面,提供一种智能终端,包括:本发明所述的安全输入系统。

依据本发明的第三个方面,还提供一种安全输入方法,包括:

监测到输入驱动将用户的输入事件写入设备输入节点文件时,生成用于干扰的输入事件,并将该输入事件写入所述设备输入节点文件;

将所述设备输入节点文件中的输入事件传递给输入法程序;

接收所述输入法程序发送的根据所述输入事件生成的字符,并从接收的所述字符中剔除所述用于干扰的输入事件对应的干扰字符,以及将未被剔除的字符发送至目标程序。

本发明有益效果如下:

本发明提出的安全输入系统、方法及智能终端,在用户侧有输入事件时,插入干扰输入事件,并在向目标程序发送输入法程序得到的字符时,将字符中根据干扰输入事件得到的字符剔除,这样在输入法程序被恶意入侵的情况下,恶意程序也无法准确收集到用户输入的真正内容,从而达到安全输入的目的。可见,本发明所述方案能够在现有输入系统基础上,对普通输入法程序的输入做安全提升,降低因输入法程序本身带来的安全风险,较大程度的提升产品的安全系数。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1为本发明第一实施例提供的一种安全输入系统的结构框图;

图2为本发明第二实施例中智能终端未采用安全输入系统时的输入系统框架示意图;

图3为本发明第二实施例中智能终端采用安全输入系统时的输入系统框架示意图;

图4为本发明第二实施例中智能终端的安全输入系统框架流程图;

图5为本发明第二实施例中智能终端应用安全输入系统实现字符安全输入的流程图;

图6为本发明第三实施例提供的一种安全输入方法的流程图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本发明实施例提出一种安全输入系统、方法及智能终端,具体的,本实施例中,在用户通过输入法输入字符信息时,系统自动加入干扰输入事件,并在输入法程序生成字符后,通过系统进程删除系统自动加入的干扰字符,然后由系统进程将剩下的用户输入的字符信递给目标程序。这样输入法程序无法准确获取到用户输入的真正内容,实现内容的安全输入。

下面分别从系统、方法、终端几个方面,对本发明实施例的实施过程进行详细阐述。

在本发明的第一实施例中,提供一种安全输入系统,如图1所示,所述系统包括:输入驱动模块110、干扰事件插入模块120、输入事件处理模块130和安全输入处理模块140。

输入驱动模块110,用于将用户的输入事件写入设备输入节点文件;即,用户有输入操作时,设备输入节点文件会记录下用户输入操作对应字符的坐标,比如在基于linux的智能系统中,坐标信息会被记录在设备输入节点文件/dev/input/event*中。

干扰事件插入模块120,用于在监测到所述设备输入节点文件有输入事件写入时,生成用于干扰的输入事件,将该输入事件写入所述设备输入节点文件;

输入事件处理模块130,用于读取所述设备输入节点文件中的输入事件,并将其传递给输入法程序;

安全输入处理模块140,用于接收所述输入法程序发送的根据所述输入事件生成的字符,并从接收的所述字符中剔除所述用于干扰的输入事件对应的干扰字符,以及将未被剔除的字符发送至目标程序。

其中,所述目标程序可以但不限于为对输入安全要求较高的软件应用,例如手机银行软件等等。

在本发明的一个具体实施例中,干扰事件插入模块120,解析当前输入界面的布局信息,获取输入界面中各字符的中心位置坐标,按设定抽取机制在输入界面中抽取若干字符的坐标,并根据抽取的字符的坐标,生成用于干扰的输入事件。

在本发明的又一具体实施例中,干扰事件插入模块120,按照设定的干扰事件插入规则,将生成的用于干扰的输入事件写入所述设备输入节点文件。

其中,对于干扰事件插入规则,本领域技术人员可以灵活配置,例如,可以配置为:在输入驱动模块110写入的每个输入事件后插入一个干扰输入事件、在输入驱动模块110写入的每个输入事件后插入多个干扰输入事件、在输入驱动模块110写入多个输入事件后插入一个干扰输入事件、或者,在输入驱动模块110写入多个输入事件后插入多个干扰输入事件,等等。

进一步地,本发明实施例中,安全输入处理模块140判断输入法程序发送的字符是否为干扰字符的方式包括但不限于为:

方式一:

干扰事件插入模块120,将用于干扰的输入事件写入所述设备输入节点文件时,向安全输入处理模块140发送干扰通知;

安全输入处理模块140,根据接收到的干扰通知,确定出用于干扰的输入事件对应的干扰字符,并根据确定出的干扰字符,进行干扰字符剔除操作。

其中,安全输入处理模块140根据干扰通知能够确定出干扰字符的一种实施方式为:干扰事件插入模块120发送的干扰通知中携带有用于干扰的输入事件对应的字符信息。当然,还有其他实现形式,例如,安全输入处理模块140侧能够调取输入界面信息,此时,干扰事件插入模块可以将插入的输入事件信息通过通知发送到安全输入处理模块,由安全输入处理模块140根据输入界面信息和输入事件信息,确定干扰字符。本发明不对干扰通知的实现形式做具体限定,只要通过干扰通知能够使得安全输入处理模块140确定出干扰字符的方案,都在本发明的保护思想范围之内。

本实施例中,较佳的,干扰事件插入模块120插入的用于干扰的输入事件对应的字符应区别于监测到的用户的输入事件对应的字符。

方式二:

干扰事件插入模块120,按照设定的干扰事件插入规则,将生成的用于干扰的输入事件写入所述设备输入节点文件。此时,安全输入处理模块140,可以调取干扰事件插入规则,并根据所述干扰事件插入规则,确定出用于干扰的输入事件对应的干扰字符,并根据确定出的干扰字符,进行干扰字符剔除操作。

例如,干扰事件插入模块120插入干扰事件的插入规则为在输入驱动模块110写入的每个输入事件后插入一个干扰输入事件,那么对应输入法程序识别出来的字符就是:真字符伪字符真字符伪字符…的顺序,所以,安全输入处理模块140可以自动判定出偶数位的字符为插入的干扰字符,需要剔除。

综上可知,在本发明实施例所述的安全输入系统下,用户点击输入键盘中字符时,会产生输入坐标,并在将输入坐标写入设备输入节点文件/dev/input/event*中时,系统会生成单个或多个干扰坐标,并写入到设备输入节点文件/dev/input/event*中。当输入法程序响应设备输入节点文件中的这些输入坐标时,会依次生成多个字符,这些字符中包含了用户输入的正常字符和系统加入的干扰字符,系统负责将干扰字符进行删除,并将剩下的用户输入的正常字符传递给目标程序。这样,即便在输入法程序被恶意入侵的情况下,恶意程序也无法准确收集到用户输入的真正内容,从而达到安全输入的目的。

在本发明的第二实施例中,提供一种智能终端,该智能终端未采用第一实施例所述的安全输入系统时的输入系统框架图如图2所示,由图可知,输入系统框架中包括:目标程序、系统进程、输入法进程三部分。

当目标程序,如社交软件、手机银行软件需要输入字符内容时,首先向系统进程申请打开输入法程序,系统进程接收到申请时,绑定输入框并显示输入法。比如,在基于android的系统终端中目标程序、系统进程和输入法进程分别通过inputmethodmanager、inputmethodmanagerservice、inputmethodservice进行协作交互。

当绑定输入框并显示输入法后,用户点击触摸屏,输入法进程生成字符,并将字符传送给目标程序,目标程序接收到字符后,显示在相应控件上。

此种输入系统的输入安全性需要依赖输入法程序,当输入法程序不可信时,存在输入安全风险。

如图3所示,为本发明实施例所述智能终端应用了第一实施例所述的安全输入系统后的输入系统框架图。在该输入系统框架下,系统进程中增加了自定义输入管理服务(即在原有的输入管理服务基础上,增加了第一实施例中的干扰事件插入模块120和安全输入处理模块140的功能),用来完成干扰事件的插入和干扰字符的剔除。

本实施例通过在系统进程中增加自定义输入服务器,实现了对字符输入流程的优化改进。具体的,在用户有输入操作时,记录输入操作对应的输入事件,并自动加入干扰输入事件,在输入法程序根据输入事件生成字符后,字符内容不直接传送给目标程序,而是要把干扰字符剔除,仅保留用户输入的正常字符,然后再由系统进程将正常字符传递给目标程序。

在智能终端安全输入系统框架中,输入法程序无法准确得到用户输入的字符内容,可以避免因为输入法程序的导致的安全风险。

如图4所示,为本发明实施例所述智能终端的安全输入系统框架流程图,具体流程如下:

用户通过智能终端的触摸屏或物理按键等进行输入操作;

智能终端的系统内核层触摸屏、物理按键等驱动程序(对应输入驱动模块)根据多点触控协议定义的事件规则将物理信号转化成输入事件,并写入到设备输入节点文件;比如在基于linux的智能系统中,输入设备节点文件在/dev/input/目录下。

系统框架层的输入事件处理线程(对应输入事件处理模块)负责读取输入设备节点文件中的输入事件,并传递给上层应用程序。比如,当用户调用输入法程序输入字符时,输入事件处理线程将用户的输入事件传递给输入法程序,然后输入法程序根据传入的输入事件生成字符。

在安全输入系统中,系统框架层除完成常规的输入事件读取外,还通过干扰事件插入线程(对应于干扰事件插入模块)在输入设备节点文件中写入干扰事件。

干扰事件插入线程在插入干扰事件时,与安全输入处理线程(对应于安全输入处理模块)进行通信,通知安全输入处理线程所插入的干扰事件对应的字符,安全输入处理线程根据得到的信息对输入法生成的结果字符进行处理,删除干扰字符,仅保留用户输入的正常字符。

最后,安全输入处理线程将处理后得到的正常字符传递给目标程序。

如图5所示,为本发明实施例所述智能终端应用安全输入系统实现字符安全输入的流程图,具体包括如下步骤:

s502,用户点击屏幕输入法键盘上的某个字符,比如字母a。

s504,触摸屏驱动程序响应点击动作,得到点击位置的坐标,生成输入事件;并将坐标内容上报给智能终端输入子系统。

s506,触摸屏驱动程序将输入事件写入输入设备节点文件中,比如在基于linux的智能系统中,输入设备文件在/dev/input/目录下。

s508,智能终端的输入事件处理线程监听输入设备节点文件中的内容变化,并将原始坐标信息进行封装,以输入事件的方式发送给上层应用程序(即:输入法程序)。

s510,输入法程序响应输入事件,生成字符,比如字母a。

s512,智能终端安全输入处理线程接收并缓存输入法程序发送过来的字符,比如字母a。

s514,智能终端干扰事件插入线程生成干扰坐标,写入到/dev/input输入设备节点文件中,并将干扰坐标对应的干扰字符信息通知给安全输入处理线程;

详细地,生成干扰坐标的规则是通过解析当前输入界面的布局信息,获取各个字母控件的中心位置坐标,然后随机取出其中的若干字母坐标作为干扰坐标。

s516,智能终端的输入事件处理线程监听输入设备节点文件中的插入的干扰坐标信息,并进行封装,发送干扰输入事件给输入法程序。

s518,输入法程序响应输入事件,生成干扰字符,比如字母b。

s520,智能终端安全输入处理线程缓存所有字符,比如ab。

s522,智能终端安全输入处理线程删除干扰字符,仅保留用户输入字符,比如将ab变更为a。

s524,智能终端安全输入处理线程将最终字符发送给目标程序,比如将字母a发送给目标程序。

s526,目标程序显示用户输入的字符,比如显示字母a。

以上流程步骤完成字符的安全输入,在这个流程中,当用户执行输入时,系统快速的自动生成干扰坐标,并通过输入法生成干扰字符,然后系统进程将包含了干扰字符的输入内容恢复为用户输入的字符。

在本发明的第三实施例中,提供一种安全输入方法,如图6所示,包括:

步骤s601,监测到输入驱动将用户的输入事件写入设备输入节点文件时,生成用于干扰的输入事件,并将该输入事件写入所述设备输入节点文件;

本实施例中,生成用于干扰的输入事件,包括:

解析当前输入界面的布局信息,获取输入界面中各字符的中心位置坐标;

按设定抽取机制在输入界面中抽取若干字符的坐标,并根据抽取的字符的坐标,生成用于干扰的输入事件。

进一步地,本实施例中,在监测到输入驱动将用户的输入事件写入设备输入节点文件时,按照设定的干扰事件插入规则,将生成的用于干扰的输入事件写入所述设备输入节点文件。

步骤s602,将所述设备输入节点文件中的输入事件传递给输入法程序;

步骤s603,接收所述输入法程序发送的根据所述输入事件生成的字符,并从接收的所述字符中剔除所述用于干扰的输入事件对应的干扰字符,以及将未被剔除的字符发送至目标程序。

本实施例中,判断输入法程序发送的字符是否为干扰字符的方式包括但不限于为:

方式一:生成用于干扰的输入事件时,记录用于干扰的输入事件对应的字符。这样,当接收到所述输入法程序发送的根据所述输入事件生成的字符后,就可以根据记录的字符确定所述用于干扰的输入事件对应的干扰字符,以进行干扰字符的剔除操作。

方式二:接收所述输入法程序发送的根据所述输入事件生成的字符后,根据干扰事件插入规则,确定出用于干扰的输入事件对应的干扰字符,以进行干扰字符剔除操作。

综上所述,本发明提出的安全输入方法,在用户侧有输入事件时,插入干扰输入事件,并在向目标程序发送输入法程序得到的字符时,将字符中根据干扰输入事件得到的字符剔除,这样在输入法程序被恶意入侵的情况下,恶意程序也无法准确收集到用户输入的真正内容,从而达到安全输入的目的。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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