如何确定加密加速是否可用



除非硬件密钥库加速(如三星的S8(,否则在Android上使用硬件支持的密钥库的速度很慢。有一个 Android API 可以检测从 API 级别 23 开始放入 Android KeyStoreKey是否存储在安全硬件中,但我错过了一个 API 来检测密钥库是否是硬件加速的。有这样的事情吗?

理由:如果用户有一个(快速的(软件密钥库或一个加速的硬件支持的密钥库,可以提示用户选择更大的密钥长度(例如,RSA密钥为4096(,而在非加速的、缓慢的硬件支持的密钥库上,较小的密钥大小会更合适。

来自 Android 8.1 的 Android 兼容性定义文档 (CDD( 是指纹传感器 [C-1-6] "必须"具有可信执行环境 (TEE(

CDD 中对密钥和凭据的其他引用意味着存在硬件支持的安全元素,但并不一定意味着加密性能是硬件加速的。

请注意,在早期的Android CDD 6.0 - 密钥和凭据中,强烈建议使用TEE,除非有指纹传感器。

请注意,我不确定您的长密钥长度创建映射的特定用例,以保护存储功能,因为全磁盘加密等功能似乎使用预定义的密钥长度。

最新更新