CN104424423B - 应用程序的权限确定方法和装置 - Google Patents

应用程序的权限确定方法和装置 Download PDF

Info

Publication number
CN104424423B
CN104424423B CN201310382219.8A CN201310382219A CN104424423B CN 104424423 B CN104424423 B CN 104424423B CN 201310382219 A CN201310382219 A CN 201310382219A CN 104424423 B CN104424423 B CN 104424423B
Authority
CN
China
Prior art keywords
application
permission
determining
authority
user identifier
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.)
Active
Application number
CN201310382219.8A
Other languages
English (en)
Other versions
CN104424423A (zh
Inventor
黄曦
吴黄伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Device Co Ltd
Original Assignee
Huawei Device Dongguan Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Device Dongguan Co Ltd filed Critical Huawei Device Dongguan Co Ltd
Priority to CN201310382219.8A priority Critical patent/CN104424423B/zh
Priority to EP14840964.2A priority patent/EP2993603B1/en
Priority to PCT/CN2014/084797 priority patent/WO2015027846A1/zh
Publication of CN104424423A publication Critical patent/CN104424423A/zh
Priority to US14/966,350 priority patent/US9971908B2/en
Application granted granted Critical
Publication of CN104424423B publication Critical patent/CN104424423B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2145Inheriting rights or properties, e.g., propagation of permissions or restrictions within a hierarchy

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Automation & Control Theory (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例提供一种应用程序的权限确定方法和装置。本发明应用程序的权限确定方法,包括:接收第一应用的安装请求,安装请求中携带第一应用的申请的第一权限列表和第一应用请求的第一共享用户标识,根据第一共享用户标识查找系统中已安装的使用第一共享用户标识的至少一个第二应用,若第一应用为系统中已安装的第二应用的插件,则根据第一应用的申请的第一权限列表和第一共享用户标识对应的第二权限列表中的权限,确定第一应用的权限。本发明实施例让应用无法通过增加插件来增加应用的权限,降低了系统风险,提高了系统的安全性。

Description

应用程序的权限确定方法和装置
技术领域
本发明实施例涉及信息技术领域,尤其涉及一种应用程序的权限确定方法和装置。
背景技术
安卓(Android)系统正在成为全球最受欢迎的应用平台之一。Android平台的开发性是其众多优势之一,开发的平台允许任何移动终端厂商加入到Android应用开发中来。显著的开放性可以使其拥有更多的开发者,随着用户和应用的日益丰富,Android平台的应用特别丰富。这些不同的应用能够满足不同用户的各种需求,给了用户更多的体验。
Android操作系统有一套共享用户标识(sharedUserId)的机制,在安装应用安装包.apk文件到系统之后,该应用会在后台下载应用插件,并提示用户安装下载的应用插件,若用户选择安装插件并且应用插件要求共享用户标识,则会判断系统当前packages.xml文件中如果已记录的相同的sharedUserId,则会提取系统已有的sharedUserId对应的签名证书信息,并且签名证书信息一致时,则允许待安装应用与已安装使用同一个sharedUserId,并将待安装应用的所申请的所有权限提取出来,添加到shareduserId的权限列表中,就可以与已安装的应用共用一个sharedUserId,从而达到与已安装应用共享权限的目的,原应用同时也具有新应用的所有权限。
新安装的应用与已安装的应用共享sharedUserId时,若用户选择安装,则在先安装的应用会拥有新安装应用所拥有的所有权限,而Android系统中,应用可以通过申请相应的权限来访问用户的通讯录,短信,照片等信息,用户在安装了新的应用后,无法知晓新安装应用给已安装应用新增权限带来的风险,安全性低。
发明内容
本发明实施例提供一种应用程序的权限确定方法和装置,使的应用无法通过增加插件来增加应用的权限,降低了系统风险。
本发明实施例第一方面提供一种应用程序的权限确定方法,包括:
接收第一应用的安装请求,所述安装请求中携带第一应用申请的第一权限列表和所述第一应用请求的第一共享用户标识;
根据所述第一共享用户标识查找系统中已安装的使用所述第一共享用户标识的至少一个第二应用;
若所述第一应用为系统中已安装的所述第二应用的插件,则根据所述第一应用的申请的所述第一权限列表和所述第一共享用户标识对应的第二权限列表中的权限,确定所述第一应用的权限。
在第一方面的第一种可能的实施方式中,所述根据所述第一应用的申请的所述第一权限列表和所述第一共享用户标识对应的第二权限列表中的权限,确定所述第一应用的权限,具体包括:
将系统中所述第二权限列表中的所有权限确定为所述第一应用的权限;或者,
将所述第一权限列表中存在于所述第二权限列表中的权限确定为所述第一应用的权限;或者,
将所述第一权限列表中的所有权限确定为所述第一应用的权限。
结合第一方面的第一种可能的实施方式,在第一方面的第二种可能的实现方式中,根据所述第一应用的申请的所述第一权限列表和所述第一共享用户标识对应的第二权限列表中的权限,确定所述第一应用的权限,确定所述第一应用的权限之后,还包括:
将所述第一应用的信息添加至系统安装文件中,并将所述第一共享用户标识添加至所述第一应用的信息中。
结合第一方面,在第一方面的第三种可能的实施方式中,所述根据所述第一共享用户标识查找系统中已安装的使用所述第一共享用户标识的第二应用之后,还包括:
若所述第一应用不是所述第二应用的插件,或者所述第一应用的来源不是官方市场;
为所述第一应用分配第二共享用户标识,将所述第一应用的申请权限确定为所述第一应用的权限。
结合第一方面的第三种可能的实施方式,在第一方面的第四种可能的实施方式中,所述为所述第一应用分配所述第二共享用户标识,将所述第一应用的申请权限确定为所述第一应用的权限之后,还包括:
在系统安装文件中设置标签信息,标签信息用于指示所述第一应用不采用所述第一共享用户标识。
结合第一方面的第三、第四种可能的实施方式,在第一方面的第五种可能的实施方式中,所述为所述第一应用分配所述第二共享用户标识,将所述第一应用的申请权限确定为所述第一应用的权限之后,还包括:将所述第一应用的信息添加至系统安装文件中。
结合第一方面的第一、二、三、四和五种可能的实施方式中的任一实施方式,在第一方面的第六种可能的实施方式中,所述根据所述第一应用的申请的所述第一权限列表和所述第一共享用户标识对应的第二权限列表中的权限,确定所述第一应用的权限之前,还包括:
确定所述第一应用与所述第二应用的签名证书相同;
本发明实施例的第二个方面提供了一种应用程序的权限确定装置,包括:接收模块,用于接收第一应用的安装请求,所述安装请求中携带第一应用申请的第一权限列表和所述第一应用请求的第一共享用户标识;
查找模块,用于根据所述第一共享用户标识查找系统中已安装的使用所述第一共享用户标识的至少一个第二应用;
处理模块,用于若所述第一应用为系统中已安装的所述第二应用的插件,则根据所述第一应用的申请的所述第一权限列表和所述第一共享用户标识对应的第二权限列表中的权限,确定所述第一应用的权限。
在第二方面的第一种可能的实施方式中,所述处理模块具体用于:
将所述第二权限列表中的所有权限确定为所述第一应用的权限;或者,
将所述第一权限列表中存在于所述第二权限列表中的权限确定为所述第一应用的权限;或者,
将所述第一权限列表中的所有权限确定为所述第一应用的权限。
结合第二方面的第一种可能的实施方式,在第二方面的第二种可能的实现方式中,所述处理模块还用于:
将所述第一应用的信息添加至系统安装文件中,并将所述第一共享用户标识添加至所述第一应用的信息中。
结合第二方面,在第二方面的第三种可能的实施方式中,在判断所述第一应用是否为系统中已安装的所述第二应用的插件之后,所述处理模块还用于:
若所述第一应用不是所述第二应用的插件,或者所述第一应用的来源不是官方市场;
为所述第一应用分配第二共享用户标识,将所述第一应用的申请权限确定为所述第一应用的权限。
结合第二方面的第三种可能的实施方式,在第二方面的第四种可能的实施方式中,在所述为所述第一应用分配所述第二共享用户标识,将所述第一应用的申请权限确定为所述第一应用的权限之后,所述处理模块还用于:
在系统安装文件中设置标签信息,标签信息用于指示所述第一应用不采用所述第一共享用户标识。
结合第二方面的第三、第四种可能的实施方式,在第二方面的第五种可能的实施方式中,在所述为所述第一应用分配所述第二共享用户标识,将所述第一应用的申请权限确定为所述第一应用的权限之后,所述处理模块还用于:将所述第一应用的信息添加至系统安装文件中。
结合第二方面的第一、二、三、四和五种可能的实施方式中的任一实施方式,在第二方面的第六种可能的实施方式中,所述根据所述第一应用的申请的所述第一权限列表和所述第一共享用户标识对应的第二权限列表中的权限,确定所述第一应用的权限之前还用于:确定所述第一应用与所述第二应用的签名证书相同。
本发明实施例的第三个方面提供了一种应用程序的权限确定装置,包括:存储器和处理器,所述存储器与所述处理器通信,所述存储器中存储程序代码,且所述处理器用于调用所述存储器中存储的程序代码,执行第一方面的第一到五种可能的实施方式中的任一种所述的方法。
本发明实施例应用程序的权限确定方法和装置,对于已安装的应用的应用插件安装请求,根据该应用插件申请的权限和已安装的应用的共享用户标识对应的权限列表来确定该应用插件的权限。从而提高系统的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明应用程序的权限确定方法实施例一的流程图;
图2为本发明应用程序的权限确定方法实施例二的流程图;
图3为本发明应用程序的权限确定方法实施例三的流程图;
图4为本发明应用程序的权限确定装置实施例的结构示意图;
图5为本发明应用程序的权限确定装置又一实施例的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明应用程序的权限确定方法实施例一的流程图,如图1所示,本发明实施例提供的应用程序的权限确定方法,可以适用于各种用户设备,例如:手机,PC机,平板电脑(PAD)等。方法实施例的执行主体是上述终端设备中具有处理功能的模块或单元,例如:中央处理单元(CPU)等。本实施例的方法可以包括:
步骤101、接收第一应用的安装请求。
其中,第一应用的安装请求中携带第一应用申请的第一权限列表和第一共享用户标识;
步骤102、根据第一共享用户标识查找系统中已安装的使用第一共享用户标识的至少一个第二应用。
本发明实施例适用于各种操作系统,例如:微软操作系统,安卓(Android)操作系统等各种类型的操作系统。其中涉及的权限通常可以是指各种访问权限,例如:访问用户的通讯录,短信,照片等操作。如果两个或两个以上的应用使用同样的共享用户标识(sharedUserId),则这些应用所具有的权限也共享。
其中,第二应用是指系统中已安装的应用,上述第二应用在安装到系统之后,会下载第二应用的各种插件,并提示用户安装。系统提示的第一应用的安装请求中携带第一应用的申请权限。
由于某一应用与该应用的插件具有相同的共享标识(shareUerId),因此,可以根据第一应用的第一共享用户标识(shareUerId),查找出至少一个系统中已记录的使用第一共享用户标识的应用,也就是第二应用,第二应用可以是一个,也可以是多个应用。
具体的,对应系统中已安装的第二应用,可以通过查找packages.xml文件中与第一应用的共享标识相同的应用,即为第二应用。需要说明的是,第一应用的安装包.apk(android package)文件中可以包括应用的资源文件,数据,配置文件,执行文件,签名信息,签名时使用的证书的信息等内容。以下以安卓系统的.apk文件为例进行说明,.apk文件的具体如下:
S.Apk
--res(资源文件)
--META-INF(签名信息及签名时使用的证书文件目录)
----Manifest.xml(哈希表)
----CERT.SF(对Manifest中哈希值的哈希)
----CERT.RSA(签名后的哈希值以及签名时使用的证书的信息)
--lib(库文件目录)
--assets(经过编译的资源文件目录)
--classes.dex(应用的可执行文件)
--AndroidManifest.xml(应用的清单文件)
以上目录结构只是一个实例,具体实现时,某些apk可能不具有上述目录中的某个或某些文件或目录;
Android操作系统中,应用需要使用的权限要在应用安装包中的AndroidManifest.xml文件中声明,如下所示:
<uses-permission android:name=”SEND_SMS”/>
上面的声明表示应用申请使用发送短信的权限;
应用的sharedUserId也在上述文件中声明,如下所示:
<manifest xmlns:android=”http://schemas.android.com/apk/res/android
Package=”com.test.activitynew”
android:versionCode=”2”
android:versionName=”2.0”
android:shareUserId=”com.test.activity”>
上面sharedUserId=“com.test.activity”就表示该应用的sharedUserId是com.test.activity。
其中,配置文件可以包括应用的名称,应用所需要申请的权限等,签名时使用的证书的信息包括证书的公钥,证书的索引,证书的所有者信息,以及证书的加密算法等。
可选的,安装过程中,系统还可以扫描解析应用的信息,判断第一应用是否来源于官方市场。
步骤103、若第一应用为系统中已安装的第二应用的插件,则根据第一应用的申请的第一权限列表和第一共享用户标识对应的第二权限列表中的权限,确定第一应用的权限。
作为一种可行的实施方式,可以将将第二权限列表中的所有权限确定为第一应用的权限。
作为另一种可行的实施方式,还可以将将第一权限列表中存在于第二权限列表中的权限确定为第一应用的权限。
作为再一种可行的实施方式,还可以在用户同意,或系统确认无风险的情况下,将第一权限列表中的所有权限确定为第一应用的权限。
本发明实施例应用程序的权限确定方法和装置,对于已安装的应用的应用插件安装请求,根据该应用插件申请的权限和已安装的应用的共享用户标识对应的权限列表来确定该应用插件的权限。从而提高系统的安全性。
下面采用具体的实施例,对图1所示方法实施例的技术方案进行详细说明。假设系统已安装了第二应用X,第二应用X的第一共享用户标识com.app.X对应的权限列表中包括权限a1、a2、a3、a4。第二应用X安装后在系统后台下载插件,即第一应用Y,第一应用Y申请的权限为a2、a3、a4、a5。可以判断Y是否来源于官方市场,若是,再可以进一步判断Y是否是X的插件,若是,则可以将系统中com.app.X对应的权限列表中的所有权限a1、a2、a3、a4确定为Y的权限;或者,还可以将第一应用的申请权限中存在于权限列表中的权限a2、a3、a4确定为Y的权限,又或者,可以在用户同意或系统确认无风险的情况下,将权限a2、a3、a4、a5确定为Y的权限。若判断Y不是来源于官方市场或者不是X的插件,则可以为Y重新分配一个第二共享用户标识,将只授予应用Y要求的权限a2、a3、a4、a5。
图2为本发明应用程序的权限确定方法实施例二的流程图,如图2所示,在图1所示实施例的基础上,本实施例提供了应用程序的权限确定方法以及插件安装的详细过程。本实施例的方法可以包括:
步骤201、安装第二应用。
在安卓(Android)平台上安装文件的后缀名一般为“.apk”(也有应用软件是rar或者zip格式的,需要解压之后再安装),安卓平台应用常用的安装方法一共有三种,具体地:1)、使用安卓(Android)系统的Market或者也叫电子市场中下载安装;2)、若用户的设备中已有“APK安装器”,可直接通过“APK安装器”选择相关应用安装包,进行安装。若用户的设备中无APK安装器,可选择下载软件安装器;3)、通过USB连接在电脑上安装应用。
首先,用户根据需求选择合适的安装方式在系统中安装第二应用。
步骤202、第二应用使用网络下载第一应用,并请求安装第一应用。
用户在应用运行第二应用时,第二应用在后台下载第一应用,并请求安装第一应用,第一应用的安装请求中携带第一应用的申请权限。
步骤203、根据第一应用的信息中的第一共享用户标识查找系统中的已经使用此第一共享用户标识的至少一个第二应用。
步骤204、判断第一应用的来源是否为官方市场。
其中判断第一应用是否为官方市场,通常有如下几种方式:1)、检查第一应用的关于(about),找到官方市场的网站,下载安装文件*.apk,通过搜索引擎,搜索到官方市场网站,进行对比;2)、通过应用助手获取到第一应用的软件名称,应用包名,软件版本,文件大小,软件权限等应用信息,确定是否来源于官方市场;3)、对比从官网上下载的应用*.apk和通过网络下载的第一应用的应用属性是否一致,从而确定第一应用是否来源于官方网站。(4)、将第一应用的签名信息及安装包中文件的哈希值传送到应用服务器(可以是GooglePlay,也可以是第三方服务器)进行签名和哈希值对比;
步骤205、判断第一应用是否为第二应用的插件。
判断第一应用是否为第二应用插件通常有以下几种判断方法:1)、检测配置文件中是否声明第一应用为插件;2)、检查第一应用是否会生成应用图标等。通过这样的方式可以判断第一应用是否为插件;3)检查第一应用配置文件中是否有声明了<categoryandroid:name="android.intent.category.LAUNCHER"/>的activity。
步骤206、确定第一应用的权限。
本实施例中有两种方式可通过系统确定授予第一应用权限,具体的步骤205还包括两个具体的步骤,如下:
步骤11、将系统中第一共享用户标识对应的权限列表中的所有权限确定为第一应用的权限;
步骤12、将第一应用的申请权限中存在于第一共享用户标识对应的权限列表中的权限确定为第一应用的权限。
步骤207、安装第一应用,将第一应用的信息添加至系统安装文件中,并将第一共享用户标识添加至第一应用的信息中。
系统安装文件为像packages.xml,package.list等安装信息记录文件。
步骤208、第一应用非官方市场和或非第二应用的插件时,确定权限。
在步骤203、204判断第一应用并非来源于官方市场,或者不是第二应用的插件,用户安装第一应用的处理办法,具体的,还包括如下步骤:
步骤20、系统为第一应用分配唯一的第二用户标识,将第一应用的申请权限确定为第一应用的权限;
步骤21、在系统安装文件中设置标签信息,标签信息用于指示第一应用不采用第一共享用户标识;
步骤22、将第一应用的信息添加至系统安装文件中。
根据图2中的步骤,假设某安卓(Android)系统中安装了第二应用A,第二应用A的第一用户共享标识com.app.A对应的权限为P1、P2,如下所示:
<packagename=”com.huawei.android.remotecontrol”
codePath=”/system/app/PhoneFinder.apk”
nativeLibraryPath=”/data/data/com.huawei.android.remotecontrol/lib”flags=”1”
ft=”137c481adb0”it=”137c481adb0”ut=”137c481adb0”version=”2206”
sharedUserId=”1001”>
安装第二应用A,第二应用A在系统后台下载第一应用B,应用B申请权限P2、P3、P4,并且请求安装第二应用B;
系统响应第二应用A安装第一应用B的请求,启动系统安装器安装第一应用B,首先检测第一应用B的来源是否为官方市场。具体的,将第一应用B的应用签名证书和包名等信息上传到官方市场进行检查对比,若检查通过,则是官方市场的应用,否则,不是;
若第一应用是来源于官方市场,可以进一步判断第一应用B是否为第二应用A的插件,具体的判断方法可以是:
安装时要求第一应用在配置文件中声明是否为插件,声明的格式可以为如下:
<app-plug android:name=”true”>
<parent-app android:name=”parent_app_name”/>
</app-plug>
当检测到有app-plug标签且标签属性值为true时,则可以判定该第一应用为一个插件;否则,不是插件。
另外,还可以通过检查第一应用B是否会生成对应的应用图标,即根据其是否可以独立运行来判断其是否为一个插件;检查第一应用B是否会生成应用图标的方法可以是,检查是否有activity设置了
<category android:name="android.intent.category.LAUNCHER"/>的属性。
若有activity设置了此属性,则说明会生成应用图标,否则,不会生成。如果第一应用B能够生成对应的应用图标,第一应用B不是第二应用A的插件,否则第一应用B为第二应用A的插件。
若第一应用B为第二应用A的插件,系统具体有三种确定第一应用B的权限的方式:1)、忽略第一应用B申请的新的权限,只授予第一应用B系统中记录的对应的sharedUserId的权限列表中的权限。即只授予第一应用B权限P1、P2。2)、根据第一应用B新申请的权限,授予第一应用B所申请的权限中sharedUserId的权限列表中已有的权限。即授予第一应用B权限P2。3)、在用户同意或系统确定无风险时,将第一应用B所申请的权限授予第一应用B,即授予权限P2、P3、P4。
可选的,在判断第一应用B是第二应用A的插件后,系统也可将上述两种处理方案显示给用户,由用户自己选择使用哪种处理方式,告知用户的方法可以为,弹出对话框,显示两种处理方式,提示用户选择。
确定权限后,安装第一应用B,记录第一应用B的相关信息,并将对应sharedUserId添加到应用B的记录中,如下:
<SharedUserId android:name=”com.app.A”/>
若判断第一应用B不是来源于官方市场,或者第一应用B不是第二应用A的一个插件,将对第一应用B做如下处理:1)、提取和处理应用安装包中的信息,忽略sharedUserId信息,为第一应用B分配一个唯一的UserId;2)、安装第一应用B,在系统安装完成并记录第一应用B信息时,在packages.xml文件中增加标签,标记第一应用B为被排除的sharedUserId应用,如下:
<disable-shareduid-app android:name=“app_B”/>
在系统启动时,当扫描到第一应用B的安装包中有sharedUserId信息时,一旦packages.xml文件中有此标签记录,就会忽略此sharedUserId信息,并且不会将第一应用B添加到sharedUserId为com.app.A的记录中,第一应用B不会获得com.app.A权限列表中的权限。
最后将第一应用B的信息记录到packages.xml文件中,完成应用安装。
本发明实施例应用程序的权限确定方法和装置,对于已安装的应用的应用插件安装请求,根据该应用插件申请的权限和已安装的应用的共享用户标识对应的权限列表来确定该应用插件的权限。让用户知晓新应用的安装风险,从而提高系统的安全性。
图3为本发明应用程序的权限确定方法实施例三的流程图。如图3所示,本实施例与图2所示实施例的区别在于本实施例中提醒用户,安装第一应用会增加风险,由用户选择是否安装第一应用。本实施例的方法可以包括:
步骤301、安装第二应用,记录第二应用的相关信息。
本实施例中假设第二应用为A,第一应用为B。相关信息具体包括但不限于:第二应用A的名称,第二应用A的sharedUserId,第二应用A的权限信息等;假定第二应用A的sharedUserId信息为
<sharedUerId android:name=”com.app.A”>
权限信息为:
<perm>
<item android:name=”android:permission.P1”/>
<item android:name=”android:permission.P2”/>
</perm>
若第二应用A包含sharedUserId信息,则将sharedUserId信息添加到系统记录文件packages.xml中,包括sharedUserId的权限列表信息。
步骤302、第二应用使用网络下载第一应用,并请求安装第一应用。
其中,第一应用B的信息包括但不限于:第一应用B的名称,第一应用B的sharedUserId信息,第一应用B的权限信息。信息记录形式参考步骤301中第二应用A的信息记录形式。
根据第一应用B的shareUerId信息以及系统记录的sharedUserId信息,判断第一应用B是否与系统其它应用共享相同的sharedUserId;
步骤303、提取sharedUserId权限列表中的所有权限。
提取新增权限的方法举例如下:
系统packages.xml中记录的sharedUserId权限列表为:
<perm>
<item android:name=”android:permission.P1”/>
<item android:name=”android:permission.P2”/>
</perm>
步骤304、对比第一应用申请的权限和权限列表中的权限,提取出新增的权限。
第一应用B记录的权限列表信息为:
<perm>
<item android:name=”android:permission.P1”/>
<item android:name=”android:permission.P3”/>
</perm>
则新增的权限为<item android:name=”android:permission.P3”/>
步骤305、提取所有共享此sharedUserId的应用信息,告知用户,这些应用都会增加上述新增的权限。
提取所有共享此sharedUserId的应用信息的具体的方法为:
根据packages.xml记录,查找sharedUserId记录为“com.app.A”的应用。
告知用户的方法可以为,弹出对话框,显示每一个上面查找到的应用或包名为com.app.A的应用的信息,信息可以是,应用的名称,应用已有的权限,应用的安装位置等信息的任一或其任意组合。并将权限P3的信息添加到提示信息中,显示给用户。
步骤306、用户知晓风险后选择是否安装
若用户选择安装则执行步骤307,若选择否,则执行步骤308。
步骤307、正常流程安装第一应用。
步骤308、放弃安装第一应用。
步骤309、结束。
本发明实施例应用程序的权限确定方法和装置,对于已安装的应用的应用插件安装请求,根据该应用插件申请的权限和已安装的应用的共享用户标识对应的权限列表,提醒用户安装风险,从而提高系统的安全性。
图4为本发明应用程序的权限确定装置实施例的结构示意图。如图4所示,本实施例的装置可以包括:
接收模块41,用于接收第一应用的安装请求,安装请求中携带第一应用申请的第一权限列表和第一应用请求的第一共享用户标识;
查找模块42,用于根据所述第一共享用户标识查找系统中已安装的使用所述第一共享用户标识的至少一个第二应用;;
处理模块43,用于若第一应用为系统中已安装的第二应用的插件,则根据第一应用的申请的第一权限列表和第一共享用户标识对应的第二权限列表中的权限,确定第一应用的权限。
可选的,处理模块43具体用于:
将系统中第二权限列表中的所有权限确定为第一应用的权限;或者,
将第一权限列表中存在于第二权限列表中的权限确定为第一应用的权限;或者,
将所述第一权限列表中的所有权限确定为所述第一应用的权限。
可选的,处理模块43还用于:
将第一应用的信息添加至系统安装文件中,并将第一共享用户标识添加至第一应用的信息中。
可选的,处理模块43还用于:
若第一应用不是第二应用的插件,或者第一应用的来源不是官方市场;
为第一应用分配第二共享用户标识,将第一应用的申请权限确定为第一应用的权限。
可选的,在为第一应用分配第二共享用户标识,将第一应用的申请权限确定为第一应用的权限之后,处理模块43还用于:
在系统安装文件中设置标签信息,标签信息用于指示第一应用不采用第一共享用户标识。
可选的,在为第一应用分配第二共享用户标识,将第一应用的申请权限确定为第一应用的权限之后,处理模块43还用于:
将第一应用的信息添加至系统安装文件中。
可选的,本发明提供的应用程序的权限确定装置,在接收第一应用的安装请求之后,还用于:
根据第一应用的签名证书和第二应用的签名证书是否一致,判断第一应用是否为第二应用的插件;若一致,则第一应用为第二应用的插件。
本实施例提供的应用程序的权限确定装置,与本发明图1、图2、图3所提供的方法实施例相对应,用于执行图1、图2、图3所示方法实施例的技术方案,该装置执行权限确定的方法、原理以及技术效果可参见方法实施例,此处不再赘述。
图5为本发明应用程序的权限确定装置又一实施例的结构示意图。如图5所示,包括:存储器和处理器,存储器与处理器通信,存储器中存储程序代码,且处理器用于调用存储器中存储的程序代码,用于执行图1、图2、图3所示方法实施例的技术方案,该装置执行权限确定的方法、原理以及技术效果可参见方法实施例,此处不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (15)

1.一种应用程序的权限确定方法,其特征在于,包括:
接收第一应用的安装请求,所述安装请求中携带第一应用申请的第一权限列表和所述第一应用请求的第一共享用户标识;
根据所述第一共享用户标识查找系统中已安装的使用所述第一共享用户标识的至少一个第二应用;
若所述第一应用为系统中已安装的所述第二应用的插件,则根据所述第一应用的申请的所述第一权限列表和所述第一共享用户标识对应的第二权限列表中的权限,确定所述第一应用的权限;
其中,所述根据所述第一应用的申请的所述第一权限列表和所述第一共享用户标识对应的第二权限列表中的权限,确定所述第一应用的权限,具体包括:
将所述第一权限列表中存在于所述第二权限列表中的权限确定为所述第一应用的权限;或者,
将所述第一权限列表中的所有权限确定为所述第一应用的权限。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一应用的申请的所述第一权限列表和所述第一共享用户标识对应的第二权限列表中的权限,确定所述第一应用的权限,具体包括:
将所述第二权限列表中的所有权限确定为所述第一应用的权限。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一应用的申请的所述第一权限列表和所述第一共享用户标识对应的第二权限列表中的权限,确定所述第一应用的权限,确定所述第一应用的权限之后,还包括:
将所述第一应用的信息添加至系统安装文件中,并将所述第一共享用户标识添加至所述第一应用的信息中。
4.根据权利要求1所述的方法,其特征在于,所述根据所述第一共享用户标识查找系统中已安装的使用所述第一共享用户标识的第二应用之后,还包括:
若所述第一应用不是所述第二应用的插件,或者所述第一应用的来源不是官方市场;
为所述第一应用分配第二共享用户标识,将所述第一应用的申请权限确定为所述第一应用的权限。
5.根据权利要求4所述的方法,其特征在于,所述为所述第一应用分配所述第二共享用户标识,将所述第一应用的申请权限确定为所述第一应用的权限之后,还包括:
在系统安装文件中设置标签信息,所述标签信息用于指示所述第一应用不采用所述第一共享用户标识。
6.根据权利要求4或5所述的方法,其特征在于,所述为所述第一应用分配所述第二共享用户标识,将所述第一应用的申请权限确定为所述第一应用的权限之后,还包括:
将所述第一应用的信息添加至系统安装文件中。
7.根据权利要求1-5任一项所述的方法,其特征在于,所述根据所述第一应用的申请的所述第一权限列表和所述第一共享用户标识对应的第二权限列表中的权限,确定所述第一应用的权限之前,还包括:
确定所述第一应用与所述第二应用的签名证书相同。
8.一种应用程序的权限确定装置,其特征在于,包括:
接收模块,用于接收第一应用的安装请求,所述安装请求中携带第一应用申请的第一权限列表和所述第一应用请求的第一共享用户标识;
查找模块,用于根据所述第一共享用户标识查找系统中已安装的使用所述第一共享用户标识的至少一个第二应用;
处理模块,用于若所述第一应用为系统中已安装的所述第二应用的插件,则根据所述第一应用的申请的所述第一权限列表和所述第一共享用户标识对应的第二权限列表中的权限,确定所述第一应用的权限;
其中,所述处理模块具体用于:
将所述第一权限列表中存在于所述第二权限列表中的权限确定为所述第一应用的权限;或者,
将所述第一权限列表中的所有权限确定为所述第一应用的权限。
9.根据权利要求8所述的装置,其特征在于,所述处理模块具体用于:
将所述第二权限列表中的所有权限确定为所述第一应用的权限。
10.根据权利要求9所述的装置,其特征在于,所述处理模块还用于:
将所述第一应用的信息添加至系统安装文件中,并将所述第一共享用户标识添加至所述第一应用的信息中。
11.根据权利要求8所述的装置,其特征在于,所述处理模块还用于:
若所述第一应用不是所述第二应用的插件,或者所述第一应用的来源不是官方市场;
为所述第一应用分配第二共享用户标识,将所述第一应用的申请权限确定为所述第一应用的权限。
12.根据权利要求11所述的装置,其特征在于,在所述为所述第一应用分配所述第二共享用户标识,将所述第一应用的申请权限确定为所述第一应用的权限之后,所述处理模块还用于:
在系统安装文件中设置标签信息,所述标签信息用于指示所述第一应用不采用所述第一共享用户标识。
13.根据权利要求11或12所述的装置,其特征在于,在所述为所述第一应用分配所述第二共享用户标识,将所述第一应用的申请权限确定为所述第一应用的权限之后,所述处理模块还用于:
将所述第一应用的信息添加至系统安装文件中。
14.根据权利要求8-12任一项所述的装置,其特征在于,所述根据所述第一应用的申请的所述第一权限列表和所述第一共享用户标识对应的第二权限列表中的权限,确定所述第一应用的权限之前,还用于:
确定所述第一应用与所述第二应用的签名证书相同。
15.一种应用程序的权限确定装置,其特征在于,包括:存储器和处理器,所述存储器与所述处理器通信,所述存储器中存储程序代码,且所述处理器用于调用所述存储器中存储的程序代码,执行如权利要求1~7任一项所述的方法。
CN201310382219.8A 2013-08-28 2013-08-28 应用程序的权限确定方法和装置 Active CN104424423B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201310382219.8A CN104424423B (zh) 2013-08-28 2013-08-28 应用程序的权限确定方法和装置
EP14840964.2A EP2993603B1 (en) 2013-08-28 2014-08-20 Permission determining method and device for application program
PCT/CN2014/084797 WO2015027846A1 (zh) 2013-08-28 2014-08-20 应用程序的权限确定方法和装置
US14/966,350 US9971908B2 (en) 2013-08-28 2015-12-11 Method and apparatus for determining permission of application program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310382219.8A CN104424423B (zh) 2013-08-28 2013-08-28 应用程序的权限确定方法和装置

Publications (2)

Publication Number Publication Date
CN104424423A CN104424423A (zh) 2015-03-18
CN104424423B true CN104424423B (zh) 2018-06-19

Family

ID=52585556

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310382219.8A Active CN104424423B (zh) 2013-08-28 2013-08-28 应用程序的权限确定方法和装置

Country Status (4)

Country Link
US (1) US9971908B2 (zh)
EP (1) EP2993603B1 (zh)
CN (1) CN104424423B (zh)
WO (1) WO2015027846A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106886711A (zh) * 2015-12-15 2017-06-23 北京奇虎科技有限公司 权限请求响应方法及相应的装置
CN106125887A (zh) * 2016-06-22 2016-11-16 乐视控股(北京)有限公司 一种权限检测的方法及电子设备
US10346189B2 (en) * 2016-12-05 2019-07-09 Red Hat, Inc. Co-locating containers based on source to improve compute density
CN108415786B (zh) * 2018-03-13 2022-05-31 联想(北京)有限公司 信息处理方法及装置、电子设备和计算机可读介质
US10831904B2 (en) * 2018-04-09 2020-11-10 International Business Machines Corporation Automatically discovering attribute permissions
CN110908728B (zh) * 2018-09-15 2021-04-09 Oppo广东移动通信有限公司 权限配置方法及相关产品
WO2020132876A1 (zh) * 2018-12-25 2020-07-02 奇安信安全技术(珠海)有限公司 一种操作检测方法、系统及电子设备
CN109725952B (zh) * 2019-01-07 2021-09-24 深圳市网心科技有限公司 一种应用程序插件化的方法、系统以及相关装置
CN110929233B (zh) * 2019-11-22 2022-11-15 连尚(新昌)网络科技有限公司 信息处理方法和装置
CN111522560A (zh) * 2020-04-21 2020-08-11 北京三快在线科技有限公司 软件安装方法、装置、存储介质及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609267A (zh) * 2012-02-16 2012-07-25 深圳市酷开网络科技有限公司 基于安卓浏览器的插件管理方法及系统
CN102609635A (zh) * 2010-10-14 2012-07-25 佳能株式会社 信息处理装置及其控制方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6151643A (en) * 1996-06-07 2000-11-21 Networks Associates, Inc. Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer
US6438600B1 (en) * 1999-01-29 2002-08-20 International Business Machines Corporation Securely sharing log-in credentials among trusted browser-based applications
KR100601633B1 (ko) * 2000-04-26 2006-07-14 삼성전자주식회사 디지털 컨텐츠의 다단계 유통 시스템 및 방법
US7149510B2 (en) * 2002-09-23 2006-12-12 Telefonaktiebolaget Lm Ericsson (Publ) Security access manager in middleware
US8856859B2 (en) 2007-02-06 2014-10-07 Blackberry Limited System and method for setting application permissions
JP4766038B2 (ja) * 2007-11-29 2011-09-07 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置の管理プログラム、画像処理装置の管理装置、および画像処理装置の管理方法
US9378512B2 (en) * 2008-04-02 2016-06-28 Microsoft Technology Licensing, Llc Interaction between ads and applications
US8978106B2 (en) * 2011-03-21 2015-03-10 Microsoft Technology Licensing, Llc Programming, verifying, visualizing, and deploying browser extensions with fine-grained security policies
CN102289633A (zh) 2011-09-02 2011-12-21 广东欧珀移动通信有限公司 Android平台下的应用程序动态权限管理方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609635A (zh) * 2010-10-14 2012-07-25 佳能株式会社 信息处理装置及其控制方法
CN102609267A (zh) * 2012-02-16 2012-07-25 深圳市酷开网络科技有限公司 基于安卓浏览器的插件管理方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Understanding and Improving App Installation Security Mechanisms through Empirical Analysis of Android;David Barrera等;《ACM Workshop on Security and Privacy in Smartphones and Mobile Devices》;20121019;第81-92页 *
基于Android系统的恶意程序原理分析;王玮;《技术研究》;20121031(第10期);全文 *

Also Published As

Publication number Publication date
EP2993603B1 (en) 2020-05-13
CN104424423A (zh) 2015-03-18
EP2993603A4 (en) 2016-07-06
EP2993603A1 (en) 2016-03-09
US9971908B2 (en) 2018-05-15
US20160098570A1 (en) 2016-04-07
WO2015027846A1 (zh) 2015-03-05

Similar Documents

Publication Publication Date Title
CN104424423B (zh) 应用程序的权限确定方法和装置
KR101723937B1 (ko) 애플리케이션 보안 검증을 위한 클라우드 지원형 방법 및 서비스
JP5830102B2 (ja) 取得ファイルの評判チェック
US8990561B2 (en) Pervasive package identifiers
JP5802848B2 (ja) モバイル環境用のトロイの木馬化されたアプリケーション(アプリ)を特定するためのコンピュータ実装方法、非一時コンピュータ読み取り可能な媒体およびコンピュータシステム
US20120131135A1 (en) Nonconforming web service policy functions
CN109474600B (zh) 一种账号绑定方法、系统、装置及其设备
CN110708335A (zh) 访问认证方法、装置及终端设备
CN111159595A (zh) 页面加载方法、系统、计算机设备和计算机可读存储介质
CN110990798B (zh) 应用程序权限配置方法、装置、电子设备及存储介质
CN111966422A (zh) 一种本地化插件服务方法、装置、电子设备及存储介质
CN113849199B (zh) 跨系统安装应用的方法、装置、电子设备及存储介质
CN109818972B (zh) 一种工业控制系统信息安全管理方法、装置及电子设备
CN109635558B (zh) 访问控制方法、装置和系统
CN114503074A (zh) 动态创建的打包应用的注册
CN113220314B (zh) App资源加载及apk生成方法、装置、设备及介质
CN112528286B (zh) 终端设备安全检测方法、关联设备以及计算机程序产品
CN112364340B (zh) 权限管理方法、装置、设备及计算机可读存储介质
CN111885006B (zh) 页面访问、授权访问方法和装置
KR20150047001A (ko) 애플리케이션 프로그램 보호 방법 및 장치
CN109933990B (zh) 基于多模式匹配的安全漏洞发现方法、装置及电子设备
CN110287087B (zh) 用于检测应用的方法和装置
CN106095495B (zh) SELinux策略的动态生成方法、装置及终端设备
CN112817603A (zh) 应用程序处理方法、装置、电子设备、系统和存储介质
CN110737911A (zh) 数据处理方法、装置和计算机可读存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20171027

Address after: Metro Songshan Lake high tech Industrial Development Zone, Guangdong Province, Dongguan City Road 523808 No. 2 South Factory (1) project B2 -5 production workshop

Applicant after: HUAWEI terminal (Dongguan) Co., Ltd.

Address before: 518129 Longgang District, Guangdong, Bantian HUAWEI base B District, building 2, building No.

Applicant before: Huawei Device Co., Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 523808 Southern Factory Building (Phase I) Project B2 Production Plant-5, New Town Avenue, Songshan Lake High-tech Industrial Development Zone, Dongguan City, Guangdong Province

Patentee after: Huawei Device Co., Ltd.

Address before: 523808 Southern Factory Building (Phase I) Project B2 Production Plant-5, New Town Avenue, Songshan Lake High-tech Industrial Development Zone, Dongguan City, Guangdong Province

Patentee before: HUAWEI terminal (Dongguan) Co., Ltd.

CP01 Change in the name or title of a patent holder