0

我有一个作为 Windows 服务运行的 .Net 库,它使用带有 TCP 连接的 .Net Remoting 调用。有没有办法限制可以调用该服务的应用程序,即我可以指定只允许应用程序aa.exe 和bb.exe 调用该服务并拒绝来自其他应用程序的调用?

4

1 回答 1

1

这篇 MSDN 文章介绍了如何使用远程 TCP 通道进行身份验证。

您可以通过身份或 IP 地址进行身份验证,但您不知道客户端上运行的是哪个应用程序。

为了限制对特定应用程序的访问,您需要为这些应用程序提供自定义机制,以便能够向远程服务提供凭据,并且您需要采取措施确保这些凭据不能被其他应用程序使用.

但这实际上并不可行:例如,您可以将此类凭据嵌入到相关的可执行文件 aa.exe 和 bb.exe 中,并可能对其进行模糊处理以使其更难被发现,但坚定的攻击者将能够获取它们并从不同的应用程序中使用它们。

于 2013-09-26T06:39:29.177 回答