一种安全系统下的应用权限管理方法及系统技术领域
本发明涉及安全系统的技术领域,特别是涉及一种安全系统下的应用权限管理方法及系统。
背景技术
Arm Trustzone技术是一种全方位的安全解决方案,可以保证使用它开发的设备的安全。Trustzone与Arm Cortex A系列处理器紧密关联,安全信息通过AMBA AXI总线在整个系统和外围IP间传递,这样能避免内存、加密模块、键盘、显示屏等模块受到软件攻击。
使用Trustzone技术进行开发的安全系统包括安全执行环境、安全内核程序、安全服务和受信任应用(Trusted App,TA),其基于系统分为两个域,即正常模式和安全模式。因此,安全系统可以独立于非安全系统进行开发。安全模式运行在独立的内存空间且可以访问所有正常模式下的资源。正常模式和安全模式通过安全监控这个模块进行切换。
现有技术中,安全系统的受信任应用可以访问所有内存、系统服务和硬件资源,如果某个TA存在安全隐患,可能会导致安全系统崩溃。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种安全系统下的应用权限管理方法及系统,将系统资源分为内存资源、系统服务和硬件资源三类进行访问管理,所有受信任应用的系统访问请求均需通过权限审核,只有具有访问权限的系统访问请求才能被接受,从而降低了TA异常给安全系统带来的风险,提高了安全系统的可靠性。
为实现上述目的及其他相关目的,本发明提供一种安全系统下的应用权限管理方法,包括以下步骤:步骤S1、将安全系统中受信任应用使用的资源划分为内存资源、系统服务和硬件资源;步骤S2、在安全系统启动时,创建受信任应用的权限管理表;步骤S3、当受信任应用向安全系统发起系统访问请求时,在所述权限管理表中查询所述系统访问请求是否有权限;若是,转发所述系统访问请求;若否,禁止所述系统访问请求。
根据上述的安全系统下的应用权限管理方法,其中:所述内存资源包括安全系统地址空间和非安全系统地址空间;所述系统服务包括安全存储服务、实时时钟服务、内存分配服务、加解密服务、内存映射服务、内存共享服务和驱动服务;所述硬件资源包括Efuse、计时器和 视频处理硬件单元。
根据上述的安全系统下的应用权限管理方法,其中:所述步骤S2包括以下步骤:
安全系统启动时,读取受信任应用在内存资源、系统服务和硬件资源上的权限配置信息,生成受信任应用的权限控制项;
将生成的权限控制项加入到受信任应用的权限管理表中。
进一步地,根据上述的安全系统下的应用权限管理方法,其中:所述权限控制项包括受信任应用ID、内存访问标志、系统服务标志和硬件资源标志;所述内存访问标志、所述系统服务标志和所述硬件资源标志为1时,分别表示允许访问内存资源、系统服务和硬件资源;所述内存访问标志、所述系统服务标志和所述硬件资源标志为0时,分别表示禁止访问内存资源、系统服务和硬件资源。
根据上述的安全系统下的应用权限管理方法,其中:所述步骤S3包括以下步骤:
当受信任应用向安全系统发起系统访问请求时,安全系统获取所述受信任应用的ID;
根据所述受信任应用的ID访问所述权限管理表,获取所述受信任应用的权限控制项;
根据系统访问请求确定所要访问的资源类型,并在权限控制项中查找所述资源类型对应的标志;
根据所述资源类型对应的标志,转发或禁止所述系统访问请求。
同时,本发明还提供一种安全系统下的应用权限管理系统,包括划分模块、创建模块和访问模块;
所述划分模块用于将安全系统中受信任应用使用的资源划分为内存资源、系统服务和硬件资源;
所述创建模块用于在安全系统启动时,创建受信任应用的权限管理表;
所述访问模块用于在受信任应用向安全系统发起系统访问请求时,在权限管理表中查询所述系统访问请求是否有权限;若是,转发所述系统访问请求;若否,禁止所述系统访问请求。
根据上述的安全系统下的应用权限管理系统,其中:所述内存资源包括安全系统地址空间和非安全系统地址空间;所述系统服务包括安全存储服务、实时时钟服务、内存分配服务、加解密服务、内存映射服务、内存共享服务和驱动服务;所述硬件资源包括Efuse、计时器和视频处理硬件单元。
根据上述的安全系统下的应用权限管理系统,其中:所述创建模块通过以下步骤创建受信任应用的权限管理表:
安全系统启动时,读取受信任应用在内存资源、系统服务和硬件资源上的权限配置信息, 生成受信任应用的权限控制项;
将生成的权限控制项加入到受信任应用的权限管理表中。
进一步地,根据上述的安全系统下的应用权限管理系统,其中:所述权限控制项包括受信任应用ID、内存访问标志、系统服务标志和硬件资源标志;所述内存访问标志、所述系统服务标志和所述硬件资源标志为1时,分别表示允许访问内存资源、系统服务和硬件资源;所述内存访问标志、所述系统服务标志和所述硬件资源标志为0时,分别表示禁止访问内存资源、系统服务和硬件资源。
根据上述的安全系统下的应用权限管理系统,其中:所述访问模块通过以下步骤处理系统访问请求:
当受信任应用向安全系统发起系统访问请求时,安全系统获取所述受信任应用的ID;
根据所述受信任应用的ID访问所述权限管理表,获取所述受信任应用的权限控制项;
根据系统访问请求确定所要访问的资源类型,并在权限控制项中查找所述资源类型对应的标志;
根据所述资源类型对应的标志,转发或禁止所述系统访问请求。
如上所述,本发明的安全系统下的应用权限管理方法及系统,具有以下有益效果:
(1)将系统资源分为内存资源、系统服务和硬件资源三类进行访问管理,所有受信任应用的系统访问请求均需通过权限审核,只有具有访问权限的系统访问请求才能被接受;
(2)极大地降低了TA异常给安全系统带来的风险;
(3)提高了安全系统的可靠性。
附图说明
图1显示为本发明的安全系统下的应用权限管理方法的流程图;
图2显示为本发明的安全系统下的应用权限管理系统的结构示意图。
元件标号说明
1 划分模块
2 创建模块
3 访问模块
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露 的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
参照图1,本发明的安全系统下的应用权限管理方法包括以下步骤:
步骤S1、将安全系统中受信任应用使用的资源划分为内存资源、系统服务和硬件资源。
其中,内存资源包括安全系统地址空间和非安全系统地址空间。
系统服务包括安全存储服务、实时时钟(Real-time Clock,RTC)服务、内存分配服务、加解密服务、内存映射服务、内存共享服务和驱动服务。
硬件资源包括电子熔丝(Efuse)、计时器(Timer)和视频处理单元(Video Processing Unit,VPU)。其中,Efuse是一种一次编程设备(one-time programming,OTP),一般用来存储重要数据。
步骤S2、在安全系统启动时,创建受信任应用的权限管理表。
其中,在内存中创建受信任应用的权限管理表,且该权限管理表为哈希(hash)表,从而加快了访问速度。
具体地,步骤S2包括以下步骤:
21)安全系统启动时,读取受信任应用在内存资源、系统服务和硬件资源上的权限配置信息,生成受信任应用的权限控制项。
其中,受信任应用是ELF文件,其可以访问的内存资源、系统服务和硬件资源的权限配置信息分别存储在ELF文件的Manifest段内的CONFIG_MAPPED_MEMORY、CONFIG_SYSTEM_SERVICE和CONFIG_HW_RESOURCE三个资源配置项中,从而指定受信任应用可以使用的资源。
具体地,权限控制项包括受信任应用ID、内存访问标志、系统服务标志和硬件资源标志。其中,内存访问标志、系统服务标志和硬件资源标志为1时,分别表示允许访问内存资源、系统服务和硬件资源;内存访问标志、系统服务标志和硬件资源标志为0时,分别表示禁止访问内存资源、系统服务和硬件资源。
22)将生成的权限控制项加入到受信任应用的权限管理表中。
步骤S3、当受信任应用向安全系统发起系统访问请求时,在权限管理表中查询该系统访问请求是否有权限;若是,转发该系统访问请求;若否,禁止该系统访问请求。
具体地,步骤S3包括以下步骤:
31)当受信任应用向安全系统发起系统访问请求时,安全系统获取该受信任应用的ID。
32)根据该受信任应用的ID访问权限管理表,获取该受信任应用的权限控制项。
33)根据系统访问请求确定所要访问的资源类型,并在权限控制项中查找该资源类型对应的标志。
若所要访问的资源类型为内存资源,则查找内存访问标志;若所要访问的资源类型为系统服务,则查找系统服务标志;若所要访问的资源类型为硬件资源,则查找硬件资源标志。
34)根据该资源类型对应的标志,转发或禁止该系统访问请求。
其中,若该资源类型对应的标志为1,则转发该系统访问请求,允许该受信任应用对安全系统的访问;若该资源类型对应的标志为0,则禁止该系统访问请求,禁止该受信任应用对安全系统的访问。
参照图2,本发明的安全系统下的应用权限管理系统包括划分模块1、创建模块2和访问模块3。
划分模块1用于将安全系统中受信任应用使用的资源划分为内存资源、系统服务和硬件资源。
其中,内存资源包括安全系统地址空间和非安全系统地址空间。
系统服务包括安全存储服务、实时时钟(Real-time Clock,RTC)服务、内存分配服务、加解密服务、内存映射服务、内存共享服务和驱动服务。
硬件资源包括电子熔丝(Efuse)、计时器(Timer)和视频处理单元(Video Processing Unit,VPU)。其中,Efuse是一种一次编程设备(one-time programming,OTP),一般用来存储重要数据。
创建模块2与划分模块1相连,用于在安全系统启动时,创建受信任应用的权限管理表。
其中,在内存中创建受信任应用的权限管理表,且该权限管理表为哈希(hash)表,从而加快了访问速度。
具体地,创建模块2通过以下步骤创建受信任应用的权限管理表:
21)安全系统启动时,读取受信任应用在内存资源、系统服务和硬件资源上的权限配置信息,生成受信任应用的权限控制项。
其中,受信任应用是ELF文件,其可以访问的内存资源、系统服务和硬件资源的权限配置信息分别存储在ELF文件的Manifest段内的CONFIG_MAPPED_MEMORY、CONFIG_SYSTEM_SERVICE和CONFIG_HW_RESOURCE三个资源配置项中,从而指定受信任应用可以使用的资源。
具体地,权限控制项包括受信任应用ID、内存访问标志、系统服务标志和硬件资源标志。其中,内存访问标志、系统服务标志和硬件资源标志为1时,分别表示允许访问内存资源、系统服务和硬件资源;内存访问标志、系统服务标志和硬件资源标志为0时,分别表示禁止访问内存资源、系统服务和硬件资源。
22)将生成的权限控制项加入到受信任应用的权限管理表中。
访问模块3与划分模块1和创建模块2相连,用于在受信任应用向安全系统发起系统访问请求时,在权限管理表中查询该系统访问请求是否有权限;若是,转发该系统访问请求;若否,禁止该系统访问请求。
具体地,访问模块3通过以下步骤来处理受信任应用的系统访问请求:
31)当受信任应用向安全系统发起系统访问请求时,安全系统获取该受信任应用的ID。
32)根据该受信任应用的ID访问权限管理表,获取该受信任应用的权限控制项。
33)根据系统访问请求确定所要访问的资源类型,并在权限控制项中查找该资源类型对应的标志。
若所要访问的资源类型为内存资源,则查找内存访问标志;若所要访问的资源类型为系统服务,则查找系统服务标志;若所要访问的资源类型为硬件资源,则查找硬件资源标志。
34)根据该资源类型对应的标志,转发或禁止该系统访问请求。
其中,若该资源类型对应的标志为1,则转发该系统访问请求,允许该受信任应用对安全系统的访问;若该资源类型对应的标志为0,则禁止该系统访问请求,禁止该受信任应用对安全系统的访问。
综上所述,本发明的安全系统下的应用权限管理方法及系统将系统资源分为内存资源、系统服务和硬件资源三类进行访问管理,所有受信任应用的系统访问请求均需通过权限审核,只有具有访问权限的系统访问请求才能被接受;极大地降低了TA异常给安全系统带来的风险;提高了安全系统的可靠性。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。