keystore基础
在了解keystore之前,首先需要对安卓平台架构有一定的了解,整体可以参考图如下:

其具体内容,可以参考官方文档
平台架构 Android 开发者 Android Developers
密钥存储技术,由三部分技术组成:keystore、keymaster,以及TEE(Trusted Execution Environment,可信执行环境),它们分别对应本地C/C++库、hal层,以及linux内核。
keystore是密钥与证书的管理系统,为软件提供密钥存储与加密的API。
keystore提供:
- 密钥管理
- 对称/非对称加解密
- 证书管理
- 其他功能
keystore整个都是利用TEE技术所存在的,当然也存在没有TEE技术的设备,就利用软件虚拟化TEE,个人感觉是并不安全的,因为可以访问、修改到其中的文件。
可以参考官方说法
Android 密钥库系统 Android 开发者 Android Developers
https://source.android.google.cn/security/keystore/?hl=zh-cn
大部分的TEE,也是调用的ARM的trustzone技术进行实现。
TA(Trusted Application)是TEE中完成特定功能的应用。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 智未开笔记!