为什么Facebook在将密码发送到服务器之前不使用公钥加密?

问题描述:

enter image description here为什么Facebook在将密码发送到服务器之前不使用公钥加密?

如上面的屏幕截图所示,facebook会在请求标题中显示用户密码。

我只是想知道为什么Facebook没有使用公钥隐藏密码。

编辑:

即使是HTTPS的加密数据的工作,但HTTPS可以通过使用招类似的应用被打破。

在将密码发送到服务器之前加密密码有什么问题?

+2

是不是HTTPS是什么? – WizKid

+0

我不是为什么这些问题变得否定。点。但我实际上想知道Facebook如何如此无知,以至于它不会给那些可以使用像应用程序那样的“fiddler”来完成的中间人攻击。 –

+0

网络应用程序无法阻止用户在自己的中间攻击中做一名男子。第三方用户不能使用提琴手截取数据,而不要先窃听您的计算机以接受提琴手根证书 – rypskar

由于@WizKid已经评论说密码是在您的浏览器发送之前使用HTTPS进行加密的,但是您正在检查的控制台在加密之前获取数据。您可以尝试使用诸如Fiddler工具,看看有什么实际发送

+0

这正是我的问题所在。如果facebook知道HTTPS可以被像应用程序那样的小提琴手破坏,那么为什么它不考虑使用公钥来加密密码。或者Facebook不知道...? –

+0

在fiddler中,密码是加密的,唯一的方法就是看你的浏览器是否接受了来自浏览器中的提琴手的根证书,以便浏览器可以接受来自fiddler的pub key而不是来自facebook的公钥。 HTTPS基于使用公钥(至少交换密钥以用于其他通信) – rypskar

由于@WizKid评论中,加密你的建议在问题正是什么HTTPS在做什么。

HTTPS使用签名证书预先安装在浏览器或设备,由提供信任的第三方证书颁发机构,以验证网站的身份和相关的服务器。这会阻止网站钓鱼攻击中间人(MITM)的攻击。

通信用户Web服务器通过传输层安全(TLS)或安全套接字层(SSL)加密,之间,让您的数据交换是通过MITM保护攻击。

作为HTTPS依靠使用提琴手因为提琴手问你添加自身生成的证书信任信任签名证书,你可以对数据进行解密。没有你的权限,你的数据将是安全