【发布时间】:2012-12-16 08:41:01
【问题描述】:
我目前正在构建一个移动应用程序(最初是 iOS),它需要一个后端 Web 服务来与之通信。
由于此服务将公开我只想由我的移动客户端访问的数据,因此我想限制对该服务的访问。
但是,我对如何实现这一点有点怀疑。由于我的应用不需要身份验证,因此我不能只使用这些凭据对服务进行身份验证。不知何故,我需要能够确定请求是否来自受信任的客户端(即我的应用程序),这当然会导致人们认为可以只使用证书。但是这个证书不能从应用程序中提取并因此被滥用吗?
目前我的应用程序是基于 iOS 的,但后来 android 和 WP 也会出现。
我希望在 nodejs 中开发的 Web 服务,虽然这不是最终决定 - 但是它将是一个 RESTful 服务。
感谢任何关于最佳实践的建议!
【问题讨论】:
-
我会走证书路线...但实际上任何坚定的黑客都可以对其进行逆向工程或欺骗用户代理字符串以显示为移动设备等。
-
正是我的想法——这并不能真正阻止任何人访问我的服务。我只是认为今天的所有应用程序已经发展了某种最佳实践,而我只是不知道。我想我所能做的就是让它变得更加困难 - 但是,当坚定的黑客(甚至可能是唯一一个通过在应用程序背后识别我的服务的人)轻松获得访问权限时,为什么还要打扰呢。 ..?
-
基于 SSL 的通信 + 公钥签名 = 非常可靠的通信
-
我觉得不可能,但是如果你能得到发送设备的MAC,你就可以对它进行分类。
标签: ios web-services security authentication