当我们网上购物或银行业务时,为了安全起见,我们希望看到网站的地址栏上有“HTTPS”和安全锁图标。但是这个“HTTPS”和锁定图标实际上意味着什么?要回答这些问题,我们需要了解 HTTPS、SSL 协议和 SSL 证书。
关于HTTPS、SSL和SSL证书
安全超文本传输协议(HTTPS)是HTTP的安全版本,它对计算机网络之间的通信进行加密。在HTTPS中,通信使用安全套接字层(SSL)或现在称为传输层安全性(TLS)进行加密。因此,HTTPS也称为HTTPoverSSL(或HTTPoverTLS)。任何具有HTTPS网址的网站都使用SSL。
具体来说,SSL或TLS是一种通过实施SSL证书在通信设备之间创建安全连接的协议。SSL证书是由证书颁发机构(CA)颁发的Web服务器数字证书,托管在Web服务器上,然后安装在Web浏览器上。CA是受信任的第三方组织,负责生成并向网站所有者颁发SSL证书。
SSL证书在浏览器和Web服务器之间建立信任方面发挥着关键作用,它通过执行两个功能来实现这一点:
1)通过验证网络服务器和网站的身份;
2)通过加密网络浏览器和网络服务器之间传输的数据。
本质上,SSL证书使网站能够使用HTTPS,这是一种更安全的协议。它还允许两方之间进行私人对话,以保护敏感用户数据(例如,用户名、密码、电子邮件地址、银行信息等),并降低从假版本网站窃取或篡改敏感数据的风险。
以下是SSL证书中包含的信息和数据:
-
已认证的域名
-
相关子域名
-
拥有域的个人、组织或设备
-
证书颁发机构
-
证书颁发机构的数字签名
-
证书颁发日期
-
证书有效期
-
公钥和私钥
SSL 证书的类型
SSL 证书有多种类型,可以根据身份验证级别和覆盖的域数量对它们进行分类。
A. 验证级别
-
域验证 (DV) 证书– 这是在申请人证明对域有一定控制权后颁发的 X.509 公钥证书。这是最常见的证书类型。DV 证书的唯一标准是对域名的 whois 记录、DNS 记录、电子邮件或网络托管帐户的控制证明。基本上,DV证书可以在没有任何人为干预的情况下颁发,这使得它具有以下优点:
-
它们通常很便宜(每年 10 美元)甚至免费,例如Let's Encrypt。
-
它们可以在没有任何文档的情况下生成和验证。
-
其中大多数可以通过自动化发行过程的特殊工具在一分钟左右的时间内发行。
Web 浏览器将显示安全锁图标,但不显示任何法律实体。点击该标志只会显示“该网站不提供所有权信息”。
-
组织验证 (OV) 证书– 这是当申请人满足以下条件时颁发的 X.509 公钥证书:
-
域名的控制权(类似于DV证书);
-
网站所有者的实际存在;
-
每年费用在 50 至 100 美元之间。
Web 浏览器将显示安全锁图标,但不显示任何法律实体,类似于 DV 证书。
-
扩展验证 (EV) 证书– 这是 CA 验证控制域的合法组织后颁发的 X.509 公钥证书。这是最值得信赖的证书类型。验证内容包括:
-
域名的控制权(类似于DV证书);
-
网站所有者的实际、运营和合法存在;
-
政府业务记录,以确保公司已注册且活跃;
-
独立的企业名录,如黄页、Dunn and Bradstreet、Salesforce的data.com等;
-
检查证书中的所有域名;
-
每年费用在 150 至 300 美元之间。
Web 浏览器将显示安全锁定图标,并具有显示证书的 EV 状态和经过验证的合法身份(即网站的注册公司)名称的菜单。单击该标志将显示有关该组织的详细信息,例如名称和地址。
B. 涵盖的领域数量
-
单域– 这是最常见的证书类型。它保护一个有效的域名或子域名,例如 example.com 或 www.example.com。
-
多域 (UCC/SAN) – 此类证书也称为统一通信证书 (UCC) 或主题备用名称 (SAN) 证书。它不限于单个域,您可以覆盖最多一定数量的多个域。您可以混合不同的域和子域,只要它们是相关的网站即可。
-
通配符域– 这种类型的证书涵盖主域以及通配符格式内无限数量的子域,例如 *.example.com 涵盖 example.com、www.example.com、mail.example.com、neo。 example.com 等
SSL证书如何工作?
假设用户想要连接到 Mlytics 网络服务器,当用户输入https://www.gworg.com然后按 Enter 键时,将会发生以下情况。
-
浏览器将启动 TCP 握手,然后从 Mlytics 网络服务器请求安全页面 (HTTPS)。
-
Mlytics 服务器发送 SSL 证书(由 CA 数字签名)。尝试与 Web 服务器通信的设备将需要 SSL 证书来验证服务器的身份并获取 Web 服务器的公钥。私钥在网络服务器中保密且安全。
-
一旦浏览器获得 SSL 证书,浏览器将检查证书的数字签名,以确保其有效或来自正确的网络服务器。数字签名由CA的私钥创建,浏览器将参考其安装的CA的公钥来验证SSL证书的数字签名。
-
一旦SSL证书的签名被验证,它将获得网络服务器的公钥。此时,安全锁图标将出现在浏览器的地址栏上。锁图标可用于指示证书可以信任,并且浏览器确实正在与正确的网络服务器通信,而不是来自冒名顶替者。
-
下一步是浏览器共享秘密。浏览器将创建一对对称密钥或共享密钥。它保留一个密钥,并将另一个密钥提供给网络服务器。然而,浏览器以纯文本形式发送秘密并不安全,因此这就是网络服务器的公钥发挥作用的地方。网络服务器公钥是一长串字符,用于将秘密从纯文本加密为密文。一旦机密副本被加密,浏览器就会将此加密的机密发送到 Web 服务器。
-
当网络服务器获得加密密钥时,它将使用私钥对其进行解密。网络服务器的私钥是一长串字符,用于将秘密从密文解密为纯文本。用公钥加密的数据只能用私钥解密。解密后,网络服务器和浏览器现在获得了共享密钥(对称密钥)的相同副本。
-
从现在开始,浏览器和网络服务器之间的所有流量都将使用对称密钥进行加密和解密。
从这个例子中我们还描述了非对称密钥算法和对称密钥算法的工作原理。非对称密钥算法(公钥和私钥)用于验证网络服务器的身份并在浏览器和网络服务器之间建立信任。连接建立后,对称密钥算法(共享密钥)用于加密和解密浏览器和网络服务器之间的所有流量。