![](https://img.haomeiwen.com/i6943526/fe8647cd53ad7479.jpg)
目前大多数网站所使用的“HTTPS”,和之前的“HTTP”就多了一个“S”,而这个“S”就是SSL,它是一种网络安全协议,用于加密浏览器和服务器之间传输的数据信息,其主要功能就是身份认证和数据传输加密。
所谓的“SSL”即为“SSL协议”,它是一种安全传输协议,是SecureSocketLayer的缩写,即安全套接层协议。
最初由Netscape企业发展而来,目前已经成为互联网上用来鉴别网站和网页浏览者的身份,以及在浏览器使用者及网页服务器之间进行加密通讯的全球化标准协议。
![](https://img.haomeiwen.com/i6943526/7551bb8c03892733.png)
SSL有什么作用?
- 信息加密
确保用户在登录网站在线购物或进行各种交易时,用户的隐私和机密信息的安全。可信网站将帮您建立一条安全的信息传输加密通道。
- 身份识别
确认网站真实性,互联网上存在着许多假冒、钓鱼网站,用户如何来判断网站的真实性,如何信任自己正在访问的网站,可信网站将帮用户确认网站的身份。
![](https://img.haomeiwen.com/i6943526/f902fd69240462f2.png)
SSL的优点有哪些?
- 提供较高的安全性保证
SSL利用数据加密、身份验证和消息完整性验证机制,保证网络上数据传输的安全性。
- 支持各种应用层协议
由于SSL位于应用层和传输层之间,它可以为任何基于TCP等可靠连接的应用层协议提供安全性保证。
![](https://img.haomeiwen.com/i6943526/5c11256bcdb392ce.png)
- 部署简单
目前SSL已经成为网络中用来鉴别网站和网页浏览者身份,在浏览器使用者及Web服务器之间进行加密通信的全球化标准。SSL协议已被集成到大部分的浏览器中,不需要安装额外的客户端软件。
SSL的主要目的是在两个通信应用程序之间提供私密性和可靠性。这个过程通过3个元素来完成:
- 握手协议
握手协议负责协商被用于客户机和服务器之间会话的加密参数。当一个SSL客户机和服务器第一次开始通信时,它们在一个协议版本上达成一致,选择加密算法,选择相互认证,并使用公钥技术来生成共享密钥。
- 记录协议
记录协议用于交换应用层数据。应用程序消息被分割成可管理的数据块,还可以压缩,并应用一个MAC(消息认证代码);然后结果被加密并传输。接受方接受数据并对它解密,校验MAC,解压缩并重新组合它,并把结果提交给应用程序协议。
- 警告协议
![](https://img.haomeiwen.com/i6943526/6dfdd629c042181f.png)
WEB客户机通过连接到一个支持SSL的服务器,启动一次SSL会话。支持SSL的典型WEB服务器在一个与标准HTTP请求(默认为端口 80)不同的端口(默认为 443)上接受SSL连接请求。当客户机连接到这个端口上时,它将启动一次建立SSL会话的握手。
当握手完成之后,通信内容被加密,并且执行消息完整性检查,知道SSL会话过期。SSL 创建一个会话,在此期间,握手必须只发生过一次。当SSL会话过程中出现了问题或端口设置出了问题,就会造成无法使用SSL连接现象。
那么你知道SSL是如何工作的吗?
![](https://img.haomeiwen.com/i6943526/1c940536ff7c9679.png)
SSL的工作流程
-
客户使用HTTPS的URL访问Web服务器,要求与Web服务器建立SSL连接。
-
Web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给客户端。
-
客户端的浏览器与Web服务器开始协商SSL连接的安全等级,也就是信息加密的等级。
-
客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站。
-
Web服务器利用自己的私钥解密出会话密钥。
-
Web服务器利用会话密钥加密与客户端之间的通信。
整个过程经过握手之后就能建立加密链接,数据传输都是经过加密后的信息。
![](https://img.haomeiwen.com/i6943526/a819728a57753cbe.png)
SSL握手的含义
建立安全连接的过程称为“SSL握手”。
这里所说的“握手”并非我们传统意义上的握手,SSL握手过程涉及三个步骤:交换加密功能,服务器验证和密钥传输。
- 交换加密功能
正如我们在见到某人时所做的一样,客户端和服务器也会互相问好。
客户端向服务器发送一条“Client Hello”的消息,包含一些SSL证书信息。为响应此客户端的“Client Hello”消息,服务器通过发送“Server Hello”对其作出响应,同样该消息也包含相应的证书信息。
![](https://img.haomeiwen.com/i6943526/f1286a3b236c6fbf.png)
- 服务器验证
在客户端和服务器之间已建立安全连接后,接下来就是客户端验证服务器身份的阶段。
SSL证书中包含所有者/组织、其位置的公钥、有效日期等信息,客户端确保有效的证书颁发机构CA已验证证书。
- 密钥传输
客户端验证并验证服务器后,双方就该共享密钥了。
服务器验证完成后,客户端使用公共密钥生成预主密钥,然后此预主密钥被发送到服务器,服务器使用其私钥解密该预主密钥。
这样,客户端和服务器就会计算出一个新密钥,此主密钥用于加密和解密在客户端和服务器之间传输的信息。
![](https://img.haomeiwen.com/i6943526/db53bc344f866884.gif)
网友评论