首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于时间的一次性密码是否提高了数据库泄漏的安全性?

基于时间的一次性密码是否提高了数据库泄漏的安全性?
EN

Security用户
提问于 2018-04-25 10:41:21
回答 1查看 320关注 0票数 2

据我所知,基于时间的一次性密码使用种子和数学算法生成唯一的密码。因为种子由用户(或用户使用的设备)和身份验证服务器所知道。但是,这意味着如果数据库泄漏,攻击者将知道该种子。

与数据库泄漏一样,攻击者可以同时知道密码和OTP,基于时间的一次性密码是否提高了数据库泄漏情况下的安全性?或者OTP的目标仅仅是防止攻击者通过另一种方式(另一种数据库泄漏、社会工程.)知道密码时进行身份验证?

EN

回答 1

Security用户

回答已采纳

发布于 2018-04-25 11:17:00

实际上,在数据库泄漏时,应该使用密码来保护用户。如果您正确地散列和存储,攻击者应该无法获得密码的明文版本(在合理的时间内使用合理的密码和合理的资源,如果像NSA这样的攻击者正在跟踪您,请不要依赖此。此外,如果您知道您的数据库泄漏或可能泄漏,则强制用户更改密码以确保)。您的应用程序不应该接受哈希作为有效的密码。因此,即使数据库泄漏,攻击者也不应该能够登录。注意:如果您想在客户端散列,请检查诸如SHA256 256之类的方案,以防止这种攻击。

另一方面,TOTP保护用户的密码不被用户泄露,或以其他方式获得(蛮力、拦截、键盘记录器),而不损害服务器。

如果您希望在服务器受到破坏并获得密码的情况下获得额外的保护(例如,攻击者拦截登录请求并以这种方式获取密码),可以考虑使用SCRAM之类的方法来限制服务器的密码暴露,或者使用公-私钥对登录,可能使用使用U2F的硬件令牌。

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

https://security.stackexchange.com/questions/184555

复制
相关文章

相似问题

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