情景:
Web服务生产者只有SHA-1密码存储在数据库中。我们需要使用用户名/密码组合对Web服务用户进行身份验证。
Web Services Security UsernameToken Profile 允许我们为此目的添加soap标头:
元素是 在WSS中引入:SOAP消息 安全文件作为一种方式 提供用户名。
在元素中,a 元素可能是 指定。密码类型 PasswordText和PasswordDigest是 不限于实际密码, 虽然这是一个常见的情况。 (146-151)
PasswordText密码类型表示密码作为纯文本通过网络发送,如果我们不使用传输级别安全机制,这是一个安全问题。 PasswordDigest避免发送纯文本密码并发送哈希。但是为了避免重放攻击(i-e攻击者使用窃听器捕获散列密码并用另一个请求重新发送),PasswordDigest在计算哈希值之前向密码添加时间戳和随机数。此添加导致以下限制:
请注意,PasswordDigest只能 如果是纯文本密码(或 密码等效)可用 请求者和 接受者。 (196-197)
但在我们的案例中,我们没有纯文本密码。 我的问题是:我们还有哪些替代方法可以在服务器上提供纯文本密码?
答案 0 :(得分:2)
SHA-1可以完美地用作“明文”密码。