安全,丢失或忘记密码

时间:2017-02-12 17:49:29

标签: security hybrid-mobile-app

首先,我真的不知道这是否是正确的问题,如果这应该被移动,请这样做或让我知道。

我正在构建一个移动应用程序(使用phonegap),这是一种银行应用程序,因此,我需要一种非常安全的方法来重置丢失/遗忘的密码。

我不想使用电子邮件链接或短信代码进入重置部分,因为:

  • 电子邮件地址可能已被盗用。
  • (我居住的地方)手机可能被盗(最有可能),电子邮件可以链接到手机,所以短信也毫无意义。

所以经过一些阅读后,当用户点击忘记密码时,我已经想出了下一个想法:

  • 询问用户注册电子邮件。
  • 询问注册时选择的国家,州和城市。
  • 询问用户是否在过去3天或7天内成功登录(可能更少更好?)。
  • 询问收到的最后一笔款项(如果有的话)。
  • 询问最后收到的金额(如果有的话)。
  • 询问上次已知交易的日期(在上次成功登录之前或期间发送或接收)。

如果所有信息都证明是正确的,请让用户设置新密码。 Else 只是显示一条消息,告诉用户信息中的某些内容是错误的,从来没有说明错误。

这些是一些问题,但我正在写这个,因为它只是发生在我身上。根据使用该应用的用户经验,会有更多问题。

我的问题:

  • 这样安全吗?
  • 这个想法有哪些缺点?
  • 这是否有效取代了电子邮件/链接组合或手机/短信?

提前致谢。

更新

  • 我不喜欢在注册过程中设置安全问题,因为大多数人都会忘记答案或不小心输入,然后他们会被遗忘的帐户困住。

  • 我不会使用任何银行帐户或信用卡/借记卡信息。

  • 所有操作都将立即生效。

  • 也许我应该只使用与应用程序使用相关的问题?

1 个答案:

答案 0 :(得分:1)

随着密码恢复的进行,此方法相对安全。但是,它不是非常用户友好,并且用户很可能被锁定。另一方面,小偷可能很容易恢复密码。逐一回答所有问题:

  

询问用户注册电子邮件。

盗窃手机的小偷可以访问(最有可能)。

  

询问注册发生时选择的国家,州和城市。

如果小偷在用户的电子邮件中搜索,这也很容易检索。即使在那里没有显示这样的信息,知道用户的名字,小偷可以查看白页网站或Facebook并获得有价值的信息。

  

询问用户是否在过去3或7天内成功登录(可能更少更好?)。

幸运的猜测有50%的几率可以让小偷超过这个。合法用户可能也不记得,这导致了此方法的第一个可用性问题。

  

询问收到的最后一笔款项(如果有的话)。

这是非常难以记住的,特别是如果这种情况不会发生很多,或者一直发生并且金额各不相同。知道用户的银行账户的窃贼(可能是电子邮件中的IBAN等信息)也可以将少量金额转移到该账户并超过这个阶段。

  

询问最后发送的金额(如果有的话)。

如果这也涉及交易(使用信用卡支付),小偷可以跟随合法用户并观察在上次交易中花费的钱。如果没有,它仍然是一个很大的可用性问题,因为用户不太可能记得。小偷还可以查看用户的电子邮件,看看是否有任何在线购买的商品(例如亚马逊发送确认电子邮件)并将其作为金额输入。

  

询问上次已知交易的日期(在上次成功登录之前或期间发送或接收)。

同样,对于合法用户来说,这很难记住。特别是在收款时,可能需要数天,所以即使用户知道在第X天付款给他/她,也可能会有几天的延迟。

如果我是你,我会提供用户记住的电子邮件,用户名,最后密码,以及用户必须在开始时设置的2-5个恢复问题。我会让用户共尝试3次,并记录所有这些事件并通知银行。否则,用户必须联系银行才能进行更改。记录呼叫,并请求个人信息以及电话银行密码。如果用户再次失败,他/她必须带着某种形式的带照片的身份去银行。

对更新的回应:如果某个应用程序没有每天使用(类似银行业务的应用程序适用于许多用户),那么提出有关该问题的问题可能不是一个好主意。使用该应用程序。

关于安全问题,也许如果您设置了一条消息,警告用户如果忘记了他们可能会被锁定在帐户之外,可能会说服他们更加小心。也许你可以让用户选择问题和答案(只需确保每次问题和答案都不同,并且它们超过1-2个字符)。