方案:使用NetTcp,传输安全性和Windows身份验证在Active Directory域上运行的WCF客户端/服务器应用程序。我理解这是如何在SSPI的幕后工作,以及它默认如何传输层加密。我也理解在域中配置加密参数,例如什么算法。
问题:在这种情况下,如何配置我的Active Directory域以使用不同的算法?我不一定希望我的应用程序指定特定的算法;在这种情况下,我很高兴Windows身份验证对我来说很重要。但是,我需要能够告诉客户如何配置他们的策略以使用他们选择的算法,或者至少查看他们的策略以确定他们今天使用的算法。
要明确:我不想使用证书身份验证。我真的想继续使用Windows身份验证。
答案 0 :(得分:0)
由于kerberos是与Active Directory一起使用的默认身份验证协议方法,因此我将重点关注调整(如果需要)用于Kerberos的加密方法。自Windows 2008 R2 active-directory以来, AES256-SHA1 一直是Kerberos的默认encryption算法。虽然使用SSPI Windows身份验证,ntlm可能是使用的身份验证协议,但在2018年这种情况极不可能。
要告诉您正在使用哪种身份验证和加密方法,并且如果您使用的是Windows 10,请在命令提示符下键入: klist 。输出将显示连接的资源和使用的加密方法。如果您通过SSO连接到网络资源,并且在klist输出中没有看到匹配的Kerberos票证,则表示使用了NTLM。使用像Wireshark这样的网络捕获工具来确认这一点。
要将Kerberos策略配置为使用特定的加密算法,请执行以下操作:
参考:Network security: Configure encryption types allowed for Kerberos Win7 only。注意:文章仅说Win7,但它也适用于Windows 8和Windows 10.
注意:由于您说您没有使用证书身份验证,因此TLS等问题不适用于此。