我们为什么要使用HTTPS?

我们为什么要使用HTTPS?,https,Https,我已经了解了一点https,但不清楚为什么需要它 如果我使用最强大的算法(如RSA)加密数据,而不是通过HTTPS区域发送,该怎么办?有人能解释一下为什么我们需要https吗?上面写着 从技术上讲,它本身不是一项议定书;相反,这是结果 将超文本传输协议(HTTP)简单地分层在 SSL/TLS协议 关于Wikipeida的文章 TLS和SSL对网络连接段进行加密 应用层为传输层,使用非对称 密钥交换的密码学,密钥交换的对称加密 消息的机密性和消息身份验证代码 正直 因此,密钥交换确实使用了,而RS

我已经了解了一点https,但不清楚为什么需要它

如果我使用最强大的算法(如RSA)加密数据,而不是通过HTTPS区域发送,该怎么办?有人能解释一下为什么我们需要https吗?

上面写着

从技术上讲,它本身不是一项议定书;相反,这是结果 将超文本传输协议(HTTP)简单地分层在 SSL/TLS协议

关于Wikipeida的文章

TLS和SSL对网络连接段进行加密 应用层为传输层,使用非对称 密钥交换的密码学,密钥交换的对称加密 消息的机密性和消息身份验证代码 正直

因此,密钥交换确实使用了,而RSA是一种非对称加密算法

在以安全的方式执行密钥交换之后,可以通过对称密码算法进行进一步的通信。可以找到使用对称和非对称算法背后的原因

如果我使用最强大的算法(如RSA)加密数据会怎么样 而不是通过HTTPS区域发送

你必须自己实施,即重新发明轮子。默认情况下,每个浏览器都支持HTTPS

有人能解释一下为什么我们需要https吗


广泛支持的安全通信。如果你有一个与嗅探工具比如WiReSARK在通信的中间,他/她将能够看到你和你的同伴交换的所有数据包。尝试捕获HTTPS通信,您将无法在请求正文中看到任何有意义的内容。

您确实可以自己加密数据,但您将面临一个大问题:加密代码必须在服务器和客户端(通常是浏览器)上都可用

可以安全地在服务器上实现加密。在客户端,您可以安装软件(插件),也可以向客户端发送JavaScript。问题是:如何将加密代码发送到客户端?每个人都会收到javascript代码,因此他可以做与客户端相同的事情


您可以使用内置的SSL支持,而不是强制用户安装插件,因为每个浏览器都已经了解该协议。您可以将其视为已安装的加密插件。

欢迎使用SO,不幸的是,此问题不适合Q&A格式,可能会被删除。最好的问题是有明确答案的问题。对于你的问题,这是一个很好的资源:在这种情况下,我建议你继续阅读并接受标准。这不是一个经验有限的人应该质疑的问题。@chris。提问和提问完全不同。希望这是一个人们分享想法和知识的网站。如果你不能回答问题,请远离。不要低估像这样的人。在我看来,质疑并不是一个错误。事实上,我一直在使用Rijndaels算法来加密用vb.net编写的应用程序之间的连接,我设计了一种方法(到目前为止仅在idea阶段),通过几个步骤与主机/客户机共享密钥、混淆、创建新密钥、加密、共享、,再次混合使用两组完全不同的密钥,最后在主机和客户端上使用一组相同的密钥(最后一个共享是加密的,因此黑客无法解密新密钥来解密任何进一步的通信)。从理论上讲,它可以达到类似的效果,但我建议HTTPS@Sylvester-因此,用户安装软件的情况允许自己实施加密。我不是那个祈祷永远不要深入研究这件事的人,但正如你指出的,你花了很多时间研究这些问题,那是绝对必须的。是的,使用现有的实现更容易、更安全,特别是如果它像SSL一样被广泛使用。是的,就像我说的HTTPS是最好的选择,但是运行相同应用程序的两个用户意味着加密方法是相同的,所以另一端可以预测密钥是什么(它接收到另一端的密钥,它知道自己的密钥,它知道如何将两个密钥混在一起形成一个黑客不知道的新密钥;因此它只执行相同的任务来确定另一端将得到什么)理论上,你可以在网站中使用相同的技术,但如前所述,只需使用正常的https即可