2013-09-26 70 views
0

我有一個.Net庫作爲windows服務運行,它使用.Net Remoting和TCP連接進行調用。 有沒有辦法限制可以調用此服務的應用程序,也就是說,我可以指定只允許應用程序aa.exe和bb.exe調用此服務並拒絕來自其他應用程序的調用?.Net Remoting安全性

回答

1

This MSDN article描述瞭如何使用遠程處理TCP通道進行身份驗證。

您可以通過身份或IP地址進行身份驗證,但您不會知道客戶端上運行的是哪個應用程序。

爲了限制對特定應用程序的訪問,您需要爲這些應用程序提供自定義機制,以便能夠向遠程服務提供憑據,並且您需要採取措施確保這些憑據無法由其他應用程序使用。

但是這不是真的可行:例如,您可以將這些憑據嵌入到相關的可執行文件aa.exe和bb.exe中,並且可能會混淆它們以使它們難以發現,但是一個堅定的攻擊者將能夠獲取並從不同的應用程序中使用它們。