当前位置:   article > 正文

Android安全权限机制介绍_android 设备权限架构

android 设备权限架构

提示:本文只是结合网上内容进行大概整理,并未深究

一、应用权限机制

什么是权限机制?

Android Permission权限机制是对Android安全机制的一个重要补充,控制了应用对于系统接口或者对外接口的访问。
  • 1

Android 是一个权限分离的系统。这是利用 Linux 已有的权限管理机制,通过为每一个 Application 分配不同的 uid 和 gid,从而使得不同的 Application 之间的私有数据和访问(native 以及 Java 层通过这种机制,都可以)达到隔离的目的。与此同时,Android 还在此基础上进行扩展,提供了permission机制,它主要是用来对 Application 可以执行的某些具体操作进行权限细分和访问控制,同时提供了URI permission机制,用来提供对某些特定的数据块进行专门权限进行限制。

权限信息:权限信息

权限级别:

描述权限中隐含的潜在风险,并指示系统在确定是否将权限授予请求它的应用程序时应遵循的程序。Standard permissions具有预定义的永久保护级别。如果您在应用程序中创建自定义权限,您可以使用下面列出的值之一定义 protectionLevel 属性。如果没有为自定义权限定义 protectionLevel,则系统分配默认值(“normal”)。每个保护级别由基本权限类型和零个或多个标志组成(5个基本类型, 22个附加类型)。

基本权限类型:

在这里插入图片描述

二、Android的安全机制包括以下几个方面:

1.进程沙箱隔离机制

Android应用程序在安装时被赋予独特的用户标识(UID),并永久保持;应用程序及其运行的Dalvik虚拟机运行于独立的Linux进程空间,与UID不同的应用程序完全隔离。
  • 1

2.应用程序签名机制

          应用程序包(.apk文件)必须被开发者数字签名;同一开发者可指定不同的应用程序共享UID,进而运行于同一进程空间,共享资源。
签名的过程:

   • 生成私有、公共密钥和公共密钥证书
   • 对应用进行签名
   • 优化应用程序

签名的作用:

   • 识别代码的作者。
   • 检测应用程序是否发生了改变。
   • 在应用程序之间建立信任,以便于应用程序可以安全地共享代码和数据。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

3.权限声明机制

权限声明机制,要想获得在对象上进行操作,就需要把权限和此对象的操作进行绑定。不同级别要求应用程序行使权限的认证方式也不一样,Normal级申请就可以使用,Dangerous级需要安装时由用户确认,Signature和Signatureorsystem级则必须是系统用户才可用。

4.访问控制机制

确保系统文件和用户数据不受非法访问。

5.进程通信机制

基于共享内存的Binder实现,提供轻量级的远程进程调用(RPC)。通过接口描述语言(AIDL)定义接口与交换数据的类型,确保进程间通信的数据不会溢出越界。
在这里插入图片描述

Linux进程视角
在这里插入图片描述
应用程序视角
  内存管理机制,基于Linux的低内存管理机制,设计实现了独特的LMK,将进程重要性分级、分组,当内存不足时,自动清理级别进程所占用的内存空间。同时,引入的Ashmem内存机制,使得Android具备清理不再使用共享内存区域的能力。正是因为Android采用多层架构,在保护信息安全的同时,也保证开放平台的灵活性。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/674828
推荐阅读
相关标签
  

闽ICP备14008679号