2012-08-14 39 views
0

我有一個WCF服務,需要與客戶交換的機密信息。客戶將通過互聯網連接到服務。如果我的綁定配置如下,客戶端和服務器容易被竊聽或中間人攻擊之間的溝通?WCF綁定傳輸安全使用Windows憑據

<bindings> 
    <netTcpBinding> 
     <binding name="myBinding"> 
      <security mode="Transport"> 
       <transport clientCredentialType="Windows" /> 
      </security> 
     </binding> 
    </netTcpBinding> 
</bindings> 

我已閱讀,在下列情況下的MSDN article

使用傳輸安全以下:

您直接從您的應用程序發送一條消息,WCF 服務和消息將不會通過中間的 系統進行路由。服務和客戶端都位於Intranet中。

使用傳輸安全有以下缺點:

安全被施加上的點至點的基礎上,與沒有規定多跳或通過中間應用節點

路由

如果我直接連接到WCF服務和服務器沒有其他地方轉發郵件,將運輸安全是SECUR足夠了嗎?

我已經使用數字證書試過消息安全性,但表現得也不好。對服務器的最快呼叫需要3秒,而在傳輸安全中,相同的呼叫需要1.5秒。

回答

0

我強烈反對通過互聯網使用NetTcpBinding的(以及因此它你張貼的文章),交通運輸安全當然是最高效的選項,但不足之處是,它只能保證點對點的互聯網連接和你無法知道客戶和服務之間的方式和中介。在Intranet應用程序中,您通常擁有一個受控制的環境,您可以確信。

通過互聯網,你應該使用HTTP傳輸和信息安全性,意味着你必須付出一些有關的開銷,因此性能。

至於說你不能比較兩個不同的綁定的延遲,你應該使用的WSHttpBinding和像你已經嘗試過用一個證書的消息加密,這是迄今爲止與WCF上發送數據的最安全的方式互聯網場景,我認爲如果真的很重要,你應該接受性能下降的交換。

這可能是一種有用的鏈接 http://wcfsecurityguide.codeplex.com/

+0

爲什麼NetTcpBinding的鼓勵在互聯網上?可以使用具有消息安全性的TCP綁定(使用服務器證書)。 – Omtara 2012-08-15 08:40:01

+0

NetTcpBinding的有,你不能承載它在IIS6的dissadvantages,你需要使用WCF客戶端,有些防火牆可能會阻止未知端口的TCP連接,WSDualHttpBinding用於non-.NET兼容性,它運行在HTTP(S) ,Microsoft爲兩種不同的場景設計了兩種不同的綁定。無論如何,如果你確定要管理所有的問題,netTcpBinding完全可以通過互聯網使用。 – MaRuf 2012-08-15 16:56:04