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

6

我目前正在评估Xamarin作为开发平板应用的选项(现在主要是针对iOS和Android,但未来也考虑转移到Win8平板上)。

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

到目前为止,我考虑了两个选项:

a) SQLite + SQLCipher:假设Win8平板将支持SQLite,并且SQLCipher也能在Win8上工作。

b) 独立存储 + DPAPI:假设这种DPAPI方法可以在Mono平台上使用,并且它仍然可用于Win8平板。

我的担忧在于,为了安全地存储密钥,我想我仍然需要为每个平台单独实现(在iOS上使用数据保护,我还在审查Android和Win8平板的选项)。

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


请注意,当您提交应用程序进行审核时,苹果会询问您是否使用了任何加密技术。我不知道他们会如何处理这些信息,但这是他们特别要求的内容。 - Jason
2
一些国家有反对使用加密的法律,因此你的应用程序很可能无法在某些国家销售。一些政府希望能够在刑事调查等情况下查看你的任何文件。 - jonathanpeppers
我听说过这个针对非美国国家的事情。 - jdrm
你是否找到了某个稳定的解决方案?我希望在 Xamarin Forms 中保护 XML 文件,而不使用 SQLite 等工具。 - Maury
2个回答

1

0
我们的解决方案中使用了SQLite + SQLCipher,在跨平台环境下运行非常稳定。 如果我没记错的话,使用SQLCipher应该没有问题,因为它使用AES加密。我建议您进行检查,但我认为这不是一个问题。SQLCipher本身并不能使数据变得不可读,也许只有在允许使用密码选项时才会出现问题,但仍然如此。获得AES权限的过程非常简单,可以在几天内完成。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接