美文网首页
HTTPS原理解析

HTTPS原理解析

作者: 龙猫六六 | 来源:发表于2017-01-05 16:50 被阅读66次

原理

步骤一

  • 客户端
    • 行为操作:
      • 生成随机数randoms
      • 加密算法清单
      • 传输:randoms,加密算法清单
    • 已有数据:randoms

步骤二

  • 服务端
    • 行为操作:

      • 生成随机数randomc
      • 从客户端提交的加密算法清单选择加密算法
      • 传输:randomc,算法,ca证书(公钥,服务器地址,ca颁布机构)
    • 已有数据:randoms,randomc,ca的秘钥

步骤三

  • 客户端
    • 行为操作:
      • ca证书合法性认证:ca证书颁发,服务器地址与证书是否一致
      • pre-master(c):客户端生成随机数
      • enc-pre-master:利用ca证书的公钥加密
      • enc-key(c)协商密钥:fun(randoms+randomc+pre-master)
      • hash值(c):随机的文本信息通过hash算法进行压缩加密,获得hash值
      • 握手消息(c):hash值(c)被enc-key加密获得握手消息
      • 传输:enc-premaster(c),握手消息(c),hash(c)
    • 已有数据:randoms,randomc,公钥

步骤四

  • 服务端
    • 行为操作:
      • pre-master(s):客户端传递的enc-pre-master使用ca证书密钥解密,获得pre-master(s)
      • enc-key(s):计算服务端的协商密钥func(randoms,randomc, pre-master(s))
      • hash(s):客户端传递的握手信息(c)用enc-key(s)解密,获得hash(s)
      • hash值比较:hash(c) == hash(s)
      • 握手信息(s):截取一段hash值为hash1(s),利用enc-key(s)加密计算的握手信息(s)
      • 传递信息:hash1(s),握手信息(s)
    • 已有数据:randoms,randomc,密钥,hash(s),握手信息(c)

步骤五

  • 客户端
    • 行为操作:
      • hash1(c):服务端返回的握手信息(s)使用enc-key(c)解密,获得hash1(s)
      • hash比较:hash1(1) == hash(2),若相等表明握手成功,后面的数据传输都使用enc-key来加密数据

整理:

客户端

  • 随机生成:randomc,pre-master,
  • 加密:enc-pre-master=fun(pre-master,公钥)
  • 计算enc-key =fun(randomc,randoms,pre-master)
  • 握手信息=fun(hash值,enc-key)

服务端

  • 随机生成:randoms
  • 计算pre-master:pre-master = fun(enc-pre-master,密钥)
  • 计算enc-key = fun(random,randoms,pre-master)
  • 握手信息=fun(hash值,enc-key)

其中pre-master只有一份,且是对非对称算法加密后从客户端传递给服务端,然后通过随机生成的randomc,randoms计算得到enc-key,接着通过enc-key对hash算法处理后的文本进行加密及解密来比较,完成验证工作。

31031f564bf3d4585a26629740fe6524.jpg

相关文章

  • 深度解析HTTPS原理

    深度解析HTTPS原理(转) HTTPS(全称:HyperText Transfer Protocol over ...

  • HTTPS原理解析

    HTTP是什么 超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是互...

  • https原理解析

    原文地址:http://www.zixiong.org/blog/2018/02/12/https.html ht...

  • HTTPS 原理解析

    一、前言 在说HTTPS之前先说说什么是HTTP,HTTP就是我们平时浏览网页时候使用的一种协议。HTTP协议传输...

  • HTTPS原理解析

    原理 步骤一 客户端行为操作:生成随机数randoms加密算法清单传输:randoms,加密算法清单已有数据:ra...

  • https原理解析

    最近在网上看到一篇解析https原理的文章, 说的很是透彻清晰, 为防止自己忘记, 在这里自己记录一下. 原文传送...

  • HTTPS 原理解析

    HTTPS 是在 HTTP 和 TCP 之间建立了一个安全层,HTTP 与 TCP 通信的时候,必须先进过一个安全...

  • https详解

    https原理详解http://liuduo.me/2018/05/14/https-detail/ 解析http...

  • https运行原理解析

    HTTPS可以看作是安全的HTTP,你可能听说过关于HTTPS的一些问题,比如什么握手,什么证书,加密之类的等等。...

  • Android 热修复原理

    全面解析 Android 热修复原理[https://zhuanlan.zhihu.com/p/75465215]

网友评论

      本文标题:HTTPS原理解析

      本文链接:https://www.haomeiwen.com/subject/huuzvttx.html