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

jdr*_*drm 6 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平板电脑的选项).

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

小智 0

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