我正在开发一个管理敏感信息的应用程序。出于这个原因,我想让用户选择创建一个密码来加密数据。这些信息只保存在设备中;其思想不是加密和通过网络发送数据,而是防止其他完全访问该设备的人访问该设备。
现在,我不知道是应该对整个数据库进行加密,还是在保存之前只对每个条目进行加密。加密数据库的推荐方法是什么?
发布于 2014-03-20 13:35:12
迭戈
加密数据是一个微妙的问题。
首先,做些简单的事情。打开苹果的文件安全。这可能会为您提供更多的安全性,而不是您所能编写的任何东西。它可能为设备提供了您真正需要的所有安全性。如果没有,你应该知道它没有提供什么。这将是编写特殊用途代码的主要原因。苹果最近发布了一份关于iOS安全的优秀白皮书。我们都应该读一读。
其次,安全是以微妙和不明显的方式被破坏的。这不是一个启动加密,然后希望最好的问题。您将如何处理其他设备的密钥分配?你要怎么处理丢失的钥匙?你相信苹果的钥匙链吗?(他们是否在“失败”之后修正了自己的程序?)
我认识的大多数安全人员处理这些问题的方法是构建详细的使用场景。然后实现代码,看看设计是否好。然后请他们的朋友和顾问在设计中戳洞;修补这些洞,直到你对你的设计“有信心”为止。如果你是安全方面的新手,根据你问题的性质,我假设你对这个领域还比较陌生,那么你就不应该对你的设计有信心。现在您需要用更简单的代码和更简单的过程重新实现您的设计。然后把它放在真正的用户面前。它们将向您展示您的安全流程如何在实际操作中失败。糟糕的安全设计已经杀死了很多产品,而且它可以杀死你的产品。
我会非常小心的。使用苹果已经精心设计的产品。认真地问问自己,你是否需要更多。问你的管理层他们想花多少钱在安全上?问你的用户安全问题对他们有多重要?我怀疑这两个问题的答案是:不,他们不想支付或麻烦的安全。
因此,可以做一些简单的事情:使用苹果的iOS安全性。
安农,安德鲁
https://stackoverflow.com/questions/22523096
复制相似问题