HTTPS的加密流程

目录

加密的手段

HTTPS的基本工作过程

使用对称密钥

引入非对称加密

证书


加密的手段

1.对称加密

只用一个密钥key,加密和解密使用同一个密钥

明文+key -> 密文

密文+key -> 明文

特点:计算起来快速

2.非对称加密

需要两个密钥,公钥(pub)和私钥(pri)

明文+pub -> 密文  密文+pri -> 明文

或者

明文+pri -> 密文  密文+pub -> 明文

HTTPS的基本工作过程

使用对称密钥

 

 但是客户端自己生成的密钥需要通过网络传输发送给服务器

这个过程黑客就很有可能会被将其截获

 所以只能想办法对key也进行一层加密

引入非对称加密

客户端希望把自己的key安全传给服务器,不被黑客拿到

于是就有一个方法:服务器生成一对公钥(pub)和私钥(pri)

公钥交给客户端,然后客户端把通过公钥加密的key传给服务器,服务器再通过私钥进行解开

这样黑客就算拿到key之后,没有私钥进行解开,也无法得到真正的key是啥

为什么不直接用公钥和私钥对数据进行加密,而是对key进行加密,再用key去解开数据呢

因为对称加密的速度快,成本低,而非对称加密的速度慢,成本高,所以就只用非对称加密对key进行加密,对数据的加密和解密还是使用key

就有了以下流程:

 

但是安全也不是绝对的,黑客还是有办法去得到你的key

服务器有一对非对称密钥pub1和pri1

在客户端向服务器发送了一个对公钥的请求后,客户单把公钥传给客户端的过程中如果经过黑客

黑客就会自己生成一对非对称密钥pub2和pri2

然后把自己的pub2传给客户端,客户端拿到pub2后使用pub2对自己的key加密,然后传给黑客

黑客就能用pri2将key解开,然后再用客户端的pub1将其加密发送给服务器

这样就能神不知鬼不觉的拿到数据并进行篡改了

于是就有权威机构搞了一个证书防止这种情况

证书

 要想去弄一个服务器就得去申请一个证书(一个数据包)

这个证书的内容有:

服务器的url,证书的过期时间,颁布证书的机构,服务器自己的公钥,和加密后的签名等等

这个加密的签名,是针对证书的所有属性,计算一个校验和,再由证书的颁布机构使用手里的私钥,对这个签名进行加密

客户端或者服务器中的电脑中都配置了这个证书的公钥,在拿到证书后可以对其进行解密

于是有了以下的传输

 这个证书中包括了服务器的公钥,在客户端拿到证书后,就拿系统带的公钥将其解密,拿到服务器的公钥

那么黑客是不是也能用系统的公钥将证书中的公钥进行解密,然后把服务器的公钥替换成自己的呢

答案是不行的,黑客可以将证书进行解密,但他没有权威机构的私钥,无法在解开后再对其进行加密

这样就能防止黑客对其中的内容进行篡改了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值