2011-01-12 50 views
0

我有一个一次性密码系统为我的网站使用RFC 4226实施。该密码通过短信发送到移动设备。用户只能在自己的移动设备上接收密码,密码在15分钟后过期。锁定政策和一次性密码

用户还具有通常使用的标准字母数字“主密码”。我实施了3个失败锁定工作流程。此锁定持续15分钟。

我的问题是从安全的角度来看,只有锁定“主密码”才可以接受?如果他们使用一次性密码功能,我应该允许用户围绕锁定策略吗?我是否打开任何类型的安全漏洞?

回答

3

这不完全是你的问题的答案,但是在构建这样的系统时,你必须记住,每当两个对接头都可用时,可用性胜过安全性。您在最终用户上制定安全策略的难度越大,他们就越有动力提出不安全的解决方法来完成他们的工作。

Schneier said it好于我可以在这里总结,但我建议阅读他的东西在那里。

2

我了解您的观点安全性与可用性,我为您提供实施静态密码锁定机制,它已成为几乎每个网站的事实上的标准。

大多数密码锁定机制 今天都是静态的,这意味着,他们 出一定数量的 后锁定用户:

here解释真的很好,所以我不需要再次输入密码尝试不正确。这个功能实现了 以防止 对登录 功能的蛮力尝试。尽管这个 功能完成了它应有的功能,但它也有它自己的缺点。从一个 安全角度看,这个功能 可以通过一个坏人滥用锁定 大部分或全部通过编写 脚本与所有可能的 排列和组合的 用户名的用户(其中​​大多是字母的, 如果不是字母数字),导致 拒绝服务

从可用性 的角度来看,总有一种 辩论,以尝试来 数量锁定用户 帐户之前被允许。大多数网站允许3次 尝试,而一些(很少),允许5 或有时7.

Intellipass试图弥合安全和此功能的可用性 方面的差距 。通过存储 用户的每次登录尝试, 智能通行可以智能地 了解用户的过去行为和 相应的行为。例如。如果用户 每次自己锁出来,然后 Intellipass将动态地增加 尝试的数目从3到5或从 5至7。另一方面,如果在每一次的第一或第二时间 一个 用户登录他或她试图 过去登陆,但由于某种原因有 采取3次这个时候, Intellipass会自动降低 尝试的数量从7到5或 5到3 Intellipass的第二个组成部分是随机发送 验证码或在 之间插入一段时间延迟登录尝试阻止 自动化中正。

+0

这就是我的锁定。目前,用户可以通过向手机发送一次性密码并使用该密码登录,或者通过发出密码重置来发送256位加密url到他们的电子邮件以便在其内部使用24小时重置密码。我的问题是,将这些解决方案作为解决方案的替代方法是否是一种好的做法,在3次失败尝试后持续15分钟。 – Josh 2011-01-13 13:49:41