阻止从不同的客户端应用程序调用webservice

时间:2010-08-27 02:08:13

标签: algorithm code-access-security

我有这个网络服务在工作。对于该Web服务,我们的部门已经开发了一个客户端来使用Web服务。

我们想要防止的是,他们开发任何其他客户端来消费它。

是否有任何算法,我们可以在客户端和Web服务通信中改进的做法,以验证消费客户端是否是我们的应用程序?

我有一个想法,我们可以开发一个关于必须与服务器上计算的时间(宽限期5秒)匹配的加密算法。

但我想确定,没有最佳实践......或者它仍然是一个好主意......

(抱歉我的英文)

3 个答案:

答案 0 :(得分:1)

您正在寻找的内容称为“身份验证”。

答案 1 :(得分:1)

我认为Web服务的一部分(例如,基于SOAP或REST)是发布一个接口,让您的服务可能被各种客户端实现使用(互操作性是Web服务的动机之一) )。

如果要锁定服务以供客户端使用,将其作为“Web服务”使用的唯一好处可能是您实现它的工具和库。您可能想要考虑这是否值得(确实可能)。

如果您分发您的客户端应用程序,那么无论哪种保护机制可以确保来自该客户端的请求都必须嵌入此客户端。因此,您嵌入的任何秘密机制可能只会被混淆到某个点,但可以被更高级的用户破坏。

答案 2 :(得分:0)

您需要应用程序身份验证。对于基于Web的应用程序和服务,请尝试研究两脚OAuth。在OAuth中,您为每个访问您服务的客户端应用程序提供了一个id和一个秘密,并且每条消息都经过签名以获得额外的安全性。