首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WSSE身份验证悖论

WSSE身份验证悖论
EN

Stack Overflow用户
提问于 2012-09-26 01:55:20
回答 1查看 1.2K关注 0票数 2

我目前正在对WSSE协议进行一些研究,以保护我的api。

我已经理解了它的基础,这一点在我的脑海中是清晰的。

然而,我面对一个问题。

比方说,我想生成一个一次性的摘要,我必须连接时间戳,随机数和密码。

但是,在服务器端,我没有存储在数据库中的明文密码,所以我无法检查摘要。

切换到清除密码不是一个选项。

我也不能向客户端提供用于散列密码的算法,因为他们使用salt,而salt对客户端不可用。

我能想到的唯一解决方案就是不要对摘要进行哈希处理,只需将数据连接起来并对其进行base64。

这样,我就可以对用户密码进行编码,以检查其有效性。

由于密码是以纯文本传输的,所以它可能不安全,但如果我强制HTTPS进行身份验证怎么办?

安全吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-26 05:45:37

当密码以纯文本传输时,

可能不安全,但如果我强制HTTPS进行身份验证怎么办?

安全吗?

是的,在正常范围内,这是确保安全的唯一方法。

只需发送完整的密码,但通过安全的TLS连接发送。您可以使用诸如brypt或PBKDF2之类的安全密钥派生函数,并输入存储的随机盐(每个用户一个)和密码来检索“散列”,然后可以检查数据库中存储的散列。

请注意,您不需要从客户端发送时间戳。当然,记录并限制身份验证尝试的次数是一个好主意。您不能使用时间戳作为散列的输入,每次时间戳更改时,结果都会不同。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12588498

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档