|
Android移动终端操作系统的安全分析Android是一个基于Linux内核并使用Java语言编写应用的开源的移动终端操作系统,主要用于便携设备,如手机、平板电脑等。 2、Android系统安全机制分析 Android系统在采用linux 2.6版本的内核安全机制的基础上,使用了谷歌公司专门为移动设备设计的增强安全机制,例如用户标识符(UID)、组别标识符(GID)、permission机制和签名机制,并使用类型安全的Java编程语言及其类库来增强系统的安全性。 2.1 Android系统的UID与GID Android是一个权限分离的系统,建立在Linux操作系统已有的权限管理机制的基础上,并对Linux操作系统的相关权限管理机制进行了扩展。具体来说,Android为每一个应用分配不同的UID和GID,使得不同应用之间的访问和私有数据达到相互隔离的目的。 Android系统中,每安装一个应用程序,系统就会为它分配一个独特的UID。在Linux系统中,所有用户也都有UID,其中,除了Root用户对所有文件都有读写和执行的权限之外(其UID等于0),每个用户对于每个文件都有不同的权限,分别为R(可读)、W(可写)和X(可执行)。Android系统中的每个应用程序都会被分配给一个属于自己的用户标识,每个应用程序都有自己的UID,只有携带着该UID,才能存取其所涌盖的有关资料。 GID也在Android系统的权限管理中发挥重要的作用。GID是一组整饭的集合,由框架在应用安装过程中生成,与应用申请的具体权限相关。应用每申请一个权限,GID就会加人一个对应的整数,因此可以将GID理解为一个应用申请的所有权限的集合。对于普通应用程序来说,其GID等于UID。Android中每个应用都在不同的进程中运行,每个进程都有不同的UID和权限。Android系统使用沙箱的概念来实现应用程序之间的分离和权限限制,系统为每个应用程序创建一个沙箱,以防止它影响其它程序(或者其它程序影响它)。 2.2 Android系统的权限管理机制 权限许可(permission)是为保障Android系统的安全而设定的安全标识,同时也是程序实现某些特殊操作的基础。Android系统提供的权限管理机制主要是用来对应用可以执行的某些具体操作进行权限细分和访问控制。 Android中的一个权限主要包含三个方面的信息:权限的名称、属于的权限组以及保护级别。其中,一个权限组是指把权限按照功能分成的不同集合,例如在 COST_MONEY权限组中包含Android.permission.SEND_SMS, Android.permission.CALL_PHONE等和费用相关的权限,而每个权限通过保护级别(protection Level)来标识。Android定义了四个保护级别:normal、dangerous、signature, signature or system,不同的保护级别代表了程序要使用此权限时的认证方式。比如,normal的权限只要申请了就可以使用;dangerous的权限在安装时需要用户确认才可以使用。signature和signature or system的权限则需要使用者的应用和系统使用同一个数字证书。 责编:李玉琴 微信扫一扫实时了解行业动态 微信扫一扫分享本文给好友 著作权声明:畅享网文章著作权分属畅享网、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。 |
最新专题 |
|