SSL 代表安全套接字层,是指用于加密、保护和验证互联网上之通信的协议。尽管 SSL 在一段时间前已被称为 TLS(传输层安全性)的更新协议代替,但“SSL”仍是该技术的常用术语。
SSL/TLS 的主要用例是保护客户端和服务器之间的通信安全,但它也可以保护不安全网络上的电子邮件、VoIP 和其他通信。
SSL/TLS 如何工作?
以下是理解 SSL/TLS 工作原理应掌握的基本概念:
-
安全通信从 TLS 握手开始,在这过程中两个通信方打开安全连接并交换公钥
-
在 TLS 握手期间,双方会生成会话密钥,会话密钥用于加密和解密 TLS 握手之后的所有通信
-
每一个新会话中使用不同的会话密钥来加密通信
-
TLS 确保服务器方或用户与之交互的网站确实是它们声称的身份
-
TLS 还确保数据没有被篡改,因为传输中包含消息身份验证码(MAC)
使用 TLS 时,用户发送到网站(单击、填写表格等)的 HTTP 数据和网站发送给用户的 HTTP 数据都被加密。接收者必须使用密钥来解密加密的数据。
TLS 握手
TLS 通信会话从 TLS 握手开始。TLS 握手采用一种称为非对称加密的方法,也就是在对话的两端使用两个不同的密钥。这是通过一种称为公钥密码术的技术实现的。
公钥加密中使用两个密钥:公钥(服务器将其公开提供)和私钥(保密且仅在服务器端使用)。用公钥加密的数据只能用私钥解密。
在 TLS 握手期间,客户端和服务器使用公钥和私钥交换随机生成的数据,并且使用此随机数据创建新的加密密钥,即会话密钥。
使用会话密钥的对称加密
与非对称加密不同,在对称加密中,会话中的两方使用相同的密钥。TLS 握手后,双方使用相同的会话密钥进行加密。一旦使用了会话密钥,就不再使用公钥和私钥。会话密钥是临时密钥,会话终止后便不再使用。下一会话需要创建一组新的随机会话密钥。
验证源站服务器身份
来自服务器的 TLS 通信包括消息身份验证码或 MAC,它是用于确认通信源自实际网站的数字签名。这将对服务器进行身份验证,从而防止在途攻击和域欺骗。它还确保数据在传输过程中没有被篡改。
什么是 SSL 证书?
SSL 证书是网站的源服务器上安装的文件。它只是一个数据文件,包含公钥和网站所有者身份以及其他信息。如果没有 SSL 证书,就无法使用 TLS 来加密网站的流量。
从技术上讲,任何网站所有者都可以创建自己的 SSL 证书,这些证书称为自签名证书。但是,浏览器不认为自签名证书像证书颁发机构颁发的 SSL 证书一样值得信赖。
网站如何获得 SSL 证书?
网站所有者需要从证书颁发机构获取 SSL 证书,然后将其安装到自己的 Web 服务器上(通常 Web 主机可以处理此过程)。证书颁发机构是一个外部方,可以确认网站所有者是他们所称的身份。他们保留所颁发证书的副本。
是否可以获得免费的 SSL 证书?
许多证书颁发机构对 SSL 证书收费。为了帮助提高互联网的安全性,各大IDC平台都推广处了免费证书发放,如果对域名绑定过多的、对证书验证有特殊需求的需要付费购买了。
HTTP 和 HTTPS 有什么区别?
“HTTPS”中的 S 代表“安全”。HTTPS 只是具有 SSL/TLS 的 HTTP。拥有 HTTPS 地址的网站具有由证书颁发机构颁发的合法 SSL 证书,并且使用 SSL/TLS 协议对往返于该网站的流量进行身份验证和加密。
为了鼓励整个互联网转向更安全的 HTTPS,许多 Web 浏览器已开始将 HTTP 网站标记为“不安全”。因此,HTTPS 不仅对于确保用户和用户数据的安全至关重要,而且对于建立与用户的信任也至关重要。测试网站的 SSL/HTTPS 问题。