一种利用TrustZone技术防止第三方输入法敏感数据泄露的系统与方法技术方案

技术编号:15330270 阅读:85 留言:0更新日期:2017-05-16 13:46
本发明专利技术涉及一种利用TrustZone技术防止第三方输入法敏感数据泄露的系统与方法,其特征在于包括:位于普通执行环境中的拦截模块;位于可信执行环境中的安全键盘模块、数据分析模块、重放模块和敏感数据安全返回模块;结合数据分析模块保护普通应用程序中敏感数据的本地敏感数据保护模块;本发明专利技术有效地保证移动终端输入系统的安全性,具有通用性、高效且用户友好、强安全性等优势。

System and method for preventing sensitive data leakage of third party input method by using TrustZone Technology

The invention relates to a system and method of preventing the third party input method of sensitive data leakage by using TrustZone technique, which is characterized by comprising: in common interception module execution environment; safety in the keyboard module, data analysis module in the trusted execution environment, playback module and sensitive data security return module; combining with the data analysis module protection sensitive data in a normal application of local sensitive data protection module; the invention can effectively ensure the safety of the mobile terminal input system, a universal, efficient and user-friendly, high security and other advantages.

【技术实现步骤摘要】
一种利用TrustZone技术防止第三方输入法敏感数据泄露的系统与方法
本专利技术涉及一种利用TrustZone技术防止第三方输入法敏感数据泄露的系统与方法,属于移动终端设备的数据安全领域。
技术介绍
随着移动互联网技术和移动智能终端的快速发展,移动终端处理的业务从传统的通信、娱乐领域延伸到移动办公、移动支付等高安全、高敏感业务领域。用户需要在移动终端输入越来越多的敏感信息包括登陆用户名和密码、联系人信息、银行卡号等。研究发现大部分第三方输入法软件会在用户输入的过程中发送输入的信息到远程服务器,为了保护用户的敏感信息不被第三方恶意截获或被输入法服务提供商恶意利用,需要一种有效的方法防止第三方输入法对用户输入的敏感信息的泄露。通常的做法是通过加密算法对敏感数据加密,但是输入法服务提供商依然可以获取用户输入的敏感信息。当前对输入法安全问题的可行的解决方案是在输入法已经获取用户的点击后执行回滚或加密等操作,但不能在输入法的代码执行之前采取行动,因此安全问题仍然存在。为了更好地解决移动终端第三方输入法对用户敏感数据的泄露问题,必须从底层硬件架构、操作系统等多个环节设计软硬件结合的整体解决方案。ARMTrustZone硬件隔离技术在移动终端构建普通执行环境和可信执行环境两个独立的运行环境,并利用处理器的监控模式提供两个环境的切换与数据传输。普通执行环境与可信执行环境相互隔离,保证了可信执行环境中操作的安全性,有效实现应用系统高敏感业务与普通业务的隔离。利用TrustZone技术防止第三方输入法敏感数据泄露需解决以下几个问题:如何判断是否需要切换到可信执行环境;如何在可信执行环境操作;如何将用户的输入数据正确返回给普通执行环境中的普通应用程序。
技术实现思路
本专利技术的技术解决问题:解决用户在移动终端输入的敏感数据的安全问题,提供一种利用TrustZone技术防止第三方输入法敏感数据泄露的系统与方法,从而有效地保证用户输入的隐私信息的安全性,具有通用性、高效且用户友好、强安全性等优势。本专利技术技术解决方案为:一种利用TrustZone技术防止第三方输入法敏感数据泄露的系统与方法,下面简要介绍下本方案的基本思想,本专利技术在吸取已有解决方案优点的基础之上,提出了自己的设计思想,具体来说,本专利技术利用TrustZone技术防止第三方输入法敏感数据泄露的系统包括下列几个方面:方面一,触摸事件的拦截模块位于普通执行环境中,拦截用户在普通执行环境中的触摸事件并分析事件类型,判断是否切换到可信执行环境的安全键盘供用户输入。从触摸事件驱动接收到触摸事件后,拦截模块利用添加在输入法框架的系统服务中的钩子函数判断事件类型,在已经拦截到键盘显示事件的情况下,又拦截到按键事件,则切换到可信执行环境的安全键盘;否则,将事件通过输入法框架传给普通执行环境的第三方输入法执行响应的操作。方面二,安全键盘可以让用户在可信执行环境中进行输入,从而防止用户输入的信息被第三方输入法获取。为了减小系统设计的复杂性,安全键盘复用当前普通执行环境中显示的第三方输入法的软键盘并验证布局信息,在验证通过的情况下将第三方输入法的软键盘作为可信执行环境中的安全键盘。本专利技术只考虑第三方输入法的拉丁语系的软键盘,每个按键对应一个字符,当用户触摸一个按键时,安全键盘可以获得该按键的坐标,然后转换成相应的字符,并交给数据分析模块。方面三,数据分析模块分析从安全键盘接收的字符的敏感性。为了验证字符的敏感性,对于事先定义好的敏感数据集,使用AC前缀匹配算法进行单向匹配,分析该字符是否属于敏感数据的前缀,如果不是则将该字符交给重放模块;如果是则将该前缀存储到一个缓冲区中,等待用户后续的输入并判断完整输入是否与敏感字符串匹配,如果不匹配则将字符串交给重放模块,如果匹配则将敏感字符串交给敏感数据安全返回模块。方面四,重放模块将非敏感字符对应的事件通过输入法框架交给第三方输入法进行处理,进而将数据提交给普通应用程序。本专利技术设计了运行在输入法框架的系统服务进程中的守护线程模仿事件发生器,需要重放的字符坐标被放在可信执行环境和普通执行环境的共享内存中,然后模仿事件发生器被唤醒并从共享内存中获取字符坐标,然后构造字符坐标对应的触摸事件交给输入法框架的系统服务,输入法框架的系统服务调用第三方输入法处理该事件,从而将字符提交给普通应用程序。方面五,敏感数据安全返回模块将敏感字符串通过可信执行环境和普通执行环境的共享内存提交给普通应用程序,而不经过第三方输入法。数据安全返回模块首先将敏感数据放在可信执行环境和普通执行环境的共享内存中,然后本专利技术设计的安全返回服务从共享内存中获取敏感数据并利用输入连接接口InputConnection将数据交给普通应用程序。方面六,本地敏感数据保护模块在应用程序接口中添加钩子函数防止第三方输入法从普通应用程序的缓冲区获取敏感数据。已经提交的数据存放在普通应用程序的数据缓冲区中,我们发现第三方输入法可以通过输入法框架为它提供的通用接口重新从普通应用程序获得这些数据,包括敏感数据。本专利技术在所有与重获数据相关的应用程序接口中添加钩子函数,当第三方输入法从普通应用程序的缓冲区获取数据时,触发可信执行环境中的数据分析模块分析数据是否敏感,如果敏感则阻止第三方输入法对敏感数据的获取。一种利用TrustZone技术防止第三方输入法敏感数据泄露的方法,实现步骤如下:(1)拦截模块通过添加在输入法框架的系统服务中的钩子函数拦截触摸事件驱动传来的相应事件,在通过输入法管理服务类InputMethodManagerService中的showSoftInput()钩子函数拦截到键盘显示事件的前提下,又通过触摸输入处理类TouchInputMapper中的钩子函数sync()拦截到按键事件时,切换到可信执行环境对当前普通执行环境显示的第三方输入法的软键盘进行完整性检验,然后进行相应的设置从而复用第三方输入法的软键盘作为可信执行环境的安全键盘,之后用户执行的按键操作发生在安全键盘上。(2)用户在安全键盘的输入通过按键坐标转换成字符,字符被交给数据分析模块。基于用户预定义的敏感数据集,数据分析模块使用AC前缀匹配算法来区分字符是否属于敏感数据前缀,如果不是则将字符坐标交给重放模块,如果是将该前缀存储到一个缓冲区中,等待用户的完整输入以判断用户的输入是否敏感,一旦确认该前缀是非敏感数据,则将其每一个字符的坐标交给重放模块,如果是敏感数据,则将字符串交给敏感数据安全返回模块。(3)重放模块中,非敏感按键坐标首先被放在可信执行环境和普通执行环境的共享内存,添加在系统服务进程中的守护线程模仿事件发生器被唤醒并从共享内存取出触摸事件坐标。模仿事件发生器把事件以正确的格式放在输入法框架系统服务的事件队列,然后系统服务中的输入调度线程inputDispatcher被唤醒并从队列中取事件,选择调度相应的组件或服务,即调用第三方输入法来处理相应事件,最终通过第三方输入法向普通应用程序提交字符。(4)敏感数据安全返回模块的主要部分是安全返回服务。敏感字符串被存放在可信执行环境和普通执行环境的共享内存中,安全返回服务被唤醒并从共享内存中获取字符串,安全返回服务复用输入法框架中的输入连接接口InputConnection本文档来自技高网
...
一种利用TrustZone技术防止第三方输入法敏感数据泄露的系统与方法

【技术保护点】
一种利用TrustZone技术防止第三方输入法敏感数据泄露的系统,其特征在于包括:位于普通执行环境中的拦截模块;位于可信执行环境中的安全键盘模块、重放模块、数据分析模块和敏感数据安全返回模块;结合数据分析模块保护普通应用程序中敏感数据的本地敏感数据保护模块;其中:拦截模块,位于普通执行环境中,拦截用户在普通执行环境中的触摸事件并分析事件类型,判断是否切换到可信执行环境的安全键盘供用户输入;从触摸事件驱动接收到触摸事件后,拦截模块利用添加在输入法框架的系统服务中的钩子函数判断事件类型,在已经拦截到键盘显示事件的情况下,又拦截到按键事件,则切换到可信执行环境的安全键盘;安全键盘,让用户在可信执行环境中进行输入,从而防止用户输入的信息被第三方输入法获取,复用当前普通执行环境中显示的第三方输入法的软键盘并验证布局信息;在完整性验证通过的情况下将第三方输入法的软键盘作为可信执行环境中的安全键盘;当用户触摸一个按键时,安全键盘获得所述按键的坐标,然后转换成相应的字符,并交给数据分析模块;数据分析模块,判断从安全键盘接收的字符的敏感性,即是否是敏感字符;用户事先定义好敏感数据集,当数据分析模块接收到安全键盘传来的字符时,使用AC前缀匹配算法进行单向匹配,分析字符是否属于敏感数据的前缀的,如果不是则将字符交给重放模块;如果是则将该前缀存储到一个缓冲区中,等待用户后续的输入并判断完整输入是否与敏感字符串匹配,如果不匹配则将字符串交给重放模块,如果匹配则将敏感字符串交给敏感数据安全返回模块;重放模块,将非敏感字符对应的事件通过输入法框架交给第三方输入法进行处理,进而将数据提交给普通应用程序;运行在输入法框架的系统服务中的守护线程的模仿事件发生器将需要重放的字符坐标被放在可信执行环境和普通执行环境的共享内存中,然后模仿事件发生器被唤醒并从共享内存中获取字符坐标,然后构造字符坐标对应的触摸事件交给输入法框架的系统服务,输入法框架的系统服务调用第三方输入法处理该事件,从而将字符提交给普通应用程序;敏感数据安全返回模块,将敏感字符串通过可信执行环境和普通执行环境的共享内存提交给普通应用程序,而不经过第三方输入法;敏感数据安全返回模块首先将敏感数据放在可信执行环境和普通执行环境的共享内存中,然后设计的安全返回服务从共享内存中获取敏感数据并利用输入连接接口InputConnection将数据交给普通应用程序;本地敏感数据保护模块,在应用程序接口中添加钩子函数防止第三方输入法从普通应用程序的缓冲区获取敏感数据;已经提交的数据存放在普通应用程序的数据缓冲区中,第三方输入法可以通过输入法框架为它提供的通用接口重新从普通应用程序获得这些数据,包括敏感数据;在所有与重获数据相关的应用程序接口中添加钩子函数,当第三方输入法从普通应用程序的缓冲区获取数据时,触发可信执行环境中的数据分析模块分析数据是否敏感,如果敏感则阻止第三方输入法对敏感数据的获取。...

【技术特征摘要】
1.一种利用TrustZone技术防止第三方输入法敏感数据泄露的系统,其特征在于包括:位于普通执行环境中的拦截模块;位于可信执行环境中的安全键盘模块、重放模块、数据分析模块和敏感数据安全返回模块;结合数据分析模块保护普通应用程序中敏感数据的本地敏感数据保护模块;其中:拦截模块,位于普通执行环境中,拦截用户在普通执行环境中的触摸事件并分析事件类型,判断是否切换到可信执行环境的安全键盘供用户输入;从触摸事件驱动接收到触摸事件后,拦截模块利用添加在输入法框架的系统服务中的钩子函数判断事件类型,在已经拦截到键盘显示事件的情况下,又拦截到按键事件,则切换到可信执行环境的安全键盘;安全键盘,让用户在可信执行环境中进行输入,从而防止用户输入的信息被第三方输入法获取,复用当前普通执行环境中显示的第三方输入法的软键盘并验证布局信息;在完整性验证通过的情况下将第三方输入法的软键盘作为可信执行环境中的安全键盘;当用户触摸一个按键时,安全键盘获得所述按键的坐标,然后转换成相应的字符,并交给数据分析模块;数据分析模块,判断从安全键盘接收的字符的敏感性,即是否是敏感字符;用户事先定义好敏感数据集,当数据分析模块接收到安全键盘传来的字符时,使用AC前缀匹配算法进行单向匹配,分析字符是否属于敏感数据的前缀的,如果不是则将字符交给重放模块;如果是则将该前缀存储到一个缓冲区中,等待用户后续的输入并判断完整输入是否与敏感字符串匹配,如果不匹配则将字符串交给重放模块,如果匹配则将敏感字符串交给敏感数据安全返回模块;重放模块,将非敏感字符对应的事件通过输入法框架交给第三方输入法进行处理,进而将数据提交给普通应用程序;运行在输入法框架的系统服务中的守护线程的模仿事件发生器将需要重放的字符坐标被放在可信执行环境和普通执行环境的共享内存中,然后模仿事件发生器被唤醒并从共享内存中获取字符坐标,然后构造字符坐标对应的触摸事件交给输入法框架的系统服务,输入法框架的系统服务调用第三方输入法处理该事件,从而将字符提交给普通应用程序;敏感数据安全返回模块,将敏感字符串通过可信执行环境和普通执行环境的共享内存提交给普通应用程序,而不经过第三方输入法;敏感数据安全返回模块首先将敏感数据放在可信执行环境和普通执行环境的共享内存中,然后设计的安全返回服务从共享内存中获取敏感数据并利用输入连接接口InputConnection将数据交给普通应用程序;本地敏感数据保护模块,在应用程序接口中添加钩子函数防止第三方输入法从普通应用程序的缓冲区获取敏感数据;已经提交的数据存放在普通应用程序的数据缓冲区中,第三方输入法可以通过输入法框架为它提供的通用接口重新从普通应用程序获得这些数据,包括敏感数据;在所有与重获数据相关的应用程序接口中添加钩子函数,当第三方输入法从普通应用程序的缓冲...

【专利技术属性】
技术研发人员:田琛王雅哲代蕊蕊周启惠徐震
申请(专利权)人:中国科学院信息工程研究所
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1