c# – 安全地验证客户端到服务器

系统规格:

使用.NET 3.0的C#客户端.作为App Server上的
Windows服务托管的WCF服务. MSSql Server 2008R2 DB用于数据存储.

用户密码的哈希值存储在数据库中,用于验证用户身份.我的问题是,我不知道如何使用客户端密码的哈希来安全地验证客户端到服务器.

在阅读了有关SO的类似问题之后,我看到建议采用挑战 – 响应机制.有人可以给出如何做到这一点的良好编码示例吗?

此外,如果我们可以在服务器上安全地生成私钥 – 公钥对并将公钥分发给所有客户端,则使用公钥加密来从客户端和服务器传递信息就足够了,而不是使用质询 – 响应.

编辑:通过客户端我的意思是实际使用客户端计算机登录的用户.

最佳答案 如果客户端和服务器位于同一个AD域,则最简单的选择是使用带有AD身份验证的net.tcp传输.用户kerberos令牌将呈现给服务,并可使用AD角色进行身份验证.

如果您无法使用集成的AD身份验证并且必须使用该方案,则可以使用自定义用户名
validator

点赞