【计算机网络笔记八】应用层(五)HTTPS

什么是 HTTPS

HTTPS 解决了 HTTP 不安全的问题

HTTP 整个传输过程数据都是明文的,任何人都能够在链路中截获修改或者伪造请求/响应报文,数据不具有可信性。

  • HTTPS 使用加密算法对报文进行加密,黑客截获了也看不懂

  • HTTPS 使用摘要算法对报文进行完整性确认,黑客一旦修改报文,那么 HTTPS 可以及时发现并做相应处理

  • HTTPS 使用数字签名,保证黑客不能伪造请求或响应报文

HTTPS 由 HTTP + SSL/TLS 组成,即在 HTTP 下面增加了一个 SSL 安全套接层(运行在SSL之上的HTTP协议)

在这里插入图片描述

SSL安全套接层Secure Sockets Layer),在 OSI 七层网络模型中处于第 5 层(会话层),由网景公司于 1994 年发明,常用 v2 和 v3 两个版本。

IETF 在1999 年把它改名为 TLS传输层安全Transport Layer Security),正式标准化,版本号从 1.0 重新算起,所以 TLS1.0 实际上就是 SSLv3.1。

今天 TLS 已经发展出了三个版本,分别是 2006 年的 1.1、2008 年的 1.2 和 2018 年的1.3,目前应用的最广泛的 TLS 是 1.2 。

HTTPS 的安全性是基于 TLS 的加密算法,因此要理解 HTTPS 其实就是要理解 TLS 背后的加密算法原理。

数据加密算法

古典密码学

在古代战争中,为了防止书信被截获后重要信息泄露,人们开始对书信进行加密。

移位式加密

如密码棒,使用布条缠绕在木棒上的方式来对书信进行加密。

在这里插入图片描述

  • 加密算法:缠绕后书写
  • 密钥:木棒的尺寸

替换式加密

按规则使用不同的文字来替换掉原先的文字来进行加密。

例如,码表:
原始字符:ABCDEFGHIJKLMNOPQRSTUVWXYZ
密码字符:BCDEFGHIJKLMNOPQRSTUVWXYZA
原始书信:I love you
加密书信:J mpwf zpv
解读后:I love you

  • 加密算法:替换文字
  • 密钥:替换的码表

与古典密码学相对应的就是现代密码学,主要包括两大分类:对称加密算法非对称加密算法

  • 可以加密任何二进制数据
  • 非对称加密的出现使得密码学有了更广泛的用途:数字签名

对称加密算法

对称加密算法:使用相同的密钥,不同的加密和解密算法,对明文加密,对密文解密。

在这里插入图片描述

TLS 里有非常多的对称加密算法可供选择,比如 RC4、DES、3DES、AES、ChaCha20 等,前三种被认为不安全,目前常用的只有 AESChaCha20

  • AES 的意思是“高级加密标准”(Advanced Encryption Standard) ,密钥长度可以是 128 位(比特)、192 位(比特)或 256 位(比特)。安全强度很高,性能也很好,而且有的硬件还会做特殊优化,所以非常流行,是应用最广泛的对称加密算法。

  • ChaCha20 是 Google 设计的另一种加密算法,密钥长度固定为 256 位,纯软件运行性能要超过 AES,曾经在移动客户端上比较流行,但 ARMv8 之后也加入了 AES 硬件优化,所以现在不再具有明显的优势,但仍然算得上是一个不错的算法。

对称加密的破解

破解思路:

  • 拿到一组或多组原文-密文对
  • 设法找到一个密钥,这个密钥可以将这些原文-密文对中的原文加密为密文,以及将密文解密为原文的组合,即为成功破解

反破解:

  • 一种优秀的对称加密算法的标准是,让破解者找不到比穷举法(暴力破解法)更有效的破解手段,并且穷举法的破解时间足够长(例如数千年)。

对称加密的缺点

对称加密算法面临的最大问题:如何把密钥安全地传递给对方,术语叫做“密钥交换”。

在这里插入图片描述

对称加密算法的缺点就是不能在不安全的网络上传输密钥,因为一旦密钥泄露则加密通信失败。

非对称加密算法

非对称加密算法是使用相同的加密算法 + 两个不同的密钥(不对称),一个叫公钥(public key),一个叫私钥(private key),公钥可以公开给任何人使用,而私钥必须严格保密。

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

川峰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值