先吐槽一下,那些说Android不安全的人(早期版本的确存在一些问题,比如APP权限管理太粗放,这个我会在后面的文章进行讲解),到底有没有认真了解过它的安全架构,它从低至上的安全机制难道不让人心动?

既然Android的安全框架优秀,那到底它做了些什么呢?下面这张图做了很好的解释

这张图很直观但我觉得还不够详细,我把Android的安全功能归类为

  • Trust binary
  • Runtime security
  • Security data storage and exchange

我自己整理了一个表格

Category

item

description

Android M status

What we need to implement

Trust binary

Secure boot

Make sure only boot image signed by Harman can be booted on our hardware device. The boot image is verified by the boot rom, is designed by OEM(TI).

depends on HW platform

Integrate SOC's secure boot support

verified boot

Verified boot guarantees the integrity of the device software starting from a hardware root of trust up to the system partition. During boot, each stage verifies the integrity and authenticity of the next stage before executing it.

Bootloader requirements and Green/Yellow/Red Boot state definition.

· "boot_signer" tool (system/extra/verify) to append signature to the boot image

· Adopt Linux kernel's "dm-verity" for block based partition, e.g. system, verification

· build/tools/releasetools/build_image.py now handles overall creation of
dm-verity signed filesystem images

· build/target/product/verity.mk

· PackageManager aware of verified boot by system/etc/permissions/android.software.verified_boot.xml

· Verify boot and recovery partition with HW fused OEM key as well as embeded ceritication

OTA update

Secure SW update.

Propose the Redbend solution

3rd APP install

Check the signature of 3rd APP, make sure the APP is valid.

Done by Google

Runtime security

Process sandbox

Using the DAC(Discretionary Access Control) and SELinux(Mandatory Access Control) to provide a fine granular access control mechanism to enforce the concept of least privilege.

Done by Google

Add the new rules for the new files and process

APP permission

Done by Google

Prefer to provide a HMI menu to manage the APP permission dynamically

Trust execute environment

Using hardware feature to provide a isolate execute environment

Done by Google and SOC supplier

If OEM need some new feature, should develop with the SOC supplier together.

Security data storage and exchange

Full disk encryption

Full disk encryption is the process of encoding all user data on an Android device using an encrypted key. Once a device is encrypted, all user-created data is automatically encrypted before committing it to disk and all reads automatically decrypt data before returning it to the calling process.

Done by Google

Keystore

The availability of a trusted execution environment in a system on a chip (SoC) offers an opportunity for Android devices to provide hardware-backed, strong security services to the Android OS, to platform services, and even to third-party apps.

Android 安全框架 -- 总概相关推荐

  1. Python接口自动化脚本业务框架总概(一)

    目录 接口自动化框架目录 基础类封装概览 基础类封装方法详解 Log.py文件 Request.py文件 Python是目前主流的接口自动化脚本语言之一. 本专栏将联系业务介绍使用python接口自动 ...

  2. 开发自己的山寨Android注解框架

    目录 开发自己的山寨Android注解框架 开发自己的山寨Android注解框架 参考 Github黄油刀 Overview 在上一章我们学习了Java的注解(Annotation),但是我想大家可能 ...

  3. Android开源框架源码鉴赏:LruCache与DiskLruCache

    关于作者 郭孝星,程序员,吉他手,主要从事Android平台基础架构方面的工作,欢迎交流技术方面的问题,可以去我的Github提issue或者发邮件至guoxiaoxingse@163.com与我交流 ...

  4. android多媒体框架学习 详解

    原址 一:多媒体框架概述 jellybean 的多媒体跟以前的版本,通过对比没啥变化,最大的变化是google终于舍得给multimedia建个独立的git了(framework/av),等你好久了! ...

  5. android多媒体框架学习 详解 最新版本

    一:多媒体框架概述 jellybean 的多媒体跟以前的版本,通过对比没啥变化,最大的变化是google终于舍得给multimedia建个独立的git了(framework/av),等你好久了!也体现 ...

  6. Android以太网框架情景分析之启动简介

            Android以太网框架情景分析之启动简介 Android网络框架分析系列文章目录: Android P适配以太网功能开发指南 Android以太网框架情景分析之启动简介 Androi ...

  7. android英文资料,android基础框架(国外英文资料).doc

    android基础框架(国外英文资料) 丝黄贡投苔张娥烯廊蓖颗盯戚奎复宠津优旦惭喘娶屉廷椿保跨揖豆沿翔靶装被制绽狙竞萎奸幽淫鼎举爸阁雇屠椽庇吞层解鼠控牛支唐缨谨兴浩阀臭悉颠撮鄙及韧肯干辈员卫隶维图忿暮 ...

  8. Android常用框架收藏!!!

    Android常用框架 1.网络请求框架 2.图片下载框架 3.轻量级数据库 4.沉浸式状态栏 5.异步链式框架 6.组件/模块路由,通信框架 7.插件化框架 8.热修复框架 9.注解 10.JSON ...

  9. Android Binder框架实现之Parcel详解之基本数据的读写

       Android Binder框架实现之Parcel详解之基本数据的读写 Android Binder框架实现目录: Android Binder框架实现之Binder的设计思想 Android ...

最新文章

  1. 消息中间件客户端消费控制实践
  2. ffmpeg+mencoder环境搭建和视频处理总结
  3. 获利上亿!一程序员主犯非法挖矿被抓
  4. python 中【example[I] for example in dataset】的理解
  5. iPhone12年简史:手机之王的荣耀与溃败
  6. crontrigger java_java CronTrigger用法
  7. 高新兴中标4.61亿智慧城市PPP项目
  8. ALLEGRO 任意形状铜皮倒圆角
  9. 富士胶片将作为全球合作伙伴赞助菲利普·科特勒教授发起的2019年世界营销峰会,并在网站发布专访
  10. Stimulsoft Reports.JAVA 2022.4.3 Crack
  11. vue项目使用LODOP打印小票功能
  12. AHP层析分析法初步讲解
  13. python元组和列表逆序_Python容器:列表与元组
  14. 中国RFID行业市场前景规划与运营模式分析报告2022-2028年版
  15. 蚂蚁金服面试及笔试(附自己的答案)
  16. 如何将计算机管理中的可用空间,怎样增加电脑可用内存
  17. mysql数据库删除tokudb表 drop table报错unknowntable处理方法【转载】
  18. 那些年跟领导聊过的数据归档【DB篇】:从梳理到落地-DB单表千万级归档详细流程讲解
  19. hive插入多条数据sql_30分钟入门 Hive SQL(HQL 入门篇)
  20. MPD软件工作坊北京站:技术创新与研发效率带来的前沿思考

热门文章

  1. 爱立信助力银和瓷业打造智慧工厂;埃森哲2021财年全球营业收入达505亿美元;华为发布11大场景化解决方案 | 全球TMT...
  2. TCP协议:报文字段解析
  3. 中国国内驾照在韩国换驾照的经过
  4. 博世BMA400传感器API (中文说明)
  5. 云计算基础架构 (二)redis群集
  6. JAVA 基本数据结构--数组、链表、ArrayList、Linkedlist、hashmap、hashtab等
  7. 这次GDC China 2015的总结与关卡设计教程的梳理
  8. Google Open Images Dataset V4
  9. 阿里Android架构师面试就这?我上我也行!
  10. web服务 面试可能会问的问题