zoukankan      html  css  js  c++  java
  • HTTPS的原理

    之所以会去查找这些的资料,是因为之前我们的域名没有加证书,被部分浏览器拦截了,访问不了,后面才加了证书,这个证书到底有什么用呢?想必大多数人都会说安全啊,那具体是怎么做到更安全的呢?

    HTTP

    不安全的原因是:通过明文传输

    出现的问题:可能在传输的过程中,会被监听、篡改或者冒充。

    为了解决这个问题,我们就需要对传输的内容进行加密(即使监听到了数据,也看不懂),校验内容(防止被恶意篡改),验证身份(防止被冒充)。

    提出方案:SSL/TLS  (这是https的核心技术)

    HTTPS

    SSL/TLS:

      核心: RSA非对称加密 

      通过我们对RSA工作原理的了解,会发现有两个问题:(1)服务器需要向客户端发送公钥,这个过程不安全     (2)RSA计算量大,会影响到性能

    解决问题一:

      服务器对 发送给客户端的公钥 使用 CA私钥(这里就涉及到我们申请的证书,全称应该叫数字证书,它可以获取到CA 的 私钥。而且只有CA才有私钥,保证安全) 进行加密

      浏览器用  CA公钥(这是浏览器内置的,也很安全) 进行解密获得公钥

    解决问题二:

      更换成 对称加密 。其中密钥由双方协商生成。

    几个重要的流程:(1)数字证书获取公钥    (2)协商生成对话密钥(详细过程:四次握手)     (3)使用对话密钥进行加密

    四次握手:(1)ClientHello :  传送随机数n1 、 能支持的协议版本和加密方法

          (2)ServerHello:     传送随机数n2 、 数字证书,确定使用的协议版本和加密方法

          (3)客户端回应: 传送   经过公钥加密的随机数n3

          (4)服务器最后回应:  解密得到n3

          注:  n1、n2  、n3 通过相同的算法,生成对话密钥

    补充概念 

    这里需要补充两个概念,RSA和与RSA相对应的对称加密

    RSA:

       成员:会生成一把公钥和一把私钥;

         工作原理:公钥加密,私钥解密;私钥加密,公钥解密(二者的关系是双向)

         优点:安全

       缺点:计算量大,负担重

    对称加密:

       成员:会生成一把公钥和一把私钥;

         工作原理:使用同一把密钥进行加解密。

         优点:快

       缺点:需要传输密钥,不安全

  • 相关阅读:
    Enterprise Library 企业库 V4.1
    跨域实现IFRAME自适应高度
    微软企业库4.1学习笔记(二)各功能之间的依赖关系以及对象创建
    微软企业库4.1学习笔记(三)企业库迁移和并行使用,以及企业库的扩展
    微软企业库4.1学习笔记(五)对象创建和依赖注入方法
    判断 iframe 是否加载完成的完美方法
    对JavaScript调用堆栈和setTimeout用法的深入研究
    工作流技术杂谈
    企业流程管理平台V2.0介绍(.NET平台下的工作流)
    c#操作oracle lob字段[转自 芽芽的回收站]
  • 原文地址:https://www.cnblogs.com/zxn-114477/p/14578876.html
Copyright © 2011-2022 走看看