gpt4 book ai didi

security - 使用哈希验证用户的密码?

转载 作者:行者123 更新时间:2023-12-02 09:12:45 28 4
gpt4 key购买 nike

我知道可以使用以下方式以编程方式验证用户的 Windows(例如域)凭据:

有一段时间我想坚持这些凭据。

我正在使用Data Protection API (通过 CredUI API )对密码进行加密。这意味着加密的数据只能由用户自己访问。然后,我的程序以用户身份运行,可以解密 protected 数据。

但这也意味着以用户身份运行的恶意程序可以解密 protected 数据;窃取用户的加密凭据。

我知道 Windows 本身并不存储用户的密码。他们存储的是密码的加盐和哈希版本;并形成用户和 Windows 之间的“共享 secret ”。

当我知道密码的加盐哈希时,是否有一个 API 可以让我询问 Windows 用户的密码是否有效?

最佳答案

如果您有域 Controller ,您可以使用 kerberos 协议(protocol)并发送从密码派生的 key 来验证用户身份。不幸的是,尽管恶意程序无法从 key 中获取原始密码,但它仍然可以获取您的哈希值并使用它代表用户获取域凭据。

查看此处了解如何从密码导出 key

http://www.opensource.apple.com/source/Heimdal/Heimdal-172.18/kuser/kinit.c

顺便说一句,Kerberos 不使用密码的普通加盐哈希值。实际的 key 生成函数涉及更多一些,这是因为密码短语本身没有足够的熵来创建不可猜测的 key 。请记住,kerberos 应该能够抵御窃听攻击。

关于security - 使用哈希验证用户的密码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10130325/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com