一种面向Android系统内部数据传递过程的保护方法及系统的制作方法_2

文档序号:9489676阅读:来源:国知局
该被拦截的函数时,会触发加密流程的执行,使用步骤S02中生成的密钥实现对数据的加密;
S05步骤在上述步骤S03中拦截的数据使用端的数据处理函数中,额外执行一个解密流程,当保护数据流经该被拦截的函数时,会触发解密流程的执行,使用步骤S02中生成的密钥实现对数据的解密。
[0020] 此外,本发明还提供了一种对Android系统内部数据传递过程的保护系统,该系统的一个实施例如图2所示,实施方式和过程包括:
所述保护系统包括5个模块:
服务选择模块:用于确定需要保护的Android系统内部传递的数据类型,以及数据使用端的系统进程或应用程序;对需要保护的数据和有权限使用数据的应用程序,对于未选择的应用程序,则无法正确获取被保护的数据,在本实施例中选择短信数据及对应的允许正确使用该数据的应用程序“短信应用①”,选择GPS位置数据及对应的允许正确使用该数据的应用程序“地图应用”;
密钥管理模块,用于根据确定的数据类型、系统进程或应用程序,生成用于对保护的数据进行加密和解密的密钥;
函数拦截模块,用于使用函数拦截方法,对所保护数据的产生端的数据处理函数进行拦截并安装数据加密功能代码,对数据使用端的应用程序或进程中的数据处理函数进行拦截并安装数据解密功能代码;所述数据加密模块,用于数据在系统内部传递之前,在数据产生端的处理函数中使用生成的密钥进行加密保护;
数据解密模块,用于在加密的数据在系统内部传递过程的另一端接收之后、使用之前,在被拦截的数据处理函数用生成的密钥对其进行解密。
[0021]上述五个模块在系统中的部署方式如图2所示,其中:
M01服务选择模块、M02密钥管理模块、M03函数拦截模块是所述系统的主程序组成组件;
M04数据加密模块是通过M03函数拦截模块部署到数据产生端的进程或服务中的功能模块,在该实施例中M04数据加密模块被部署到提供短信数据服务、GPS位置数据服务的系统进程中;
M05数据解密模块是通过M03函数拦截模块部署到数据使用端应用程序进程中的功能模块,在该实施例中M05数据解密模块被部署到所选择的允许正确使用短信数据的应用程序“短信应用①”中,以及允许正确使用GPS位置数据的应用程序“地图应用”中,但不被部署到不允许正确使用短信数据的应用“短信应用②”中。
[0022]在所述发明系统的本实施例中其工作流程可以如下。
[0023]在系统准备阶段包含三个流程:
流程一,通过用户选择的方式,由M01服务选择模块确定需要保护的数据类型和应用程序组合为:短信数据与“短信应用①”,GPS数据与“地图应用”;
流程二,根据所述流程一确定的数据类型和应用程序组合,由M02密钥管理模块为每个数据-应用的组合生成各自相应的密钥;
流程三,根据所述流程一确定的数据类型和应用程序组合,由M03函数拦截模块拦截每个“数据-应用”组合中的数据处理函数,并向数据服务端注入M04数据加密模块,向数据使用端注入M05数据解密模块,同时分别传递流程二生成的密钥;
在系统准备阶段完成之后,工作流程包含如下两个持续性流程:
流程四,当数据服务端产生需要保护的数据时,如短信数据、GPS位置数据,则这些被保护数据被数据处理函数处理时,会由M04数据加密模块对数据进行加密,然后再将加密后的短信数据和加密后的GPS数据交给Android系统内部的数据传递过程——Binder通信机制进行传输,数据端产生的不需要保护的其他数据,则由数据处理函数直接交给Binder通信机制进行传输;
流程五,当数据使用端的允许使用受保护数据的应用程序“短信应用①”和“地图应用”收到数据后,在使用数据前,则由M05数据解密模块对收到的保护数据进行解密和还原;不被允许使用受保护的短信数据的应用程序“短信应用②”收到受保护数据后,则无法解密还原出正确的短信数据,其他应用程序收到为其他未被保护的数据时,则无需处理即可获得正确的数据。
[0024]通过上述流程即可实现对Android系统内部数据传递过程的保护。
【主权项】
1.一种面向Android系统内部数据传递过程的保护方法,其特征在于,包括如下步骤: 步骤1:确定需要保护的Android系统内部传递的数据类型,以及数据使用端的系统进程或应用程序; 步骤2:根据确定的数据类型、系统进程或应用程序,生成用于对保护的数据进行加密和解密的密钥; 步骤3:使用函数拦截方法,对所保护数据的产生端的数据处理函数进行拦截并安装数据加密功能代码,对数据使用端的应用程序或进程中的数据处理函数进行拦截并安装数据解密功能代码; 步骤4:数据在系统内部传递之前,在数据产生端的处理函数中使用生成的密钥进行加密保护; 步骤5:加密的数据在系统内部传递过程的另一端接收之后、使用之前,在被拦截的数据处理函数用生成的密钥对其进行解密。2.根据权利要求1所述的一种面向Android系统内部数据传递过程的保护方法,其特征在于:所述的步骤I中,系统内部数据传递过程包括Android系统中基于Binder的通信方式,进行保护的数据包括基于Binder进行的应用程序、系统进程间交互和传递的数据。3.根据权利要求1所述的一种面向Android系统内部数据传递过程的保护方法,其特征在于:所述的步骤2中,确定的保护数据类型可以为多种被保护的数据类型,所述的确定的应用程序或系统进程可以为多个可以正确使用受保护数据的应用程序或系统进程。4.根据权利要求1所述的一种面向Android系统内部数据传递过程的保护方法,其特征在于:所述的步骤4中使用对称加密算法的密钥进行数据加密保护。5.根据权利要求1所述的一种面向Android系统内部数据传递过程的保护方法,其特征在于:所述的步骤3中对数据产生端的数据处理函数、数据使用端的数据处理函数的拦截方法,包括对Android Framework层Java代码中函数和系统运行库层原生代码NativeCode中函数的拦截。6.一种面向Android系统内部数据传递过程的保护系统,其特征在于,至少包括:服务选择模块,密钥管理模块,函数拦截模块,数据加密模块,数据解密模块; 所述的服务选择模块:用于确定需要保护的Android系统内部传递的数据类型,以及数据使用端的系统进程或应用程序; 所述的密钥管理模块,用于根据确定的数据类型、系统进程或应用程序,生成用于对保护的数据进行加密和解密的密钥; 所述的函数拦截模块,用于使用函数拦截方法,对所保护数据的产生端的数据处理函数进行拦截并安装数据加密功能代码,对数据使用端的应用程序或进程中的数据处理函数进行拦截并安装数据解密功能代码;所述数据加密模块,用于数据在系统内部传递之前,在数据产生端的处理函数中使用生成的密钥进行加密保护; 所述的数据解密模块,用于在加密的数据在系统内部传递过程的另一端接收之后、使用之前,在被拦截的数据处理函数用生成的密钥对其进行解密。7.根据权利要求6所述的一种面向Android系统内部数据传递过程的保护系统,其特征在于,还包括提供额外的用于个性化使用的日志存储模块、配置数据存储模块; 所述配置数据存储模块,包括用于存储确定的数据类型和应用程序信息;所述日志存储模块,包括用于存储系统的运行日志、数据保护日志信息。
【专利摘要】本发明提出一种面向Android系统内部数据传递过程的保护方法及系统;本发明通过对基于Binder通信的重要数据实施产生源头加密、数据使用处解密,构建了基于Binder的安全通信通道,实现了重要数据在Android系统内部传输过程中的端到端的安全性保证。
【IPC分类】G06F21/53, G06F21/60
【公开号】CN105243330
【申请号】CN201510655849
【发明人】梁玉, 彭国军, 肖云倡, 李坚松, 罗格, 湛昭豪, 李世雄
【申请人】武汉大学
【公开日】2016年1月13日
【申请日】2015年10月13日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1