击键时间能否提高密码的安全性?

信息安全 密码
2021-08-11 02:27:01

当我年轻的时候,20 年前刚开始我的软件开发生涯时,我在我的 Amiga 上写了一点代码,它接受了密码,但也记录了(在某个阈值内)每个字母的速度输入了密码。

这意味着,用户不仅必须输入正确的密码,还必须计算按键时间。为了测试它,我脑子里有节奏,并且每次都可以不断地重新输入密码。但是,如果我只是定期或缓慢地输入它,它就不会被接受。

我不是安全专家(谢天谢地,我的编程位于不太困难的领域),但我突然想到了我年轻时编写的那个程序,以及现在它是否是安全的可行补充,或者它是否甚至不值得思考。

点击- Taptaptap - TapTap -点击

4个回答

您正在寻找的术语是“击键动力学”或“击键生物特征”,这是一个有趣且不断发展的领域。

这个想法是个人以某种方式键入某些键,这种方式不会随着时间的推移而发生太大变化。如果您可以映射这些动态,那么您可能会完全取消密码并简单地让用户键入任何内容

我认为这对于您的应用程序或网站的合法用户来说会非常非常烦人。手指骨折或一只手拿着三明治之类的事情会使您的登录无法使用。此外,您应该鼓励使用密码管理器,它可以非常快速地发送击键,或者根本不会发送击键。您的方案可能会阻止最好的密码管理器工作。

这里有好有坏,还有一些真的很丑。

好处
它增加了密码熵并使其更难暴力破解

坏处
它基于可以声音记录和定时的东西,并且需要容错,这意味着只需要足够接近就可以渲染这个没有实际意义的东西

真正丑陋的
人会随着时间而改变。由于多种原因(受伤、年龄、忘记模式如何发展),他们可能不再能够以相同的速度和频率或在容差范围内输入它,然后它实际上会损害用户使用服务的能力

因此,虽然这是一个很酷的想法和一个有趣的领域,但人类在密码上保持熵真的很困难。更糟糕的是,用机器重新创建图案很容易。在不事先了解人员或模式的情况下,这将使破解变得更加困难,但随着时间的推移,它也可能会恶化用户对您的服务的体验,并使收集有关密码熵的本地信息变得更加容易。

如今,这是否是对安全性的可行补充

我认为它不可行的唯一原因是人们现在从这么多不同的设备登录。我可以向您保证,这与我在主要工作桌面上输入密码的节奏和平板电脑上的 Swype 键盘没有关联。