我正在和一个朋友谈论 HeartBleed,他提到他在所有支持它的网站上都启用了 2 因素身份验证,所以即使有他的用户名和密码,没有他的手机也没有人能够登录。
我告诉他无论如何都要更改他的密码。
但我有兴趣知道;他对保护他免受最坏情况影响的 2 因素身份验证是否正确?
谢谢!
伊万维德
我正在和一个朋友谈论 HeartBleed,他提到他在所有支持它的网站上都启用了 2 因素身份验证,所以即使有他的用户名和密码,没有他的手机也没有人能够登录。
我告诉他无论如何都要更改他的密码。
但我有兴趣知道;他对保护他免受最坏情况影响的 2 因素身份验证是否正确?
谢谢!
伊万维德
我不同意马克。SSL/TLS 的主要目标是保护长期密钥(即私有证书)。如果攻击者可以获取密钥,则该实现必须被视为已损坏。
是否使用双因素身份验证并不重要。如果我知道服务器的密钥,我可以直接(不带 PFS)或通过 MITM(带 PFS)解密您的流量。我可以窃取你的会话 cookie 或其他任何东西,并在没有你的令牌的情况下做任何事情。我什至可以窃取你的 TCP 会话。
适当的双因素身份验证(使用密码和通过外部通道发送的一次性令牌进行身份验证)可防止 Heartbleed 攻击。攻击者可以同时获得密码和令牌,但是通过适当的实现,令牌对于实际尝试自己的登录毫无价值:它是一次性使用的,并且它没有提供任何关于下一个令牌将要做什么的线索是。
太多网站(用户名、密码、关于您的琐事问题)使用的“希望是双因素”身份验证绝对没有提供任何保护。