CN112364340A - 权限管理方法、装置、设备及计算机可读存储介质 - Google Patents
权限管理方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN112364340A CN112364340A CN202011368372.1A CN202011368372A CN112364340A CN 112364340 A CN112364340 A CN 112364340A CN 202011368372 A CN202011368372 A CN 202011368372A CN 112364340 A CN112364340 A CN 112364340A
- Authority
- CN
- China
- Prior art keywords
- signature
- application
- application program
- name
- private
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种权限管理方法、装置、设备及计算机可读存储介质,本发明权限管理方法包括:当应用程序待获取系统的系统权限时,确定应用程序的私有签名和系统的系统签名;对预设的变更签名包名进行解析,以获取解析后的解析包名,检测解析包名是否和所述应用程序的应用包名匹配;若匹配,则将应用程序的私有签名替换为系统签名,并根据替换后的系统签名获取系统权限;确定和所述应用程序关联的其他应用程序,并根据所述解析包名将所述应用程序中的系统签名恢复为私有签名,根据恢复后的所述私有签名进行所述应用程序和所述其他应用程序的数据共享。从而实现了应用程序成功获取系统权限的同时,又能和其他应用程序进行数据共享。
Description
技术领域
本发明涉及通信网络技术领域,尤其涉及一种权限管理方法、装置、设备及计算机可读存储介质。
背景技术
目前,安卓系统的运行权限包括普通权限、危险权限和系统权限,统一由系统进行管控,并且普通权限和危险权限可以被其他应用程序使用,而系统权限是必须系统本身才可以使用,应用程序若需要使用系统的系统权限,则需要与系统使用同一个签名,并需要共享系统用户身份证明,才能使用系统权限,但是使用了系统签名作为应用的身份证明,就会让应用程序失去自身原有的身份标识,而无法恢复过来,导致无法与其他应用程序进行数据共享。因此,如何实现应用程序成功获取系统权限的同时,又能和其他应用程序进行数据共享成为了目前亟待解决的技术问题。
发明内容
本发明的主要目的在于提出一种权限管理方法、装置、设备及计算机可读存储介质,旨在解决如何实现应用程序成功获取系统权限的同时,又能和其他应用程序进行数据共享的技术问题。
为实现上述目的,本发明提供一种权限管理方法,所述权限管理方法包括如下步骤:
当应用程序待获取系统的系统权限时,确定所述应用程序的私有签名和所述系统的系统签名;
对预设的变更签名包名进行解析,以获取解析后的解析包名,检测所述解析包名是否和所述应用程序的应用包名匹配;
若匹配,则将所述应用程序的私有签名替换为所述系统签名,并根据替换后的所述系统签名获取所述系统权限;
确定和所述应用程序关联的其他应用程序,并根据所述解析包名将所述应用程序中的系统签名恢复为私有签名,根据恢复后的所述私有签名进行所述应用程序和所述其他应用程序的数据共享。
可选地,根据恢复后的所述私有签名进行所述应用程序和所述其他应用程序的数据共享的步骤,包括:
确定所述其他应用程序的其他私有签名,并检测所述私有签名是否和所述其他私有签名相同;
若相同,则进行所述应用程序和所述其他应用程序的数据共享。
可选地,检测所述解析包名是否和所述应用程序的应用包名匹配的步骤之前,包括:
确定所述应用程序对应的用户账号,根据所述用户账号对所述应用程序进行签名,以获取私有签名,并创建所述应用程序的包名文件,将所述私有签名存储在所述包名文件,将具有所述私有签名的包名文件对应的包名作为应用包名。
可选地,检测所述解析包名是否和所述应用程序的应用包名匹配的步骤,包括:
检测所述解析包名中是否存在和所述私有签名匹配的匹配签名;
若存在所述匹配签名,则确定所述解析包名和所述应用程序的应用包名匹配;或,
若不存在所述匹配签名,则确定所述解析包名和所述应用程序的应用包名不匹配。
可选地,检测所述解析包名是否和所述应用程序的应用包名匹配的步骤之后,包括:
若所述解析包名和所述应用包名不匹配,则保持所述应用程序的私有签名不变,并停止获取所述系统权限。
可选地,根据替换后的所述系统签名获取所述系统权限的步骤,包括:
根据所述替换后的系统签名向所述系统发送申请系统权限的申请信息,其中,所述系统根据所述申请信息对所述替换后的系统签名进行检测,将所述检测的检测结果反馈给所述应用程序;
所述应用程序接收所述系统反馈的检测结果,并在所述检测结果为允许授权时,获取所述系统权限。
可选地,对预设的变更签名包名进行解析,以获取解析后的解析包名的步骤,包括:
根据预设的PMS对预设的变更签名包名进行读取解析,以得到所述变更签名包名对应的所有签名,并根据所述系统权限检测各所述签名是否被授权;
若各所述签名均未被授权,则确定所述变更签名包名为解析后的解析包名。
此外,为实现上述目的,本发明还提供一种权限管理装置,所述权限管理装置包括:
确定模块,用于当应用程序待获取系统的系统权限时,确定所述应用程序的私有签名和所述系统的系统签名;
检测模块,用于对预设的变更签名包名进行解析,以获取解析后的解析包名,检测所述解析包名是否和所述应用程序的应用包名匹配;
获取模块,用于若匹配,则将所述应用程序的私有签名替换为所述系统签名,并根据替换后的所述系统签名获取所述系统权限;
数据共享模块,用于确定和所述应用程序关联的其他应用程序,并根据所述解析包名将所述应用程序中的系统签名恢复为私有签名,根据恢复后的所述私有签名进行所述应用程序和所述其他应用程序的数据共享。
此外,为实现上述目的,本发明还提供一种权限管理设备,所述权限管理设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的权限管理程序,所述权限管理程序被所述处理器执行时实现如上所述的权限管理方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有权限管理程序,所述权限管理程序被处理器执行时实现如上所述的权限管理方法的步骤。
本发明通过当应用程序待获取系统的系统权限时,确定所述应用程序的私有签名和所述系统的系统签名;对预设的变更签名包名进行解析,以获取解析后的解析包名,检测所述解析包名是否和所述应用程序的应用包名匹配;若匹配,则将所述应用程序的私有签名替换为所述系统签名,并根据替换后的所述系统签名获取所述系统权限;确定和所述应用程序关联的其他应用程序,并根据所述解析包名将所述应用程序中的系统签名恢复为私有签名,根据恢复后的所述私有签名进行所述应用程序和所述其他应用程序的数据共享。通过在应用程序待获取系统权限时,对预设的变更签名包名件解析,以获取解析包名,并在解析包名和应用包名匹配时,将应用程序的私有签名替换为系统签名,以便根据替换后的系统签名或系统权限,再根据解析包名将应用程序中的系统签名恢复为私有签名,根据私有签名进行应用程序和其他应用程序的数据共享,从而避免现有技术中应用程序获取系统权限时需要更换签名,而无法与其他应用程序进行数据共享的现象发生,实现了应用程序成功获取系统权限的同时,又能和其他应用程序进行数据共享。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的权限管理设备结构示意图;
图2为本发明权限管理方法第一实施例的流程示意图;
图3为本发明权限管理装置的装置模块示意图;
图4为本发明权限管理方法中哈希字典表的示意图;
图5为本发明权限管理方法中应用程序为私有签名时申明系统权限的流程示意图;
图6为本发明权限管理方法中获取系统权限的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的权限管理设备结构示意图。
本发明实施例权限管理设备可以是搭载了虚拟化平台的PC机或服务器(如X86服务器)等终端设备。
如图1所示,该权限管理设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及权限管理程序。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的权限管理程序,并执行以下安全组件的权限配置方法实施例中的操作。
基于上述硬件结构,提出本发明权限管理方法实施例,如下所述。
参照图2,图2为本发明权限管理方法第一实施例的流程示意图,所述权限管理方法包括:
步骤S10,当应用程序待获取系统的系统权限时,确定所述应用程序的私有签名和所述系统的系统签名;
在本实施例中,系统可以是安卓系统,应用程序必须签名才能够安装到安卓系统,且应用程序的开发者普遍都使用自己的私有证书签名,即私有签名。并且应用程序的签名是开发者通过签名对应用进行标识和更新。而且应用程序的包名(即应用包名)在设备上是唯一的,能避免被相同包名应用随意覆盖安装。在本实施例中,每个应用程序,系统都会分配属于自己的统一的用户ID(UID,用户账号),并会给各个应用程序创建各自对应的沙箱,以防止影响其他应用程序(或者其他应用程序影响它)。用户账号在应用程序安装到设备中时被分配,并且在这个设备中保持它的永久性。例如,一般应用只能访问自己包名下的文件,不能访问其他包名下的文件,而且其他应用也访问不了自己包名下的文件。sharedUserId(共享UID),拥有共享UID的应用之间就可以共享数据库和文件,相互访问。这些应用可以运行在同一进程,也可以运行不同进程。也就是只有拥有相同sharedUserId,且拥有相同签名的应用才能分配相同的用户ID,实现应用之间的数据共享。
也就是在本实施例中,应用程序和其他应用程序进行数据共享的条件是都拥有同一个UID,而且在本实施例中,在应用程序未获取到系统权限前,应用程序可以与此应用程序关联的其他应用程序进行数据共享。而且由于目前当应用程序需要使用系统权限时,就必须使用系统的系统签名,此时其他应用程序就无法与应用程序继续进行数据共享。例如,如果某公司有10个关联的应用程序,那么10个应用程序就得全部更改签名,而更改签名后,由于签名不一致,导致无法对上一个版本进行升级,也无法在其他机器上进行安装(共享了该系统的签名,就只能再该系统进行安装,这是系统签名公钥和密钥的机制所致)。因此,为了避免上述问题,在本实施例中,是在系统启动时,在System(系统)UID所在的进程中,额外开启一个系统服务,申明新的权限(普通权限或危险权限),从而实现使用普通权限或危险权限调用系统权限,以私有的权限名字为应用程序提供系统权限,无需共享SystemUID,以及使用系统签名,可以实现让应用程序成功获取系统权限的同时,又能和其他应用程序进行数据共享。
因此在本实施例中,当检测到应用程序准确获取系统的系统权限时,需要先确定应用程序的私有签名,如sharedUserId=com.techvision。并确定系统的系统签名,如sharedUserId=android.uid.system。而且在本实施例中,系统权限在系统中是权力非常大的权限,可以和系统的核心服务共享进程,访问系统核心资源。并且获取私有签名可以是在应用程序的应用包名下的文件中获取。同理系统签名可以是在系统的系统包名下的文件中获取。
步骤S20,对预设的变更签名包名进行解析,以获取解析后的解析包名,检测所述解析包名是否和所述应用程序的应用包名匹配;
在本实施例中,当获取到应用程序的私有签名和系统的系统签名后,对私有签名和系统签名进行检测,若私有签名和系统签名不一致,则可以共享一个UID名为System的进程,即如图4所示,确定System(系统)进程的签名sharedUserId=android.uid.system和应用程序的签名sharedUserId=android.uid.system都是系统签名时,就可以让应用程序具有系统权限,并能够和其他应用程序进行数据共享。可以进行系统和应用程序之间的数据共享。也就是为了实现应用程序在私有签名的基础上也能使用系统权限。如图5所示,若应用程序的私有签名是sharedUserId=com.techvision,可以申明普通权限,申明及运行时请求危险权限和申明系统权限。
因此可以先创建一个文件名为:pms_sysapp_grant_permission_list.txt,用于存放需要变更签名的包名,即变更签名包名,并且在该变更签名包名中存放有一个或多个准备进行签名变更的签名,如存放了com.techvision字段等。并在设置好变更签名包后,可以通过PMS(PackageManagerService,包管理服务)读取变更签名包的包名(即变更签名包名),并遍历变更签名包中需要进行变更签名操作的签名集合,判断签名集合中的各个签名是否已完成变更签名操作,也就是确定是否被授权系统权限,若未被授予系统权限,则可以将该变更签名包名作为解析后的解析包名。
并在获取到解析包名后,可以将此解析包名和应用程序的应用包名进行匹配,并根据不同的匹配结果执行不同的操作,也就是判断解析包的所有签名中是否存在和私有签名匹配的匹配签名,若存在匹配签名,则确定应用包名和解析包名匹配。若不存在匹配签名,则确定应用包名和解析包名不匹配。
步骤S30,若匹配,则将所述应用程序的私有签名替换为所述系统签名,并根据替换后的所述系统签名获取所述系统权限;
在本实施例中,当经过判断发现应用程序的应用包名和解析包名匹配时,也就是可以通过PMS对应用程序进行签名替换,将应用程序的私有签名替换为系统签名UID由com.techvision替换为android.uid.system,并在替换完成后,根据替换后的系统签名向系统进行申请,当系统验证系统签名合格后,会返回一个允许授权的反馈信息到应用程序,此时应用程序就具有系统权限,可以根据系统权限执行相应操作。但是若应用程序的应用包名和解析包名不匹配,则确定解析包名中不存在和私有签名匹配的匹配签名,此时需要保存当前签名,即应用程序的私有签名sharedUserId=com.techvision,保持不变,此时应用程序也不具有系统权限。
例如,如图6所示,当应用程序启动时,可以通过PMS加载应用程序中的变更签名包,并对变更签名包所在文件夹进行读取,即读取TXT文件,并将读取到的变更签名包名(即解析包名)和应用包名进行匹配,确定解析包名中是否包含techvision字段,若否,即不包含techvision字段,则保持应用程序的当前签名,ID保持不变,并且此时应用程序也不具有系统权限。若解析包名中包含techvision字段,则可以将应用程序的私有签名替换为系统签名,并将UID由com.techvision替换为android.uid.system,在替换完成后,根据替换后的系统签名向系统进行申请,当系统验证系统签名合格后,会返回一个允许授权的反馈信息到应用程序,此时应用程序就具有系统权限,可以根据系统权限执行相应操作。
步骤S40,确定和所述应用程序关联的其他应用程序,并根据所述解析包名将所述应用程序中的系统签名恢复为私有签名,根据恢复后的所述私有签名进行所述应用程序和所述其他应用程序的数据共享。
在本实施例中,当应用程序具有系统权限,且根据系统权限执行相应操作后,若检测到应用程序还需要和与应用程序关联的其他应用程序进行数据共享时,可以根据解析包名将应用程序中的系统签名恢复为私有签名,即根据PMS继续加载应用程序,将应用程序中的系统签名恢复为原先的私有签名。同时,还需要获取其他应用程序的私有签名,即其他私有签名,并将其他私有签名和私有签名进行比较,确定是否相同,若其他私有签名和私有签名相同,都为sharedUserId=com.techvision,则可以进行应用程序和其他私有程序的数据共享。
在本实施例中,通过当应用程序待获取系统的系统权限时,确定所述应用程序的私有签名和所述系统的系统签名;对预设的变更签名包名进行解析,以获取解析后的解析包名,检测所述解析包名是否和所述应用程序的应用包名匹配;若匹配,则将所述应用程序的私有签名替换为所述系统签名,并根据替换后的所述系统签名获取所述系统权限;确定和所述应用程序关联的其他应用程序,并根据所述解析包名将所述应用程序中的系统签名恢复为私有签名,根据恢复后的所述私有签名进行所述应用程序和所述其他应用程序的数据共享。通过在应用程序待获取系统权限时,对预设的变更签名包名件解析,以获取解析包名,并在解析包名和应用包名匹配时,将应用程序的私有签名替换为系统签名,以便根据替换后的系统签名或系统权限,再根据解析包名将应用程序中的系统签名恢复为私有签名,根据私有签名进行应用程序和其他应用程序的数据共享,从而避免现有技术中应用程序获取系统权限时需要更换签名,而无法与其他应用程序进行数据共享的现象发生,实现了应用程序成功获取系统权限的同时,又能和其他应用程序进行数据共享。
进一步地,基于上述本发明的第一实施例,提出本发明权限管理方法的第二实施例,本实施例中,上述实施例中的步骤S40,根据恢复后的所述私有签名进行所述应用程序和所述其他应用程序的数据共享的步骤的细化,包括:
步骤a,确定所述其他应用程序的其他私有签名,并检测所述私有签名是否和所述其他私有签名相同;
在本实施例中,当应用程序获取到系统权限后,需要和其他应用程序进行数据共享时,可以先获取其他应用的签名即其他私有签名,即可以在其他应用程序的应用包名下的文件中获取签名。并在获取到其他私有签名后,需要将其他私有签名和应用程序的私有签名进行比较,确定是否相同,并根据不同的检测结果执行不同的操作。
步骤b,若相同,则进行所述应用程序和所述其他应用程序的数据共享。
当经过判断发现私有签名和其他私有签名相同时,如私有签名和其他私有签名都为sharedUserId=com.techvision时,可以进行应用程序和其他私有程序的数据共享。若私有签名和其他私有签名不相同,则不能进行应用程序和其他私有程序的数据共享操作,并输出相应的提示信息,以告知用户。
在本实施例中,通过确定其他应用程序的其他私有签名,并在其他私有签名和应用程序的私有签名匹配时,进行应用程序和其他应用程序的数据共享,从而保障了数据共享的有效进行。
进一步地,检测所述解析包名是否和所述应用程序的应用包名匹配的步骤之前,包括:
步骤c,确定所述应用程序对应的用户账号,根据所述用户账号对所述应用程序进行签名,以获取私有签名,并创建所述应用程序的包名文件,将所述私有签名存储在所述包名文件,将具有所述私有签名的包名文件对应的包名作为应用包名。
在本实施例中,在通过PMS对应用程序进行解析前,也就是检测解析包名和应用程序的应用包名是否匹配的步骤之前,需要先确定应用程序的应用包名。即先确定应用程序对应的用户账号,也就是用户ID,并根据此用户ID对应用程序进行签名,即私有签名。并为该应用程序创建一个沙箱,也就是创建一个文件(即包名文件),并将私有签名存储在包名文件中,再将具有私有签名的包名文件的名称(即包名)作为应用包名。
在本实施例中,通过先确定应用程序对应的用户账号,并根据用户账号进行签名,以得到私有签名,将私有签名存储在创建的包名文件中,再将包名文件的包名作为应用包名,从而保障了获取到的应用包名的准确性。
进一步地,检测所述解析包名是否和所述应用程序的应用包名匹配的步骤,包括:
步骤d,检测所述解析包名中是否存在和所述私有签名匹配的匹配签名;
在本实施例中,当准备将解析包名和应用程序的应用包名进行匹配时,可以先获取解析包名中的所有签名,并将所有签名和应用包名中的私有签名进行匹配,以确定是否存在和私有签名匹配的匹配签名。需要说明的是,解析包名中的所有签名都是准备进行签名变更的,并且解析包名中的签名的数量可以是一个也可以是多个。
步骤e,若存在所述匹配签名,则确定所述解析包名和所述应用程序的应用包名匹配;或,
当经过判断发现在解析包名中存在和私有签名匹配的匹配签名时,可以直接确定解析包名和应用程序的应用包名匹配,即解析包名中存在私有签名。
步骤f,若不存在所述匹配签名,则确定所述解析包名和所述应用程序的应用包名不匹配。
当经过判断发现解析包名中不存在和私有签名匹配的匹配签名时,可以直接确定解析包名和应用程序的应用包名不匹配,即解析包名中不存在私有签名。
在本实施例中,通过在确定解析包名中存在和私有起那么匹配的匹配签名时,确定解析包名和应用包名匹配,在确定解析包名中不存在匹配签名时,确定解析包名和应用包名不匹配,从而保障了应用程序获取系统权限的有效进行。
进一步地,检测所述解析包名是否和所述应用程序的应用包名匹配的步骤之后,包括:
步骤h,若所述解析包名和所述应用包名不匹配,则保持所述应用程序的私有签名不变,并停止获取所述系统权限。
当经过判断发现解析包名和应用包名不匹配时,确定解析包名中不存在私有签名,可以保持应用程序中的私有签名不变,也就是私有签名继续为sharedUserId=com.techvision,并停止获取系统权限,即此时应用程序不具有系统权限。
进一步地,根据替换后的所述系统签名获取所述系统权限的步骤,包括:
步骤m,根据所述替换后的系统签名向所述系统发送申请系统权限的申请信息,其中,所述系统根据所述申请信息对所述替换后的系统签名进行检测,将所述检测的检测结果反馈给所述应用程序;
在本实施例中,当应用程序中的私有签名通过PMS替换为系统签名后,可以根据此系统签名向系统发送申请获取系统权限的申请信息,而系统在接收到该申请信息后,会对申请信息中的系统签名进行检测,并将检测的检测结果反馈给应用程序。
步骤n,所述应用程序接收所述系统反馈的检测结果,并在所述检测结果为允许授权时,获取所述系统权限。
应用程序在接收到系统反馈的检测结果后,若发现检测结果为允许授权时,则可以确定应用程序可以使用系统权限,可以获取系统中的系统权限。若发现检测结果为不允许授权,则确定应用程序无法使用系统权限。
在本实施例中,通过根据替换后的系统签名向系统发送申请系统权限的申请信息,并在系统反馈的检测结果为允许授权时,获取系统权限,从而保障了应用程序有效地获取到系统权限。
进一步地,对预设的变更签名包名进行解析,以获取解析后的解析包名的步骤,包括:
步骤x,根据预设的PMS对预设的变更签名包名进行读取解析,以得到所述变更签名包名对应的所有签名,并根据所述系统权限检测各所述签名是否被授权;
步骤y,若各所述签名均未被授权,则确定所述变更签名包名为解析后的解析包名。
在本实施例中,可以通过PMS(PackageManagerService,包管理服务)读取变更签名包的包名(即变更签名包名),并遍历变更签名包中需要进行变更签名操作的签名集合,判断签名集合中的各个签名是否已完成变更签名操作,也就是确定是否被授权系统权限,若未被授予系统权限,则可以将该变更签名包名作为解析后的解析包名。
在本实施例中,通过根据PMS对变更签名包名进行读取解析,得到所有签名,根据系统权限确定各个签名未被授权时,确定变更签名包名为解析后的解析包名,从而保障了获取到的解析包名的准确性。
参照图3,本发明还提供一种权限管理装置,本实施例中,所述权限管理装置包括:
确定模块A10,用于当应用程序待获取系统的系统权限时,确定所述应用程序的私有签名和所述系统的系统签名;
检测模块A20,用于对预设的变更签名包名进行解析,以获取解析后的解析包名,检测所述解析包名是否和所述应用程序的应用包名匹配;
获取模块A30,用于若匹配,则将所述应用程序的私有签名替换为所述系统签名,并根据替换后的所述系统签名获取所述系统权限;
数据共享模块A40,用于确定和所述应用程序关联的其他应用程序,并根据所述解析包名将所述应用程序中的系统签名恢复为私有签名,根据恢复后的所述私有签名进行所述应用程序和所述其他应用程序的数据共享。
可选地,数据共享模块A40,用于:
确定所述其他应用程序的其他私有签名,并检测所述私有签名是否和所述其他私有签名相同;
若相同,则进行所述应用程序和所述其他应用程序的数据共享。
可选地,检测模块A20,用于:
确定所述应用程序对应的用户账号,根据所述用户账号对所述应用程序进行签名,以获取私有签名,并创建所述应用程序的包名文件,将所述私有签名存储在所述包名文件,将具有所述私有签名的包名文件对应的包名作为应用包名。
可选地,检测模块A20,用于:
检测所述解析包名中是否存在和所述私有签名匹配的匹配签名;
若存在所述匹配签名,则确定所述解析包名和所述应用程序的应用包名匹配;或,
若不存在所述匹配签名,则确定所述解析包名和所述应用程序的应用包名不匹配。
可选地,检测模块A20,用于:
若所述解析包名和所述应用包名不匹配,则保持所述应用程序的私有签名不变,并停止获取所述系统权限。
可选地,获取模块A30,用于:
根据所述替换后的系统签名向所述系统发送申请系统权限的申请信息,其中,所述系统根据所述申请信息对所述替换后的系统签名进行检测,将所述检测的检测结果反馈给所述应用程序;
所述应用程序接收所述系统反馈的检测结果,并在所述检测结果为允许授权时,获取所述系统权限。
可选地,检测模块A20,用于:
根据预设的PMS对预设的变更签名包名进行读取解析,以得到所述变更签名包名对应的所有签名,并根据所述系统权限检测各所述签名是否被授权;
若各所述签名均未被授权,则确定所述变更签名包名为解析后的解析包名。
上述各功能模块实现的方法可参照本发明权限管理方法实施例,此处不再赘述。
本发明还提供一种权限管理设备,所述权限管理设备包括:存储器、处理器、通信总线以及存储在所述存储器上的权限管理程序:
所述通信总线用于实现处理器和存储器之间的连接通信;
所述处理器用于执行所述权限管理程序,以实现上述权限管理方法各实施例的步骤。
本发明还提供一种计算机可读存储介质。
本发明计算机可读存储介质上存储有权限管理程序,所述权限管理程序被处理器执行时实现如上所述的权限管理方法的步骤。
其中,在所述处理器上运行的权限管理程序被执行时所实现的方法可参照本发明权限管理方法各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种权限管理方法,其特征在于,所述权限管理方法包括如下步骤:
当应用程序待获取系统的系统权限时,确定所述应用程序的私有签名和所述系统的系统签名;
对预设的变更签名包名进行解析,以获取解析后的解析包名,检测所述解析包名是否和所述应用程序的应用包名匹配;
若匹配,则将所述应用程序的私有签名替换为所述系统签名,并根据替换后的所述系统签名获取所述系统权限;
确定和所述应用程序关联的其他应用程序,并根据所述解析包名将所述应用程序中的系统签名恢复为私有签名,根据恢复后的所述私有签名进行所述应用程序和所述其他应用程序的数据共享。
2.如权利要求1所述的权限管理方法,其特征在于,所述根据恢复后的所述私有签名进行所述应用程序和所述其他应用程序的数据共享的步骤,包括:
确定所述其他应用程序的其他私有签名,并检测所述私有签名是否和所述其他私有签名相同;
若相同,则进行所述应用程序和所述其他应用程序的数据共享。
3.如权利要求1所述的权限管理方法,其特征在于,所述检测所述解析包名是否和所述应用程序的应用包名匹配的步骤之前,包括:
确定所述应用程序对应的用户账号,根据所述用户账号对所述应用程序进行签名,以获取私有签名,并创建所述应用程序的包名文件,将所述私有签名存储在所述包名文件,将具有所述私有签名的包名文件对应的包名作为应用包名。
4.如权利要求1所述的权限管理方法,其特征在于,所述检测所述解析包名是否和所述应用程序的应用包名匹配的步骤,包括:
检测所述解析包名中是否存在和所述私有签名匹配的匹配签名;
若存在所述匹配签名,则确定所述解析包名和所述应用程序的应用包名匹配;或,
若不存在所述匹配签名,则确定所述解析包名和所述应用程序的应用包名不匹配。
5.如权利要求1所述的权限管理方法,其特征在于,所述检测所述解析包名是否和所述应用程序的应用包名匹配的步骤之后,包括:
若所述解析包名和所述应用包名不匹配,则保持所述应用程序的私有签名不变,并停止获取所述系统权限。
6.如权利要求1所述的权限管理方法,其特征在于,所述根据替换后的所述系统签名获取所述系统权限的步骤,包括:
根据所述替换后的系统签名向所述系统发送申请系统权限的申请信息,其中,所述系统根据所述申请信息对所述替换后的系统签名进行检测,将所述检测的检测结果反馈给所述应用程序;
所述应用程序接收所述系统反馈的检测结果,并在所述检测结果为允许授权时,获取所述系统权限。
7.如权利要求1-6任一项所述的权限管理方法,其特征在于,所述对预设的变更签名包名进行解析,以获取解析后的解析包名的步骤,包括:
根据预设的PMS对预设的变更签名包名进行读取解析,以得到所述变更签名包名对应的所有签名,并根据所述系统权限检测各所述签名是否被授权;
若各所述签名均未被授权,则确定所述变更签名包名为解析后的解析包名。
8.一种权限管理装置,其特征在于,所述权限管理装置包括:
确定模块,用于当应用程序待获取系统的系统权限时,确定所述应用程序的私有签名和所述系统的系统签名;
检测模块,用于对预设的变更签名包名进行解析,以获取解析后的解析包名,检测所述解析包名是否和所述应用程序的应用包名匹配;
获取模块,用于若匹配,则将所述应用程序的私有签名替换为所述系统签名,并根据替换后的所述系统签名获取所述系统权限;
数据共享模块,用于确定和所述应用程序关联的其他应用程序,并根据所述解析包名将所述应用程序中的系统签名恢复为私有签名,根据恢复后的所述私有签名进行所述应用程序和所述其他应用程序的数据共享。
9.一种权限管理设备,其特征在于,所述权限管理设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的权限管理程序,所述权限管理程序被所述处理器执行时实现如权利要求1至7中任一项所述的权限管理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有权限管理程序,所述权限管理程序被处理器执行时实现如权利要求1至7中任一项所述的权限管理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011368372.1A CN112364340B (zh) | 2020-11-27 | 2020-11-27 | 权限管理方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011368372.1A CN112364340B (zh) | 2020-11-27 | 2020-11-27 | 权限管理方法、装置、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112364340A true CN112364340A (zh) | 2021-02-12 |
CN112364340B CN112364340B (zh) | 2022-06-28 |
Family
ID=74535617
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011368372.1A Active CN112364340B (zh) | 2020-11-27 | 2020-11-27 | 权限管理方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112364340B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117077090A (zh) * | 2023-10-16 | 2023-11-17 | 武汉星纪魅族科技有限公司 | 应用签名方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050240437A1 (en) * | 2004-04-05 | 2005-10-27 | Cunningham Robert H | Information retrieval system and method thereof |
CN103530534A (zh) * | 2013-09-23 | 2014-01-22 | 北京理工大学 | 一种基于签名验证的Android程序ROOT授权方法 |
US20160044049A1 (en) * | 2014-08-11 | 2016-02-11 | Indiana University Research And Technology Corporation | Detection of pileup vulnerabilities in mobile operating systems |
CN107562501A (zh) * | 2017-09-05 | 2018-01-09 | 艾牛(北京)科技有限公司 | 一种智能设备管控方法及系统 |
CN108268284A (zh) * | 2017-01-03 | 2018-07-10 | 三星Sds株式会社 | 应用程序转换装置及方法 |
CN111382425A (zh) * | 2018-12-29 | 2020-07-07 | 深圳Tcl新技术有限公司 | 多签名机制下的应用安装管理方法、智能终端及存储介质 |
-
2020
- 2020-11-27 CN CN202011368372.1A patent/CN112364340B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050240437A1 (en) * | 2004-04-05 | 2005-10-27 | Cunningham Robert H | Information retrieval system and method thereof |
CN103530534A (zh) * | 2013-09-23 | 2014-01-22 | 北京理工大学 | 一种基于签名验证的Android程序ROOT授权方法 |
US20160044049A1 (en) * | 2014-08-11 | 2016-02-11 | Indiana University Research And Technology Corporation | Detection of pileup vulnerabilities in mobile operating systems |
CN108268284A (zh) * | 2017-01-03 | 2018-07-10 | 三星Sds株式会社 | 应用程序转换装置及方法 |
CN107562501A (zh) * | 2017-09-05 | 2018-01-09 | 艾牛(北京)科技有限公司 | 一种智能设备管控方法及系统 |
CN111382425A (zh) * | 2018-12-29 | 2020-07-07 | 深圳Tcl新技术有限公司 | 多签名机制下的应用安装管理方法、智能终端及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117077090A (zh) * | 2023-10-16 | 2023-11-17 | 武汉星纪魅族科技有限公司 | 应用签名方法、装置、设备及存储介质 |
CN117077090B (zh) * | 2023-10-16 | 2024-01-23 | 武汉星纪魅族科技有限公司 | 应用签名方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112364340B (zh) | 2022-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2923740C (en) | Software code signing system and method | |
CN106897609B (zh) | 一种对动态加载的应用程序进行监控的方法及装置 | |
US20130062401A1 (en) | Pervasive Package Identifiers | |
CN110333868B (zh) | 用于生成子应用的安装包的方法和系统 | |
EP3163489B1 (en) | Token-based control of software installation and operation | |
CN102034058B (zh) | 应用软件安全控制方法及终端 | |
CN110708335A (zh) | 访问认证方法、装置及终端设备 | |
CA2951914C (en) | Restricted code signing | |
US7328340B2 (en) | Methods and apparatus to provide secure firmware storage and service access | |
CN111159595A (zh) | 页面加载方法、系统、计算机设备和计算机可读存储介质 | |
CN110708310B (zh) | 租户级权限管理方法、装置及设备 | |
CN111966422A (zh) | 一种本地化插件服务方法、装置、电子设备及存储介质 | |
CN112364340B (zh) | 权限管理方法、装置、设备及计算机可读存储介质 | |
CN109992298B (zh) | 审批平台扩充方法、装置、审批平台及可读存储介质 | |
CN108628620B (zh) | Pos应用开发的实现方法、装置、计算机设备和存储介质 | |
CN115509556A (zh) | 一种应用管理方法、装置、设备及介质 | |
CN115935328A (zh) | 资源访问控制方法、装置、设备及存储介质 | |
CN114237633A (zh) | 应用配置方法、装置、设备及存储介质 | |
CN114338060A (zh) | 一种权限校验方法、装置、系统、设备及存储介质 | |
CN112134705A (zh) | 数据鉴权的方法及装置、存储介质和电子装置 | |
KR101616702B1 (ko) | 코드사인을 이용한 소프트웨어 관리방법 | |
CN111597570B (zh) | 应用程序加固方法、装置、设备和存储介质 | |
CN114996711A (zh) | Go语言二进制文件加固方法、装置、设备及存储介质 | |
CN113190861A (zh) | SonarQube项目操作权限配置方法及装置 | |
EP3143749B1 (en) | Restricted code signing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |