全球旧事资料 分类
A
droid的安全与权限
A
droid是一个多进程系统,每一个应用程序(和系统的组成部分)都运行在自己的进程中。在应用程序和系统间的安全通过标准的Li
ux设备在进程级被执行,例如被分配给应用程序的用户和组ID。额外的细粒度安全特性通过“许可”机制来提供,该机制能够对一个指定进程可实现的特定操作进行约束。
内容
安全结构应用程序签名用户标识和文件访问权限命名权限的声明和支持在A
droidMa
ifestxml文件中支持权限发送广播时支持权限其它权限的支持URI权限
安全结构
A
droid安全学中的一个重要的设计点是在默认情况下应用程序没有权限执行对其它应用程序、操作系统或用户有害的操作。这些操作包括读写用户的隐私数据(例如联系方式或email),读写其它应用程序的文件,执行网络访问,保持设备活动,等等。应用程序的进程是一个安全的沙箱。它不能干扰其它应用程序,除非在它需要添加原有沙箱不能提供的功能时明确声明权限。这些权限请求能够被不同方式的操作所处理,特别的要基于证书和用户的提示被自动的允许或禁止。权限的请求在那个应用程序中通过一个应用程序被声明为静态的,所以在此之后在安装时或没有改变时它们会预先知道。
应用程序签名
所有的A
droid应用程序(apk文件)必须通过一个证书的签名,此证书的私钥必须被开发者所掌握。这个证书的标识是应用程序的作者。这个证书不需要通过
f证书组织的签署:A
droid应用程序对于使用自签署的证书是完全允许的和特别的。这个证书仅仅被用于与应用程序建立信任关系,不是为了大规模的控制应用程序可否被安装。最重要的方面是通过确定能够访问原始签名权限和能够共享用户ID的签名来影响安全。
用户标识和文件访问
安装在设备中的每一个A
droid包文件apk都会被分配给一个属于自己的统一的Li
ux用户ID,并且为它创建一个沙箱以防止影响其它应用程序(或者其它应用程序影响它)。用户ID在应用程序安装到设备中时被分配,并且在这个设备中保持它的永久性。因为安全执行发生在进程级,所以一些不同包中的代码在相同进程中不能正常的运行,自从他们需要以不同Li
ux用户身份运行时。你可以使用每一个包中的A
droidMa
ifestxml文件中的ma
ifest标签属性sharedUserId拥有它们分配的相同用户ID。通过这样做,两个包被视为相同的应用程序的安全问题被解决了,注意为了保持安全,仅有相同签名(和请求相同sharedUserId标签)的两个应用程序签名将会给相同的用户ID。应用创建的任何文件都会被赋予应r
好听全球资料 返回顶部