HTTPS加密

HTTPS在HTTP基础上,引入了加密机制

1. 明文 密文 密钥

明文加密变成密文 

密文解密变成明文 ,这二者都要使用到密钥

2.加密方式

有两种主要的加密方式, 对称加密和非对称加密

对称加密 

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

非对称加密

 有一对密钥(两个)

公钥:公开存在的

私钥:只有自己知道的

用一个钥匙加密,就用另一个钥匙解密

3.HTTPS的工作过程 ,针对HTTPS 的header和 body 进行加密

 

服务器同一时刻给多个客户端提供服务,每个客户端所用到的密钥不同,要在客户端和服务器连接时,协商确定本次密钥 ,密钥要加密传输,保证数据安全( 使用非对称加密)

为什么不使用对称加密,用对称加密给对称密钥加密,对称加密对称无限叠加.....

服务器生成一对公钥和私钥 ,把公钥返回给客户端,私钥自己保存,客户端生成对称密钥,使用服务器的公钥对对称密钥加密,发送给服务器。

服务器通过私钥解密,得到对称密钥,使用对称密钥加密给客户端返回响应 

使用对称加密传输效率比非对称加密高(加密是个计算过程,使用公钥和私钥运算速度慢 )开始写协商密钥阶段使用非对称加密,后续传输数据使用对称加密  

黑客拿到加密后的对称密钥没有私钥来解密

上述过程存再问题,如果黑客入侵了网络设备,自己生成一对公钥和私钥,伪装成服务器怎么办呢?中间人攻击问题

接下来,客户端使用对称密钥进行数据传输,但是对称密钥已经被黑客知道,所以加密传输的数据一览无余。

 4.解决办法: 可以让客户端知道这个公钥是不是服务器的

引入第三方大家都信任的公证机构

网站人员开发搭建服务器的时候就会生成一份公钥和私钥,并向公证机构提出申请,公证机构审核通过会给服务器颁发一个"证书",服务器保存

证书里包含了网站的域名,服务器的公钥,证书的过期时间,数字签名...

客户端拿到证书,得到公钥,并进行证书校验(证明该公钥是服务器的),使用数字签名校验,(数字签名就是被加密后的校验和,用数据的每个字节,带入一定的公式,得到结果数字,就是校验和),把这个数据和校验和一起发送给对方,对方以同样的方式再算一遍校验和,如果自己算的校验和和收到的一致,就认为数据在传输的过程中没有被修改。

证书中的校验和也进行加密(非对称加密)就得到了数字签名,公证机构自己生成一对公钥和私钥,自己持有私钥,公钥发布给客户端(安装了操作系统就会自带公证机构的公钥,公钥内置到了系统中,公证机构使用自己的私钥对校验和加密,客户端通过系统内置的公钥解密

黑客无法对证书内容进行篡改,如果黑客将证书里的公钥替换成自己的,客户端在校验时就会校验和不一致了!黑客对证书里的校验和重新拿自己的私钥加密,客户端无法使用系统内置的公钥对其解密

通过上述过程可知证书是可信的。

5.总结:

对称加密,加密业务数据

非对称加密,加密对称密钥

使用证书,校验服务器的公钥

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值