【问题标题】:iOS encryption to use web data securelyiOS 加密以安全地使用网络数据
【发布时间】:2012-07-13 20:52:18
【问题描述】:

我正在开发一个非常简单的应用程序,它的重要部分是内容,它由多年来收集的大量信息组成。我想以一种很好的方式对其进行格式化以向用户展示。

当用户下载应用程序并首次加载它时,它会转到服务器以将整个数据库获取到手机中。然后,他可以看到重要的项目,并对它们进行排序/过滤。为了避免有人拿走我的数据库,我将使用 SSL 连接。我知道他们是否愿意可以使用该应用程序逐个查看每条内容,但对此无能为力。

问题是:我在云(我的)中有数据。我可以使用 SSL 连接安全地下载它(有什么其他方法可以确保传输安全吗?)。当我得到它时,我会将它保存在一个数据库中(Core Data 是显而易见的选择)。

我怎样才能保护内部数据库中的数据,所以如果应用程序被黑客入侵,有人无法访问数据库?我会把它放在钥匙串中,但它是一个相当大的数据库,它并不重要。 (这不是明智的信息,只是我不希望任何人大量获取的信息。)

我可以做的另一件事是永远不要在设备中存储任何内容,并且让用户始终调用云,但我认为这太耗时了。并让他选择将​​他们最喜欢的选择保存到设备中。但这太耗时了,而且还有同步问题。

这是我查找的有关类似问题的参考资料,但没有回答我要询问的部分: How to encrypt iPhone upload and download of info?

【问题讨论】:

    标签: iphone ios security ssl


    【解决方案1】:

    基本上,唯一的选择是使用 SqlCipher。当然,您必须自己将其移植到 iPhone 上(除非我上次查看后有人发布了移植)。但这不是一项不可逾越的任务。

    当然,即使使用 SqlCipher,您也面临着以某种方式存储密钥的挑战。没有真正安全的方法可以做到这一点——您必须使用某种形式的“隐蔽安全”。

    【讨论】:

    • 我可以将密钥存储在钥匙串中,这应该是 iPhone 上最安全的部分(它甚至有硬件加密)
    • SqlCipher 似乎很容易使用! sqlcipher.net/ios-tutorial 你现在可以花 150 美元购买它,为 iOS 做好准备。 (我刚刚见到这家公司,只是评论它,因为它与答案相关,并且可能对未来的某人有用)
    【解决方案2】:

    为什么不在代码中存储一些私钥信息,然后当您要下载数据库时,只需让它使用密钥查询服务器?这样您就无需担心下载部分的 SSL 或加密。关于存储它,我同意 Hot Licks,SqlCipher 似乎是最好的也是唯一的选择。但是请注意加密,因为您必须向苹果申报并获得各种出口许可证(http://stackoverflow.com/questions/2135081/does-my-application-contain-encryption)。

    希望对你有帮助,

    乔纳森

    【讨论】:

    • 你的意思是公钥密码学?
    猜你喜欢
    • 2012-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-03
    • 1970-01-01
    • 2016-08-24
    • 1970-01-01
    相关资源
    最近更新 更多