【问题标题】:Passing passwords, hashes and salts through WCF通过 WCF 传递密码、哈希和盐
【发布时间】:2014-10-13 16:15:48
【问题描述】:

用户的密码在数据库中使用盐进行哈希处理。盐也存储在数据库中。

我有一个 WCF 服务,其方法接受来自客户端的用户名和密码。 WCF 服务可以访问数据库,而客户端显然没有。

我可以以纯文本形式传递密码,但是,以纯文本形式向 WCF 服务发送密码听起来很糟糕。

解决方案是改为传递哈希。但是,我无法计算哈希,因为我没有存储在数据库中的盐。我可以创建一个服务方法来检索盐,但是,我不确定这是否是解决此问题的最佳方法。

这个问题的最佳解决方案是什么?先取盐是个好主意吗?

【问题讨论】:

  • 在没有安全性的情况下通过网络传递用户名/密码似乎是一个可怕的想法。同时,用户名/密码认证已经在 https 中正确实现。你为什么不使用这些功能而不是重新自制呢?

标签: .net wcf hash


【解决方案1】:

您的主要安全问题是有人可以截获凭据(用户名和密码),以便他们访问 WCF 服务。

发送密码或哈希是完全相同的(只是另一种调用密码的方式)。如果有人检索它,他们可以向 WCF 服务进行身份验证。您应该查看 HTTP Basic 和 HTTP Digest 身份验证以获取更多信息。

相反,您应该使用 SSL 等安全协议来保护连接并防止 MITM。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-06
    • 2011-01-09
    • 2010-11-30
    • 2014-06-09
    • 1970-01-01
    相关资源
    最近更新 更多