zoukankan      html  css  js  c++  java
  • HTTPS理解

    作用:

      1. 证书:证明要访问的域名是真实的域名,不是被黑客冒充的假网站。

          2. 加密:避免中间人攻击,避免内容被中间人获取。

    证书中包含的信息:

          1. RSA公钥

          2. 证书签发机构,对证书的签名(指纹)

          3. 签名算法,带RSA加密的SHA256

    使用过程:

        1.  密钥协商:客户端(浏览器)随机生成AES密钥,使用RSA公钥加密,发送给服务端,服务端使用私钥解密。得到AES密钥。

        2.  数据加密:使用AES对数据加密。

        3.  生成摘要:对数据进行SHA256算法,生成数据的摘要。并使用RSA私钥对摘要进行签名。

    Q:为什么不直接是用RSA进行非对称加密?

    A:为了性能,RSA跟AES相比运行效率存在十几倍的差距。

      

    Q:为什么要对摘要进行SHA256生成摘要,直接对内容进行签名不行吗?

    A:也是为了性能,RSA非对称加密算法性能跟SHA相比差存在十倍的差距。先生成摘要,可以让RSA签名的数据变小。

    Q:为什么要生成摘要和签名?数据不是已经加密了吗?

    A:防止中间人攻击,中间人可以获得AES密钥,篡改数据。但中间人密钥RSA私钥,无法对摘要进行签名。

        

  • 相关阅读:
    关系数据库元数据处理类(一) 创建元数据实体
    常用通用简单文件上传功能
    基于NOPI的Execl模板转换类,直接将Execl模板转换对应的Entity
    CSS彻底研究(3)
    CSS彻底研究(2)
    CSS彻底研究(1)
    CLR via C#
    前端JS模版库kino.razor
    CLR via C#
    CLR via C#
  • 原文地址:https://www.cnblogs.com/lhp2012/p/14245098.html
Copyright © 2011-2022 走看看