我今天拿到了我的YubiKey 4,并且第一次尝试使用KeePass并发誓-HOTP (OtpKeyProv插件)。我的配置是3个OTP,前瞻性计数= 0。它没有那么好的工作,因为有时OtpKeyProv插件不认识我的输入,当我按下按钮太快。因此,我换到了6个OTP,向前看计数= 12,但这样就不再“舒适”了,因为我需要按6次按钮,并且不得不在按键之间等待几秒钟,以确保插件识别输入。
所以我用KeeChallenge插件尝试了挑战响应的方法。一切都完美无缺。有什么反对使用KeeChallenge插件的挑战响应方法吗?还是说使用起来安全?我知道OtpKeyProv插件更安全,但这有多大区别吗?
发布于 2017-10-29 09:43:50
取决于插件是如何在内部运行的,这可能是添加安全性的一种无止境的方法。
本质上,这件事误用了HOTP大时间,然而,通过计算下一个-许多OTP需要和形成他们与主通行证加密数据库。
但是,当然,当您有前瞻性活动(您确实应该,特别是在一个纳米),它会生成更多的密钥序列,以防您增加计数器意外。
虽然keepass显然需要将种子(共享秘密)存储在数据库中,以便重新加密它,但其背后的想法并不坏。
keechallenge插件在相同的前提下工作:使用某种挑战(HOTP中的计数器)散列共享秘密,但从几个角度来看,这个插件实际上更安全。
1)它提供了160位的HMAC-SHA1 1输出,而不是log2(10^(6*x))位的“公正”(x是您选择的连续OTP的数量,8个连续的OTP(仅为159比特)长度)。
简单地说,对于相同的安全级别,您需要的点击量要少得多,虽然OTP插件可能被配置为使用大量的OTP来实现更高的安全性,但经过修改后,挑战响应插件还可以运行多个挑战,将比特数抛到屋顶,再一次只需要八分之一的水龙头(不需要错误的敲击,也不需要得到正确的序列)。
2)由于挑战是从数据库中提供的,我们不需要担心意外地触摸键或外观,这意味着我们不需要通过允许多个第二因素解决方案进入而降低安全性。
简单地说,数字2意味着Yubi只有一个秘密,而DB有一个可以被称为挑战的“状态”,而在TOTP中,Yubi拥有解密DB所需的状态和秘密,并且在每次触摸密钥时状态都会发生变化,这意味着您需要考虑多个状态。
尽管显然共享的秘密仍然需要以某种方式存储在数据库中(除非您根本不改变挑战,但这是不计后果的)。
发布于 2016-01-13 14:18:40
您应该意识到,使用KeePass实现2 2factor的任何机制都不是从根本上增加任何真正的安全性。任何掌握您的数据库的攻击者都不会安装OTPKeyProv插件,也不需要使用第二个因素。
OTP 2因素提供身份验证,而不是加密,并且只在攻击者无法在身份验证之前直接访问密码库的情况下工作,例如使用在线服务(如LastPass )。使用KeepPass,攻击者必须在身份验证期间访问数据库,因此可以简单地下载数据库并忽略身份验证部分。
更简单地说:使用OtpKeyProv并不会给您的主密钥添加任何安全性,而且主要是安全域。
编辑:我在一些方面得到纠正-基于插件作者的反应,插件的设计是为了增加一个额外的秘密密钥到主密码,并保护它使用HOTP。具体是如何做到这一点尚不清楚,但听起来似乎是可信的。然而,应该注意的是,这不是真实的2因子,更像是因子加半;主要因素(加密密钥)正在被一个自身保护弱的较弱密钥所强化。因此,这是额外的安全性,但不像认证系统中真正的2因素提供的那样多。
https://security.stackexchange.com/questions/110014
复制相似问题