我想創建新的WCF服務和客戶端。雙方將使用雙向SSL進行通信。僅使用SSL進行身份驗證
我想僅將SSL用於身份驗證階段。在此認證之後,加密不是必需的。我可以配置我的服務(和客戶端)只使用SSL進行身份驗證,並保持連接未加密(性能問題)?
我想創建新的WCF服務和客戶端。雙方將使用雙向SSL進行通信。僅使用SSL進行身份驗證
我想僅將SSL用於身份驗證階段。在此認證之後,加密不是必需的。我可以配置我的服務(和客戶端)只使用SSL進行身份驗證,並保持連接未加密(性能問題)?
爲什麼要在認證後保持連接未加密?
用戶名和密碼將通過網絡以某種方式傳遞,因此您應該考慮始終加密連接以避免泄露該信息。
編輯: 如果您正在使用它來加密所有的時間,因爲我知道你不能做身份驗證的證書,然後回到簡單的HTTP證書。 WCF需要爲每個請求對客戶端進行身份驗證(如果不是那個客戶端可以獲得證書一會兒然後刪除它並使用您的WCF服務,因爲沒有發生任何事情,因爲不再需要身份驗證,這在您的情況中是不正常的)。
如果您希望使用客戶端證書進行身份驗證(我認爲您的意思是「雙向」SSL),那麼您可以使用具有NULL加密的密碼套件(例如, TLS_RSA_WITH_NULL_SHA
。否則,如果您的身份驗證方案是SSL/TLS之上的應用程序層的一部分,則您當然應該考慮使用加密。
請注意,在握手過程中使用TLS_RSA_WITH_NULL_SHA
仍將繼續進行RSA密鑰交換(即使最終實際未使用共享加密密鑰)。 SSL/TLS握手是使用SSL/TLS的計算密集程度最高的部分。實際的加密不應該對性能造成太大的影響,所以你最好不要離開它。
我爲什麼要轉讓用戶並通過?我們根本沒有這方面的信息。我只想讓這些服務(沒有用戶)相互信任。 – Matan
證書是證書。 – Matan
@Mattan如果傳輸未加密,爲什麼用戶在證書交換後仍然相互信任?防止MITM在哪裏? – EJP