一种访问控制方法及终端与流程

文档序号:11407066阅读:182来源:国知局
一种访问控制方法及终端与流程

本发明涉及电子技术领域,尤其涉一种访问控制方法及终端。



背景技术:

android系统是当前移动终端的主流操作系统。基于android系统的第三方应用程序数量庞大,用户在移动终端上安装应用时,都会涉及授予该应用程序访问安全数据的权限而产生的安全问题。

目前,android系统在对应用程序进行授予应用程序访问终端的安全数据的权限时,当android系统判断应用程序具有访问终端的安全数据的权限时,android系统将会向应用程序开放存储所有的安全数据,这显然使得应用程序可访问其功能所不需的安全数据,从而可能导致应用程序可以偷窃终端的安全数据,使得系统安全性受到威胁,导致安全数据泄露。



技术实现要素:

本发明实施例提供一种访问控制方法及终端,终端可限制应用程序访问部分安全数据的权限,提高安全数据的安全性。

本发明一种访问控制方法,所述方法包括:

当接收到来自应用程序发送的访问安全数据请求时,在预置的不少于一个用于存储安全数据的安全数据分区中确定所述应用程序所要访问的目标安全数据分区;

读取所述应用程序的签名信息,根据所述签名信息判断所述应用程序对所述目标安全数据分区是否具有访问权限;

当确定所述应用程序对所述目标安全数据分区具有访问权限时,允许所述应用程序访问所述目标安全数据分区。

本发明还提供一种终端,所述终端包括:

第一确定单元,用于当接收到来自应用程序发送的访问安全数据请求时,在预置的不少于一个用于存储安全数据的安全数据分区中确定所述应用程序所要访问的目标安全数据分区;

第一判断单元,用于读取所述应用程序的签名信息,根据所述签名信息判断所述应用程序对所述目标安全数据分区是否具有访问权限;

允许单元,用于当所述判断单元确定所述应用程序对所述目标安全数据分区具有访问权限时,允许所述应用程序访问所述目标安全数据分区。

在本发明实施例中,当终端接收到来自应用程序发送的访问安全数据请求时,在预置的不少于一个用于存储安全数据的安全数据分区中确定所述应用程序所要访问的目标安全数据分区,读取所述应用程序的签名信息,根据所述签名信息判断所述应用程序对所述目标安全数据分区是否具有访问权限,当确定所述应用程序对所述目标安全数据分区具有访问权限时,允许所述应用程序访问所述目标安全数据分区,这可使得终端可向有访问安全数据权限的应用程序开放存储所需的安全数据的安全数据分区的访问权限,使得终端可限制应用程序访问部分安全数据的权限,提高安全数据的安全性。

附图说明

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

图1是本发明实施例提供的一种访问控制方法的示意流程图;

图2是本发明实施例提供的一种终端结构图;

图3是本发明实施例提供的另一种终端结构图。

具体实施方式

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

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

具体实现中,本发明实施例中描述的终端包括但不限于诸如具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的移动电话、膝上型计算机或平板计算机之类的其它便携式设备。还应当理解的是,在某些实施例中,所述设备并非便携式通信设备,而是具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的台式计算机。

在接下来的讨论中,描述了包括显示器和触摸敏感表面的终端。然而,应当理解的是,终端可以包括诸如物理键盘、鼠标和/或控制杆的一个或多个其它物理用户接口设备。

终端支持各种应用程序,例如以下中的一个或多个:绘图应用程序、演示应用程序、文字处理应用程序、网站创建应用程序、盘刻录应用程序、电子表格应用程序、游戏应用程序、电话应用程序、视频会议应用程序、电子邮件应用程序、即时消息收发应用程序、锻炼支持应用程序、照片管理应用程序、数码相机应用程序、数字摄影机应用程序、web浏览应用程序、数字音乐播放器应用程序和/或数字视频播放器应用程序。

可以在终端上执行的各种应用程序可以使用诸如触摸敏感表面的至少一个公共物理用户接口设备。可以在应用程序之间和/或相应应用程序内调整和/或改变触摸敏感表面的一个或多个功能以及终端上显示的相应信息。这样,终端的公共物理架构(例如,触摸敏感表面)可以支持具有对用户而言直观且透明的用户界面的各种应用程序。

参见图1,是本发明实施例提供的一种访问控制方法示意流程图,如图所示1所示,一种访问控制方法可包括以下步骤:

s100,当接收到来自应用程序发送的访问安全数据请求时,在预置的不少于一个用于存储安全数据的安全数据分区中确定所述应用程序所要访问的目标安全数据分区。

在本发明实施例中,终端的操作系统可以是android操作系统,应用程序可以是运行在android操作系统上的应用程序。终端可在用于存储安全数据的安全数据存储区中划分出一个或多个用于存储安全数据的安全数据分区。因此,终端可将终端需进行控制访问的安全数据存储至一个或多个安全数据分区中,其中,安全数据可包括终端的密钥和用户信息等安全信息。进一步的,为了对安全数据分区进行区分,终端可对每个安全数据分区分配唯一的分区标识,并保存安全数据分区与分区标识的对应关系。在具体应用中,终端可将终端的安全数据存储区划分为id0,id1,id2,……,id15等16个安全数据分区,每个安全数据分区可存储不同的安全数据。当终端对安全数据存储区进行划分后,终端可对每个区域分配一个分区标识tokenid,如终端对安全数据分区id0分配对应的分区标识为token0,终端对安全数据分区id1分配对应的分区标识为token1等分配行为。并且,终端可将安全数据分区与分区标识的对应关系记录至预置的索引表中,以方便后续调用。

在本发明实施例中,当应用程序需要访问终端的安全数据时,应用程序需获取存储所需访问的安全数据的目标安全数据分区对应的目标分区标识,并生成携带目标分区标识的访问安全数据请求,从而终端可接收到来自应用程序发送的携带目标分区标识的访问安全数据请求。当终端接收到来自应用程序发送的访问安全数据请求时,终端可首选判断访问安全数据请求是否携带目标分区标识,当终端判断访问安全数据请求携带目标分区标识时,终端可解析请求获取目标分区标识,并根据目标分区标识在预置的索引表中查询目标分区标识所对应的目标安全数据分区,从而可确定应用程序所要访问的目标安全数据分区。当终端判断访问安全数据请求没有携带目标分区标识时,则终端向应用程序返回包括不具有访问权限的提示信息。

s101,读取所述应用程序的签名信息,根据所述签名信息判断所述应用程序对所述目标安全数据分区是否具有访问权限。

在本发明实施例中,终端可向应用程序请求签名信息并获取签名信息,其中,签名信息具有唯一性,因此,不同的应用程序对应的签名信息是不一样的。具体的,签名信息可包括应用程序的签名证书,签名证书可以是采用哈希算法生成的哈希值,如签名证书的sha1值。而由于终端的系统应用程序会共用一个签名证书,因此为了能够区分系统的应用程序,签名信息还可包括应用程序的包名,包名可以是应用程序的唯一身份标识。

在本发明实施例中,为了提高安全数据分区的安全性,终端可根据需要指定不同的安全数据分区开放权限给不同的应用程序访问,因此,可想而知,具有访问其中一个安全数据分区的权限的应用程序并不代表也具有访问其他安全数据分区的权限,可见,这使得终端可仅向应用程序提供所需的安全数据,避免了应用程序可访问其功能上所不需的安全数据而造成安全数据的泄露,提高终端的安全数据的安全性。因此,终端可预置每个安全数据分区与应用程序的对应关系,从而终端可通过该对应关系获取安全数据分区所开放权限的应用程序。进一步的,由于应用程序的签名信息具有唯一性,因此,终端可获取安全数据分区所开放权限的应用程序的签名信息,并预置安全数据分区与签名信息的对应关系,从而预置了每个安全数据分区与应用程序的对应关系。

因此,在本发明实施例中,终端根据签名信息判断应用程序对目标安全分区是否具有访问权限具体可以是:终端可根据预置的安全数据分区与签名信息的对应关系获取目标安全数据分区所对应的目标签名信息,从而终端可校验应用程序的签名信息和目标签名信息,并当校验通过时,确定所述应用程序对所述目标安全数据分区是否具有访问权限。其中,终端校验应用程序的签名信息和目标签名信息具体可以是:终端判断应用程序的签名信息和目标签名信息是否相同,即是判断应用程序的签名信息所包括的签名证书和包名与目标签名信息所包括的签名证书和包名是否完全一致,当确定应用程序的签名信息所包括的签名证书和包名与目标签名信息所包括的签名证书和包名完全一致时,则确定应用程序的签名信息和目标签名信息相同时,确定校验通过。在具体应用中,终端可判断应用程序的签名信息所包括的sha1值和包名与目标签名信息所包括的sha1值和包名是否完全一致,当确定应用程序的签名信息所包括的sha1值和包名与目标签名信息所包括的sha1值和包名完全一致时,确定校验通过。进一步的,当终端判断应用程序的签名信息和目标签名信息不相同时,终端可确定校验不通过。当终端确定校验通过时,终端可确定应用程序对目标安全数据分区是否具有访问权限;当终端确定校验不通过时,终端可确定应用程序对目标安全数据分区不具有访问权限。

在具体应用中,终端可将安全芯片的存储区划分为多个安全数据分区,并将安全数据存储至多个安全数据分区中。当应用程序需访问安全数据分区时,终端可调用安全芯片接口控制应用程序对安全数据分区进行访问,其中,终端可以是在安全芯片接口的驱动层对应用程序的签名信息和目标签名信息进行校验,如在安全芯片的kernel的驱动层进行校验,有效提高校验安全性。

s102,当确定所述应用程序对所述目标安全数据分区具有访问权限时,允许所述应用程序访问所述目标安全数据分区。

在本发明实施例中,当终端确定应用程序对目标安全数据分区具有访问权限时,终端向应用程序开放访问目标安全数据分区的权限,允许应用程序访问目标安全数据分区。

在本发明实施例中,当终端确定应用程序对目标安全数据分区不具有访问权限时,终端可输出用于提示应用程序没有访问权限的提示信息。并禁止应用程序访问目标安全数据分区的安全数据。其中,终端可通过弹框或语音输出用于提示应用程序没有访问权限的提示信息。

在本发明实施例中,当终端接收到来自应用程序发送的访问安全数据请求时,在预置的不少于一个用于存储安全数据的安全数据分区中确定所述应用程序所要访问的目标安全数据分区,读取所述应用程序的签名信息,根据所述签名信息判断所述应用程序对所述目标安全数据分区是否具有访问权限,当确定所述应用程序对所述目标安全数据分区具有访问权限时,允许所述应用程序访问所述目标安全数据分区,这可使得终端可向有访问安全数据权限的应用程序开放存储所需的安全数据的安全数据分区的访问权限,使得终端可限制应用程序访问部分安全数据的权限,提高安全数据的安全性。

参见图2,是本发明实施例提供一种终端结构图,如图所示2所示所述终端包括:

第一确定单元100,用于当接收到来自应用程序发送的访问安全数据请求时,在预置的不少于一个用于存储安全数据的安全数据分区中确定所述应用程序所要访问的目标安全数据分区;

第一判断单元200,用于读取所述应用程序的签名信息,根据所述签名信息判断所述应用程序对所述目标安全数据分区是否具有访问权限;

允许单元300,用于当所述判断单元确定所述应用程序对所述目标安全数据分区具有访问权限时,允许所述应用程序访问所述目标安全数据分区。

所述访问安全数据请求携带所述目标分区标识;

其中,所述第一确定单元100包括:

第二确定单元,用于根据预置的分区标识与安全数据分区的对应关系,确定所述目标分区标识所对应的安全数据分区;

设置单元,用于将所述目标分区标识所对应的安全数据分区设为所述应用程序所要访问的目标安全数据分区。

其中,所述终端包括:

预置单元,用于预置安全数据分区与签名信息的对应关系;

所述第一判断单元200包括:

获取单元,用于根据所述安全数据分区与签名信息的对应关系,获取所述目标安全数据分区对应的目标签名信息;

校验单元,用于校验所述应用程序的签名信息和目标签名信息;

第三确定单元,用于当所述校验单元校验通过时,确定所述应用程序对所述目标安全数据分区是否具有访问权限。

其中,所述校验单元包括:

第二判断单元,用于判断所述应用程序的签名信息和目标签名信息是否相同;

第三确定单元,用于当所述第二判断单元确定所述应用程序的签名信息和所述目标签名信息相同时,确定校验通过。

其中,所述第一判断单元200还包括:

输出单元,用于当所述校验单元校验不通过时,输出用于提示所述应用程序没有访问权限的提示信息。

可以理解的是,本实施例的终端中的单元的各功能单元的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再进行赘述。

在本发明实施例中,当终端接收到来自应用程序发送的访问安全数据请求时,在预置的不少于一个用于存储安全数据的安全数据分区中确定所述应用程序所要访问的目标安全数据分区,读取所述应用程序的签名信息,根据所述签名信息判断所述应用程序对所述目标安全数据分区是否具有访问权限,当确定所述应用程序对所述目标安全数据分区具有访问权限时,允许所述应用程序访问所述目标安全数据分区,这可使得终端可向有访问安全数据权限的应用程序开放存储所需的安全数据的安全数据分区的访问权限,使得终端可限制应用程序访问部分安全数据的权限,提高安全数据的安全性。

参见图3,是本发明另一实施例提供的一种终端示意框图。如图3所示的本实施例中的终端可以包括:一个或多个处理器301;一个或多个输入设备302,一个或多个输出设备303和存储器304。上述处理器301、输入设备302、输出设备303和存储器304通过总线305连接。存储器304用于存储指令,处理器301用于执行存储器304存储的指令。其中,处理器301用于:

当接收到来自应用程序发送的访问安全数据请求时,在预置的不少于一个用于存储安全数据的安全数据分区中确定所述应用程序所要访问的目标安全数据分区;

读取所述应用程序的签名信息,根据所述签名信息判断所述应用程序对所述目标安全数据分区是否具有访问权限;

当确定所述应用程序对所述目标安全数据分区具有访问权限时,允许所述应用程序访问所述目标安全数据分区。

其中,所述访问安全数据请求携带所述目标分区标识;

当所述处理器301接收到来自应用程序发送的访问安全数据请求时,处理器301在预置的不少于一个用于存储安全数据的安全数据分区中确定所述应用程序所要访问的目标安全数据分区包括:

根据预置的分区标识与安全数据分区的对应关系,确定所述目标分区标识所对应的安全数据分区;

将所述目标分区标识所对应的安全数据分区设为所述应用程序所要访问的目标安全数据分区。

其中,在所述处理器301读取所述应用程序的签名信息,根据所述签名信息判断所述应用程序对所述目标安全数据分区是否具有访问权限之前,所述处理器301还执行:

预置安全数据分区与签名信息的对应关系;

所述读取所述应用程序的签名信息,根据所述签名信息判断所述应用程序对所述目标安全数据分区是否具有访问权限包括:

根据所述安全数据分区与签名信息的对应关系,获取所述目标安全数据分区对应的目标签名信息;

校验所述应用程序的签名信息和目标签名信息;

当校验通过时,确定所述应用程序对所述目标安全数据分区是否具有访问权限。

其中,所述处理器301校验所述应用程序的签名信息和目标签名信息包括:

判断所述应用程序的签名信息和目标签名信息是否相同;

当确定所述应用程序的签名信息和所述目标签名信息相同时,确定校验通过。

其中,所述处理器301还执行:

当校验不通过时,输出用于提示所述应用程序没有访问权限的提示信息。

可以理解的是,本实施例的终端中的单元的各功能单元的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再进行赘述。

在本发明实施例中,当终端接收到来自应用程序发送的访问安全数据请求时,在预置的不少于一个用于存储安全数据的安全数据分区中确定所述应用程序所要访问的目标安全数据分区,读取所述应用程序的签名信息,根据所述签名信息判断所述应用程序对所述目标安全数据分区是否具有访问权限,当确定所述应用程序对所述目标安全数据分区具有访问权限时,允许所述应用程序访问所述目标安全数据分区,这可使得终端可向有访问安全数据权限的应用程序开放存储所需的安全数据的安全数据分区的访问权限,使得终端可限制应用程序访问部分安全数据的权限,提高安全数据的安全性。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的终端和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

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

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

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

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

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

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