我是在一个网站上的管理员登记用户。目前,在用户创建之后,他们被分配了一个密码,并发送了一个电子邮件,其中有一个链接,让他们确认他们的电子邮件。之后,他们就可以登录了。
换一下这个好主意吗?我正在考虑不给用户一个密码,而是向他们发送一个电子邮件与一个帐户激活链接,他们必须定义一个密码,确认,然后也添加一个安全问题和答案。
这是个不错的选择吗?我很难找到最好的做法,什么时候帐户创建是由管理员处理的,而不是一个注册页面为用户自己。
发布于 2016-11-02 01:47:17
我在这里要写的不是最佳实践,因为如果有任何有用的安全研究表明,最佳实践(例如,NIST指南)在研究上严重滞后。这是关于这个主题的研究的缩影,我自己与UCL的可用安全专家的讨论,以及作为交互设计人员的我自己的方法。
反问:您的网站的安全要求是什么,认证要求是什么?
对于大多数网站来说,这归结为一个简单的问题:用户(首先是用户)会产生什么不可逆转的外部性?那么你作为一个提供者)如果他们的帐户被偷了,你会受苦吗?
如果用户遭受了严重的后果(例如经济损失、声誉的严重损失、身份的篡夺和潜在的法律后果),那么您就会关心他们是否拥有一个不可重用的强密码。否则,您可以让他们重用自己选择的密码。
这决定了您是控制身份验证因素,还是它们控制身份验证因子。这个规则背后的内在真理是,用户将重复使用密码,仅仅是因为他们必须处理太多的密码,才能为每个网站创建一个唯一的密码(参见关于管理密码组合的研究)。
现在是讨论互动模式的时候了。我们在这里看到的是使用户的努力与使用您的网站服务的感知利益成比例。用户是否需要每年登录一次才能进行纳税申报或续订?然后,不要让他们记住一个强大的密码。
他们是否需要定期登录到您的服务,并且自动登录是不可取的(例如网上银行或电子邮件)?然后,用户可能会更宽容地学习生成的密码。这里的关键是,用户自己必须确信,服务的感知效益大于其感知的安全成本,否则他们将退出(参见法规预算理论)。
当用户不能容忍强密码的工作要求时,我们该怎么办?现在让我们看看您自己的身份验证需求。这里最引人注目的选项是将身份验证委托给第三方。这可能是Facebook或Google,也可能是由政府支持的联邦身份认证方案,这些服务有法律义务对真实世界中的用户进行身份验证。
您还可以切换到身份验证令牌,或者添加身份验证因素以弥补潜在的弱密码。你也可以使用通过电子邮件发送的一次性密码。可用的解决方案取决于您对其他身份验证形式的限制。
请记住,随着时间的推移,您的认证方案的成本效益比要保持平衡。
不要成为那种把一个独特的,超级复杂的密码强加给他们的用户,却强迫他们每三个月修改一次密码的白痴,除非你的威胁模型确实证明了这一点。这是一种让用户存储密码的可靠方法。而且,随着用户通过计算机、移动设备、办公计算机等登录服务,并不是所有用户都会使用信誉良好的密码管理器(尽管剪贴板API攻击威胁到移动和桌面上的密码管理器用户的多种用例)。
您还可以根据感知到的好处和成本采取行动,向您的用户传达使用唯一密码的好处,以及为什么这样做对您的服务特别重要。作为回报,您应该致力于良好的安全实践,并尊重您的用户的时间,不要将额外的安全剧场强加给他们。如果他们尊重你的决定,他们将不太容易绕过你的安全措施或转向竞争对手的服务。
只要给他们发电子邮件密码重置链接,让他们做他们想做的事,坐下来放松!或者切换到Google/Facebook身份验证,因为它仍然比密码认证更安全和可用。
https://security.stackexchange.com/questions/141528
复制相似问题