我有一个一次性密码系统为我的网站使用RFC 4226实施。该密码通过短信发送到移动设备。用户只能在自己的移动设备上接收密码,密码在15分钟后过期。锁定政策和一次性密码
用户还具有通常使用的标准字母数字“主密码”。我实施了3个失败锁定工作流程。此锁定持续15分钟。
我的问题是从安全的角度来看,只有锁定“主密码”才可以接受?如果他们使用一次性密码功能,我应该允许用户围绕锁定策略吗?我是否打开任何类型的安全漏洞?
我有一个一次性密码系统为我的网站使用RFC 4226实施。该密码通过短信发送到移动设备。用户只能在自己的移动设备上接收密码,密码在15分钟后过期。锁定政策和一次性密码
用户还具有通常使用的标准字母数字“主密码”。我实施了3个失败锁定工作流程。此锁定持续15分钟。
我的问题是从安全的角度来看,只有锁定“主密码”才可以接受?如果他们使用一次性密码功能,我应该允许用户围绕锁定策略吗?我是否打开任何类型的安全漏洞?
这不完全是你的问题的答案,但是在构建这样的系统时,你必须记住,每当两个对接头都可用时,可用性胜过安全性。您在最终用户上制定安全策略的难度越大,他们就越有动力提出不安全的解决方法来完成他们的工作。
Schneier said it好于我可以在这里总结,但我建议阅读他的东西在那里。
我了解您的观点安全性与可用性,我为您提供实施静态密码锁定机制,它已成为几乎每个网站的事实上的标准。
大多数密码锁定机制 今天都是静态的,这意味着,他们 出一定数量的 后锁定用户:
here解释真的很好,所以我不需要再次输入密码尝试不正确。这个功能实现了 以防止 对登录 功能的蛮力尝试。尽管这个 功能完成了它应有的功能,但它也有它自己的缺点。从一个 安全角度看,这个功能 可以通过一个坏人滥用锁定 大部分或全部通过编写 脚本与所有可能的 排列和组合的 用户名的用户(其中大多是字母的, 如果不是字母数字),导致 拒绝服务。
从可用性 的角度来看,总有一种 辩论,以尝试来 数量锁定用户 帐户之前被允许。大多数网站允许3次 尝试,而一些(很少),允许5 或有时7.
Intellipass试图弥合安全和此功能的可用性 方面的差距 。通过存储 用户的每次登录尝试, 智能通行可以智能地 了解用户的过去行为和 相应的行为。例如。如果用户 每次自己锁出来,然后 Intellipass将动态地增加 尝试的数目从3到5或从 5至7。另一方面,如果在每一次的第一或第二时间 一个 用户登录他或她试图 过去登陆,但由于某种原因有 采取3次这个时候, Intellipass会自动降低 尝试的数量从7到5或 5到3 Intellipass的第二个组成部分是随机发送 验证码或在 之间插入一段时间延迟登录尝试阻止 自动化中正。
这就是我的锁定。目前,用户可以通过向手机发送一次性密码并使用该密码登录,或者通过发出密码重置来发送256位加密url到他们的电子邮件以便在其内部使用24小时重置密码。我的问题是,将这些解决方案作为解决方案的替代方法是否是一种好的做法,在3次失败尝试后持续15分钟。 – Josh 2011-01-13 13:49:41