❝这篇我会用通俗易懂的图文并茂来说HTTPS,小白一个可能有些地方有些欠缺请你们理解 >x<web
❞
HTTP报文使用明文(指未通过加密的报文)方式发送浏览器
HTTP明文协议的缺陷是致使数据泄露、数据篡改、流量劫持、钓鱼攻击等安全问题的重要缘由安全
具体来讲 , 明文传输的每个环节,数据都有可能被第三方窃取或者篡改,具体来讲,HTTP 数据通过 TCP 层,而后通过WIFI路由器、运营商和目标服务器,这些环节中均可能被中间人拿到数据并进行篡改,也就是咱们常说的中间人攻击。服务器
❝HTTPS并非一个新的协议, 而是一个增强版的HTTP。其原理是在HTTP和TCP之间创建了一个中间层,当HTTP和TCP通讯时并非像之前那样直接通讯,直接通过了一个中间层进行加密,将加密后的数据包传给TCP, 响应的,TCP必须将数据包解密,才能传给上面的HTTP。这个中间层也叫安全层。安全层的核心就是对数据加解密。编辑器
❞
「首先须要理解对称加密和非对称加密的概念,后续延伸到整个加密流程时才能更好地理解」flex
「就是加密和解密使用同一个密钥的加密技术」加密
「非对称加密也成为公开密钥加密技术,就是使用不一样密钥进行通讯的加密技术」spa
客户端请求服务端orm
服务端给key1给客户端 客户端使用对称加密 将key2放在key1里cdn
key1须要密匙解开 别人没有打不开 传到服务端后
服务端使用私钥解开 得到到key2 key2是对称加密解密key2
由于第一次key2被key1加密了,是看不到的,密匙双方都有,别人获取不到, 后续传输直接传公钥key2,客户端和服务端都能用同一个会话秘钥进行加解密了 从而他们的通讯以及安全都获得了保障 「黑客:你觉得只有大家在进步?」
❝那么这时候为了解决该问题,就出现了一个机构,CA证书颁发机构
❞
「为了解决 主要问题 客户端没法确认收到的公钥是否是真的是服务端发来的」
由CA(一个权威的认证机构)颁发的一种证书,里面含有能够标识你身份的信息,相似于咱们的身份证。
「证书是必须由服务端主动向CA申请的 服务器提供本身的信息和公钥给CA让其开数字证书」
「证书主要做用是数据加密和身份认证 , 身份认证就是指web浏览器和web服务器」
❝客户端请求 --> 服务端接收 --> 服务端返回数字证书给客户端 --> 客户端验证证书 --->客户端生成对称加密的随机Key而后用公钥加密 ---> 给服务端 ---> 服务端用他的私钥解密获得随机Key ---> 后续传输用该Key加密传输
❞
❝嘤嘤嘤 结束了 但愿能帮到你们