- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
android系统安全机制.ppt
Android 系统安全机制
演讲:王景学
Android 安全事件
安全范畴
具有后门特性的恶意电路
伪造签名,浏览器攻击
蜂窝、WiFi、蓝牙、互联网通信
隐私、敏感数据、数据库(加密算法)
Android框架
内核层
本地库和虚拟机运行环境
应用程序框架层
应用程序层
讨论主题
代码安全-场景
关键逻辑,算法,涉及电子交易的部分--需要
如果应用的竞争点在与创意,用户体验,服务等偏软的东西,而且免费,技术难度低-----不需要
设计到数据通信加密用到的密钥的—需要
有些部分没有办法加密,加密后系统无法识别
代码混淆:不改变代码逻辑的情况下,增加无用代码,或者重命名类名、方法名和变量名,使反编译后的源代码难于看懂,提高被破解的难度
使用jni技术,敏感部分代码用c/c++来编写
尽量减少客户端代码中的敏感内容,例如加密算法的密钥key
自定义类加载器:加载加密过的.class文件,在加载时使用自定义的类加载器解密的方式提高代码的安全性
代码安全-措施
java不同于C/C++,java是解释性语言,存在代码被反编译的隐患
应用层权限-接入权限
应用层权限旨在允许或限制应用程序访问受限的 API 和资源。默认情况下,Android 应用程序没有被授予权限,这通过不允许它们访问设备上的受保护 API 或资源,确保了它们的安全。权限在安装期间通过 manifest 文件由应用程序请求,由用户授予或不授予,运行是不再允许再申请权限,但可以检查、执行、授予和撤销权限
显式权限声明
安装时申请
用户授权
应用层权限-权限级别
对于普通和危险级别的权限,我们称之为低级权限,应用申请即授予。其他两级权限,我们称之为高级权限或系统权限,应用程序拥有platform级别的认证才能申请。当应用试图在没有权限的情况下做受限操作,应用将被系统杀掉以警示。
Normal权限:不会给用户带来实质性的伤害,如调整背光
Dangerous权限:可能会给用户带来潜在性的伤害,如读取电话簿、联网等,系统在安装应用时提示用户
signature权限:具有同一签名的应用才能访问。
signatureOrSystem权限:主要被设备商使用,不推荐使用。
应用层权限-权限类别
Android定义的权限列表
应用程序自定义的权限列表
数据库权限和文件权限
Activities
Broadcast Receiver
Content Providers
Services
数字签名
私钥
公钥对
公共密钥证书
数字签名
使用java数字签名机制
保存在开发者手中
不需要权威数字证书签名机构认证,用来应用程序包自我认证
利于程序升级,新旧版本不一致的话,无法升级
利于应用程序之间共享代码和数据(相同数字证书)
如果权限 级别为signature,那么该权限只能授予那些拥有相同数字证书的程序
数字签名
每个应用程序都必须有数字证书,否则安装不成功
证书类型
调试证书
正式发布证书
证书有效期
android市场要求应用程序哦有效期持续到2033年10月22日以后
数字证书的有效期要包含程序的预计生命周期,一旦数字证书失效,持有改数字证书的程序将不能正常升级
多个程序共享一个数字证书,该数字证书必须要包含所有程序的预计生命周期
安全沙箱
1.Android 操作系统是一个多用户的Linux系统,在该系统里面,每一个应用程序都是一个不同的用户。
2.默认情况下,Linux系统为给每一个应用程序分配一个Linux用户ID(这个ID只被用户使用,对程序自身透明)。系统赋予应用程序里面所有的文件一组权限,以便于只有分配用户ID的应用程序可以访问他们。
3.每一个进程拥有一个虚拟机,所以一个应用程序的代码运行时独立于其他程序
4默认情况下,一个应用程序运行在自己的Linux进程里。Android总是在任意一个应用程序需要执行时启动进程,总是在一个程序不在运行或为运行其他程序恢复内存时关闭进程。
安全沙箱
应用程序
用户ID
进程
虚拟机
Sqlite数据库安全机制
不提供网络访问服务
单一文件形式存放数据库的结构和内容
数据库非常轻便,便于移植,利用操作对文件的访问控制能力实施文件级别的访问控制,备份和恢复依赖手工拷贝
没有用户管理,访问控制和授权机制
不提供加密机制,数据存储格式简单
不支持多用户,也没有审计机制
安全机制非常薄弱
Android:Sqlite数据库安全机制
Sqlite预留的加密接口
数据库加密
口令认证
对称加密,速度快,适合嵌入式
密钥导出函数,对输入的口令进行变换作为加解密的密钥
DBMS级的加密
文件访问控制
网络安全
数据链路层-WAPI
WPI
无线局域网保密基础结构(WPI)对MAC子层的MPDU进行加、解密处理,分别用于WLAN设备的数字证书、
您可能关注的文档
最近下载
- ECLIPSE局部网格加密做法.ppt
- 如何利用团体标准做好患者跌倒评估和预防PPT.pptx
- 2022年湖南长沙中考语文试题【含答案】.docx VIP
- 2023年湖南长沙中考语文试题.pdf VIP
- 2024年镇村(社区)后备干部考试复习题库 .pdf VIP
- 数学-湖南省长沙市(炎德英才大联考)长郡中学2025届高三上学期月考试卷(三)试题和答案.docx
- 最新经典数学函数图像大全-数学函数图像-函数图像全.docx
- 2024届高考英语作文复习专项读后续写:雀斑烦恼任务单素材.docx VIP
- 2024 年度民主生活会“四个对照”方面(存在问题、原因剖析及整改措施).docx VIP
- 托福词汇词以类记-张红岩(完整有目录)经典.pdf
文档评论(0)