【问题标题】:Securely Ship Names [closed]安全地运送名称[关闭]
【发布时间】:2016-04-14 11:11:53
【问题描述】:

我想部署一个带有事物名称的 iPhone 应用程序作为已部署应用程序的一部分。用户在成功登录后将看到这些名称(使用已经存在的标准现有登录服务。)。但是,我不希望可以解密应用程序的人访问这些名称。换句话说,他们可以解密应用程序并获取字符串。见Finding constants from a decrypted iOS app executableReverse Engineering Tools

如何发送加密的名称,然后在他们登录后让应用对其进行解密?在我看来,我编写/使用的任何解密代码也可供解密应用程序的人使用。

如果我不必创建自定义服务器解决方案只是为了在应用程序登录后发送应用程序名称,那将是非常好。但是,它可能会发生。

我们的顶级安全人员将严厉打击这个应用程序。所以,它必须是密不透风的安全。所以"Best way to securely ship static text inside a iOS app?" 的答案是行不通的。

想法?

更新:我们能否以某种方式在 iPhone 和 Android 的密钥库中预先填充安全信息,使其不会被黑客入侵?

【问题讨论】:

  • 向您的“顶级安全人员”寻求帮助。
  • @zaph 我明白你为什么会这么说。 :) 我想要第二个/开发人员的意见,因为我已经与安全人员进行了对话,但他们没有注意到这一点。
  • 然后找一个新的“顶级”家伙。他不应该被互联网陌生人取代。
  • 了解不可能 100% 保护用户的某些东西。这个概念是增加攻击者的工作因素,使其超出为从成功攻击中获得的价值花费时间/精力的能力或意愿。因此,您必须定义要防御的攻击者(从好奇的青少年到民族国家)以及受保护数据的价值。

标签: ios security encryption


【解决方案1】:

在包含在应用程序中之前对项目进行加密,并且不要在应用程序中包含加密密钥。而是在用户正确登录后将密钥传递给应用程序。

只需正确使用 AES 加密,即可保护数据。

解密方法是否保密并不重要,重要的是解密密钥是否保密。

【讨论】:

  • 谢谢@zaph。解密密钥将来自服务器。对吗?
  • 是的,这是最安全的方法。同样在 iOS 上,将密钥嵌入应用程序并非不可能,二进制文件只能通过越狱来解密,安装工具以便在加载运行时检查代码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-05
  • 2016-01-25
  • 2012-05-01
  • 1970-01-01
相关资源
最近更新 更多