在前面一篇文章我们介绍了安卓系统的安全启动机制,从OS层面讲解了AVB的配置以及实现原理。基于此基础,本篇文章主要介绍安卓上层的安全机制,keystore以及keymaster。
1
keystore
AndroidKeystore 是供应用访问 Keystore 功能的 Android Framework API 和组件。它是作为标准 Java Cryptography Architecture API 的扩展程序实现的,包含在应用自己的进程空间中运行的 Java 代码。AndroidKeystore 通过将与密钥库行为有关的应用请求转发到密钥库守护程序执行这些请求。
AndroidKeystore的初始化主要是通过ZygoteInit.java中如下函数执行,避免在每个APP中做初始化。
02
native keystore
启动的rc配置在/system/security/keystore/keystore.rc里面。
从Android.bp 中我们可以看到keystore编译依赖的源文件以及相关动态库。
从keystore_main.cpp中的main函数逐步解析其作用。
通过initializeKeymasters获得平台实现的keymaster hal,这个是各个厂家实现的,在此不做更多介绍。
下一篇文章,我们从APP的角度,从上到下传统我们的安全密钥使用机制。
领取专属 10元无门槛券
私享最新 技术干货