Xamarin.Android安全存储(Keystore)

时间:2016-07-06 22:08:54

标签: android xamarin keystore android-keystore

我想在Android KeyStore中存储一些敏感数据(刷新令牌)。

我打算使用Xamarin Labs Sample ISecureStorage实现

KeyVaultStorage

但是他们使用设备ID作为密码....这不是一种安全的方式吗?!

在他们的Xamarin.Auth库中,它利用了Android KeyStore ......他们的密码是硬编码的

AndroidAccountStore

这里发生了什么?!我错过了什么吗?

在iOS上它更简单,因为KeyChain依赖于在iOS上强制执行的PIN屏幕。什么是Android的解决方案?不要说共享偏好。我需要更安全的东西(KeyStore !!)

1 个答案:

答案 0 :(得分:0)

硬编码值保留了向后兼容性,但添加了API,因此用户可以将任意密码作为字符串提交。如果未传递密码,将使用旧的硬编码字符串,这是安全问题。

计划将[Obsolete]属性添加到不安全的API中。

由用户决定如何生成/传递密码(UI或不如您提到的DeviceID那样安全)。

关于实验室:来自Evolve16预贡献培训的实验室是什么?

如果是的话。这些实验的核心现已集成在Xamarin.Auth中,因此用户可以直接使用SecureStorage和其他实用程序(CryptoUtilities)与Xamarin.Auth。