https保证数据安全防止被篡改

前言

http为什么不安全、https 为什么安全、https为什么需要数字证书、什么是签名、都不知道是吧。那就好办了跟我走

在这里插入图片描述

搞https之前先弄懂为什么说http为什么不安全

别人问你http传输问什么不安全,大部分人会说不安全。然后就没有然后了。 先用个实例说明下为啥不安全吧。(之所以说肯定也是为了引出https😆)

通过连接公共WiFi演示先为什么http不安全

大家经常连接公共WiFi吧。手机连接公共WiFi,然后访问一个http登录页面,输入账号密码。使用电脑进行抓包。

第一步:电脑开启热点,使用wireshark抓包

在这里插入图片描述

第二步:手机连接热点

在这里插入图片描述

第三步:手机访问并登录网站(选择要暴露的数据)

在这里插入图片描述

第四步:电脑抓包查看数据

在这里插入图片描述

很明显了 账号密码都是通过明文传输 如果运营商在修改下服务端返回的信息。跳转个钓鱼网站、添加个js广告。

在这里插入图片描述

为啥说https就安全了

肯定会想数据传输加密了呀。好! 那有哪些加密方式?利弊有哪些

加密类型

  1. 不可逆加密

    比如 md5 sha hash。用户存储密码不需要明文存储,所以在用户请求时将传递密码加密之后作对比就知道是否正确了。

  2. 可逆加密
    1. 对称加密 用同一个密码进行加密和解密AES 、AED等。使用同一个密码进行加密传输,解密只能使用同一个密码
    2. 非对称加密 使用公钥加密 私钥解密。

铺垫完了咱们开搞

对称加密

如果通讯双发都持有同一个秘钥,没人知道,双方使用同一个秘钥进行加密和解密,嗯~ 安全。问题来了如果中间被截获,那和明文传输就没区别了。

非对称加密

服务端生成一对公钥和密钥,将公钥发送的客户端,客户端使用公钥加密,服务端使用密钥解密。嗯~看上去又安全了。 如果中间再次被截获又完戏了。其次即便安全,非对称加密非常耗时。如果数据量过大时有些力不从心。

究其根本

怎么传递都是不安全为啥嘞。究其根本就是客户端不能识别客户端真正身份。(怎么证明 张三是张三)

在这里插入图片描述

官方出手

身份证解决了张三的苦恼,为什么呐,因为身份证背后是国家,国家机构起到了"公信"的作用。所以互联网中是不是也搞一个机构来认证身份,那岂不是轻松多了。ca机构就做了这件事,具有互联网公信力,给网站颁发一个身份证(但是这个是花钱的)

数字证书包含什么

CA机构申请证书需要什么呢?至少应该有以下几项吧
网站域名
证书持有者
证书有效期
证书颁发机构
服务器公钥(最主要)

数组签名是啥子?签名过程

  1. ca机构用有非对称加密的公钥和密钥
  2. ca机构是用hash对证书明文信息进行hash
  3. 对hash后的值使用ca机构私钥进行加密得到一串唯一的签名(身份证号)

证书包含内容 : 证书内容明文+数字签名

客户端验证流程

客户端验证证书真伪。私钥加密 公钥解密原理。CA机构使用私钥对证书加密,客户端使用CA机构公钥解密下签名就可以完成验证。

  1. 拿到证书对证书中明文内容使用hash得到hash值A1
  2. 使用CA机构公钥对传输签名解码得到B1
  3. 如果A1等于B1,说明传输内容没有被篡改,否则出现问题。

问题来了

我们在访问页面的时候也没有提前下载公钥啊 问什么就能通过验证访问呐? 因为浏览器默认内置了好多CA机构的公钥信息。

突然就结束了😆

记录
为什么制作数字签名时需要hash一次
为什么charles等抓包工具或者浏览器控制台看到的https返回是明文的
如何保证认证签名通过后数据传输是安全的

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值