首先,我真的不知道这是否是正确的问题,如果这应该被移动,请这样做或让我知道。
我正在构建一个移动应用程序(使用phonegap),这是一种银行应用程序,因此,我需要一种非常安全的方法来重置丢失/遗忘的密码。
我不想使用电子邮件链接或短信代码进入重置部分,因为:
所以经过一些阅读后,当用户点击忘记密码时,我已经想出了下一个想法:
如果所有信息都证明是正确的,请让用户设置新密码。 Else 只是显示一条消息,告诉用户信息中的某些内容是错误的,从来没有说明错误。
这些是一些问题,但我正在写这个,因为它只是发生在我身上。根据使用该应用的用户经验,会有更多问题。
我的问题:
提前致谢。
更新
我不喜欢在注册过程中设置安全问题,因为大多数人都会忘记答案或不小心输入,然后他们会被遗忘的帐户困住。
我不会使用任何银行帐户或信用卡/借记卡信息。
所有操作都将立即生效。
也许我应该只使用与应用程序使用相关的问题?
答案 0 :(得分:1)
随着密码恢复的进行,此方法相对安全。但是,它不是非常用户友好,并且用户很可能被锁定。另一方面,小偷可能很容易恢复密码。逐一回答所有问题:
询问用户注册电子邮件。
盗窃手机的小偷可以访问(最有可能)。
询问注册发生时选择的国家,州和城市。
如果小偷在用户的电子邮件中搜索,这也很容易检索。即使在那里没有显示这样的信息,知道用户的名字,小偷可以查看白页网站或Facebook并获得有价值的信息。
询问用户是否在过去3或7天内成功登录(可能更少更好?)。
幸运的猜测有50%的几率可以让小偷超过这个。合法用户可能也不记得,这导致了此方法的第一个可用性问题。
询问收到的最后一笔款项(如果有的话)。
这是非常难以记住的,特别是如果这种情况不会发生很多,或者一直发生并且金额各不相同。知道用户的银行账户的窃贼(可能是电子邮件中的IBAN等信息)也可以将少量金额转移到该账户并超过这个阶段。
询问最后发送的金额(如果有的话)。
如果这也涉及交易(使用信用卡支付),小偷可以跟随合法用户并观察在上次交易中花费的钱。如果没有,它仍然是一个很大的可用性问题,因为用户不太可能记得。小偷还可以查看用户的电子邮件,看看是否有任何在线购买的商品(例如亚马逊发送确认电子邮件)并将其作为金额输入。
询问上次已知交易的日期(在上次成功登录之前或期间发送或接收)。
同样,对于合法用户来说,这很难记住。特别是在收款时,可能需要数天,所以即使用户知道在第X天付款给他/她,也可能会有几天的延迟。
如果我是你,我会提供用户记住的电子邮件,用户名,最后密码,以及用户必须在开始时设置的2-5个恢复问题。我会让用户共尝试3次,并记录所有这些事件并通知银行。否则,用户必须联系银行才能进行更改。记录呼叫,并请求个人信息以及电话银行密码。如果用户再次失败,他/她必须带着某种形式的带照片的身份去银行。
对更新的回应:如果某个应用程序没有每天使用(类似银行业务的应用程序适用于许多用户),那么提出有关该问题的问题可能不是一个好主意。使用该应用程序。
关于安全问题,也许如果您设置了一条消息,警告用户如果忘记了他们可能会被锁定在帐户之外,可能会说服他们更加小心。也许你可以让用户选择问题和答案(只需确保每次问题和答案都不同,并且它们超过1-2个字符)。