一种策略管理方法及系统与流程

文档序号:11138544阅读:440来源:国知局
一种策略管理方法及系统与制造工艺

本发明涉及应用安全技术领域,具体涉及一种策略管理方法及系统。



背景技术:

随着移动互联网及各种电子设备的不断普及,安卓(Android)系统的电子设备的安全性问题成为业界和用户关注的焦点。目前,Android系统漏洞频发的主要原因有:开放的开发环境、对电子设备数据缺乏保护机制、非常有限的控制及管理策略。

通常,Android系统通过沙箱机制进行权限控制,但是,如果电子设备的超级用户(root)权限被篡夺,那么,所有的应用程序资源都能被超级用户访问,而且病毒程序也会伺机获得电子设备的控制权,严重影响电子设备的安全性。

针对上述问题,为了阻止恶意应用(App)对Android系统或其它应用程序的攻击,从4.3版本开始,Android系统引入了一套基于SELinux的安全机制,称为SEAndroid,来加强系统的安全性。SEAndroid的中心理念是通过强制访问控制(MAC,Mandatory Access Control)技术制定安全策略,即使root权限被篡夺,访问权限仍然受到安全策略的限制,从而能最大程度减少攻击带来的安全风险;可以说,现有技术在一定程度上提高了安卓系统的安全应用的安全性,但是,仍然存在以下问题:SEAndroid的安全策略文件安装在platform/external/sepolicy目录下,即部署的安全策略文件都放在非安全环境中保存,可想而知,一旦黑客截获该安全策略文件,将策略中设定的访问规则篡改,并植入恶意代码,这样安全策略也不能保证电子设备及安全应用的安全性。

具有安全隔离功能的处理器的诞生为电子设备的安全开辟了崭新的道路, 它将保护功能集成到内核以保证Android系统的安全性,同时提供安全软件平台,使半导体制造商、设备制造商和操作系统合作商在一个可共用的框架上扩展和开发自己的安全解决方案。例如,ARM处理器的安全隔离(TrustZone)技术将非安全执行环境和安全执行环境彻底隔离,并可通过安全监控器(Monitor)在安全模式与非安全模式之间进行转换。

因此,如何利用具有安全隔离技术提高Android系统的安全性成为亟待解决的问题。



技术实现要素:

有鉴于此,本发明实施例期望提供一种策略管理方法及系统,能提高安卓系统的安全性。

为达到上述目的,本发明实施例的技术方案是这样实现的:

本发明实施例提供了一种策略管理方法,所述方法包括:

采用安全隔离技术将执行环境分为非安全执行环境和安全执行环境;

在所述非安全执行环境中,对各应用进行域划分;按照预先制定的策略文件为各个域的应用间的访问提供强制访问控制MAC查询服务;

在所述安全执行环境中,对策略文件进行管理;其中,所述管理至少包括下述中的一种或几种:查询、加载、更新、存储。

上述方案中,优选地,所述按照预先制定的策略文件为各个域的应用间的访问提供MAC查询服务,包括:

满足预设条件时,向所述安全执行环境侧发送第一指令;

接收所述安全执行环境侧返回的第一指令响应结果;

相应的,所述对策略文件进行管理,包括:

根据所述第一指令对策略文件进行第一操作;其中,所述第一操作至少包括下述中的一种或几种:查询、加载、更新、存储;

向所述非安全执行环境侧返回第一指令响应结果。

上述方案中,优选地,所述满足预设条件时,向所述安全执行环境侧发送 第一指令,包括:

当检测到第一应用访问第二应用时,获取所述第一应用以及所述第二应用的域信息;

向所述安全执行环境侧发送第一指令;其中,所述第一指令中至少携带有所述第一应用以及所述第二应用的域信息。

上述方案中,优选地,所述根据所述第一指令对策略文件进行第一操作,包括:

根据所述第一应用以及所述第二应用的域信息查询策略库,获得查询结果;

基于所述查询结果向所述非安全执行环境侧返回第一指令响应结果。

上述方案中,优选地,所述对各应用进行域划分,还包括:

将系统中预先安装的应用标记为系统域;当检测到有新应用安装时,验证所述新应用的数字证书签名,如果验证通过,将所述新应用标记为安全域;如果验证不通过或者没有数字证书签名,则将所述新应用标记为非安全域。

上述方案中,优选地,所述对策略文件进行管理,还包括:

按照预设规则,基于所述新应用的第一信息制定关于所述新应用的策略文件;其中,所述第一信息至少包括域信息、用户标识;

基于所述新应用的策略文件更新策略库。

上述方案中,优选地,所述预设规则至少包括下述中的一种或几种:

非安全域应用访问非安全域应用的第一规则,

非安全域应用访问安全域应用的第二规则,

安全域应用访问非安全域应用的第三规则,

安全域应用访问安全域应用的第四规则,

非安全域应用、安全域应用访问系统域应用的第五规则;其中,所述域至少分为:系统域、安全域、非安全域。

本发明实施例还提供了一种策略管理系统,采用安全隔离技术将执行环境分为非安全执行环境和安全执行环境;所述系统包括:非安全操作系统和安全操作系统;其中,

所述非安全操作系统,位于非安全执行环境中,用于对各应用进行域划分;按照预先制定的策略文件为各个域的应用间的访问提供MAC查询服务;

所述安全操作系统,位于安全执行环境中,用于对策略文件进行管理;其中,所述管理至少包括下述中的一种或几种:查询、加载、更新、存储。

上述方案中,优选地,所述非安全操作系统包括第一策略管理模块和第一通讯代理模块;其中,

所述第一策略管理模块,用于对各应用进行域划分;满足预设条件时,通过所述第一通讯代理模块向所述安全执行环境侧发送第一指令;

所述第一通讯代理模块,用于向所述安全执行环境发送第一指令;接收所述安全执行环境侧返回的第一指令响应结果,并将所述第一指令响应结果发送至所述第一策略管理模块;

相应的,所述安全操作系统包括第二策略管理模块和第二通讯代理模块;其中,

所述第二策略管理模块,用于根据所述第一指令对策略文件进行第一操作;其中,所述第一操作至少包括下述中的一种或几种:查询、加载、更新、存储;通过所述第二通讯代理模块向所述非安全执行环境侧发送第一指令响应结果;

所述第二通讯代理模块,用于接收所述第一通讯代理模块发送的第一指令,并将所述第一指令发送至所述第二策略管理模块;接收所述第二策略模块返回的第一指令响应结果,并将所述第一指令响应结果发送至所述第一通讯代理模块。

上述方案中,优选地,所述第一策略管理模块包括:域划分单元和MAC管理单元;其中,

所述域划分单元,用于对各应用进行域划分;当检测到第一应用访问第二应用时,获取所述第一应用以及所述第二应用的域信息;并将所述第一应用以及所述第二应用的域信息发送至MAC管理单元;

所述MAC管理单元,用于向所述安全执行环境侧发送第一指令;其中,所述第一指令中至少携带有所述第一应用以及所述第二应用的域信息。

上述方案中,优选地,所述第二策略管理模块,包括:

策略查询单元,用于:

根据所述第一应用以及所述第二应用的域信息查询策略库,获得查询结果;

基于所述查询结果向所述非安全执行环境侧发送第一指令响应结果。

上述方案中,优选地,所述域划分单元,还用于:

将系统中预先安装的应用标记为系统域;当检测到有新应用安装时,验证所述新应用的数字证书签名,如果验证通过,将所述新应用标记为安全域;如果验证不通过或者没有数字证书签名,则将所述新应用标记为非安全域。

上述方案中,优选地,所述第二策略管理模块还包括:

策略更新单元,用于按照预设规则,基于所述新应用的第一信息制定关于所述新应用的策略文件;其中,所述第一信息至少包括域信息、用户标识;基于所述新应用的策略文件更新策略库;

安全存储单元,用于将策略文件存储到非易失性安全存储空间;

策略加载单元,用于从所述非易失性安全存储空间中读取策略文件,并将所述策略文件加载到位于安全操作系统内核的策略库中,以便于所述策略更新单元更新策略库。

上述方案中,优选地,所述预设规则至少包括下述中的一种或几种:

非安全域应用访问非安全域应用的第一规则,

非安全域应用访问安全域应用的第二规则,

安全域应用访问非安全域应用的第三规则,

安全域应用访问安全域应用的第四规则,

非安全域应用、安全域应用访问系统域应用的第五规则;其中,所述域至少分为:系统域、安全域、非安全域。

本发明实施例提供的策略管理方法及系统,采用安全隔离技术将执行环境分为非安全执行环境和安全执行环境;在所述非安全执行环境中,对各应用进行域划分;按照预先制定的策略文件为各个域的应用间的访问提供MAC查询服务;在所述安全执行环境中,对策略文件进行管理;其中,所述管理至少包 括下述中的一种或几种:查询、加载、更新、存储。如此,本发明实施例所述技术方案能提高安卓系统的安全性,大大提高了用户的使用体验。

附图说明

图1为本发明实施例提供的策略管理方法的流程示意图;

图2为本发明实施例提供的策略管理系统的框架示意图;

图3为本发明实施例提供的新应用安装过程中策略的处理流程示意图:

图4为本发明实施例提供的非安全域应用访问安全域应用的处理流程示意图;

图5为本发明实施例提供的安全域应用访问安全域应用的处理流程示意图。

具体实施方式

下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。

图1为本发明实施例提供的策略管理方法的流程示意图,应用于电子设备中,如图1所示,所述策略管理方法主要包括以下步骤:

步骤101:采用安全隔离技术将执行环境分为非安全执行环境和安全执行环境。

具体地,可利用具有安全隔离功能的处理器将部署于安卓系统的策略管理分为安全部分和非安全部分。

这里,所述处理器可以是具有安全隔离功能的ARM处理器。

步骤102:在所述非安全执行环境中,对各应用进行域划分;按照预先制定的策略文件为各个域的应用间的访问提供强制访问控制MAC查询服务。

步骤103:在所述安全执行环境中,对策略文件进行管理;其中,所述管理至少包括下述中的一种或几种:查询、加载、更新、存储。

也就是说,本实施例通过引入安全隔离技术,将策略管理分成安全侧和非安全侧完成,非安全侧只是发送命令,真正的策略的存储和操作在安全执行环 境(可信环境)中进行,提高了策略存储及操作(查询、更新、加载等)的安全性,从而提高了安卓系统安全性。

上述方案中,优选地,所述按照预先制定的策略文件为各个域的应用间的访问提供MAC查询服务,可以包括:

满足预设条件时,向所述安全执行环境侧发送第一指令;

接收所述安全执行环境侧返回的第一指令响应结果;

相应地,所述对策略文件进行管理,可以包括:

根据所述第一指令对策略文件进行第一操作;其中,所述第一操作至少包括下述中的一种或几种:查询、加载、更新、存储;

向所述非安全执行环境侧返回第一指令响应结果。

上述方案中,优选地,所述满足预设条件时,向所述安全执行环境侧发送第一指令,包括:

当检测到第一应用访问第二应用时,获取所述第一应用以及所述第二应用的域信息;

向所述安全执行环境侧发送第一指令;其中,所述第一指令中至少携带有所述第一应用以及所述第二应用的域信息。

这里,所述第一应用相当于访问主体,所述第二应用中的文件或套接字资源相当于访问客体。其中,所述第一应用可以是安全域的应用,也可以是非安全域的应用;所述第二应用可以是安全域的应用,也可以是非安全域的应用,还可以是系统域的应用。值得说明的是:应用一般都是进程,都属于主体,而应用中的资源如文件、套接字属于客体。

上述方案中,优选地,所述在根据所述第一指令对策略文件进行第一操作,可以包括:

根据所述第一应用以及所述第二应用的域信息查询策略库,获得查询结果;

基于所述查询结果向所述非安全执行环境侧返回第一指令响应结果。

上述方案中,优选地,所述对各应用进行域划分,还可以包括:

将系统中预先安装的应用标记为系统域;当检测到有新应用安装时,验证 所述新应用的数字证书签名,如果验证通过,将所述新应用标记为安全域;如果验证不通过或者没有数字证书签名,则将所述新应用标记为非安全域。

上述方案中,优选地,所述对策略文件进行管理,还包括:

按照预设规则,基于所述新应用的第一信息制定关于所述新应用的策略文件;其中,所述第一信息至少包括域信息、用户标识;

基于所述新应用的策略文件更新策略库。

如此,能够及时为新安装的应用制定策略,从而保证电子设备安全环境的安全性。

其中,所述预设规则至少包括下述中的一种或几种:

非安全域应用访问非安全域应用的第一规则,

非安全域应用访问安全域应用的第二规则,

安全域应用访问非安全域应用的第三规则,

安全域应用访问安全域应用的第四规则,

非安全域应用、安全域应用访问系统域应用的第五规则;其中,所述域至少分为:系统域、安全域、非安全域。

这里,所述第一规则是:允许非安全域应用访问非安全域应用;所述第二规则是:不允许非安全域应用访问安全域应用;所述第三规则是:不允许安全域应用访问非安全域应用;所述第四规则是:允许安全域应用访问安全域应用;所述第五规则是:允许非安全域应用以及安全域应用访问系统域应用。

其中,所述系统域中的应用为安卓系统的电子设备预先安装的应用,如计算器应用、手电筒应用等。

本实施例通过采用具有安全隔离功能的处理器将安卓部署的策略管理分割为非安全和安全两个部分,其中非安全部分负责域划分、MAC控制管理功能,安全部分负责策略的安全存储、策略加载、查询和更新功能。这样,可将策略的保存和操作与非安全环境彻底隔离,在不改变现有安卓技术架构的前提下,可以将安全策略部署在智能终端上并可以安全地管理策略文件。例如:MAC模式下:Web服务器进程所能操作的对象和权限均在安全策略中明确列出(只允 许访问网络和访问特定文件等)。即便Web服务器被注入了恶意病毒,仍然无法借由Web服务器进程为所欲为,因为所有安全策略上没有授权的行为仍然是不允许的,更重要的是,策略存储在安全环境,是不可能被篡改或恶意代码植入的。

实施例二

图2为本发明实施例提供的策略管理系统的框架示意图,如图2所示,所述策略管理系统采用安全隔离技术将执行环境分为非安全执行环境和安全执行环境,所述系统主要包括:非安全操作系统10、安全操作系统20;其中,

所述非安全操作系统10,位于非安全执行环境中,用于对各应用进行域划分;按照预先制定的策略文件为各个域的应用间的访问提供MAC查询服务;

所述安全操作系统20,位于安全执行环境中,用于对策略文件进行管理;其中,所述管理至少包括下述中的一种或几种:查询、加载、更新、存储。

具体地,所述非安全操作系统10运行于具有安全隔离功能的处理器的非安全执行环境中,它可以是电子设备上常用的操作系统,如Linux操作系统,其上可运行安卓系统的各种应用。

具体地,所述安全操作系统20运行在所述具有安全隔离功能的处理器的安全执行环境中,负责对策略文件进行安全存储和相关操作;其中,所述操作至少包括:查询、加载、更新。

优选地,所述系统主要包括:

安全监视器30,是ARM处理器的一种运行模式,即监控(monitor)模式,负责切换执行环境;其中,所述执行环境包括非安全执行环境和安全执行环境;这里,值得说明的是,安全监视器不是一个硬件单元,而是中央处理器(CPU,Central Processing Unit)的一种工作模式,与用户(User)模式、管理(Supervisor,简称Svc)模式等是并列关系,CPU任何时刻必定处于几种执行模式之一,第一通讯代理模块收到上层查询命令时,处于Svc模式,第二通讯代理模块在Svc模式下此时会调用系统管理控制器(SMC,System Management Controller)指 令,使CPU换为monitor模式,可在安全执行环境与非安全执行环境之间进行转换。

非易失性安全存储空间40,负责存储安全策略文件。

这里,所述非易失性安全存储空间40是所述第二策略管理模块21独享的区域,不会被非安全执行环境中的应用或安全执行环境中的其他安全应用所访问。

由于安全策略文件保存在非易失性安全存储空间40中,因为安卓系统中对所有的文件、目录、端口的访问都是基于策略设定的,安全侧只要制定细粒度、高安全性的策略,就可以隔离应用间通过进程间通信(IPC,Internet Process Connection)、文件系统、套接字(socket)等方式的通信。

优选地,所述非安全操作系统10包括第一策略管理模块11和第一通讯代理模块12;其中,

所述第一策略管理模块11,用于对各应用进行域划分;满足预设条件时,通过所述第一通讯代理模块12向所述安全执行环境侧发送第一指令;

所述第一通讯代理模块12,用于向所述安全执行环境发送第一指令;接收所述安全执行环境侧返回的第一指令响应结果,并将所述第一指令响应结果发送至所述第一策略管理模块11;

相应的,所述安全操作系统20包括第二策略管理模块21和第二通讯代理模块22;其中,

所述第二策略管理模块21,用于根据所述第一指令对策略文件进行第一操作;其中,所述第一操作至少包括下述中的一种或几种:查询、加载、更新、存储;通过所述第二通讯代理模块22向所述非安全执行环境侧发送第一指令响应结果;

所述第二通讯代理模块22,用于接收所述第一通讯代理模块12发送的第一指令,并将所述第一指令发送至所述第二策略管理模块21;接收所述第二策略模块21返回的第一指令响应结果,并将所述第一指令响应结果发送至所述第一通讯代理模块12。

也就是说,所述第一策略管理模块11与第二策略管理模块21通过发送命令的方式完成安全策略的更新、查询、存储等操作,以控制各应用之间的通信;且所述第一策略管理模块11通过所述第一通讯代理模块12与第二策略管理模块21进行通讯;所述第二策略管理模块21通过所述第二通讯代理模块22与第一策略管理模块11进行通讯。

其中,所述第一策略管理模块11负责将各种应用标记为不同的域(安全级别),其中,所述各种应用包括:随系统发布的应用、或第三方发布的应用。

优选地,所述第一策略管理模块11包括:域划分单元111和MAC管理单元112;其中,

所述域划分单元111,用于对各应用进行域划分;当检测到第一应用访问第二应用时,获取所述第一应用以及所述第二应用的域信息;并将所述第一应用以及所述第二应用的域信息发送至MAC管理单元112;

所述MAC管理单元112,用于向所述安全执行环境侧发送第一指令;其中,所述第一指令中至少携带有所述第一应用以及所述第二应用的域信息。

具体地,可以将域分为3大类:一类是系统域、一类是安全域、一类是非安全域。

优选地,所述第二策略管理模块21,包括:

策略查询单元211,用于:

根据所述第一应用以及所述第二应用的域信息查询策略库,获得查询结果;

基于所述查询结果向所述非安全执行环境侧发送第一指令响应结果。

其中,所述查询结果为允许访问、或为拒绝访问。

优选地,所述域划分单元111,还用于:

将系统中预先安装的应用标记为系统域;当检测到有新应用安装时,验证所述新应用的数字证书签名,如果验证通过,将所述新应用标记为安全域;如果验证不通过或者没有数字证书签名,则将所述新应用标记为非安全域。

例如,在图2中,域A表示非安全域,域B表示安全域,域C表示系统域;

举例来说,应用1是运行于非安全操作系统10之上的应用程序,如果安装 时未经验证,则处在非安全域,即域A;应用2是运行于非安全操作系统10之上的应用程序,安装时通过发行商签名验证,则处在安全域,即域B。

具体地,所述MAC管理单元112负责对各应用之间的访问权限进行管理。

在一实施例中,当一个主体(一个安卓应用)访问一个客体(另一个安卓应用的文件或套接字)时,首先,所述第一策略管理模块11进行基本的自主访问控制(DAC,Discretionary Access Control)检查,如果检查不通过,直接返回拒绝此次访问;如果检查通过,则调用所述第二通讯代理模块12切换到安全侧第二策略管理模块21的策略查询单元212,以由所述策略查询单元212查询所述主体是否拥有访问权限;并向所述主体返回查询结果。如此,能阻止非安全应用(如应用1)和安全侧应用(应用2)使用组件进行通信。

优选地,所述第二策略管理模块21还包括:

策略更新单元212,用于按照预设规则,基于所述新应用的第一信息制定关于所述新应用的策略文件;其中,所述第一信息至少包括域信息、用户标识;基于所述新应用的策略文件更新策略库;

安全存储单元213,用于将策略文件存储到非易失性安全存储空间;

策略加载单元214,用于从所述非易失性安全存储空间40中读取策略文件,并将所述策略文件加载到位于安全操作系统内核的策略库中,以便于所述策略更新单元更新策略库。

这里,所述非易失性安全存储空间40是所述第二策略管理模块21独享的区域,不会被非安全执行环境中的应用或安全执行环境中的其他安全应用所访问。

由于安全策略文件保存在非易失性安全存储空间40中,因为安卓系统中对所有的文件、目录、端口的访问都是基于策略设定的,安全侧只要制定细粒度、高安全性的策略,就可以隔离应用间通过IPC、文件系统、套接字等方式的通信。

本实施例中,所述策略文件可用二进制形式进行表示。

优选地,所述预设规则至少包括下述中的一种或几种:

非安全域应用访问非安全域应用的第一规则,

非安全域应用访问安全域应用的第二规则,

安全域应用访问非安全域应用的第三规则,

安全域应用访问安全域应用的第四规则,

非安全域应用、安全域应用访问系统域应用的第五规则;其中,所述域至少分为:系统域、安全域、非安全域。

这里,所述第一规则是:允许非安全域应用访问非安全域应用;所述第二规则是:不允许非安全域应用访问安全域应用;所述第三规则是:不允许安全域应用访问非安全域应用;所述第四规则是:允许安全域应用访问安全域应用;所述第五规则是:允许非安全域应用以及安全域应用访问系统域应用。

具体地,所述策略更新单元212,负责当应用进行安装或卸载时,根据位于非安全侧的MAC管理模块112的指示,进行策略文件以及策略库的安全更新。

具体地,所述策略加载单元211,负责从所述第二策略管理模块21所独享的非易失性安全存储空间中读取策略文件,并将所述策略文件加载到位于安全操作系统内核的策略库中;还负责响应策略更新单元212的指令,当有新应用安装或卸载某应用时,启动加载流程。

实施例三

图3为本发明实施例提供的新应用安装过程中策略的处理流程示意图,如图3所示,该流程主要包括以下步骤:

步骤301:在非安全执行环境中安装新应用。

这里,所述新应用是指电子设备中未安装的应用,其中,所述电子设备的系统为安卓系统。

步骤302:第一策略管理模块中的域划分单元对所述新应用进行域划分。

具体地,域划分单元根据所述新应用的数字证书签名对所述新应用进行验证,如果验证通过,标记所述新应用为安全域;如果验证不通过,则标记所述 新应用为非安全域。

也就是说,每当电子设备中新安装一个应用,都要对所述新安装的应用进行域的划分,以实时为所述新安装的应用制定策略文件,并更新策略库。

步骤303:所述域划分单元将所述新应用的域信息、用户名等信息发送至所述第一策略管理模块中的MAC管理单元。

步骤304:所述MAC管理单元通过第一通讯代理模块向策略更新单元发送策略更新指令。

也就是说,当MAC管理单元接收到所述新应用的域信息、用户名等信息时,启动第一通讯代理模块,以通知安全侧更新策略。

具体地,所述步骤304可以包括:

步骤304a:第一通讯代理模块执行第一指令,以使处理器处于安全监视器(monitor)模式,在此模式下保存非安全侧上下文;

步骤304b:安全监视器(monitor)切换到安全执行环境,恢复安全侧上下文。

这里,所述安全执行环境也可以称为可信执行环境。

需要说明的是,以下步骤305~步骤314是在安全执行环境中进行的操作。

步骤305:第二略管理模块中的策略更新单元为所述新应用制定策略,并发出更新策略库指令。

本实施例中,假设策略更新单元为所述新应用制定的策略称为第一策略文件。

步骤306~步骤307:策略更新单元调用安全存储单元,将第一策略文件存储至所述第二策略管理模块独享的非易失性安全存储空间。

步骤308:所述安全存储单元完成对所述第一策略文件的存储后,向所述策略更新单元返回存储成功响应。

步骤309:所述第二略管理模块调用策略加载单元,启动策略加载流程。

步骤310~步骤312:所述策略加载单元读取所述第一策略文件,当读取完毕后,加载所述第一策略文件到策略库中。

这里,所述策略库位于安全操作系统的内核中。

步骤313:所述策略加载单元向所述策略更新单元返回更新策略库成功响应。

步骤314:所述策略更新单元向所述MAC管理单元返回策略更新完成消息。

具体地,所述步骤314可以包括:

步骤314a:第二通讯代理模块执行第二指令,以使处理器处于安全监视器(monitor)模式,在此模式下保存安全侧上下文;

步骤314b:安全监视器(monitor)切换到非安全执行环境,恢复非安全侧上下文。

步骤315:所述MAC管理单元解析安全侧返回的执行结果,至此,新应用策略加载完成,所述新应用完成安装。

实施例四

图4为本发明实施例提供的非安全域应用访问安全域应用的处理流程示意图,如图4所示,该流程主要包括以下步骤:

步骤401:非安全域应用访问安全域应用。

具体地,可以由所述第一策略管理模块中的域划分单元来检测各个域之间应用的访问。

本实施例中,所述非安全域应用为应用1,所述安全域应用为应用2。

步骤402:所述第一策略管理模块调用MAC管理单元进行权限查询。

步骤403:所述第一策略管理模块中的MAC管理单元向位于安全侧的第二策略管理模块中的策略查询单元发送查询请求。

其中,所述查询请求中至少包括:应用1和应用2的域信息。

具体地,所述步骤403可以包括:

步骤403a:第二通讯代理模块保存非安全侧上下文,执行第一指令,以使处理器处于安全模式;

步骤403b:安全监视器(monitor)切换到安全执行环境,恢复安全侧上下文。

这里,所述安全执行环境也可以称为可信执行环境。

需要说明的是,以下步骤404~步骤405是在安全执行环境中进行的操作。

步骤404:所述策略查询单元获取应用1和应用2的域信息,并到安全操作系统的内核的策略库中匹配策略,得出结果为拒绝访问。

也就是说,不允许非安全应用访问安全域应用。

步骤405:所述策略查询单元向所述MAC管理单元返回查询结果。

具体地,所述步骤405可以包括:

步骤405a:第二通讯代理模块执行第二指令,以使处理器处于安全监视器(monitor)模式,在此模式下保存安全侧上下文,;

步骤405b:安全监视器(monitor)切换到非安全执行环境,恢复非安全侧上下文。

步骤406:所述MAC管理单元将查询结果返回给访问主体(即非安全域应用),禁止此次访问。

也就是说,当检测到非安全域应用试图访问安全域应用中的某一文件或某一套接字时,第一策略管理模块中的MAC管理单元通过第一通讯代理模块发消息,切换到安全执行环境,由位于安全执行环境中的第二策略管理模块查询访问权限,由于策略库位于安全执行环境中,因此,提高了安卓系统的安全性。

实施例五

图5为本发明实施例提供的安全域应用访问安全域应用的处理流程示意图,如图5所示,该流程主要包括以下步骤:

步骤501:安全域应用访问安全域应用。

具体地,可以由所述第一策略管理模块中的域划分单元来检测各个域之间应用的访问。

步骤502:所述第一策略管理模块调用MAC管理单元进行权限查询。

步骤503:所述第一策略管理模块中的MAC管理单元向位于安全侧的第二策略管理模块中的策略查询单元发送查询请求。

其中,所述查询请求中至少包括:访问主体与访问客体的域信息。

具体地,所述步骤503可以包括:

步骤503a:第二通讯代理模块执行第一指令,以使处理器处于安全监视器(monitor)模式,在此模式下保存非安全侧上下文;

步骤503b:安全监视器(monitor)切换到安全执行环境,恢复安全侧上下文。

这里,所述安全执行环境也可以称为可信执行环境。

需要说明的是,以下步骤504~步骤505是在安全执行环境中进行的操作。

步骤504:所述策略查询单元获取访问主体与访问客体的域信息,并到安全操作系统的内核的策略库中匹配策略,得出结果为允许访问。

也就是说,允许安全应用访问安全域应用。

步骤505:所述策略查询单元向所述MAC管理单元返回查询结果。

具体地,所述步骤505可以包括:

步骤505a:第二通讯代理模块保存安全侧上下文,执行第二指令,以使处理器处于非安全模式;

步骤505b:安全监视器(monitor)切换到非安全执行环境,恢复非安全侧上下文。

步骤506:所述MAC管理单元将查询结果返回给访问主体,允许此次访问。

也就是说,允许安全域应用间互相访问,即安全应用间数据可以实现共享。

综上所述,与现有技术相比较,本发明所述技术方案,通过引入了具有安全隔离功能的处理器,将策略管理分为安全侧和非安全侧,有安全侧和非安全侧的各个模块协作完成,非安全侧只负责发送策略访问命令、策略更新命令给安全侧,只是命令层面的控制;而真正的策略文件的存储、策略文件的加载、策略规则的计算、策略文件的更新等都放在了引入安全隔离处理器的安全侧,与现有SEAndroid的策略相关操作相比,本发明所述技术方案将大大提高安卓 系统的安全性。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包 括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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