目录

 

​阐述HTTPS和SSL证书的原理​

​SSL 证书​

​漫画:什么是 HTTPS 协议?​



HTTPS 认证过程:​​https://www.bilibili.com/video/BV1j7411H7vV?from=search&seid=9264061459142089866​

 阐述HTTPS和SSL证书的原理

解答

HTTPS (Hyper Text Transfer Protocol Secure) 对比HTTP而言,数据传输更安全,通常用来传输私密性的数据,如在线交易/订单处理/银行数据等,不过随着安全意识的普及,非传统安全领域的网站也在转向HTTPS。如苹果要求App Store内的应用都要支持HTTPS。

HTTPS 通过安全协议如SSL/TLS 来保证数据传输, SSL和TLS都是基于非对称加密算法,而RSA算法是非对称加密算法中的佼佼者。

RSA的公钥和私钥是互相对应的。RSA会生成两个密钥,持有者可以把任何一个用于公钥,另一个就是私钥。顾名思义,私钥会被严密保管,除了拥有者以外禁止其他角色接触,如在一个网站/远程服务商内,私钥妥善存储在服务器端。任何被公钥加密的东西只能被私钥解密,反过来任何被私钥加密的东西也只能被公钥解密

私钥和密钥叠加使用,从而达到双方之间秘密通信,最终实现身份验证和秘密通信

  • 私钥加密公钥解密,能证明“私钥拥有者” 的唯一身份,这就是签名。
  • 公钥加密私钥解密,确保发送的信息,只能被“私钥拥有者” 接收,从而实现安全传输

假设用私钥加密,来传递数据,因为可能有多个公钥持有者,从而失去对信息保护的目的,这是不允许的。

另外通过签名还可以校验数据完整性,发送者把传输信息的原文做一次哈希,然后用私钥加密哈希作为签名,并一起发布出去。当公钥持有者接收数据后,可以利用持有的公钥解密签名,如果解密成功,并且解密出来的哈希值确实和数据原文一致,那么就证明了数据内容的完整性。

 

SSL 证书

在实现HTTPS过程中,SSL证书的作用是不可或缺的。

具体的看看SSL证书工作的过程:

 

【SSL】HTTPS 和 SSL证书原理漫画:什么是 HTTPS 协议?_服务器

  • 浏览器服务器尝试连接支持支持SSL的网络服务器时,浏览器服务器会要求网络服务器表明自己的身份。
  • 网络服务器发送一份自身持有的SSL证书给浏览器或服务器,浏览器或服务器根据一定的规则(和本地存储的CA根证书列表对比) 判断是否信任远程服务,如果信任则发送一份消息远程服务器, 否则中断继续连接。
  • 网络服务器接收到消息后,发送一份包含数字签名的确认信息,开始建立SSL加密的会话。
  • 会话建立后,加密的数据顺畅地在客户端和网络服务器之间传递。

当用户在使用HTTPS的网页时,网站会在开始时发送SSL证书到浏览器,证书内包含建立安全连接的公钥,浏览器和网站以此为基础开始"SSL 握手", 握手的过程中产生共用的密钥,这样安全连接在用户和网站之间就建立起来了。

当建立HTTPS使用可信任的证书时,浏览器会在地址栏显示挂锁标志, 地址栏会变为绿色如果网站安装了Extended Validation Certificate, 用户看到这个颜色会感到"​​绿坝​​"在保护着他。

【SSL】HTTPS 和 SSL证书原理漫画:什么是 HTTPS 协议?_服务端_02

SSL证书通常由权威的证书组织签发,浏览器,操作系统和移动设备里会维护一组受信任的CA根证书, 如果被访问网站返回的证书不被信任,浏览器将会显示不予信任的警告信息,而带来用户流失,因为用户缺少安全感。


作者:豆志昂扬

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 

漫画:什么是 HTTPS 协议?​

这时候,我们有必要引入第三方,一个权威的证书颁发机构(CA)来解决。

 

到底什么是证书呢?证书包含如下信息:

 

【SSL】HTTPS 和 SSL证书原理漫画:什么是 HTTPS 协议?_服务器_03

 

 

为了便于说明,我们这里做了简化,只列出了一些关键信息。至于这些证书信息的用处,我们看看具体的通信流程就能够弄明白了。

 

流程如下:​

1.作为服务端的小红,首先把自己的公钥发给证书颁发机构,向证书颁发机构申请证书。

 

 

【SSL】HTTPS 和 SSL证书原理漫画:什么是 HTTPS 协议?_网络服务器_04

 

 

2.证书颁发机构自己也有一对公钥私钥。机构利用自己的私钥来加密Key1,并且通过服务端网址等信息生成一个证书签名,证书签名同样经过机构的私钥加密。证书制作完成后,机构把证书发送给了服务端小红。

 

 

【SSL】HTTPS 和 SSL证书原理漫画:什么是 HTTPS 协议?_ssl证书_05

 

3.当小灰向小红请求通信的时候,小红不再直接返回自己的公钥,而是把自己申请的证书返回给小灰。

 

【SSL】HTTPS 和 SSL证书原理漫画:什么是 HTTPS 协议?_服务器_06

 

 

4.小灰收到证书以后,要做的第一件事情是验证证书的真伪。需要说明的是,各大浏览器和操作系统已经维护了所有权威证书机构的名称和公钥。所以小灰只需要知道是哪个机构颁布的证书,就可以从本地找到对应的机构公钥,解密出证书签名。

 

接下来,小灰按照同样的签名规则,自己也生成一个证书签名,如果两个签名一致,说明证书是有效的。

 

验证成功后,小灰就可以放心地再次利用机构公钥,解密出服务端小红的公钥Key1。

 

 

【SSL】HTTPS 和 SSL证书原理漫画:什么是 HTTPS 协议?_服务器_07

 

 

5.像之前一样,小灰生成自己的对称加密密钥Key2,并且用服务端公钥Key1加密Key2,发送给小红。

 

【SSL】HTTPS 和 SSL证书原理漫画:什么是 HTTPS 协议?_网络服务器_08

 

6.最后,小红用自己的私钥解开加密,得到对称加密密钥Key2。于是两人开始用Key2进行对称加密的通信。

 

【SSL】HTTPS 和 SSL证书原理漫画:什么是 HTTPS 协议?_ssl证书_09

 

 

 

在这样的流程下,我们不妨想一想,中间人是否还具有使坏的空间呢?

 

【SSL】HTTPS 和 SSL证书原理漫画:什么是 HTTPS 协议?_服务端_10

 

 

【SSL】HTTPS 和 SSL证书原理漫画:什么是 HTTPS 协议?_服务端_11

 

【SSL】HTTPS 和 SSL证书原理漫画:什么是 HTTPS 协议?_服务器_12

 

 

 

【SSL】HTTPS 和 SSL证书原理漫画:什么是 HTTPS 协议?_ssl证书_13

【SSL】HTTPS 和 SSL证书原理漫画:什么是 HTTPS 协议?_网络服务器_14

 

【SSL】HTTPS 和 SSL证书原理漫画:什么是 HTTPS 协议?_网络服务器_15

 

【SSL】HTTPS 和 SSL证书原理漫画:什么是 HTTPS 协议?_ssl证书_16

 

 

注:最新推出的TLS协议,是SSL 3.0协议的升级版,和SSL协议的大体原理是相同的。

 

 

【SSL】HTTPS 和 SSL证书原理漫画:什么是 HTTPS 协议?_数据_17

 

 

—————END—————