是否有一种一次性密码生成算法(基于预定义的密码和不断变化的值/时间/计数器/等),它足够简单,可以由普通人处理,但足够安全,无法通过几个密码找到密码密码(比如 5-10)?
我已经看到有关各种特定密码方案及其安全性的问题。但我想更广泛地了解是否存在一些众所周知的算法。
直觉告诉我,如果某个东西很容易被人类处理,那么它也很容易被破坏。但话又说回来,我对非对称加密或安全密钥交换(DH)是可能的感到非常惊讶。所以,给我惊喜!
编辑:一些澄清。
当我在思考户外使用的两因素身份验证时,这个问题出现了。安全环境(家庭、办公室等)的典型双因素身份验证在设备或手机上使用密码和 OTP 生成器。您松开设备/电话,仍然有密码。键盘记录器窃取了您的密码,但设备/电话仍然存在。
但是,两者都可能被盗的情况呢?例如,您使用应用程序在街上拿起电动自行车或在火车站打开储物柜。有人可能会在您在手机上输入密码时观看,然后还会窃取手机本身。
该问题可以通过使用在短时间内(例如 10 分钟)内变得无用的密码来解决。此外,手机将具有个人机密(例如 SSL 客户端证书),以使针对密码身份验证的暴力攻击更加困难。
mr.spuratic 对 Blum 的 HCMU 算法的建议与我所寻找的非常接近。对于普通人来说,它仍然看起来有点太重了,但通过一些练习,它是可行的。