首页 > 自考资讯 > 高考百科

面试突击65:为什么要用HTTPS?它有什么优点?

小条 2024-10-14

说到HTTPS,我想大多数人都熟悉它,因为我们今天使用的大多数网站都是基于它的。

df036f56937249f581cfdcaaf06806a5~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1729501235&x-signature=4C7qbZOMB%2BDSTNEAujFhxZCTr1s%3D 06024b585ce44962bece81645e04092f~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1729501235&x-signature=el8ny%2B3%2BzJCrerpW%2BLzuaUy8v28%3D e99486efd4d14c339151c176f1f7174d~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1729501235&x-signature=JikZtfzaRc%2FGp0FYi%2BtpmvTunTU%3D 那么问题来了,为什么要使用HTTPS呢? HTTPS 有什么好处?

1.HTTP

在谈论HTTPS 之前,我们首先需要了解HTTP 是什么。因为HTTP是HTTPS通信的基础。

HTTP(HyperText Transport Protocol)超文本传输协议。用于发送客户端和服务器端数据。

尽管HTTP 非常简单易用,但它存在三个关键问题:

通过明文通信,内容可能会被拦截。如果您无法验证与您通信的人的身份,则存在伪造的风险。消息的完整性无法被证明并且很容易被篡改。考虑到上述问题,当前系统使用HTTPS而不是HTTP。

2.HTTPS

首先,HTTPS 并不是一个新协议;它在HTTP 协议中添加了加密机制SSL(安全套接字层)或TLS(传输层安全性)。

HTTPS=HTTP + 加密+ 身份验证+ 完整性保护。

SSL 和 TLS

SSL(安全套接字层)最初由浏览器开发商Netscape 开发。这家公司开发了SSL 3.0和3.0之前的版本,然后将SSL移交给互联网工程任务组(IETF)的互联网工程任务组。简而言之,IETF 在SSL 3.0 的基础上开发了TLS 1.0,因此您可以将TLS 视为SSL 的“新版本”。

2.1 解决信任问题

对于HTTPS,如果不首先解决信任问题或身份验证问题,那么就会出现服务器冒充问题或“人性化”问题。 -从中间进攻”。

所谓中间人攻击,是指正常情况下客户端和服务器必须直接交互,但这里客户端和服务器之间出现了一个“坏人”(中间人)。如下图所示,利用服务器窃取并篡改双方的通信内容。

26aa30065f6d4b68b864be5e22f6c727~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1729501235&x-signature=0Xln6sx5ecDUTrUjXjA4KccOasE%3DHTTPS使用数字证书解决方案来解决信任问题。这意味着服务器在首次创建时,首先会向公认的第三方平台申请并访问受信任的数字证书。客户端(服务器端) 服务器首先向客户端提供数字证书,证明它是受信任的服务器而不是“中间人”。

此时浏览器验证数字证书的有效性,如果没有问题,客户端立即停止通信。如下图所示:

712845f6dce140ac88395bf172c3a1c4~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1729501235&x-signature=tsIWvLf%2F9IHV5YsyKvwtavlmits%3D 数字证书允许您验证服务器的真实身份,从而解决“中间人”攻击和冒充问题。

2.2 解决明文传输和完整性问题

虽然上述可靠性问题已经解决,但由于双方都是明文通信,因此在通信过程中仍然存在通信内容可能被截获的风险。

因此,我们想到利用加密来解决信息泄露的问题。

加密的分类

加密主要分为两类:对称加密和非对称加密。

对称加密具有共享密钥,使得信息能够被加密和解密,但是共享密钥问题意味着一旦共享密钥,加密和解密就会具有更快的特性。如果密钥被截获,所谓的加密和解密就没有意义了。非对称加密具有公钥-私钥对,其中公钥可以用于加密信息,但私钥不能用于解密信息。其特点是服务器存储私钥,只将公钥发送给客户端,即使其他人获得了公钥,也无法解密加密信息。虽然非对称加密更安全,但运行速度相对较慢。那么HTTPS 应该使用对称加密还是非对称加密呢?

它使用对称加密,速度快但不安全;它使用非对称加密,安全但速度慢。

因为只有孩子做选择,而大人做选择,HTTPS同时使用了非对称和对称加密,整个交互过程如下所示:

fd7bb30ef1d145f78fce6ceb643e3f6d~noop.image?_iz=58558&from=article.pc_detail&lk3s=953192f4&x-expires=1729501235&x-signature=Ql9yqnBiH3Rbt7tQ2VTSNWMNPm0%3DHTTPS的执行流程如下:

客户端使用HTTPS 访问服务器。服务器返回数字证书,并使用非对称加密为客户端生成公钥(服务器本身持有私钥)。客户端检查数字证书是否有效,如果无效则终止访问。如果启用,则使用对称加密共享密钥加密数据。对称加密)共享密钥。将加密后的密钥和数据发送到服务器。服务器使用其私钥来解密客户端的共享秘密(使用对称加密生成),并使用该共享秘密来解密数据的特定内容。然后,客户端和服务器使用用共享密钥加密的内容相互通信。通过这种方式,HTTPS 保证了安全性和效率,让您两全其美。

使用加密间接确保数据完整性。如果数据不完整或冗余,解密时会报错,从而间接保证了数据的完整性。

总结

HTTP协议引入了明文通信和中间人攻击等问题,但HTTPS有效地解决了这些问题,解决了中间人攻击的问题。使用数字证书并使用加密来解决明文通信和数据完整性问题。

参考 鸣谢

《图解HTTP》

《图解TCP/IP网络知识轻松入门》

版权声明:本文转载于网络,版权归作者所有。如有侵权,请联系本站编辑删除。

猜你喜欢