HTTP(4)-计算机网络(HTTPS详细的加密流程讲解)

目录

HTTPS 是什么?

"加密" 是什么?

HTTPS 的工作过程

对称加密

非对称加密

引入证书


本章我们讲到了HTTPS的内容,那么跟着我一起来学习一下HTTPS的知识吧,首先我们呢先接受HTTPS是什么....

HTTPS 是什么?

HTTPS 也是一个应用层协议. 是在 HTTP 协议的基础上引入了一个加密层.

HTTP 协议内容都是按照文本的方式明文传输的. 这就导致在传输过程中出现一些被篡改的情况.

        例如,前些年的时候我们都会遇到冒牌链接的事情, 就是我们在浏览器下载应用的时候, 会遇到下载的东西不是自己原本想下载的, 这就是臭名昭著的 "运营商劫持",他们在页面上篡改了我们要下载的链接,才会导致我们在点击链接的时候实际上下载的是被篡改后的文件.

        不止运营商可以劫持, 其他的 黑客 也可以用类似的手段进行劫持, 来窃取用户隐私信息, 或者篡改内容. 试想一下, 如果黑客在用户登陆支付宝的时候获取到用户账户余额, 甚至获取到用户的支付密码.....

在互联网上, 明文传输是比较危险的事情!!!

HTTPS 就是在 HTTP 的基础上进行了加密, 进一步的来保证用户的信息安全~

听了上述的讲解,是不是瞬间就喜欢上了HTTPS呢?那么接下来我们来讲一下关于它的加密是怎样的.

"加密" 是什么?

加密就是把 明文 (要传输的信息)进行一系列变换, 生成 密文 .

解密就是把 密文 再进行一系列变换, 还原成 明文 .

在加密和解密的过程中, 进行辅助这个流程的东西,就是 密钥.

HTTPS 的工作过程

既然要保证数据安全, 就需要进行 "加密".

网络传输中不再直接传输明文了, 而是加密之后的 "密文".

明文(要请求的内容) + 密钥(加密的方式) => 密文

加密的方式有很多, 但是整体可以分成两大类: 对称加密非对称加密.

对称加密

加密 和 解密 使用同一个密钥.

 那么现在, 引入对称加密之后, 即使数据被截获, 由于黑客不知道密钥是啥, 因此就无法进行解密, 也就不知道请求的 真实内容是啥了,  是这样嘛?

哈哈哈那肯定不是的,毕竟我们的非对称密码还没有出场.原因如下:时代在进步,互联网在进步,黑客也在进步!

服务器同一时刻其实是给很多客户端提供服务的. 这么多客户端, 每个人用的秘钥都 必须是不同的(如果是相同那密钥就太容易扩散了, 黑客就也能拿到了). 因此服务器就需要维护每个客户 端和每个密钥之间的关联关系.

针对这个问题, 比较理想的做法, 就是能在客户端和服务器建立连接的时候, 双方协商确定这次的密钥是啥, 但是如果直接把密钥明文传输, 那么黑客也就能获得密钥了.

因此密钥的传输也必须加密传输!

但是要想对密钥进行对称加密, 就仍然需要先协商确定一个 "密钥的密钥". 此时密钥的传输再用对称加密就行不通了. 就需要引入非对称加密.

非对称加密

加密 和 解密 用的不是同一个密钥,一些非对称加密算法,只能加密,不能解密.

非对称加密: 公钥 私钥.     非对称加密要用到两个密钥, 一个叫做 "公钥", 一个叫做 "私钥",他们两个以恶负责加密,一个负责解密. 而且一定是成对出现的,但是运算速度非常慢,性能不如对称加密.  因此使用非对称密钥来作为对称密钥的加密.

那么接下来问题又来了:,客户端如何获取到公钥? 客户端如何确定这个公钥不是黑客伪造的?

引入证书

如何确认公钥时服务器生成的?

引入第三方公信机构,公信机构可以颁发证书.  在客户端和服务器刚一建立连接的时候, 服务器给客户端返回一个 证书.

这个证书包含了刚才的公钥, 也包含了网站的身份信息,甚至包括 证书发布机构 证书有效期 公钥 证书所有者 签名等.

当客户端获取到这个证书之后, 会对证书进行校验(防止证书是伪造的). 判定证书的有效期是否过期? 判定证书的发布机构是否受信任(操作系统中已内置的受信任的证书发布机构)? 验证证书是否被篡改?等.

我们呢可以查看自己的浏览器的受信任证书,例如Chrome 浏览器, 选择 "设置", 搜索 "证书管理" , 即可看到.

但是上述过程会有点麻烦,所以一般在安装客户端APP的时候就会包含公钥.

总结:

第一组(非对称加密): 用于校验证书是否被篡改.是为了让客户端把这个对称密钥传给服务器.

第二组(非对称加密): 用于加密 对称密钥 的密钥.是为了让客户端拿到第二组非对称加密的公钥.

第三组(对称加密): 客户端和服务器后续传输的数据都通过这个对称密钥加密解密.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值