我在考虑电子商务系统的密码恢复逻辑。一些回溯:密码使用bcrypt存储,密码恢复涉及标准的重置链接,然后可以用来在有限的时间内重置密码。
在允许客户重置(如安全问题 )之前,我想添加一个额外的步骤。我的问题是,在客户无法回答安全问题的情况下,使用当今的安全标准,最佳实践是什么?
系统是否提示他们提供与他们上一次订单相关的其他安全信息,如他们信用卡的最后4位数字?(如果是,如果客户还没有下订单怎么办?)
在我的情况下,我需要整个过程才能在网上完成(虽然,我很想知道使用电话的好处是什么)。我们不希望客户无法通过客户服务而下订单。
发布于 2014-02-03 20:45:32
这在一定程度上取决于您需要多少安全性。
您提到您是一个电子商务网站;您是否存储客户的信用卡“一击”风格的订购?如果不是,我预计帐户泄露的影响是相对较小的,所以您可能可以通过一个轻松的密码重置过程。例如,简单地发送到存储的电子邮件地址的重置链接,没有任何安全问题。
如果您确实允许“一次单击”订购,那么您可能有特定的控制来限制这种风险,例如只发送到卡的记帐地址,并且放松的密码重置过程可能仍然是合适的。
如果您确实需要高安全性的帐户,那么您必须有一个强大的密码重置过程。最强大的是让你亲自注册,在那里你捕捉生物特征,和一个亲自密码重置过程,在那里你验证生物特征。在实践中,只有少数发达国家政府为护照或国民身份证计划这样做。那样的话,我们就不会依赖密码了,对吧?
另一种方法是基于风险的交易分析。因此,您通常会有您将寄往任何地址的保险单。但是,如果帐户最近(例如,最后7天)重新设置了密码,那么您只需将其发送到账单地址。
发布于 2014-02-03 03:32:39
安全问题通常是愚蠢和无用的。他们所依赖的信息通常是通过互联网快速搜索目标的社交媒体账户而容易获得的,并不是证明身份的好方法。
系统是否提示他们提供与他们上一次订单相关的其他安全信息,如他们信用卡的最后4位数字?(如果是,如果客户还没有下订单怎么办?)
信用卡的最后4个数字也不是安全信息。看到一个最近,著名的社会工程案例,它精确地利用了这一点。
就我个人而言,我只会启动一个密码重置电子邮件到列出的电子邮件帐户,并完成它。任何其他步骤通常都会比防范任何真正的威胁更能激怒你的客户。
发布于 2014-03-22 12:22:04
当用户重置密码时,您能不能隐藏/删除所有的秘密信息(个人信息、账单、支付)?
他们可能不会花很长时间重新进入这些。您也可以恢复所有这些,当他们设法重新输入一个有效的支付信息匹配的前一个。
千万不要相信任何可以被社交策划的信息(生日,喜爱的任何东西,任何与家庭成员有关的信息),也不要相信任何可以轻易地在被泄露的电子邮件帐户中获得的信息(先前的订单号码或内容、地址等等)。
https://security.stackexchange.com/questions/49783
复制相似问题