了解HTTPS原理

一丶前言

1.HTTP 协议(HyperText Transfer Protocol,超文本传输协议):是客户端浏览器或其他程序与Web服务器之间的应用层通信协议 。

2.HTTPS 协议(HyperText Transfer Protocol over Secure Socket Layer):可以理解为HTTP+SSL/TLS, 即 HTTP 下加入 SSL 层,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL,用于安全的 HTTP 数据传输。

了解HTTPS原理_第1张图片
Paste_Image.png

3.SSL :(Secure Socket Layer,安全套接字层):1994年为 Netscape 所研发,SSL 协议位于 TCP/IP 协议与各种应用层协议之间,为数据通讯提供安全支持。

4.TLS(Transport Layer Security,传输层安全):其前身是 SSL,它最初的几个版本(SSL 1.0、SSL 2.0、SSL 3.0)由网景公司开发,1999年从 3.1 开始被 IETF 标准化并改名,发展至今已经有 TLS 1.0、TLS 1.1、TLS 1.2 三个版本。SSL3.0和TLS1.0由于存在安全漏洞,已经很少被使用到。TLS 1.3 改动会比较大,目前还在草案阶段,目前使用最广泛的是TLS 1.1、TLS 1.2。

5.密钥:密钥是一种参数,它是在明文转换为密文或将密文转换为明文的算法中输入的参数。

密钥分为对称密钥与非对称密钥。

6.对称密钥加密:又称私钥加密或会话密钥加密算法,即信息的发送方和接收方使用同一个密钥去加密和解密数据。它的最大优势是加/解密速度快,适合于对大数据量进行加密,但密钥管理困难。

例子来简要说明一下对称加密的工作过程。甲和乙是一对生意搭档,他们住在不同的城市。
由于生意上的需要,他们经常会相互之间邮寄重要的货物。为了保证货物的安全,他们商定
制作一个保险盒,将物品放入其中。他们打造了两把相同的钥匙分别保管,以便在收到包裹
时用这个钥匙打开保险盒,以及在邮寄货物前用这把钥匙锁上保险盒。

来源百度百科:


了解HTTPS原理_第2张图片
1.png

应用:在对称加密算法中常用的算法有:DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK、AES等。

7.非对称加密算法:需要两个密钥来进行加密和解密,这两个秘钥是公开密钥(public key,简称公钥)和私有密钥(private key,简称私钥)。
来源百度百科:

如下图所示,甲乙之间使用非对称加密的方式完成了重要信息的安全传输。
非对称加密工作过程简要示意图
非对称加密工作过程简要示意图
1、乙方生成一对密钥(公钥和私钥)并将公钥向其它方公开。
2、得到该公钥的甲方使用该密钥对机密信息进行加密后再发送给乙方。
3、乙方再用自己保存的另一把专用密钥(私钥)对加密后的信息进行解密。乙方只能用其专用密钥(私钥)解密由对应的公钥加密后的信息。
在传输过程中,即使攻击者截获了传输的密文,并得到了乙的公钥,也无法破解密文,因为只有乙的私钥才能解密密文。
同样,如果乙要回复加密信息给甲,那么需要甲先公布甲的公钥给乙用于加密,甲自己保存甲的私钥用于解密。
了解HTTPS原理_第3张图片
2.png

应用:在非对称加密中使用的主要算法有:RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)等。

二丶HTTP访问过程

了解HTTPS原理_第4张图片
Paste_Image.png

HTTP 传输面临的风险有:
① 窃听风险:黑客可以获知通信内容。
② 篡改风险:黑客可以修改通信内容。
③ 冒充风险:黑客可以冒充他人身份参与通信。

三丶HTTPS访问过程

了解HTTPS原理_第5张图片
Paste_Image.png

HTTPS 缺点:
①SSL 证书费用很高,以及其在服务器上的部署、更新维护非常繁琐
②HTTPS 降低用户访问速度(多次握手)
③网站改用HTTPS 以后,由HTTP 跳转到 HTTPS 的方式增加了用户访问耗时(多数网站采用302跳转)
④HTTPS 涉及到的安全算法会消耗 CPU 资源,需要增加大量机器(https访问过程需要加解密)

四丶参考资料:

百度百科
http://baike.baidu.com/item/%E5%AF%86%E9%92%A5
深度解析HTTPS原理
http://www.toutiao.com/i6403165383427097089/

你可能感兴趣的:(了解HTTPS原理)