HTTPS

2019-11-06  本文已影响0人  广州小拳拳

前置知识

数字摘要数字摘要算法

数字签名原理

  1. 原始数据经过数字摘要算法生成数字摘要
  2. 私钥数字摘要进行加密生成数字签名
  3. 原始数据数字签名打包发送
  1. 提取原始数据,使用约定的数字摘要算法计算出数字摘要A
  2. 提取出数字签名,使用公钥对其解密得到数字摘要B
  3. 判断数字摘要A是否与数字摘要B一致

接收端如何获取到公钥数字证书可以帮到你

  1. 发送端向CA申请数字证书
  2. 发送端公钥经过数字证书里的摘要算法生成数字摘要
  3. 数字证书私钥数字摘要进行加密生成数字签名
  4. 发送端公钥数字签名数字证书打包发送
  1. 提取发送端公钥
  2. 提取数字证书,校验数字证书是否可信
  3. 如果可信,使用发送端公钥数字证书里的摘要算法计算出数字摘要A
  4. 数字证书中拿到数字证书公钥
  5. 提取出数字签名,使用数字证书公钥对其解密得到数字摘要B
  6. 判断数字摘要A是否与数字摘要B一致
  7. 如果一致,发送与接收双方可以利用非对称加密进行通信

HTTP的不安全性

  1. 被中间人窃听(HTTPS可解决)
  2. 被中间人篡改(HTTPS可解决)
  3. 被中间人伪造(HTTPS可解决)
  4. 被中间人丢弃(HTTPS不可解决)

HTTPS概念

HTTP over SSL/TLS

HTTPS请求过程

  1. C向S发起访问请求
  2. S向C发送数字证书
  3. C校验接收到的数字证书是否可信
  4. 如果不可信,显示警告
  5. 如果可信,提取公钥
  6. C生成对称加密私钥对
  7. C使用证书提取的公钥加密私钥对,发送给S
  8. S使用证书私钥解密接收到的C端私钥对
  9. 后续通信使用C端私钥对进行

参考链接

Android新一代多渠道打包神器
最深刻最通俗的HTTPS 原理详解,图文并茂

上一篇 下一篇

猜你喜欢

热点阅读