HTTPS加密流程

尹相辉 (yinxianghui66) - Gitee.com


一、HTTPS

HTTPS可以理解为就是在HTTP上多加了一层加密层  

在我们使用HTTP的时候往往都是明文传输 这就导致数据可能在传输过程中被篡改

HPPS就是为了保证数据传输的可靠性 在HTTP的基础上进行加密 进一步保证安全

二、HTTPS加密过程

1.对称密钥

对称密钥就是一个密钥key 可以对数据进行加密和解密 使用对称密钥对数据进行加密 传输给服务器 服务器再使用对称密钥解密拿到数据 这样可以一定程度上保证数据的安全 但是会有一些问题,我的服务器如何拿到这个密钥? 还是需要网络传输 但是传输密钥也会被截获 所以就出现了非对称密钥来解决

 

2.非对称密钥

非对称密钥分为两个密钥 一个公钥(pub)  一个私钥(pri) 我们可以用任一方进行加密或者解密(但是一方加密时  只能用另一方解密) pub+ 明文->密文 pri+密文->明文 或者pri+明文 ->密文 pub+密文->明文

这样我们就可以将私钥存储在服务器中 不进行网络传输(也就没有被篡改的风险) 客户端问服务器密钥是多少? 服务器返回一个公钥 客户端拿到这个公钥 之后都按照这个公钥进行加密 传输加密的数据 服务器拿到加密数据就可以使用服务器的私钥进行解密 拿到数据  这样即使黑客截取到了加密的数据 因为没有这个公钥对应的私钥 就无法进行解密篡改数据

3.中间人攻击

但是非对称密钥也是有问题的 这么想 一开始是客户端问服务器公钥是多少??  此时黑客截取了这个消息 冒充服务器返回了一个黑客自己的公钥pub2 然后将原本的数据发给服务器 服务器返回服务器的公钥pub1(黑客截取下这个消息 不发送给客户端) 此时客户端收到的是黑客的pub2 他无法辨别对面是不是服务器 所以就只能使用pub2进行加密数据 发给服务器 此时黑客再次截取 此时的数据是pub2加密的 所以黑客可以使用pri2解析拿到数据 再伪装成客户端,使用pub1进行加密发给服务器 服务器收到了数据使用pri1正常进行解析 但是数据已经全部被黑客截取了。。。

4.证书 

为了解决中间人攻击等问题 我们引入了证书  也就是一开始问服务器公钥是什么? 此时不问这个了 问服务器你的证书是什么?返回一个证书

证书中有许多属性 其中就包括 公钥 网站的信息 签名等等

客户端拿到整数后 关键是怎么对整数进行验证

证书中有个签名属性 这个属性是权威机构使用私钥进行加密的 此时客户端使用操作系统内置权威机构的公钥解析 拿到这个签名中的校验和 和 客户端对自己属性重新进行计算校验和 对比两个校验和 如果相同 则证书未被篡改 此时就可以信任

此时黑客就没有办法了 即使他冒充客户端/服务器 拿到了整数 想要对整数中的任何数据进行修改 就会导致校验和(根据证书中的属性计算)和签名中的校验和不同 就可以发现数据被篡改了

如果黑客想要篡改签名 也是没有用的 因为黑客拿不到权威机构的私钥 就无法对签名进行修改(其实可以改 但是传输到客户端 客户端使用权威机构的公钥解密就会发现解密不了从而也就是不安全的) 只能读取 不能修改 进而保证安全

 


以上就是本文的全部内容了,如果有任何问题欢迎私信改正或交流哦~欢迎大佬们.感谢您的支持

                ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​                                

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值