面试题:android的安全机制有哪些
2016-04-15 19:18
316 查看
1 uid 、 gid 、 gids
Android 的权限分离的基础是建立在 Linux 已有的 uid 、 gid 、 gids 基础上的 。UID: Android 在 安装一个应用程序,就会为 它 分配一个 uid (参考 PackageManagerService 中的 newUserLP 实现)。其中普通 A ndroid 应用程序的 uid 是从 10000 开始分配 (参见 Process.FIRST_APPLICATION_UID ),
10000 以下是系统进程的 uid 。
GID :对 于普通应用程序来说, gid 等于 uid 。由于每个应用程序的 uid 和 gid 都不相同, 因此不管是 native 层还是 java 层都能够达到保护私有数据的作用 。
GIDS : gids 是由框架在 Application 安装过程中生成,与 Application 申请的具体权限相关。 如果 Application 申请的相应的 permission 被 granted ,而且 中有对应的 gids , 那么 这个 Application 的 gids 中将 包含这个 gids 。
2 permission
一个权限主要包含三个方面的信息:权限的名称;属于的权限组;保护级别。一个权限组是指把权限按照功能分成的不同的集合。每一个权限组包含若干具体权限,例如在 COST_MONEY 组中包含 android.permission.SEND_SMS , android.permission.CALL_PHONE 等和费用相关的权限。Package 的权限信息主要 通过在 AndroidManifest.xml 中通过一些标签来指定。如 <permission> 标签, <permission-group> 标签 <permission-tree> 等标签。如果 package 需要申请使用某个权限,那么需要使用 <use-permission> 标签来指定。
3 Android 签名机制
android 中系统和 app 都是需要签名的。可以自己通过 development/tools/make_key 来生成公钥和私钥。相关文章推荐
- 面试题:android用户注册代码 密码需要加密传输吗
- 面试题:java中String为什么要设置成final
- 让非程序员感到神奇的程序员技能
- iOS面试题
- 剑指offer 面试题4: 替换空格 题解
- 一个优秀的程序员应该如何提高工作效率?
- 第四次职业生涯规划作业
- 面试题怎么将二叉树转化为链表
- [转] 一个优秀的程序员应该如何提高工作效率?
- 程序员那点事
- [转] 10多年码代码经验腾讯管理谈职业规划
- LeetCode(62)-Two Sum
- 转载:那些著名或者非著名的面试题(上)
- 轻松搞定面试中的二叉树题目
- 4.14腾讯实习一面记录(移动客户端方向)
- C面试常用基础题目
- 一个优秀的程序员应该如何提高工作效率?
- 程序员数学--卡特兰数(Catalan number)
- 剑指offer 面试题17: 合并两个排序的链表 题解
- 前端面试问题(二)