使用Xamarin安全的跨平台存储选项

时间:2012-09-23 23:24:44

标签: encryption mono xamarin.ios xamarin.android xamarin

我目前正在审核Xamarin作为开发平板电脑应用程序的选项(目前适用于iOS和Android,但未来会考虑将其移植到Win8平板电脑)

要存储的数据非常敏感,因此安全性是我的主要关注点。

到目前为止,我正在考虑两种选择:

a)SQLite + SQLCipher:假设Win8平板电脑将支持SQLite,而SQLCipher也适用于Win8。

b)隔离存储+ DPAPI:假设这种DPAPI方法适用于Mono平台,并且它仍可在Win8平板电脑上使用。

我担心的是,为了安全地存储密钥,我想我仍然需要为每个平台分别实现(iOS上的数据保护,我仍在审查Android和Win8平板电脑的选项)。

是否有任何跨平台解决方案可以安全地存储加密密钥或另一种完全跨平台的方式来安全地存储数据?如果没有完全跨平台的解决方案,那么在每个平台上使用任何推荐的选项?

2 个答案:

答案 0 :(得分:1)

我已经编写了一个插件来解决安全存储问题。它可以跨平台工作,并在每个平台上本地保护数据。它是开源的。

请检查出来。 https://www.nuget.org/packages/sameerIOTApps.Plugin.SecureStorage/

博客: https://sameer.blog/2018/01/19/whats-new-in-secure-storage-2-0/

如果您有任何问题,请告诉我。

答案 1 :(得分:0)

我们在我们的解决方案中使用SQLite + SQLCipher,它在跨平台环境中运行良好。 如果我没有弄错,使用SQLCipher没有问题,因为它使用AES。无论如何,我建议你检查一下,但我不认为这是一个问题。 SQLCipher本身并不能使数据无法读取,如果您允许选项使用带有SQLCipher的密码,可能会出现问题,但仍然存在问题。获得许可的过程对于AES来说非常简单,并且可以在几天内完成。