擅长:python、mysql、java
<p>定义:<code>HOTP(K,C) = Truncate(HMAC(K,C)) & 0x7FFFFFFF</code>-其中<code>K</code>是密钥,<code>C</code>是计数器。由于HMAC是单向散列(而不是双向加密),因此如果黑客拥有HOTP字符串,则黑客无法获得<code>K</code>和{<cd3>}。在</p>
<p><code>K</code>&;<code>C</code>需要保护,因为丢失会危及整个OTP系统。话虽如此,如果<code>K</code>是在字典中找到的,并且我们知道<code>C</code>(例如:当前时间),我们就可以生成HOTP/TOTP的整个字典并计算出<code>K</code>。在</p>
<p>对HOTP/TOTP应用单向加密(即:双重加密)在数学上会增加解码难度,尽管它不能防止其他形式的攻击(例如:击键记录)或对HOTP/TOTP的字典列表应用相同的加密。在</p>
<p>人类的天性是,重复使用同一套容易记住的密码,因此需要在数字设备上或通过互联网传输时隐藏此密码。在</p>
<p>安全过程或协议的实现也是至关重要的,这就像选择了一个好的密码<code>K</code>,但却把它放在办公桌上,或者持有{<cd2>}(对于HMAC)的服务器不在由几层防火墙保护的私有网络内。在</p>