一种系统权限管理方法和设备的制作方法

文档序号:6627248阅读:214来源:国知局
一种系统权限管理方法和设备的制作方法
【专利摘要】本发明提供一种系统权限管理方法和设备,所述方法包括:在系统初始化过程中创建系统属性并赋值,所述系统属性与所述系统中硬件的属性一一对应;当存在应用程序调用硬件时,读取所述硬件所对应的系统属性,对所述应用程序进行权限验证并返回验证结果;令所述应用程序根据所述验证结果对所述硬件进行操作。本发明能够从底层设计出发,对现有Android系统的框架层和应用层进行修改和扩展,从而对硬件进行控制与授权,构建新的硬件权限管理机制,使Android系统原有的安全性提升。
【专利说明】一种系统权限管理方法和设备

【技术领域】
[0001]本发明涉及信息【技术领域】,尤其涉及一种系统权限管理方法和设备。

【背景技术】
[0002]目前,智能手机成为用户各种信息的载体,储存着大量的重要信息,因此也成为了恶意攻击的首选目标。智能手机安全威胁的很大部分来自于个人隐私的泄密及各种恶意扣费软件,这些恶意软件利用以往权限机制的漏洞滥用权限对手机进行攻击,更有甚者还会在后台调用硬件以窥探隐私。
[0003]现有技术中,解决Android权限机制的缺陷的方法可以包括:
[0004]1.对现有Android操作系统进行扩展,建立轻量级的细粒度应用权限管理模型,使用户能在一定限制条件下按需要对Android系统中所安装的应用程序权限进行分配。但是由于这种方法所使用的是SQLite数据库,其对权限保护的数据本身就相对不够安全。
[0005]2.在应用程序安装期间进行权限的自我认证。在本方法中,将应用程序请求的权限与系统策略联系起来,以实现只有策略兼容的应用程序才能被安装在手机上。
[0006]3.对Android权限框架代码做出修改。这种方法提出了一种针对不同应用程序的策略实施框架,这样手机用户就可以有选择性地对应用程序授予权限或撤销权限。
[0007]但是,以上各种方法虽然从不同的方面对应用程序的权限进行了研究,但均只局限于应用程序的权限判定,所能应对的安全威胁范围比较窄。另外,由于对权限的判定只有全部同意或者是全部拒绝可以选择,因此只通过判定权限的方式来选择是否安装应用程序,并无法对某一个权限或者手机的某一项设置或功能进行管理。这种传统的权限策略模式存在很大的弊端,而且这种粗放式的权限管理策略在很多场景中已经无法满足我们的需求。


【发明内容】

[0008]本发明提供一种系统权限管理方法和设备,以解决现有技术中无法灵活有效地管理系统权限的技术问题。
[0009]本发明首先一种系统权限管理方法,包括:
[0010]在系统初始化过程中创建系统属性并赋值,所述系统属性与所述系统中硬件的属性--对应;
[0011]当存在应用程序调用硬件时,读取所述硬件所对应的系统属性,对所述应用程序进行权限验证并返回验证结果;
[0012]令所述应用程序根据所述验证结果对所述硬件进行操作。
[0013]进一步地,所述方法还包括:
[0014]对所述系统属性进行修改。
[0015]进一步地,所述令所述应用程序根据所述验证结果对所述硬件进行操作包括:
[0016]当所述验证结果为真时,令所述应用程序对所述硬件进行调用;
[0017]当所述验证结果不为真时,不使所述应用程序对所述硬件进行调用。
[0018]进一步地,所述方法还包括:
[0019]设置所述系统的硬件管理策略,利用所述硬件管理策略对所述应用程序进行权限验证。
[0020]进一步地,所述硬件管理策略包括:
[0021]所述硬件的使用时间段、所述硬件的使用地点、所述应用程序的黑白名单、网络远程管理方案中的一个或多个。
[0022]另一方面,本发明还提供一种系统权限管理设备,所述设备包括:
[0023]系统属性配置模块,用于在系统初始化过程中创建系统属性并赋值,所述系统属性与所述系统中硬件的属性一一对应;
[0024]权限验证模块,用于在应用程序调用硬件时,读取所述硬件所对应的系统属性,对所述应用程序进行权限验证并返回验证结果;
[0025]操作模块,用于令所述应用程序根据所述验证结果对所述硬件进行操作。
[0026]进一步地,所述设备还包括:
[0027]修改模块,与所述系统属性配置模块相连,用于对所述系统属性进行修改。
[0028]进一步地,所述操作模块还用于:
[0029]在所述验证结果为真时,令所述应用程序对所述硬件进行调用;
[0030]在所述验证结果不为真时,不使所述应用程序对所述硬件进行调用。
[0031]进一步地,所述设备还包括:
[0032]策略设置模块,与所述权限验证模块相连,用于设置所述系统的硬件管理策略,使得所述权限验证模块利用所述硬件管理策略对所述应用程序进行权限验证。
[0033]进一步地,所述策略设置模块用于设置的所述系统的硬件管理策略包括:
[0034]所述硬件的使用时间段、所述硬件的使用地点、所述应用程序的黑白名单、网络远程管理方案中的一个或多个。
[0035]本发明能够从底层设计出发,对现有Android系统的框架层和应用层进行修改和扩展,从而对硬件进行控制与授权,构建新的硬件权限管理机制,使Android系统原有的安全性提升。

【专利附图】

【附图说明】
[0036]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0037]图1是本发明实施例一种系统权限管理方法的步骤示意图;
[0038]图2是本发明实施例一种系统权限管理方法的权限管理机制运行图;
[0039]图3是本发明实施例一种系统权限管理设备的结构示意图。

【具体实施方式】
[0040]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0041]由于Android系统的硬件一般都使用单例模式调用,因此,若需在系统框架层的各种硬件(hardware)类中增加一个新型的权限审核机制进行审核与授权时,那么,由于在系统框架层中只有为上层提供开发的应用程序编程接口(Applicat1n ProgrammingInterface, api),则会无法使用创建一直可供使用的静态全局变量,而只有各种hardware类的局部变量。很明显这是无法达到存储数据的效果的,而且从安全性的角度来讲全局静态变量就是不安全的。因此可以选择使用Android的系统属性来保存数据。当在系统初始化的时候进行系统属性的赋值,同时系统属性的修改与读取对于应用层是不可见的,这样也具有较强的安全性。同时,还需要一个管理程序来对我们的设备权限进行管理,出于对机制的安全性的保护,还必须考虑程序到需要对系统隐藏的api的调用,在此需要将应用程序提权为“android, uid.system”,成为系统级应用。
[0042]因此,本发明实施例首先提供一种系统权限管理方法,参见图1,本实施例方法的具体步骤包括:
[0043]步骤101:在系统初始化过程中创建系统属性并赋值,所述系统属性与所述系统中硬件的属性--对应。
[0044]参见图2的权限管理机制运行图,在本实施例的一个应用场景中,首先可以在启动初始化init.c的过程中使用setprop创建属性并读取系统属性“persist, sys.hardware_prop”。
[0045]另外,还可以对保存权限的系统属性做出修改。当需要修改系统某些硬件权限时,可通过调用getSystemProperty O函数设置特定系统属性。而这些系统属性的前缀一定要为 persist, sys。
[0046]步骤102:当存在应用程序调用硬件时,读取所述硬件所对应的系统属性,对所述应用程序进行权限验证并返回验证结果。
[0047]可举例的是,本实施例可以在框架层里面添加一层审核机制,在每当有应用程序请求获得各种硬件实例的时候,都需要进行审核,这样可以有效地防护应用程序非法调用硬件从而防止隐私泄露。同时,还可以设置各种合适的权限保护策略来管理自己的硬件防止非法调用。
[0048]其中,可以由应用层的应用程序调用框架层提供的接口来获取一个硬件的实例变量。Android系统的硬件类都属于单例设计模式,并且在各个硬件的实例的获取方式上面大同小异。各个硬件都会有一个特定的类的某个函数被用作返回实例并且在其中包含操作硬件的函数。当应用程序调用框架层获取实例的函数时,并不直接返回实例,而是向图2中Permiss1nCHK这个自定义类发送请求,并等待其返回权限验证结果。在未获得反馈的权限验证结果时,函数将处于等待状态。
[0049]当接收到权限验证请求时,可以打开Permiss1nCHK这个类,调用其中的getSystemProperty O函数读取系统属性的值,并判定其的真值,然后返回给框架层硬件类。
[0050]另外,在本实施例的一个应用场景中,还需要对系统的硬件管理策略进行设置,并利用硬件管理策略对应用程序进行权限验证。例如,可以根据硬件的使用时间段来设置硬件的权限的开关,或者根据硬件的使用地点作为设置点,又或者通过应用程序的包名构建的黑白名单或网络远程管理方案作为标准等。
[0051]当Android系统初次启动的时候,会通过其中的init.c中的setprop对系统的硬件权限列表进行初始化,以后再次启动系统后将自动导入设置,非常的便捷。系统属性的文件放置位置对于应用程序层是不可见的,系统属性的读取与修改过程对于应用程序层同样是不可见的。这样就能保证系统的硬件权限管理机制的安全性,尤其是数据安全性。不能采用像SQLite数据库或文件,通过可以被应用程序修改sharedPreference来存储数据,无法保证系统的安全性。
[0052]步骤103:令所述应用程序根据所述验证结果对所述硬件进行操作。
[0053]当等待权限验证结果时,若等待时间超时或者所得到的验证结果为false时,获取实例的函数将返回空,说明应用程序无法对硬件进行调用;而只有在指定时间范围内得到true的验证结果时,应用程序才会获取返回的实例,并对硬件进行调用。
[0054]参见图3,本发明实施例还提供一种系统权限管理设备,包括:
[0055]系统属性配置模块301,用于在系统初始化过程中创建系统属性并赋值,所述系统属性与所述系统中硬件的属性对应;
[0056]权限验证模块302,用于在应用程序调用硬件时,读取所述硬件所对应的系统属性,对所述应用程序进行权限验证并返回验证结果;
[0057]操作模块303,用于令所述应用程序根据所述验证结果对所述硬件进行操作。
[0058]可选地,设备还可以包括:修改模块(图中未示出),与系统属性配置模块301相连,用于对系统属性进行修改。
[0059]可选地,操作模块303还可以用于:在所述验证结果为真时,令所述应用程序对所述硬件进行调用;在所述验证结果不为真时,不使所述应用程序对所述硬件进行调用。
[0060]可选地,设备还可以包括:策略设置模块(图中未示出),与权限验证模块302相连,用于设置所述系统的硬件管理策略,使得所述权限验证模块302利用所述硬件管理策略对所述应用程序进行权限验证。
[0061]可选地,所述策略设置模块用于设置的所述系统的硬件管理策略可以包括:所述硬件的使用时间段、所述硬件的使用地点、所述应用程序的黑白名单、网络远程管理方案中的一个或多个。
[0062]可见,在本发明实施例提供的系统权限管理方法和设备中,能够从底层设计出发,对现有Android系统的框架层和应用层进行修改和扩展,从而对硬件进行控制与授权,构建新的硬件权限管理机制,使Android系统原有的安全性提升。本发明中的实施例增加了一层新的防护并能使用硬件权限进行控制(如时间控制、网络控制等等),从系统层面降低了该平台的安全威胁,有效防止了 Android木马与病毒的入侵,防止泄密。
[0063]最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【权利要求】
1.一种系统权限管理方法,其特征在于,包括: 在系统初始化过程中创建系统属性并赋值,所述系统属性与所述系统中硬件的属性--对应; 当存在应用程序调用硬件时,读取所述硬件所对应的系统属性,对所述应用程序进行权限验证并返回验证结果; 令所述应用程序根据所述验证结果对所述硬件进行操作。
2.根据权利要求1所述的系统权限管理方法,其特征在于,所述方法还包括: 对所述系统属性进行修改。
3.根据权利要求1所述的系统权限管理方法,其特征在于,所述令所述应用程序根据所述验证结果对所述硬件进行操作包括: 当所述验证结果为真时,令所述应用程序对所述硬件进行调用; 当所述验证结果不为真时,不使所述应用程序对所述硬件进行调用。
4.根据权利要求1至3中任一项所述的系统权限管理方法,其特征在于,所述方法还包括: 设置所述系统的硬件管理策略,利用所述硬件管理策略对所述应用程序进行权限验证。
5.根据权利要求4所述的系统权限管理方法,其特征在于,所述硬件管理策略包括: 所述硬件的使用时间段、所述硬件的使用地点、所述应用程序的黑白名单、网络远程管理方案中的一个或多个。
6.一种系统权限管理设备,其特征在于,所述设备包括: 系统属性配置模块,用于在系统初始化过程中创建系统属性并赋值,所述系统属性与所述系统中硬件的属性一一对应; 权限验证模块,用于在应用程序调用硬件时,读取所述硬件所对应的系统属性,对所述应用程序进行权限验证并返回验证结果; 操作模块,用于令所述应用程序根据所述验证结果对所述硬件进行操作。
7.根据权利要求6所述的系统权限管理设备,其特征在于,所述设备还包括: 修改模块,与所述系统属性配置模块相连,用于对所述系统属性进行修改。
8.根据权利要求6所述的系统权限管理设备,其特征在于,所述操作模块还用于: 在所述验证结果为真时,令所述应用程序对所述硬件进行调用; 在所述验证结果不为真时,不使所述应用程序对所述硬件进行调用。
9.根据权利要求6至8中任一项所述的系统权限管理设备,其特征在于,所述设备还包括: 策略设置模块,与所述权限验证模块相连,用于设置所述系统的硬件管理策略,使得所述权限验证模块利用所述硬件管理策略对所述应用程序进行权限验证。
10.根据权利要求9所述的系统权限管理设备,其特征在于,所述策略设置模块用于设置的所述系统的硬件管理策略包括: 所述硬件的使用时间段、所述硬件的使用地点、所述应用程序的黑白名单、网络远程管理方案中的一个或多个。
【文档编号】G06F21/45GK104281803SQ201410473038
【公开日】2015年1月14日 申请日期:2014年9月16日 优先权日:2014年9月16日
【发明者】朱大立, 范哲铭, 庞娜 申请人:中国科学院信息工程研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1