Yas*_*svi 3 android android-keystore
Android 密钥库系统可保护密钥材料免遭未经授权的使用。首先,Android 密钥库通过防止从应用程序进程和整个 Android 设备中提取密钥材料,减少了在 Android 设备外部未经授权使用密钥材料的情况。其次,Android KeyStore 通过让应用程序指定其密钥的授权使用,然后在应用程序进程之外强制执行这些限制,从而减少 Android 设备上未经授权使用密钥材料的情况。
我无法完全理解它。
通过防止从应用程序流程中提取关键材料
这是什么意思?设备中的任何应用程序进程都无法从存储中提取密钥?
您链接的文档上下文中的“防止提取”意味着“防止对手提取密钥材料”。这并不意味着您自己的应用程序不能使用密钥库中的密钥来加密/解密数据。这确实意味着您将永远无法从 Android KeyStore 获取密钥文件之类的东西,将其复制到其他地方并重新使用它。
此外,假设您需要在应用程序上的客户端和服务器之间发送加密消息。您天真地生成一个密钥并将文件(“密钥材料”)存储在应用程序的内部存储中。对手获得设备的 root 访问权限。他们现在可以访问您的密钥文件并使用您的密钥。即使您使用密钥密码,如果您的应用程序进程受到损害,那么由于对手可以访问密钥材料(即密钥文件),仍然存在危险。
文档中谈到的优点与这些缺点恰恰相反。Android 密钥库加密转换发生在应用程序进程之外(作为系统进程),并且可能绑定到安全硬件。任何密钥材料(密钥文件等)都不会暴露给对手以某种方式重用(例如解密消息或签署电子邮件)。
请注意,如果您希望密钥用于多个应用程序,那么您可能需要KeyChain API而不是密钥库。
| 归档时间: |
|
| 查看次数: |
3271 次 |
| 最近记录: |