我一直在寻找一点,但我找不到答案。 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