发布时间:2023-2-21 分类: 电商动态
2014年,谷歌宣布,使用HTTPS/SSL安全认证的网站将获得谷歌更多信任,这将有助于该网站在谷歌搜索结果中排名更高。这使得HTTPS/SSL跃入许多网站管理员的视野。
说到HTTPS和SSL,你不能说HTTP和它们之间的区别。我们对HTTP并不陌生,即超文本传输协议,但安全性存在一些缺陷,即缺乏明文传输和消息完整性检测。这种安全漏洞很容易被利用来获取个人信息,如手机,身份信息,信用卡号码等。特别是在线交易,支付等已经变得非常普遍。为了确保可以加密和传输这些私有数据,Netscape设计了SSL(安全套接字层)协议来加密HTTP协议传输的数据,从而产生了HTTPS。
当前版本的SSL是3.0,由RFC 6101中的IETF(Internet工程任务组)定义。之后,IETF升级了SSL 3.0,因此出现了TLS(传输层安全性)1.0,其在RFC 2246中定义。事实上,我们当前的HTTPS使用的是TLS协议,但由于SSL出现得更早并且仍然受到当前浏览器的支持,因此SSL仍然是HTTPS的同义词,但TLS和SSL都是上个世纪。 SSL的最后一个版本是3.0。将来,TLS将继承SSL的优秀血统并继续为我们加密服务。当前版本的TLS是1.2,如RFC 5246中所定义。对历史感兴趣的朋友可以参考http://en.wikipedia.org/wiki/Transport_Layer_Security,其中详细描述了TLS/SSL。
我刚刚介绍了HTTPS和SSL的细节。更多人可能更关心HTTPS是否会影响网站的访问速度。对于这个问题的答案,我们可能需要从HTTPS的工作原理开始。
它是如何工作的
HTTPS需要在传输数据之前在客户端(浏览器)和服务器(网站)之间进行握手。在握手过程中,建立双方加密传输数据的密码信息。 TLS/SSL协议不仅仅是一组用于加密传输的协议。这是艺术家设计的艺术品。在TLS/SSL中使用非对称加密,对称加密和HASH算法。握手过程的简要说明如下:
1.浏览器向网站发送一组支持的加密规则。
2.网站选择一组加密算法和HASH算法,并以证书的形式将其身份信息发送回浏览器。证书包含诸如网站地址,加密的公钥和证书的颁发机构之类的信息。
3.获得网站证书后,浏览器应完成以下工作:
a)验证证书的有效性(颁发证书的机构是否合法,证书中包含的网站地址是否与访问的地址一致等),如果证书是可信的,将显示一个小锁在浏览器栏中,否则为证书提供一条不相信的消息。
b)如果证书是可信的,或者用户接受不受信任的证书,则浏览器会生成一串随机数,并使用证书中提供的公钥对其进行加密。
c)使用约定的HASH计算握手消息,用生成的随机数加密消息,最后将所有先前生成的信息发送到网站。
4.从浏览器接收数据后,网站应执行以下操作:
a)使用您自己的私钥解密信息,检索密码,使用密码解密来自浏览器的握手消息,并验证HASH是否与浏览器一致。
b)使用密码加密握手消息并将其发送到浏览器。
5.浏览器解密并计算握手消息的HASH。如果HASH与服务器发送的HASH一致,则握手过程结束。之后,所有通信数据将由先前浏览器生成的随机密码加密,并通过对称加密算法加密。
这里,浏览器和网站相互发送加密的握手消息,并验证其目的是确保双方都获得了一致的密码,并且可以正常加密和解密数据,并对后续的实际数据传输进行测试。 。此外,HTTPS常用的加密和HASH算法如下:
非对称加密算法:RSA,DSA/DSS
对称加密算法:AES,RC4,3DES
HASH算法:MD5,SHA1,SHA256
非对称加密算法用于在握手过程中加密生成的密码,对称加密算法用于加密实际传输的数据,HASH算法用于验证数据的完整性。由于浏览器生成的密码是整个数据加密的关键,因此在传输过程中使用非对称加密算法对其进行加密。非对称加密算法生成公钥和私钥。公钥只能用于加密数据,因此可以随意传输,网站的私钥用于解密数据,因此网站会小心保存其私钥。防止泄漏。
如果在TLS握手期间出现任何错误,则加密连接将断开连接,从而阻止私人信息的传输。由于HTTPS非常安全,攻击者无法找到起点。
实战
为了让读者更好地理解HTTPS的工作,我们将从实际访问HTTPS开始。我们使用Firefox打开网站(https://www.bairendai.com/)并使用Firefox附带的调试工具来浏览它。
首先你可以打开这个网站的HTTP页面,你可以看到:
然后打开这个网站的HTTPS页面,发现时间真的越来越大,但实际差异并不大:
然后单击Security以查看此HTTPS连接的详细信息:
总结
以上是对SSL证书是否影响网络速度和网站访问速度的分析。了解原理后,您会发现它与HTTP访问之间存在SSL握手。总之,使用以下两个公式。
HTTP时间消耗=TCP握手
HTTPS时间消耗=TCP握手+ SSL握手
随着网络带宽的增加和硬件设备的不断改进,SSL握手可能需要几百毫秒的时间。对于每日访问网站,很难体验到这种差异,因此您可以完全忽略HTTPS速度。负面影响。
« Microsoft Edge浏览器新曝光图标!放弃自己的EdgeHTML引擎并更改Google内核! | 高通发布骁龙712移动平台:支持QC4+,比710提升10% »