自从Google宣布chrome68会将所有的HTTP网站标记为不安全,之后我们访问没有HTTP类型网站的网站都会被提示“红色不安全”的提示。随后掀起一阵网站要安装SSL证书的风潮,那么,到底什么是SSL证书?它是如何保障网站的安全呢?
什么是SSL?
SSL是一种使用TCP / IP在两个通信应用程序之间提供隐私和完整性的协议,对在客户端和服务器端之间来回传递的数据进行加密。
SSL证书的工作原理:
SSL连接始终由客户端启动。在SSL会话开始时,将执行SSL握手。此握手生成会话的加密参数。如图显示了如何处理SSL握手的简要概述。此示例假定在Web浏览器和Web服务器之间建立SSL连接。
1.客户端发送“hello”消息,列出客户端的加密功能(按客户端首选项顺序排序),例如SSL的版本,客户端支持的密码套件以及客户端支持的数据压缩方法。 该消息还包含一个28字节的随机数。
2.服务器响应服务器“hello”消息,该消息包含加密方法(密码套件)和服务器选择的数据压缩方法,会话ID和另一个随机数。
3.服务器发送其数字证书。
4.服务器发送服务器“hello done”消息并等待客户端响应。
5.在收到服务器“hello done”消息后,客户端(Web浏览器)验证服务器的数字证书的有效性,并检查服务器的“hello”参数是否可接受。
客户端发送“客户端交换密钥”消息。如果客户端向服务器发送了数字证书,则客户端会发送使用客户端私钥签名的“数字证书验证”消息。 通过验证此消息的签名,服务器可以明确验证客户端数字证书的所有权。
6.客户端使用一系列加密操作将预主密钥转换为主密钥,从中获取加密和消息认证所需的所有密钥材料。 然后客户端发送“更改密码规范”消息,使服务器切换到新协商的密码套件。 客户端发送的下一条消息(“已完成”消息)是使用此密码方法和密钥加密的第一条消息。
7.服务器以“更改密码规范”和自己的“已完成”消息进行响应。
8.SSL握手结束,可以发送加密的应用程序数据。
也就是说,网站通过安装SSL证书将之前的http协议升级为https加密协议,通过https协议对客户端与服务器端进行信息传输的过程加密处理,防止数据信息的泄露,保证了双方传递信息的安全性,高级证书还能显示企业名称(如图),验证他其访问的网站是否是真实可靠。