Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 如何使用核心数据正确加密信息_Database_Core Data_Encryption - Fatal编程技术网

Database 如何使用核心数据正确加密信息

Database 如何使用核心数据正确加密信息,database,core-data,encryption,Database,Core Data,Encryption,我正在开发一个管理敏感信息的应用程序。出于这个原因,我想让用户选择创建一个密码来加密数据。此信息仅保存在设备中;其目的不是通过网络加密和发送数据,而是防止其他完全可以访问该设备的人访问该设备 现在,我不知道是应该加密整个数据库还是在保存前只加密每个条目。推荐的数据库加密方法是什么?Diego 加密数据是一个微妙的问题 首先,做简单的事情。打开苹果的文件安全。这可能会给你带来比你能写的任何东西都少的安全性。它可能提供了您在设备上真正需要的所有安全性。如果没有,你应该确切地知道它没有提供什么。这将是

我正在开发一个管理敏感信息的应用程序。出于这个原因,我想让用户选择创建一个密码来加密数据。此信息仅保存在设备中;其目的不是通过网络加密和发送数据,而是防止其他完全可以访问该设备的人访问该设备

现在,我不知道是应该加密整个数据库还是在保存前只加密每个条目。推荐的数据库加密方法是什么?

Diego

加密数据是一个微妙的问题

首先,做简单的事情。打开苹果的文件安全。这可能会给你带来比你能写的任何东西都少的安全性。它可能提供了您在设备上真正需要的所有安全性。如果没有,你应该确切地知道它没有提供什么。这将是编写特殊用途代码的主要原因。苹果最近发布了一份关于iOS安全性的优秀白皮书。我们都应该读一读

其次,安全被以微妙和不明显的方式破坏。这不仅仅是启动加密然后期待最好的结果。您将如何处理密钥分发到其他设备?你怎么处理丢失的钥匙?你相信苹果的钥匙链吗?(他们是否在“goto fail;”之后修复了流程?)

我认识的大多数安全人员处理这些问题的方式是通过构建详细的使用场景。然后实现代码,看看设计是否好。然后让他们的朋友和顾问在设计上戳洞;修补这些洞,直到你对你的设计有“信心”。如果您是安全方面的新手,并且根据您的问题的性质,我假设您是该领域的新手,那么您不应该对您的设计有信心。现在,您需要使用更简单的代码和更简单的流程重新实现您的设计。然后把它放在真正的用户面前。他们将向您展示您的安全过程如何在实际操作中失败。糟糕的安全设计杀死了许多产品,也可能杀死你的产品

我会非常小心的。使用苹果已经精心设计的产品。认真问问自己,你是否还需要更多。询问您的管理层,他们希望在安全方面花费多少?询问用户安全问题对他们来说有多重要?我怀疑这两个问题的答案都是:不,他们不想为安全买单或麻烦

因此,做一些简单的事情:使用苹果的iOS安全

安侬, 安德鲁