cm授权管理分析文档

cm授权管理分析文档

ID:37722534

大小:164.50 KB

页数:32页

时间:2019-05-29

cm授权管理分析文档_第1页
cm授权管理分析文档_第2页
cm授权管理分析文档_第3页
cm授权管理分析文档_第4页
cm授权管理分析文档_第5页
资源描述:

《cm授权管理分析文档》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

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

2、行ad-hoc方式的访问。2.Permission实现机制分析2.1.uid、gid、gidsAndroid的权限分离的基础是建立在Linux已有的uid、gid、gids基础上的。lUid:UidAndroid在安装一个应用程序,就会为它分配一个uid(参考PackageManagerService中的newUserLP实现)。其中普通Android应用程序的uid是从10000开始分配(参见Process.FIRST_APPLICATION_UID),10000以下是系统进程的uid。lGid:对于普通应用程序来说,gid等于uid。由于每个应用程序的uid

3、和gid都不相同,因此不管是native层还是java层都能够达到保护私有数据的作用。lGIDS:gids是由框架在Application安装过程中生成,与Application申请的具体权限相关。如果Application申请的相应的permission被granted,而且中有对应的gids,那么这个Application的gids中将包含这个gids。Uid、gid、gids的设置过程在ActivityManagerService中的startProcessLocked。在通过zygote来启动一个process时,直接将uid传给给了gid。再通过zyg

4、ote来fork出新的进程(zygote.java中的forkAndSpecialize),最终在native层进行gid和uid和gids的设置。2.2.permission一个权限主要包含三个方面的信息:权限的名称;属于的权限组;保护级别。一个权限组是指把权限按照功能分成的不同的集合。每一个权限组包含若干具体权限,例如在COST_MONEY组中包含android.permission.SEND_SMS,android.permission.CALL_PHONE等和费用相关的权限。每个权限通过protectionLevel来标识保护级别:normal,dang

5、erous,signature,signatureorsystem。不同的保护级别代表了程序要使用此权限时的认证方式。normal的权限只要申请了就可以使用;dangerous的权限在安装时需要用户确认才可以使用;signature和signatureorsystem的权限需要使用者的app和系统使用同一个数字证书。Package的权限信息主要通过在AndroidManifest.xml中通过一些标签来指定。如标签,标签等标签。如果package需要申请使用某个权限,那

6、么需要使用标签来指定。【注:android包管理服务_PackageManagerService_源码分析.pdf(来自网络)】2.3cmpermission实现原理分析1.Cm将授权管理集成到android原生的applicationManager应用中。在进程及服务详情里禁用和启用相应的权限。2.CM设置里有一个该应用的开关。对应的代码为packages/apps/CMParts。3.从其AndroidManifest.xml中,可以看出它需要有system的权限,这样才能保证它可以操纵permission相关的framewo

7、rk提供的接口和服务。4.在frameworks/base/core/java/android/widget/中增加了处理permissionon/off的新的类:AppSecurityEditablePermissions。5.对PackageManager.java/PackageManagerService.java等frameworks/base/core/的PM的逻辑进行了修改GrantedPermissions/SharedUserSetting中增加了新的revokedPermissions和effectivePermissions用来进行perm

8、ission扩展的属性。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。