您如何保护您的 iPhone 应用程序的 key ?
我有一个客户端应用程序使用的 API key ,我不想让任何人看到它,只有应用程序才能读取它。
1) 我如何安全地将其存储在我的应用程序中?将其存储到变量中?够好吗?
2) 如果有人解密我的应用程序会怎样? (这可能吗?)
Best Answer-推荐答案 strong>
这里有很多问题,所以让我一次回答一个:
您如何保护您的 iPhone 应用程序的 key ?
我假设您正试图从您的应用程序的用户那里保护它。除非您使用 trusted computing,否则这是不可能的。平台,即可以信任的平台不服从其所有者的命令(因此有时称为 treacherous computing)。据我所知,iPhone 不是这样的平台。
我有一个客户端应用程序使用的 API key ,不希望任何人看到它,只有应用程序才能读取它。
如果您的应用程序可以读取它,那么运行您的应用程序的平台的所有者也可以读取它。 (异常(exception)情况是受信任的计算平台 - 见上文。)
如何将其安全地存储在我的应用程序中?
你不能。
将其存储到变量中?
你可能会。
够好吗?
没有。
如果有人解密我的应用程序会怎样?
然后他得到你的 key 。
这可能吗?
是的。
如果您不希望您的用户知道您的 key ,那么一开始就不要将其提供给他们。设置您的应用程序将连接到的代理服务器并将您的 secret 保存在那里。
有句老话,每个 secret 都必须被视为公共(public)知识,除非它被不超过两个人知道。这也适用于软件。
关于security - iPhone 应用程序和安全性?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/5306826/
|