@1qaz
2016-08-08T21:44:58.000000Z
字数 1194
阅读 1486
未分类
spsm 14
细分:
1. Bouncy Castle using a stored password
2. Bouncy Castle using a user-provided password
3. AndroidKeyStore using the TEE on Qualcomm
4. AndroidKeyStore using the TEE on TI devices
5. AndroidKeyStore using software-fallback
安全需求:
1. App-binding:只有特定设备上的特定应用能使用key
2. Device-binding: 只能在特定设备上使用
3. User-consent require:只有用户UI同意使用key
硬件支持:Keychain中的isBoundKeyAlgorithm 检查RSA/ECDSA/DSA
生成RSA key pair,用私钥签名,另一个instance用公钥验证,考虑3种攻击情形。
尝试在没有用户交互的情况下使用key
Bouncy Castle using a stored password
JAVA keystore的api不提供导出原始key的功能,
password加密方式 pbe-WithSHAAnd3-KeyTripleDES-CBC
root attcker能拿到password和keystore文件
Bouncy Castle using a user-provided password
需要攻击者能够劫持UI输入的passwrod
爆破password
AndroidKeyStore using the TEE on Qualcomm
/data/misc/keystore/user_0/uid_type_alias
root只要重命名文件就能使用其他app的key
AndroidKeyStore using the TEE on TI devices
actual format is unknown,TEE
AndroidKeyStore using software-fallback