• 对称加密->非对称加密->非对称+对称加密->CA证书


    对称加密

    1.客户端与服务端协商加密算法及压缩方法以及ssl/tls最高协议版本号等信息发送给服务器

    2.服务器选定加密方法,压缩方法

    3.客户端把加密套件及生成随机clientrandom数发送给服务器

    4.服务器选好加密套件及发送随机serverrandom数发送给客户端

    5.浏览器确认

    6.服务器确认

    7.clientrandom+serverrandom 生成密钥加密数据发送给服务器 

    8.服务器用clientrandom +serverfandom 生成密钥解析数据

    缺点:黑客拿到随机数可以解密

    非对称加密

    服务器保留私钥,把公钥及选好的加密套件发送给浏览器

    浏览器用公钥加密数据 

    服务器用私钥解析加密数据

    缺点:非对称加密效率低,服务器端用私钥加密传输数据,浏览器端用公钥解密时容易被获得公钥

    非对称加密传输对称加密时的密钥,传输数据其实还是用的对称加密

    1.客户端把加密套件及生成随机clientrandom数发送给服务器

    2.服务器返回加密套件及生成serverrandom数公钥发送给浏览器

    3.浏览器用生成新的随机数newclientrandom,公钥加密newclientrandom +浏览器确认 发送给服务器

    4.服务器用私钥解密newclientrandom

    5.服务器确认发送给浏览器

    6.浏览器用serverrandom + clientrandom + newclientrandom 生成密钥传输数据

    7.服务器用serverrandom + clientrandom + newclientrandom 生成密钥解密数据

    缺点:DNS 劫持将 IP 地址替换成了黑客的 IP 地址,这样我访问的其实是黑客的服务器了,黑客就可以在自己的服务器上实现公钥和私钥

     引入CA证书

    引入CA证书之前有一套公钥和私钥

    把公钥放在CA证书里面

    1.当服务器端返回加密套件 + serverrandom + 数字签名证书

    2.客户端拿到签名证书解析公钥

    3.客户端生成newclientrandom 用共钥匙加密newclientrandom

    4.服务端用私钥解密newclientrandom

    相对上种方式只是引入CA证书,并将公钥放在CA证书里面,私钥用来解密加密后的newclientrandom

    验证CA可靠性,浏览器内置顶级CA

  • 相关阅读:
    Warning:The /usr/local/mysql/data directory is not owned by the 'mysql' or '_mysql'
    在终端中文本编辑器中显示行数:
    java环境配置:
    TypeError: 'MongoClient' object is not callable
    MongoDB安装
    多线程 -- 实现秒抓
    自动化测试淘宝美食
    自动化淘宝美食(在后台执行,不打开浏览器)
    新浪 抓取详情页
    WINDOWS 2003系统时间24小时制与12小时显示格式不一致问题与解决
  • 原文地址:https://www.cnblogs.com/MDGE/p/15268654.html
Copyright © 2020-2023  润新知