我正在寻找保护 Android 设备中敏感数据(例如密钥或私钥)的最佳方法,并找到了Android Keystore System。根据文档,可以将密钥材料绑定到 Android 设备的安全硬件(例如,可信执行环境 (TEE)、安全元件 (SE))。这意味着并非所有 Android 设备都支持此功能。一些文章将此方法命名为硬件支持的存储。如果设备不支持安全硬件,则将其存储在内部存储中,一些文章将此称为软件支持的存储。
根据这篇文章,软件支持的存储被放置在/data/misc/keystore/user_0其中,这意味着它暴露在有根设备中。是否有任何 PoC 对根设备不安全?具体来说,如何在这些软件支持的安全存储中提取秘密?