https 原理

126 阅读2分钟

参考文章 juejin.cn/post/684490…

HTTP+ 加密 + 认证 + 完整性保护=HTTPS.Https 是 身披SSL 协议这层外壳的 HTTP

1.对称加密

客户端获取 服务端生成的 密钥key, 进行数据加密并进行网络传输 服务端接收数据,使用同样密钥key,进行解密获取数据

缺点:黑客冒充客户端,获取密钥key,可以知道加密算法 每个客户端生成一个密钥key,存储成本过高。黑客可以截获密钥key

2.非对称加密

服务端生成公钥和私钥

客户端 -> 服务端

客户端获取公钥,进行数据加密并进行网络传输 服务端接收数据,使用私钥,进行解密获取数据 私钥只是自己拥有

服务端 -> 客户端

流程相反

缺点: 通信效率特别低 黑客通过中间人方式,使用自己的非对称加密公钥和私钥, 进行截获 并发送 给服务端或客户端

  1. 对称加密+非对称加密

服务端生成非对称加密的公钥和私钥, 对称加密的临时密钥key

客户端获取公钥,公钥加密 临时密钥key + 对称加密

服务端私钥解密,确定后面通信就以对称加密方式进行

缺点: 黑客通过中间人方式

  1. 第三方公证机构涉入

公证处(CA)有自己的私钥和公钥

服务端自己的公钥和个人信息以及一些其他必要的信息 + hash算法 = 数字摘要

公证处(CA)使用自己的私钥 + 数字摘要进行加密 = 数字签名

服务端原始信息 + 数字签名 = 数字证书

客户端获取数字证书,先用从证书内拿到的 hash算法 对原始信息, 生成新的数字摘要 ,

再用公证处(CA)的公钥对 数字签名 进行解密,也生成一个数字摘要

2个数字摘要, 进行对比,相同避免黑客中间人的攻击方式