基于Android的个性化环境感知隐私保护方法与流程

文档序号:11156233阅读:314来源:国知局
基于Android 的个性化环境感知隐私保护方法与制造工艺

本发明涉及基于Android的个性化环境感知隐私保护方法,属于移动终端技术领域。



背景技术:

近年来,移动智能终端发展迅猛,至2015年,中国移动智能设备数量将突破13亿,其中Android平台用户占比约为73%。移动应用数量也随之增长迅速,截至到2016年上半年,Android平台下的移动应用数量超过200万,人均使用应用数量为26.7款。58%的用户每天查看11-50次手机,约为每小时查看1-2次。而有20%的用户每天查看超过50次手机。这些移动应用覆盖范围从人们衣食住行到学习工作,从休闲娱乐到运动医疗,已经人们深度融入日常生活。因此,移动智能终端中存储有大量的用户隐私,根据其涉及的硬软件形式不同,通常分为用户生成数据、设备功能和设备标识三类。用户生成数据是指联系人,短信息,通话记录等由用户在使用移动智能终端过程中产生的隐私数据;移动智能终端丰富的传感器和多媒体功能也涉及用户位置等隐私信息,第二类是指定位、拍照、联网等由设备硬件所提供的设备功能隐私;设备标识是指IEMI,MAC地址等能够识别设备硬件的唯一标识,能够借此追踪用户身份。

用户在享受移动应用提供便捷智能的服务的同时,自身的隐私也面临着严重威胁。在现有的Android安全机制下,移动应用能够轻易地获取这些隐私信息,据统计,在移动应用的恶意行为数量排名中,隐私窃取排在第四位,58%以上的安卓软件都有隐私信息泄密的问题。例如,有的移动应用功能本身不需要位置信息,为了实现精准广告投放或产品推送,在运行的时候却不断获取用户位置信息,通过分析用户数据,获得经济利益。有的恶意应用还会借此进行诈骗或者盗刷信用卡,给用户造成巨额经济损失,甚至威胁用户生命。如2013年1月高二女生曾某外出遇害,调查结果显示,女孩平时热衷微博社交,自己的位置隐私几乎暴露无遗,不法分子所利用微博发现了女孩的日常行为习惯蹲点作案。恶意软件已经形成一条完整的黑金产业链,大量低成本的恶意应用通过各种分发渠道安装到用户的移动智能设备中,收集用户隐私数据如短信、联系人等,通过分析得到得到高价值目标,再针对目标用户投放高成本制作的伪装恶意应用,进行针对性欺诈。

为了保护用户的隐私信息,Android系统和许多安全厂商都提供了各自的隐私保护方法。Android是基于Linux的移动操作系统,其系统架构分为四层,最底层是Linux内核和硬件驱动模块,上面是各类共享库和Android运行时环境。第三层是Android架构层,提供面向移动应用开发人员的接口,应用层的各种移动应用可以调用这些接口实现各种功能。Android为每个应用建立一个独立的运行时环境,运行在不同的进程中,保证应用的自身数据安全。为了方便开发人员实现应用之间的进程通讯,Android提供了客户端-服务器模式的Binder进程通信机制,通过获取相关应用的客户端就能与其通信。

Android系统对于用户隐私数据的管理主要采用权限机制,例如通讯录、电话、短信、网络等,移动应用如果想获得这些数据,需要在manifest.xml文件中声所需权限,获得批准后才能使用。移动应用在安装时,Android会提示用户是否同意授权,只有用户同意,应用运行时才能调用API访问受限资源。以应用读取联系人信息为例,开发者首先要在应用的manifest.xml文件中声明android.permission.READ_CONTACTS,用户同意安装后,该应用运行时调用ContentResolver.query()方法以获取联系人信息,Android通过ActivityManagerNativeProxy.checkPermission()方法检查该应用是否被授权。该方法实际上作为客户端,通过Binder将移动应用权限请求发送至位于System_server进程中的服务器,由方法ActivityManagerService.checkPermission()实现具体的权限检查操作,并将结果返回给客户端。如果返回PERMISSION_GRANTED,该应用便可以读取,若返回PERMISSION_DENIED,即该应用不能读取联系人信息。

但是,Android 6.0版本之前,用户在安装移动应用过程中,不能选择授予部分权限,为了使用该应用只能选择将所有权限授予应用,导致隐私信息泄露。Android 6.0版本后,系统内置了运行时的权限授予机制,但出于兼容性考量,新的权限机制仅适用于在Android 6.0下重新编译过的应用,不能有效限制旧有应用。因此Android权限机制在实际使用中不能有效地保护用户隐私。而且大部分用户并不知道自己的隐私已经被窃取,甚至没有隐私保护的概念,面临严峻的隐私威胁。

为了解决Android的这些缺陷,LBE安全大师、360极客版等安全软件提出了不同的解决方案。主要采用列表形式向用户展示应用所需要的隐私信息,用户可以通过设置“允许”,“拒绝”或者“提示”等方式控制应用访问,当移动应用访问用户隐私时,安全软件会提示用户,并根据用户的实时决策对应用访问隐私信息的行为进行控制。另外也有专利发明提出对Android权限系统的改进,如“基于TPM细粒度权限的Android系统安全增强系统及方法”。该发明提供以TPM为基础,以权限为管理粒度的细粒度安全保护方法,但没有考虑到用户隐私需求随环境语义不同而变化的情况,在场景维度上仍属于粗粒度。

上述安全助手与专利发明虽然弥补了Android系统的权限机制的不足,但是不能根据不同的环境执行制定不同的隐私策略。用户对于应用的隐私需求会随着所处环境的改变而发生变化,而现有工作只能提供粗粒度的隐私策略设置,用户只能对某一应用的隐私请求选择授予或者拒绝,无法满足用户在使用过程中的个性化隐私需求;另一个问题是隐私管理的复杂度,使用这类软件需要具备一定的专业知识,普通用户难以理解权限的意义和设置方式,无法达到保护用户隐私的目的。因此,需要一种界面友好,且能理解用户个性化隐私需求的、环境感知隐私保护方法。



技术实现要素:

发明概述:

针对现有基于授权的隐私保护机制没有考虑用户习惯和使用环境的问题,本发明提供一种基于Android的个性化环境感知隐私保护方法。本发明为了满足用户的因环境变化的个性化隐私需求,系统需要感知移动应用的使用环境和用户习惯,如时间、位置、用户交互情况、应用类型、具体行为等,对移动设备所处环境进行深度的语义解析与用户行为学习,及时调整授权策略,满足用户需求。本发明还同时提供自主可控的隐私管理模式,用户可以通过设置隐私策略表达自己的隐私需求,针对特定场景和隐私请求设定授权策略,实现细粒度的自主可控的隐私保护。本发明所述方法将拦截Android系统中应用对隐私信息的请求,通过环境感知获取移动设备当前的使用场景,根据用户指定的隐私策略提供个性化隐私保护。

本发明的技术方案如下:

一种基于Android的个性化环境感知隐私保护方法,包括:拦截移动应用的隐私权限请求、基于功能语义的环境感知和隐私决策;所述基于功能语义的环境感知和隐私决策是指依据环境的功能语义理解用户使用移动应用的场景,并以此实施相应隐私策略;

当所述移动应用隐私权限请求与所述基于功能语义的环境下隐私策略匹配时,按照隐私策略允许或是拒绝该移动应用访问用户隐私信息。

根据本发明优选的,所述方法还包括交互式用户隐私需求设定:当不存在匹配的基于功能语义的环境下隐私策略时,则告知用户所述移动应用隐私权限请求,如用户允许,则允许移动应用访问用户隐私信息;否则,不允许。

根据本发明优选的,所述拦截移动应用隐私权限请求,利用以下方式实现:

使用Xposed框架hook系统API实现,通过编写Xposed模块,挂钩hook系统中相关功能函数,以实现环境感知的隐私决策逻辑。Xposed框架是一款可以在不修改Android程序代码的情况下影响程序运行的框架服务。基于Xposed框架编写的模块可以在不修改Android内核源代码的情况下,调整Android系统部分服务的执行逻辑,以扩展系统功能。为了实现对应用隐私请求的拦截,本发明通过编写Xposed模块,挂钩系统中与权限管理相关的API以实现环境感知的隐私保护决策逻辑。

根据本发明优选的,所述拦截移动应用隐私权限请求方式具体为:

通过挂钩ActivityManagerServce.checkPermission()函数,拦截触发Android系统权限检查的隐私请求,扩展Android原生权限检查逻辑,加入环境感知的隐私决策;

和/或,通过挂钩具体涉及隐私信息的系统功能性API,实现对移动应用隐私权限请求的行为控制。例如通过挂钩LocationManager类中各函数,实现对应用访问位置信息的请求拦截,并通过具体调用函数不同决定不同的隐私策略。应用隐私请求拦截模块实现逻辑参见图3。

根据本发明优选的,基于功能语义的环境感知和隐私决策包括:

用户提前预设用户隐私策略:包括不同语义环境信息下所对应的用户隐私决策;

当移动应用发起隐私权限请求时,通过获取用户的环境信息、解析所述环境信息为语义环境信息,并匹配得到与当前语义环境信息符合的用户隐私策略。完成执行隐私策略中规定的操作,实现自主可控的环境感知隐私保护。为实现自主可控的环境感知隐私保护,需要对移动设备的使用环境进行监控和感知,并建立合理的策略匹配机制。

根据本发明优选的,所述用户的环境信息包括:移动智能终端记载的时间、用户位置、用户与移动智能终端的交互频度和使用功能。

根据本发明优选的,所述将环境信息解析为语义环境信息,包括:

将所述用户的环境信息、用户的行为目的和用户隐私需求结合起来,形成语义环境信息。例如,如果用户在北京市西城区长椿街45号区域停留了较长时间,我们不是直接依据地点的地理坐标,而是通过公开的位置信息服务获取位置的功能类型信息,解析为区域位置的语义内容,当前位置为宣武医院,功能类型医院是敏感信息;有的地方的功能类型为商业街,有的功能类型为学校等。本发明通过Android API获取移动设备当前位置、各种传感器数据以及用户交互情况信息,通过关联多种因素进一步进行语义行为解析,例如长时间频繁停留的位置可能是工作环境,判断用户的行为场景如就医、工作、出行、娱乐等。执行逻辑可见附图4。

本发明采用功能类型的语义环境信息,而不是朴素的地理位置和时间等信息,优点在于:通过考虑环境信息,将传统粗粒度的应用和权限请求的二元组隐私策略模式扩展为更细粒度的多元组隐私策略模式,包含了使用环境、应用功能和用户行为模式等丰富语义,通过解析环境语义信息,理解用户行为和隐私需求,更好地进行隐私保护。

根据本发明优选的,所述交互式用户隐私需求设定,还包括:

当不存在匹配的基于功能语义的环境下隐私策略时,则告知用户所述移动应用隐私权限请求,并允许用户设定针对特定环境下、和/或特定应用的授权隐私策略;然后根据所述授权隐私策略对应执行所述移动应用隐私权限请求的隐私决策。

根据本发明优选的,交互式用户隐私需求设定,还包括:学习用户的行为模式和隐私需求,不断补充和更新用户隐私策略库供用户选择。所述用户的行为模式和隐私需求为用户针对不同环境或应用时所倾向采取的授权隐私策略。便于以后决策建议。

考虑到普通用户技术能力薄弱,缺乏隐私保护意识缺乏,为了提高本发明的适用性和保护用户隐私的有效性,本发明一方面提供用户自主可控、交互方式友好的策略管理,另一方面提供用户隐私泄露与保护情况。不同于现有技术,本发明不仅提供即时隐私决策,还学习用户的行为模式,不断补充和更新用户隐私策略库,便于以后决策建议。

为了让普通用户更好地理解隐私保护结果,本发明分析移动应用在不同环境中的隐私请求及策略执行情况,并通过图表等友好形式展示统计分析结果,帮助用户了解自身的隐私泄露情况,协助用户制定有针对性的隐私保护策略。

本发明的优势在于:

1.本发明提供细粒度隐私保护方法。为用户提供了更灵活的隐私保护方式,对应用的每次隐私请求根据用户隐私需求可做出不同决策。相比于其它安全软件,本发明能满足用户个性化隐私需求。

2.本发明提供实时环境感知的隐私决策。能够理解用户使用移动应用的环境信息和行为模式,匹配不同适用的隐私策略,更好地兼顾用户行为目的和隐私需求。

3.本发明提供用户感知的隐私使用情况分析,能够自主学习和更新用户隐私策略。为普通用户提供隐私定义和权限实时决策两种方式,并让用户及时了解移动应用行为和对比分析,提高用户隐私保护意识;通过学习用户决策行为,提炼出可服用的个性化隐私策略,比现有工作更具实用性。

为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

附图说明

图1:本发明的模块关系图。图中左侧部分为实施例中,挂钩ActivityManager扩展Android权限管理逻辑和挂钩LocationManager实现细粒度行为控制的两种情况的示意图。

图2:本发明的执行逻辑流程图。

图3:应用隐私请求拦截模块技术架构及执行流程图。左侧为Android系统架构。Android应用通过调用功能性API(如通过LocationManager获取位置信息)获取隐私数据。在Android系统框架内部该请求需要经过权限管理系统检查授权。本发明通过API挂钩技术在此两层面上拦截应用隐私请求。

图4:基于语义的环境感知流程图。本发明结合移动设备上获取的各种环境数据,结合外部环境语义信息知识,对当前移动设备产生语义化的环境信息。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1-4所示。

实施例1、

一种基于Android的个性化环境感知隐私保护方法,包括:拦截移动应用的隐私权限请求、基于功能语义的环境感知和隐私决策;所述基于功能语义的环境感知和隐私决策是指依据环境的功能语义理解用户使用移动应用的场景,并以此实施相应隐私策略;

当所述移动应用隐私权限请求与所述基于功能语义的环境下隐私策略匹配时,按照隐私策略允许或是拒绝该移动应用访问用户隐私信息。

实施例2、

如实施例1所述的一种基于Android的个性化环境感知隐私保护方法,所述方法还包括交互式用户隐私需求设定:当不存在匹配的基于功能语义的环境下隐私策略时,则告知用户所述移动应用隐私权限请求,如用户允许,则允许移动应用访问用户隐私信息;否则,不允许。

实施例3、

如实施例1所述的一种基于Android的个性化环境感知隐私保护方法,所述拦截移动应用隐私权限请求,利用以下方式实现:

使用Xposed框架hook系统API实现,通过编写Xposed模块,挂钩hook系统中相关功能函数,以实现环境感知的隐私决策逻辑。Xposed框架是一款可以在不修改Android程序代码的情况下影响程序运行的框架服务。基于Xposed框架编写的模块可以在不修改Android内核源代码的情况下,调整Android系统部分服务的执行逻辑,以扩展系统功能。为了实现对应用隐私请求的拦截,本发明通过编写Xposed模块,挂钩系统中与权限管理相关的API以实现环境感知的隐私保护决策逻辑。

所述拦截移动应用隐私权限请求方式具体为:

通过挂钩ActivityManagerServce.checkPermission()函数,拦截触发Android系统权限检查的隐私请求,扩展Android原生权限检查逻辑,加入环境感知的隐私决策;

和/或,通过挂钩具体涉及隐私信息的系统功能性API,实现对移动应用隐私权限请求的行为控制。通过挂钩LocationManager类中各函数,实现对应用访问位置信息的请求拦截,并通过具体调用函数不同决定不同的隐私策略。应用隐私请求拦截模块实现逻辑参见图3。

实施例4、

如实施例1所述的一种基于Android的个性化环境感知隐私保护方法,基于功能语义的环境感知和隐私决策包括:

用户提前预设用户隐私策略:包括不同语义环境信息下所对应的用户隐私决策;

当移动应用发起隐私权限请求时,通过获取用户的环境信息、解析所述环境信息为语义环境信息,并匹配得到与当前语义环境信息符合的用户隐私策略。完成执行隐私策略中规定的操作,实现自主可控的环境感知隐私保护。为实现自主可控的环境感知隐私保护,需要对移动设备的使用环境进行监控和感知,并建立合理的策略匹配机制。

实施例5、

如实施例4所述的一种基于Android的个性化环境感知隐私保护方法,所述用户的环境信息包括:移动智能终端记载的时间、用户位置、用户与移动智能终端的交互频度和使用功能。

所述将环境信息解析为语义环境信息,包括:

将所述用户的环境信息、用户的行为目的和用户隐私需求结合起来,形成语义环境信息。例如,如果用户在北京市西城区长椿街45号区域停留了较长时间,我们不是直接依据地点的地理坐标,而是通过公开的位置信息服务获取位置的功能类型信息,解析为区域位置的语义内容,当前位置为宣武医院,功能类型医院是敏感信息;有的地方的功能类型为商业街,有的功能类型为学校等。本发明通过Android API获取移动设备当前位置、各种传感器数据以及用户交互情况信息,通过关联多种因素进一步进行语义行为解析,例如长时间频繁停留的位置可能是工作环境,判断用户的行为场景如就医、工作、出行、娱乐等。执行逻辑可见附图4。

实施例6、

如实施例2所述的一种基于Android的个性化环境感知隐私保护方法,所述交互式用户隐私需求设定,还包括:

当不存在匹配的基于功能语义的环境下隐私策略时,则告知用户所述移动应用隐私权限请求,并允许用户设定针对特定环境下、和/或特定应用的授权隐私策略;然后根据所述授权隐私策略对应执行所述移动应用隐私权限请求的隐私决策。

实施例7、

如实施例6所述的一种基于Android的个性化环境感知隐私保护方法,所述交互式用户隐私需求设定,还包括:学习用户的行为模式和隐私需求,不断补充和更新用户隐私策略库供用户选择。

通过实施例1-7实现以下应用例1、2的具体方法:

应用例1:

1.某应用A通过ContentResolver.query()试图获取联系人信息。

2.ContentResolver.query()触发系统权限检查,调用ActivityManagerService.checkPermission()函数。

3.实施例3所述技术内容通过隐私请求拦截模块实现,即通过函数挂钩拦截到该调用。通过检查函数参数,获取触发应用信息及隐私请求行为,将信息传递给策略匹配模块,所述策略匹配模块负责将所述移动应用隐私权限请求与所述基于功能语义的环境下隐私策略匹配;

4.策略匹配模块通过获取环境感知监听器中的信息,获取当前移动设备所处使用环境。根据环境感知监听器通过获取用户当前环境信息如时间、位置等,使用百度地图提供的公开API,将地理位置坐标转换为具有功能标签的地点说明,结合用户历史行为和用户隐私需求,形成语义环境信息。

5.策略匹配模块根据语义环境信息与应用请求信息,在隐私策略库中寻找对应隐私决策。所述隐私策略库由根据本发明中实施例6所设计的用户交互隐私设置,以及根据实施例7设计的自主学习机制产生,描述根据用户隐私需求对特定环境下特定应用的特定请求允许与否的决策。

6.成功查找到匹配的策略,根据策略设定的决策,决定应用A是否能够获取联系人信息,将决策结果返回给隐私请求拦截模块。

7.应用隐私请求拦截模块根据隐私决策结果修改checkPermission()函数返回值,控制授权结果。

应用例2:

1.某应用B通过LocationManager.getLastKnownLocation()试图获取用户位置信息。

2.实施例3所述技术内容通过隐私请求拦截模块实现,通过函数挂钩拦截到该调用。通过检查函数参数,获取触发应用信息及隐私请求行为,将信息传递给根据本发明中实施例3所设计的策略匹配模块,所述策略匹配模块负责将所述移动应用隐私权限请求与所述基于功能语义的环境下隐私策略匹配;

3.策略匹配模块通过获取环境感知监听器中的信息,获取当前移动设备所处使用环境。根据环境感知监听器通过获取用户当前环境信息如时间、位置等,使用高德地图提供的POI周边搜索API,将地理位置坐标转换为带有功能标签的附近地点,结合用户历史行为和用户隐私需求,形成语义环境信息。

4.策略匹配模块根据语义环境信息与应用请求信息,在隐私策略库中寻找对应策略。隐私策略库由根据本发明中实施例6所设计的用户交互隐私设置,以及根据实施例7设计的自主学习机制产生,描述根据用户隐私需求对特定环境下特定应用的特定请求允许与否的决策。

5.成功查找到匹配的策略,根据策略执行对应的隐私决策,决定应用B是否能够获取用户位置信息,将隐私决策结果返回给应用隐私请求拦截模块。

6.应用隐私请求拦截模块根据隐私决策结果,决定函数返回值。若为允许则返回真实用户位置,若为禁止,则拒绝返回地点信息或返回伪造的虚假地点以保护用户隐私。

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