Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/39.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/95.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
Iphone iOS应用程序安全的最佳实践_Iphone_Ios_Ipad_Security - Fatal编程技术网

Iphone iOS应用程序安全的最佳实践

Iphone iOS应用程序安全的最佳实践,iphone,ios,ipad,security,Iphone,Ios,Ipad,Security,在考虑iPhone/iPad应用程序的安全性时,我可以注意到: 广泛使用的黑客工具允许文件系统访问 网络拦截,中间人攻击 ==>数据盗窃威胁 而且: 黑客工具的可用性,允许与朋友/社区免费共享付费应用程序(见Cydia) 黑客工具的可用性,允许在不付费的情况下获得应用内购买(在Cydia中看到,听说它不适用于任何应用) ==>收入损失威胁 所以我想知道#1在iOS应用程序中获得更好安全性的最佳实践是什么? 此外,什么是减少收入损失和减少黑客风险的最佳方法 对于#1 我看过一些WWDC关于

在考虑iPhone/iPad应用程序的安全性时,我可以注意到:

  • 广泛使用的黑客工具允许文件系统访问
  • 网络拦截,中间人攻击
==>数据盗窃威胁

而且:

  • 黑客工具的可用性,允许与朋友/社区免费共享付费应用程序(见Cydia)
  • 黑客工具的可用性,允许在不付费的情况下获得应用内购买(在Cydia中看到,听说它不适用于任何应用)
==>收入损失威胁

所以我想知道#1在iOS应用程序中获得更好安全性的最佳实践是什么? 此外,什么是减少收入损失和减少黑客风险的最佳方法

对于#1 我看过一些WWDC关于安全的幻灯片 +

我可以说,在这些最佳实践之间有:

  • 使用提供数据保护的API(如具有NSFileProtectionKey属性的NSFileManager)
  • 使用钥匙链
  • 使用SSL和证书保护敏感数据
对于#2 我认为,使用基于免费应用的商业模式,然后通过商店收据验证的应用内购买可以是收入损失最小的模式


您在安全方面的最佳做法是什么,以及最大限度地减少应用程序黑客攻击机会的最佳方法?

这取决于您所做的工作。至于访问API,您真正需要做的就是散列和/或salt用户信息,然后将信息(如果需要)保存在密钥链中(你可以通过在将密码放入钥匙链之前对密码进行加密来增加额外的安全性。最好不要使用NSUserDefaults,因为输入密码的数据存储在iPhone文件系统的.txt文件中,正如你所说,黑客可以访问该文件系统

#1在iOS应用程序中获得更好安全性的最佳实践是什么

适当的数据安全性在很大程度上取决于信息的性质。它是长寿命的还是短命的?它是可用于打开其他东西的通用凭证,还是单个数据?是否可能会丢失隐私、财务或安全?确定适当的保护需要特定的情况,并且没有通用的ans答:但你要求的最佳实践有好几种。它们都不是完美的或牢不可破的。但它们是最佳实践。以下是一些:

  • 在钥匙链中存储敏感信息
  • 尽可能将数据保护设置为
    NSFileProtectionComplete
  • 不要存储您实际上不需要的敏感数据,或存储时间超过您需要的时间
  • 存储特定于应用程序的身份验证令牌,而不是密码
  • 使用HTTPS验证您正在联系的服务器。切勿接受无效或不受信任的证书
  • 连接到您自己的服务器时,验证服务是否提供您已签名的证书,而不仅仅是“受信任的证书”
这只是一些方法,但它们确定了基本基调:

  • 使用内置的API来存储东西。随着苹果提高安全性,你可以免费获得好处
  • 完全避免存储敏感信息,并将存储内容的敏感性降至最低
  • 验证与之通信的服务
#2减少收入损失和减少黑客风险的最佳方法是什么

这已经讨论过很多次了。这个答案包括到其他几个讨论的链接:

简单的回答是:担心你的客户,而不是你的非客户。许多海盗永远不会给你钱,所以你的时间和金钱最好花在帮助你的实际客户想给你钱上,并让他们更容易给你钱。专注于赚更多的钱,而不是保护自己不受你永远不会有的钱的影响。永远不会,任何时候,在你试图惩罚一个不付钱的客户的过程中,勾选一个付钱的客户。报复是傻瓜的游戏,也是资源的浪费

有两种避免盗版的好方法:

  • 不要发表
  • 发布没人想要的垃圾
有一些基本的事情是值得你去做的,就像他们说的,只是为了让诚实的人保持诚实(一些在各种相关的讨论中讨论过)。但是不要在晚上睡不着觉,担心如何挫败海盗。睡不着觉,担心如何让你的客户感到惊讶


请永远记住:苹果在保护iPhone方面花费的钱比我们大多数人一生中所见过的都要多。但它仍然被越狱。想想你的预算会达到什么目的。

当攻击者获得对该设备的物理访问权(例如盗窃)时,他几乎可以做任何事情。 请注意,读取应用程序文件非常容易。 被盗设备很容易越狱,攻击者甚至可以访问受保护的文件

我对将敏感数据存储到设备的建议:

  • 如果它们可以存储在安全服务器上,就不要这样做
  • 使用您自己的加密,在用户登录时解密,在用户注销或应用程序在后台运行一段时间后删除解密的文件
  • 每个密码和加密密钥都必须存储在密钥链中

  • 罗布·纳皮尔提到了好的方面,但为了更安全

    1在iOS应用程序中获得更好安全性的最佳实践是什么?
  • 在密钥链中以加密格式存储敏感信息。

    • 物理访问设备时,可以轻松转储钥匙链数据
  • 设置适当的数据保护级别(最好是NSFileProtectionComplete)
  • 始终使用自定义加密和内置API来存储数据。
    • 即使黑客在内置API中发现漏洞,你的应用程序也是安全的
  • 在删除之前重写临时存储的数据。
    • 法医技术可用于恢复已删除的数据
    • <