• HTTPS的原理


    介绍HTTPS前先介绍一下HTTP 

      HTTP是超文本传输协议,HTTP传输的数据是明文所以在用户登录时的用户名及密码容易泄露,明文传输数据。

      HTTPS是基于HTTP传输加上SSL/TLS建立全信道通信,SSL层加密数据,传输加密数据。

    加密的方法 对称加密、非对称加密

      对称加密是指客户端、服务器可以通过同一个密钥进行加密及解密,缺点是秘钥存容易暴露,优点是算法比较简单,加密速度快,可以处理大文件数据,主流算法是AES

          非对称加密是指  客户端、服务端可以通过公钥加密,私钥解密、或者是私钥加密公钥解密,缺点是计算量大,优点秘钥不容易泄露,加密安全,主流算法是RSA

    在服务器上有一套数字证书,数字证书会生成公钥、私钥,如证书的颁发机构,过期时间、服务端的公钥,第三方证书认证机构(CA)的签名,服务端的域名信息等内容。

    服务器先安装数字证书后一下是HTTPS的解释

    1 在客户端请求访问的时候服务器会把 数字证书的公钥,颁发机构,过期时间等信息给到客户端(先做非对称加密),

    2 客户端解析证书,这部分工作是由客户端的TLS来完成的,首先会验证公钥是否有效,比如颁发机构,过期时间等等,验证没有问题就生成一个随机数 例如:123456+公钥 进行加密,把加密的串传给服务器

    3 服务器端拿到加密串用私钥进行解密后得到123456随机数。

    4 当客户端传访问的数据时把第二步生成的 随机数 123456+data数据进行对称加密,加密后的字符串发送到服务端。

    5 服务端接收到加密字符串进行对称解密,把第三步根据私钥解密到的123456随机数 对称解密后就会得到 data数据。

    只是查找方便的总结
  • 相关阅读:
    【每天一道PAT】1001 A+B Format
    C++ STL总结
    开篇
    happen-before原则
    java多线程的状态转换以及基本操作
    集合初始容量
    fail-fast机制
    Stack
    Iterator
    Vector
  • 原文地址:https://www.cnblogs.com/qutao125/p/12040106.html
Copyright © 2020-2023  润新知