6

我目前正在审查 Xamarin 作为开发平板电脑应用程序的一个选项(现在针对 iOS 和 Android,但将来考虑将其移植到 Win8 平板电脑)

要存储的数据非常敏感,所以安全性是我主要关心的问题。

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

a) SQLite + SQLCipher:假设 Win8 平板电脑将支持 SQLite,并且 SQLCipher 也可以在 Win8 上运行。

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

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

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

4

2 回答 2

1

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

请检查一下。 https://www.nuget.org/packages/sameerIOTApps.Plugin.SecureStorage/

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

让我知道,如果您有任何问题。

于 2018-04-22T15:36:23.570 回答
0

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

于 2014-12-10T22:02:32.913 回答