简单说https加密的问题

 

在学习开发中,我们认识了http,他的特点如下

  1. 明文传输,不能保证传输过程安全
  2. 信息泄露
  3. 内容篡改

相对于http,我们知道https是加密的,特点如下。

  1. 密文传输,能保证传输过程安全

加密手段

  1. 签名证书
  2. 对称加密
  3. 秘钥交换

通常来说如果是约定了加密,那么加密秘钥应该怎么获取,怎么保证获取的秘钥是安全、准确的,双向传输均加密,那么交互过程中使用的秘钥是什么?

  1. https请求先检查证书
    1. 如果不存在证书,需要先获取证书
    2. 已获得证书,通过加签信息校验证书有效性
  2. 证书中包含了与服务器交互的秘钥
    1. 证书是公开的,那么这里的加密方式肯定不会是对称加密(否则秘钥意义)
    2. 非对称加密,客户端通过公钥加密传递信息给服务端,服务端能解密,那么说的双向加密又是怎么回事?
    3. 如果要使客户端获取到服务端的加密信息能解密,是不是需要客户端具有解密秘钥?
    4. 那么又有一种选择,客户端在获取证书后通过证书的公钥交换后面交互需要的加密信息
    5. 如果约定的是非对称加密,那么至少还需要一对秘钥保证客户端能解密。
    6. 如果是约定对称加密,那么使用一个秘钥即可保证客户端、服务端交互加解密。
    7. 我们知道非对称加密的效率、代价是高于对称加密的,那么实际交互的环节使用对称加密应该是一个不错的选择。
    8. 那么证书就是通过安全的交换秘钥保证后面交互的安全
  3. 传输过程中秘钥不泄露则传输安全,然而秘钥是通过非对称加密就行加密的,即只有服务端有解密的能力。
  4. 传输过程中内容不可见(加密),就算内容被中间人篡改,由于中间人没有加密的秘钥,篡改后的内容也不会被服务端正常解密(解密失败即丢弃)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值