是否有一次密码生成算法(基于预定义的秘密和更改值/时间/计数器/等)足够简单,可以由一般人进行处理,但足够安全,以至于仅用几个密码(例如5-10)就无法找到秘密?
我见过关于各种具体密码方案的问题,以及它们的安全性。但我想更笼统地知道是否存在一些著名的算法。
直觉告诉我,如果某些东西很容易被人类处理,那么它也很容易被打破。但是,我再次感到非常惊讶的是,非对称加密是可能的,或者安全密钥交换(DH)。所以,给我个惊喜!
这个问题是在我思考关于户外使用的双因素认证时提出的。安全环境的典型双因素认证(家庭、办公室、.)在设备或电话中使用密码和OTP生成器。如果你把设备/电话弄丢了,还有密码。键盘记录器盗取你的密码,还有设备/电话。
但在这种情况下两者都可能被偷呢?例如,你可以使用一个应用程序在街上捡起一辆电子自行车,或者在火车站打开一个储物柜。当你在手机上输入密码时,有人可能会观看,然后还会窃取手机本身。
这个问题可以通过使用在短时间内变得无用的密码来解决(例如。10分钟)。此外,电话将有一个单独的秘密(例如SSL客户端证书),使得对密码身份验证的暴力攻击更加困难。
斯普里亚先生关于Blum的HCMU算法的建议非常接近我正在寻找的内容。对于普通人类来说,这看起来还是有点太重了,但是如果有一些练习的话,那是可行的。
发布于 2017-02-02 13:45:02
您可以有一个查找表,就像一个时间垫。
查找书中的每一页都是一天的OTP值,您可以在当前日期/时间上查找这本书,以便在这一时刻得到正确的OTP。这模拟了一个TOTP。您可以在安全性( TOTP更改的频率)和查找簿的厚度之间进行权衡。
发布于 2017-02-02 18:24:36
史蒂夫·吉布森( Steve )把一个叫做“完美纸密码”的东西拼凑在一起,作为如何做到这一点的示范。https://www.grc.com/ppp为您提供详细信息。该站点有可下载的代码,可用于构建一个更复杂的实现。
这不是基于时间的,而只是一系列的一次性密码,只能按顺序使用。即使当前密码被监听,它也不提供有关下一个密码的信息。每个密码的字符数和“字母表”是可调的。

这里我们看到代码1A-D已经被使用,接下来要使用的代码是E1 (Tygq)。
发布于 2017-02-02 15:45:38
老实说,即使是官方的TOTP算法也不是非常复杂,尽管您必须非常专注于计算头脑中的HMAC。但是,这确实表明您可以使用大多数相同的构建块,合理地使用基于时间的计算密码系统。
主要的问题是人们在很多事情上不如电脑好:
因此,直接调整TOTP算法将涉及:
这将不如基于计算机的计算机安全,因为攻击者将能够快速计算许多潜在值,因此您还需要限制在给定时间间隔内允许多少次尝试。
不,我不知道什么是合适的HMAC替代品.
https://security.stackexchange.com/questions/150168
复制相似问题