端口443上的HTTP与端口80上的HTTPS

有什么区别

http://serverfault.com:443和https://serverfault.com:80

哪一个理论上更安全?

httphttps是指正在使用的协议。

http用于未encryption的明文通信,这意味着传输的数据可能会被人类截获和清楚地读取。 用户名/密码字段可以被捕获和读取。

https是指SSL / TLSencryption通信。 它必须解密才能被读取。 通常/理想情况下,只有端点才能对数据进行encryption/解密,尽pipe这是一个带有注意事项的陈述( 见下面的编辑 )。

因此,https可能被认为比http更安全。

:80和:443仅指使用中的服务器端口(即“只是一个数字”),在安全性方面完全没有任何意义。

但是,通过端口80发送http和通过端口443发送https是一个很好的约定,这使得问题中的组合不止一点非正统。 尽pipe技术上完全可用,只要端点是一致的并且没有中间过滤对象。

所以要回答, http://example.com :443不如https://example.com:80安全,差别是可行的(即使它可以用多种方式抵消),而不仅仅是理论上的。

您可以使用Web服务器和客户端轻松testing这些语句的有效性,您可以在其中操作服务器端口和encryption状态,同时使用协议解码器(如wireshark)捕获和比较每个会话。

[ 编辑 – 关于客户端/服务器path安全的警告 ]

对于窃听或模仿的目的,可以执行基本相当于https中间人攻击的内容。 这可能是作为恶意,善意的行为,甚至由于无知,根据情况而变化。

攻击可以通过利用协议弱点来完成,例如heartbleed bug或Poodle漏洞 ,或者通过在networkingpath中或直接在客户端上实例化客户端和服务器之间的https代理。

恶意使用并不需要太多解释,我想。 仁慈的使用将是例如一个组织代理传入的https连接用于logging/ ids ,或传出的https连接用于过滤允许/拒绝的应用程序 。 一个愚蠢的使用例子是上面链接的联想超级鱼的例子或最近的戴尔同样的滑倒变化 。