9、Android应用安装、更新与加密技术详解

Android应用安装、更新与加密技术详解

1. 自定义权限注册

在Android系统中,应用自定义权限采用“先到先得”的注册策略。若应用A和应用B都定义了权限P,且应用A先安装,那么A的权限定义会被注册,B的则会被忽略,因为权限P已被注册。这是由于权限名称与定义它的应用包没有绑定关系,任何应用都能定义任意权限。

这种策略可能导致权限保护级别降低。例如,若A定义的权限保护级别为“normal”,而B定义的为“signature”,且A先安装,那么访问B中受权限P保护的组件时,调用者无需与B使用相同的密钥签名。所以,使用自定义权限保护组件时,要确保当前注册的权限保护级别符合应用预期。

当完成权限注册等操作后,包数据库的更改(包括包条目和新权限)会保存到磁盘,同时 PackageManagerService 会发送 ACTION_PACKAGE_ADDED 通知其他组件有新应用添加。

2. 应用包更新

应用包更新的流程与安装流程大部分相同,下面主要介绍不同之处。

2.1 签名验证

更新应用包的第一步是检查新包是否由与现有包相同的签名者签名,这遵循同源策略,也称为首次使用信任(TOFU)。此签名检查确保更新由与原始应用相同的实体产生(假设签名密钥未泄露),并在更新和现有应用之间建立信任关系。更新会继承原始应用的数据。

在比较签名证书是否相等时,不会按照PKI的标准验证证书(如时间有效性、可信颁发者、撤销状态等)。证书相等性检查由 PackageManagerService.compareSignatures

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值