HTTPS原理

HTTPS原理


前言

HTTP:超文本传输协议,无状态,简单快速,基于TCP的可靠传输协议。明文传输,不具备加密功能,无法对通信内容进行加密,有安全隐患。

HTTPS:让数据传输以加密的方式进行,消除隐患,在HTTP基础上,添加SSL/TSL提供 加密处理 和 认证机制。

HTTPS:不是新协议,只是 通信接口部分 用SSL/TSL协议代替。身披SSL/TLS协议壳的HTTP。
从网络的七层模型来看,原先的四层 TCP 到七层 HTTP之间是明文传输,在这之间加一个负责数据加解密的传输层(SSL/TLS),保证在网络传输的过程中数据是加密的,而HTTP接收到的依然是明文数据,不会有任何影响。


一、HTTPS原理:实现数据加密传输

TCP握手连接后,数据传输前,HTTPS协商加密算法:
一、对称加密:加密解密用同一个密钥
二、非对称加密:公钥加密,私钥解密

对称加密:加密解密同一个密钥,速度快,密钥泄露不安全
非对称加密:(公钥可转交给任何人)公钥加密,私钥解密(只有一方有私钥,有私钥才能打开看数据),安全,计算量大,速度慢,公钥泄露不安全

网络通信,保证安全前提下,还要保证响应速度,数据传输,采用 对称加密+非对称加密,SSL握手协议,数据传输流程:
1、客户端-》服务器:第一个随机数rand1+支持加密算法的21个密码套件+支持的SSL版本
2、服务器-》客户端:第二个随机数rand2+确认加密算法1个密码套件+CA证书(含公钥)+确认SSL版本
加密算法固定有限,随机数明文传输,有被截获的可能,所以用非对称加密再传输第三个随机数。
3、客户端-》服务器:用服务器传回来的公钥,通过服务器返回的密码套件,非对称加密第三个随机数rand3,加密传输
4、服务器-》收到数据,只有服务器有私钥,用私钥解密,获取第三个随机数rand3 -》可用
(服务器,把公钥发送给客户端,客户端,用服务器的公钥,加密的,对称加密的密钥,私钥只有服务器有)
这样生成的 对称加密 的密钥,是安全的

服务器发送公钥给客户端的过程,可能被调包,调换公钥:
1、CA机构颁发CA证书,证明服务器身份
2、CA证书,里面的CA文本:服务器域名(IP)+服务器公钥+证书有效时间
3、CA机构-》对CA证书的CA文本-》用哈希算法-》提取摘要-》CA机构私钥,对摘要加密-》得到数字签名
4、CA证书发给客户端
5、客户端有公钥-》得到CA证书-》用相同的哈希算法-》提取摘要1
6、客户端用CA公钥-》对数字签名解密-》得到CA机构生成的摘要2
7、比较摘要1和摘要2,相同就可以证明服务器身份


二、HTTP/HTTPS区别:

1、HTTPS=HTTP+SSL
2、HTTP:超文本传输协议,无状态,明文传输,不安全,端口80,简单,效率高
3、HTTPS:SSL加密传输协议,安全,端口443,效率低,CA证书需要费用,证书具有有效期,构建在 SSL/TLS 之上的 HTTP 协议,耗费服务器资源


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值