Android开发之安全模型介绍
白羽 2018-06-15 来源 :网络 阅读 1072 评论 0

摘要:本文将带你了解Android开发之安全模型介绍,希望本文对大家学Android有所帮助。




从技术架构角度来看,Android安全模型基于强健的Linux操作系统内核安全性,通过进程沙箱机制隔离进程资源,并且辅以独特的内存管理技术与安全高效的进程间通信机制,适应嵌入式移动端处理器性能与内存容量的限制。在应用层面,使用显式定义且经用户授权的应用权限控制机制等,系统化地规范并强制各类应用程序的行为准则与权限许可;引入应用程序签名机制定义应用程序之间的信任关系与资源共享的权限。Android应用程序基于Android特有的应用框架(Framework),由Java语言编写,运行于Dalvik Java虚拟机。同时,部分底层应用仍可由C/C++语言设计实现,以原生库形式直接运行于操作系统的用户空间。应用程序及其Dalvik虚拟机运行环境都被限制在“进程沙箱”的隔离环境下,自行拥有专用的文件系统区域,独享私有数据。

Android安全模型的设计特点可概括为:


采用多层架构,在保护用户信息安全的同时,保证开放平台上各种应用的灵活性。


既允许经验丰富的开发者充分利用安全架构的灵活性,也为熟悉安全架构的开发者提供更多可以信赖的默认安全性设置。


鼓励用户了解应用程序是如何工作的,并鼓励用户对所持设备进行安全控制。


不但要面对恶意软件的威胁,而且还要考虑第三方应用程序的恶意攻击。


安全保护与风险控制同在,在安全防护失效时,尽量减少损害,并尽快恢复使用。


Android安全模型主要提供以下几种安全机制:


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


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


权限声明机制:应用程序需要显式声明权限,名称,权限组与保护级别 。不同的级别要求应用程序行使此权限时的认证方式不同:Normal级申请即可用;Dangerous级需在安装时由用户确认才可用; Signature与Signatureorsystem则必须是系统用户才可用。


访问控制机制:传统的Linux访问控制机制确保系统文件与用户数据不受非法访问。

 

进程通信机制:Binder进程通信机制提供基于共享内存的高效进程通信;Binder基于Client-Server模型,提供类似COM与CORBA的轻量级远程进程调用(RPC);通过接口描述语言(AIDL)定义接口与交换数据的类型,确保进程间通信的数据不会溢出越界,污染进程空间。


内存管理机制:基于标准Linux的低内存管理机制(OOM),设计实现了独特的低内存清理(LMK)机制,将进程按重要性分级,分组,当内存不足时,自动清理最低级别进程所占用的内存空间;同时,引入不同于传统Linux共享内存机制的Android共享内存机制Sshmem,具备清理不再使用共享内存区域的能力。


本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之Android频道!

 


本文由 @白羽 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程