CN106997433A - 一种Android系统权限管理方法 - Google Patents

一种Android系统权限管理方法 Download PDF

Info

Publication number
CN106997433A
CN106997433A CN201710175333.1A CN201710175333A CN106997433A CN 106997433 A CN106997433 A CN 106997433A CN 201710175333 A CN201710175333 A CN 201710175333A CN 106997433 A CN106997433 A CN 106997433A
Authority
CN
China
Prior art keywords
authority
application
android system
application program
management method
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.)
Pending
Application number
CN201710175333.1A
Other languages
English (en)
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.)
Xidian University
Original Assignee
Xidian University
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 Xidian University filed Critical Xidian University
Priority to CN201710175333.1A priority Critical patent/CN106997433A/zh
Publication of CN106997433A publication Critical patent/CN106997433A/zh
Pending legal-status Critical Current

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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • 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
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Storage Device Security (AREA)

Abstract

本发明属于移动终端Android系统技术领域,公开了一种Android系统权限管理方法,包括:应用程序访问权限API,进行权限检查;应用程序权限不存在时进行权限申请;应用程序权限存在,在Android系统权限管理数据中查询应用程序对应的应用进程权限;根据应用进程权限的查询结果,执行相应操作。本发明基于Android6.0及以上版本权限管理特性,在程序中增加了权限检测、申请和回调方法;在权限管理中增加了允许、提示和禁止功能,使用户选择和控制应用权限,可以更好的满足用户需求;解决了Android系统权限管理过于简单的问题,用户体验更好。

Description

一种Android系统权限管理方法
技术领域
本发明属于移动终端Android系统技术领域,尤其涉及一种Android系统权限管理方法。
背景技术
Android系统Permission机制的大部分功能都有Android系统代码完成,在系统安全得到保证的前提下,访问者与资源间的访问控制是可以得到保证的。但是粗粒度的权限访问控制能力管理,使得Permission机制存在一系列的安全问题。由于不显示授权界面、权限描述不清和粗粒度的用户访问控制能力管理引发用户Permission确认过程中的安全隐患,导致应用程序过度申请权限、滥用权限和系统权限管理难度增加。
综上所述,现有技术存在的问题是:由于不显示授权界面、权限描述不清和粗粒度的用户访问控制能力管理引发用户Permission确认过程中的安全隐患,以及Permission传递机制管理的漏洞为攻击者提供了合谋攻击的途径。现有技术提供一站式服务,相当于应用程序安装时,接受应用程序所申请的所有权限,否则,不能安装该应用程序。这种一站式服务没有提供后期的权限维护和修改、申请功能,而权限管理功能封装在框架层,对于开发者而言,必须深入Android系统的开发,对其做相应的修改。
发明内容
针对现有技术存在的问题,本发明提供了一种Android系统权限管理方法。
本发明是这样实现的,一种Android系统权限管理方法,所述Android系统权限管理方法包括以下步骤:
应用程序访问权限API,进行权限检查;
应用程序权限不存在时进入权限申请;
应用程序权限存在,Android系统权限管理数据查询应用程序对应的应用进程权限;
根据应用进程权限的查询结果,执行相应操作。
进一步,应用程序根据访问API所需的权限调用checkSelfPermission()方法,检测应用是否拥有该权限,当应用程序拥有该权限时,进入权限提示模块,否则进入权限申请模块。
进一步,权限申请在程序中对权限进行动态的申请。
进一步,应用进程权限包括允许、提示和拒绝。
进一步,当应用程序对应权限为允许时,应用程序正常调用权限的API;
当应用程序对应权限为提示时,应用程序暂停执行,弹出对话框并接受用户的选择,根据用户的选择来决定是否继续执行;
当应用程序对应权限为拒绝时,应用程序继续执行,不能调用需要权限的API。
本发明的另一目的在于提供一种利用所述Android系统权限管理方法的基于Android6.0及以上版本权限新特性的权限管理方法,所述基于Android6.0及以上版本权限新特性的权限管理方法具体步骤包括如下:
步骤一,权限检测:
程序封装一个方法hasPermission(),传入的参数为权限名数组,调用checkSelfPermission(),同时传入参数为权限名数组,根据返回值来检测是否拥有权限;
步骤二,权限申请:
程序封装一个权限申请方法requestPermission(),权限申请方法的参数为申请码和权限名数组在方法中调用requestPermissions(),权限申请方法参数为权限名数组和context以及申请码;
步骤三,请求回调处理:
重写一个方法onRequestPermissionResult(),主要的参数有申请码、权限名数组,调用switch结构,根据申请码进行区分请求。
本发明的另一目的在于提供一种应用所述Android系统权限管理方法的移动终端。
本发明的另一目的在于提供一种应用所述Android系统权限管理方法的Android系统。
本发明的优点及积极效果为:
本发明通过在程序中增加权限检测、申请和回调方法,因此结合了Android6.0及以上版本的权限管理新特性,增量权限在应用层申请的功能,解决了Android权限不能动态申请的问题。
本发明通过在权限管理中增加允许、提示和禁止功能,增加用户自主控制应用程序权限的能力,解决了Android粗粒度的权限管理问题。
附图说明
图1是本发明实施例提供的基于Android6.0系统权限管理方法流程图。
图2是本发明实施例提供的基于Android6.0权限新特性的权限管理方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例提供的基于Android6.0及以上版本系统权限管理方法。
下面结合附图对本发明的应用原理作详细的描述。
如图1所示,本发明实施例基于Android6.0提供的系统权限管理方法包括以下步骤:
S101:应用程序访问需要权限的API时,程序本身进行权限检查;
S102:应用程序权限不存在时进入权限申请模块;
S103:应用程序权限存在时,在Android系统的权限管理数据查询所述应用程序对应的应用进程权限;
S104:根据所述应用进程权限的查询结果,执行相应操作。
下面结合附图对本发明的应用原理作进一步的描述。
本发明实施例提供的Android系统权限管理方法包括以下步骤:
步骤一,当应用程序访问需要权限的API时,程序本身进行权限检查
应用程序根据访问API所需的权限调用checkSelfPermission()方法,检测应用是否拥有该权限,当应用程序拥有该权限时,进入权限提示模块,否则进入权限申请模块。
在本发明实施例中,Android系统的权限管理数据来自于/data/system/packages.xml文件中,开机时直接读取该文件,加载权限信息到内存。应用程序的标识用于区分应用程序,该应用程序标识可以是包名。
需要权限的数据大致分为系统资源和应用程序资源。系统资源包括Android系统提供的各种服务、硬件设备、各种数据库资源。应用程序的资源包括构成应用程序的四大主键。这些资源通过对访问者提出能力要求,实现访问控制。
步骤二,当应用程序权限不存在时进入权限申请模块
在权限申请模块主要运用Android6.0关于权限的新特性,在程序中对权限进行动态的申请。
步骤三,当应用程序权限存在时,在Android系统的权限管理数据查询所述应用程序对应的应用进程权限。
在本发明实例中,应用进程权限包括允许、提示和拒绝。
步骤四,当根据所述应用进程权限的查询结果,执行相应操作。
当应用程序对应权限为允许时,应用程序正常调用需要该权限的API;
当应用程序对应权限为提示时,应用程序暂停执行,弹出对话框并接受用户的选择,根据用户的选择来决定是否继续执行;
当应用程序对应权限为拒绝时,应用程序继续执行,但不能调用需要该权限的API。
需要说明的是,弹出对话框为dialog对话框,提示用户索要读取的数据或者访问的服务,并接受用户的选择允许或拒绝。
如图2所示,本发明实施例提供的基于Android6.0权限新特性的权限管理方法具体步骤包括如下:
步骤一,权限检测
程序封装一个方法hasPermission(),传入的参数为权限名数组,在方法中调用checkSelfPermission(),同时传入参数为权限名数组,根据方法的返回值来检测是否拥有该权限。
步骤二,权限申请
程序封装一个权限申请方法requestPermission(),方法的主要参数为申请码和权限名数组在方法中调用requestPermissions(),方法的主要参数为权限名数组和context以及申请码。
步骤三,请求回调处理
重写一个方法onRequestPermissionResult(),主要的参数有申请码、权限名数组。调用switch结构,根据申请码进行区分请求。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种Android系统权限管理方法,其特征在于,所述Android系统权限管理方法包括:
应用程序访问权限API,进行权限检查;
应用程序权限不存在时进入权限申请;
应用程序权限存在,Android系统权限管理数据查询应用程序对应的应用进程权限;
根据应用进程权限的查询结果,执行相应操作。
2.如权利要求1所述的Android系统权限管理方法,其特征在于,应用程序根据访问API所需的权限调用checkSelfPermission()方法,检测应用是否拥有权限,当应用程序拥有权限时,进入权限提示模块,否则进入权限申请模块。
3.如权利要求1所述的Android系统权限管理方法,其特征在于,权限申请在程序中对权限进行动态的申请。
4.如权利要求1所述的Android系统权限管理方法,其特征在于,应用进程权限标示包括允许、提示和拒绝。
5.如权利要求1所述的Android系统权限管理方法,其特征在于,当应用程序对应权限为允许时,应用程序正常调用权限的API;
当应用程序对应权限为提示时,应用程序暂停执行,弹出对话框并接受用户的选择,根据用户的选择来决定是否继续执行;
当应用程序对应权限为拒绝时,应用程序继续执行,不能调用需要权限的API。
6.一种利用权利要求1所述Android系统权限管理方法的基于Android6.0及以上版本权限新特性的权限管理方法,其特征在于,所述基于Android6.0及以上版本权限新特性的权限管理方法具体步骤包括如下:
步骤一,权限检测:
程序封装一个方法hasPermission(),传入的参数为权限名数组,调用checkSelfPermission(),同时传入参数为权限名数组,根据返回值来检测是否拥有权限;
步骤二,权限申请:
程序封装一个权限申请方法requestPermission(),权限申请方法的参数为申请码和权限名数组在方法中调用requestPermissions(),权限申请方法参数为权限名数组和context以及申请码;
步骤三,请求回调处理:
重写一个方法onRequestPermissionResult(),主要的参数有申请码、权限名数组,调用switch结构,根据申请码进行区分请求。
7.一种应用权利要求1~5任意一项所述Android系统权限管理方法的移动终端。
8.一种应用权利要求1~5任意一项所述Android系统权限管理方法的Android系统。
CN201710175333.1A 2017-03-22 2017-03-22 一种Android系统权限管理方法 Pending CN106997433A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710175333.1A CN106997433A (zh) 2017-03-22 2017-03-22 一种Android系统权限管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710175333.1A CN106997433A (zh) 2017-03-22 2017-03-22 一种Android系统权限管理方法

Publications (1)

Publication Number Publication Date
CN106997433A true CN106997433A (zh) 2017-08-01

Family

ID=59431478

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710175333.1A Pending CN106997433A (zh) 2017-03-22 2017-03-22 一种Android系统权限管理方法

Country Status (1)

Country Link
CN (1) CN106997433A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108632460A (zh) * 2018-04-18 2018-10-09 Oppo广东移动通信有限公司 权限管理方法、装置、移动终端以及存储介质
CN108647070A (zh) * 2018-04-18 2018-10-12 Oppo广东移动通信有限公司 信息提醒方法、装置、移动终端和计算机可读介质
CN108763892A (zh) * 2018-04-18 2018-11-06 Oppo广东移动通信有限公司 权限管理方法、装置、移动终端以及存储介质
CN108804938A (zh) * 2018-06-14 2018-11-13 北京金山安全软件有限公司 一种权限检测方法、装置、电子设备及可读存储介质
CN109254793A (zh) * 2018-09-20 2019-01-22 Oppo广东移动通信有限公司 引擎隔离方法、相关设备以及计算机可读存储介质
CN109711141A (zh) * 2018-11-05 2019-05-03 中兴通讯股份有限公司 终端中敏感权限模块的调用请求的处理方法及装置
CN111143089A (zh) * 2019-12-23 2020-05-12 飞天诚信科技股份有限公司 一种应用程序调用第三方库动态提升权限的方法及装置
CN112363709A (zh) * 2020-12-11 2021-02-12 成都商通数治科技有限公司 一种Android申请权限并返回申请结果的方法
CN113504855A (zh) * 2021-07-13 2021-10-15 读书郎教育科技有限公司 一种Android应用权限确认的提示和时效控制方法及装置
CN113672900A (zh) * 2021-08-23 2021-11-19 读书郎教育科技有限公司 一种Android终端实现应用权限管控的方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102289633A (zh) * 2011-09-02 2011-12-21 广东欧珀移动通信有限公司 Android平台下的应用程序动态权限管理方法
CN103268451A (zh) * 2013-06-08 2013-08-28 上海斐讯数据通信技术有限公司 一种基于移动终端的动态权限管理系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102289633A (zh) * 2011-09-02 2011-12-21 广东欧珀移动通信有限公司 Android平台下的应用程序动态权限管理方法
CN103268451A (zh) * 2013-06-08 2013-08-28 上海斐讯数据通信技术有限公司 一种基于移动终端的动态权限管理系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
LEBANG08: "安卓6.0之后——动态获取权限封装", 《HTTPS://BLOG.CSDN.NET/LEBANG08/ARTICLE/DETAILS/52751088》 *
樊添: "Android平台细粒度权限管理系统的设计与实现", 《中国优秀硕士学位论文全文数据库信息科技辑(月刊)》 *
王少辉 等: "DroidDefence:细粒度的Android应用权限管理系统", 《四川大学学报(工程科学版)》 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108647070B (zh) * 2018-04-18 2022-02-22 Oppo广东移动通信有限公司 信息提醒方法、装置、移动终端和计算机可读介质
CN108647070A (zh) * 2018-04-18 2018-10-12 Oppo广东移动通信有限公司 信息提醒方法、装置、移动终端和计算机可读介质
CN108763892A (zh) * 2018-04-18 2018-11-06 Oppo广东移动通信有限公司 权限管理方法、装置、移动终端以及存储介质
CN108632460A (zh) * 2018-04-18 2018-10-09 Oppo广东移动通信有限公司 权限管理方法、装置、移动终端以及存储介质
CN108804938A (zh) * 2018-06-14 2018-11-13 北京金山安全软件有限公司 一种权限检测方法、装置、电子设备及可读存储介质
CN108804938B (zh) * 2018-06-14 2020-12-25 北京金山安全软件有限公司 一种权限检测方法、装置、电子设备及可读存储介质
CN109254793A (zh) * 2018-09-20 2019-01-22 Oppo广东移动通信有限公司 引擎隔离方法、相关设备以及计算机可读存储介质
CN109711141A (zh) * 2018-11-05 2019-05-03 中兴通讯股份有限公司 终端中敏感权限模块的调用请求的处理方法及装置
CN111143089A (zh) * 2019-12-23 2020-05-12 飞天诚信科技股份有限公司 一种应用程序调用第三方库动态提升权限的方法及装置
CN112363709A (zh) * 2020-12-11 2021-02-12 成都商通数治科技有限公司 一种Android申请权限并返回申请结果的方法
CN113504855A (zh) * 2021-07-13 2021-10-15 读书郎教育科技有限公司 一种Android应用权限确认的提示和时效控制方法及装置
CN113504855B (zh) * 2021-07-13 2023-06-16 读书郎教育科技有限公司 一种Android应用权限确认的提示和时效控制方法及装置
CN113672900A (zh) * 2021-08-23 2021-11-19 读书郎教育科技有限公司 一种Android终端实现应用权限管控的方法和装置

Similar Documents

Publication Publication Date Title
CN106997433A (zh) 一种Android系统权限管理方法
CN110310205B (zh) 一种区块链数据监控方法、装置、设备和介质
CN110363026B (zh) 文件操作方法、装置、设备、系统及计算机可读存储介质
CN103744686B (zh) 智能终端中应用安装的控制方法和系统
CN106203113A (zh) 安卓应用文件的隐私泄露监控方法
CN108763951B (zh) 一种数据的保护方法及装置
CN101004776A (zh) 用于基于保护域的安全性的方法和装置
CN104794374A (zh) 一种用于安卓系统的应用权限管理方法和装置
KR20160098912A (ko) 어플리케이션 퍼미션 재조정 방법 및 이를 수행하는 사용자 단말
KR20180109919A (ko) 스마트 카드 응용을 위한 보안 검증 방법 및 디바이스
CN110838195A (zh) 授权他人开锁的方法
CN111177741A (zh) 一种基于企业浏览器的预授权数据访问方法和装置
CN106372496A (zh) 提高支付终端应用安全性的方法及系统
CN114244598B (zh) 一种内网数据访问控制方法、装置、设备及存储介质
CN110990798B (zh) 应用程序权限配置方法、装置、电子设备及存储介质
CN113505394A (zh) 基于大数据的数据安防处理方法及云服务器
CN110704131B (zh) 一种html5应用调用原生应用的方法和装置
CN110070360B (zh) 一种事务请求处理方法、装置、设备及存储介质
CN105243311A (zh) 一种指纹信息的安全调用方法、装置及移动终端
CN110727936B (zh) 为应用授权的方法和设备
CN113010223A (zh) 一种基于Android系统的卸载资源定制方法与终端
CN107392010B (zh) 执行Root操作的方法及装置、终端设备、存储介质
US11769142B2 (en) Method for providing a digital representation of a transaction card in a mobile device
CN104252588A (zh) 工作区的访问控制的方法和装置
CN112070491A (zh) 会员支付方法、系统、服务器及存储介质

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20170801

RJ01 Rejection of invention patent application after publication