我一直在尋找一點,但我找不到答案。 WCF Security Best Practices表示儘可能使用Windows身份驗證。如果您需要簽名,它可以提供不可抵賴性和數據完整性嗎?這個問題最重要的問題是不可否認,我使用TLS,但是試圖通過Windows Auth提供TLS或MLS來提供不可否認性,理論上,TLS提供了從跳到跳的數據(hop-to-hop data)完整性。)Windows身份驗證是否提供不可否認性?
回答
我今天早些時候在此頁面上 - 它說Windows Auth提供了不可否認性?另外,如果它不簽署消息,它又怎麼做? – zimdanen
它使用一個令牌,它是機器名,用戶和密碼的散列,這個散列由第三方服務器,域控制器信任。如果你想防止在傳輸中修改內容,你應該使用SSL,我不確定如果在傳輸過程中修改內容會令標記無效,我認爲不是。 – LawfulHacker
我之前在那個頁面上,我不知道它在哪裏說明這提供了不可抵賴性。如果郵件沒有被簽名,它如何爲郵件提供不可推ation? – zimdanen
Windows身份驗證更受用戶歡迎,並由最佳實踐指南建議,因爲它是在所有Microsoft機器中構建的。它不喜歡需要大量基礎架構設置的證書。如果您的計算機加入到Active Directory域,則它應該可以正常工作。
Windows身份驗證使用SPNEGO協商要使用的身份驗證方法,的Kerberos或NTLM。只要有可能,客戶端和服務器將嘗試首先選擇Kerberos。否則,將使用NTLM。
要回答你的郵件是否可以sigend與否的問題,無論是的Kerberos和NTLM可以用來標誌和加密消息。作爲WCF程序員,它對你來說應該是透明的。您只需將ProtectedLevel設置爲EncryptAndSign即可。如果您不相信我,則可以在設置Windows身份驗證後查看網絡跟蹤。你應該看到這些消息是加密的。
當使用Windows身份驗證時,WCF將調用SSPI來執行身份驗證和消息加密。我不會介紹SSPI的退休事宜。 Here是SSPI呼叫NTLM加密消息和here是SSPI呼叫Kerberos加密消息。你可以在Windbg中設置一個斷點來證明這一點。
雖然它沒有明確地在上面的鏈接指出,this link明確指出,上述EncryptMessages方法可以提供數據完整性(簽署)和隱私(加密)。
回到關於Windows驗證是否支持non-repudiation
的原始問題,這實際上是一個更大的問題。 數據簽名對於non-repudiation
是必要的,但不夠。 WCF還提供審計功能來記錄操作或事務。這是爲了保證用戶不能拒絕執行操作或啓動事務。因此,爲了支持non-repudiation
,您還應該設置SuppressAuditFailure爲false,以確保審計始終正常運行。
我們是否有足夠的可視性來看待GSS_Unwrap調用來將用戶退出事務?加密必須在TLS中處理;我們可能會希望在MLS中進行簽名,以便我們可以在服務級別進行簽名,對吧? – zimdanen
- 1. Google雲消息傳遞是否提供/支持身份驗證,完整性和不可否認性?
- 2. HtmlMimEmail版本2.0是否提供TLS身份驗證選項?
- 3. Firefox不顯示身份驗證提示和Windows身份驗證
- 4. 表單身份驗證是否記住身份驗證?
- 5. RSA如何保持身份驗證和不可否認
- 6. 是否有可能使用Amazon.com作爲身份驗證提供商
- 7. Xamarin表單身份驗證 - 身份驗證提供程序?
- 8. 是否可以在asp.net身份驗證中禁用雙因素身份驗證?
- 9. j_security_check身份驗證是否可以跟隨其他Web身份驗證機制?
- 10. IdentityServer4是否提供身份代理?
- 11. 是否Owin.AuthServices支持身份提供商
- 12. Django - 未提供身份驗證憑證
- 13. 身份提供商ASP.NET Facebook身份驗證不起作用
- 14. Zuul是否支持OAuth身份驗證?
- 15. 是否使用Active Directory身份驗證?
- 16. Firebase身份驗證UID是否過期?
- 17. AFNetworking是否支持NTLM身份驗證?
- 18. PEAR是否使用HTTP身份驗證?
- 19. 是否可以在ASP.NET網站中同時使用表單身份驗證和Windows身份驗證?
- 20. Windows身份驗證不驗證角色
- 21. 是SQL Server身份驗證和Windows身份驗證
- 22. OpenID提供商身份驗證代理
- 23. 多個身份驗證提供
- 24. 身份驗證提供程序和OAuth
- 25. chain_provider和身份驗證提供程序
- 26. 身份驗證通過提供
- 27. ADFS3.0是否在SQL DB中提供自定義身份驗證存儲?
- 28. 是否有任何用於couchdb的.NET庫提供身份驗證?
- 29. 是否在Asp.Net Web Api控制器中提供身份驗證令牌?
- 30. 我是否仍然應該爲我的API提供基本身份驗證
線索存在問題 - 認證與不可否認和數據完整性(也是相互正交的)是正交的。 – symcbean
@syncbean - **如果您需要簽名**,這就是所有這些都會進入的地方。 – zimdanen