我正在阅读有关密码的内容,并遇到了用于向服务器验证客户端的方法。由于以纯文本形式向服务器发送密码不是验证用户的最佳方法,因此描述了某些方法来抵抗重放攻击、MITM等。
描述的一些方法是: -
1)随机挑战方法,服务器向客户端提供随机字符串,客户端使用其密钥/密码(对称)对其进行加密并将结果发送回服务器。服务器执行类似的过程(或相反)来确定用户的真实性。
2) 依赖 SSL/TLS 进行加密
3) 基于证书的身份验证
我的问题是- 上述哪种方法在当前实践中?比如当我们尝试登录我们的Google、Facebook或Stackexchange帐户时,使用了哪种身份验证方法?