zoukankan      html  css  js  c++  java
  • TLS协议工作过程;如何应用TLS/SSL协议为WEB流量提供安全

      SSL/TLS协议的基本过程是这样的:

    1. 客户端向服务器端索要并验证公钥。
    2. 双方协商生成"对话密钥"。
    3. 双方采用"对话密钥"进行加密通信。

      上面过程的前两步,又称为"握手阶段"(handshake)。

    工作流程

    1.客户端发出请求(ClientHello)

      首先,客户端(通常是浏览器)先向服务器发出加密通信的请求。提供支持的协议版本、一个客户端生成的随机数(稍后用于生成"对话密钥")、支持的加密方法和支持的压缩方法。

    2 服务器回应(SeverHello)

      服务器收到客户端请求后,向客户端发出回应。回应包含确认使用的加密通信协议版本、一个服务器生成的随机数(稍后用于生成"对话密钥")、 确认使用的加密方法、和服务器证书(带有服务端公钥)。

    3 客户端回应

      客户端收到服务器回应以后,首先验证服务器证书。如果证书没有问题,客户端就会从证书中取出服务器的公钥。然后,向服务器发送一个随机数(该随机数用服务器公钥加密。pre-master key,前后三个随机数通过一个密钥导出器最终导出一个对称密钥。)、编码改变通知、客户端握手结束通知。

    4 服务器的最后回应

      服务器收到客户端的第三个随机数pre-master key之后,计算生成本次会话所用的"会话密钥"。然后,向客户端最后发送编码改变通知、服务器握手结束通知。
    至此,整个握手阶段全部结束。

    5.客户端与服务器进入加密通信

      完全是使用普通的HTTP协议,只不过用"会话密钥"加密内容。

      TLS/SSL为web提供安全保障主要是体现在https协议上。HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 通过SSL或者TLS隧道传输敏感信息,这样就产生了https通信流量。例如网络银行之类的应用,在服务器和客户端之间传输密码,信用卡号码等重要信息时,都是通过https协议进行加密传送的。

  • 相关阅读:
    基于curl 的zabbix API调用
    zabbix 安装错误汇总
    Zabbix 命令:zabbix_get
    zabbix主动被动模式说明/区别
    zabbix监控托管主机遇到问题
    centOS7服务管理与启动流程
    CentOS 6和CentOS 7防火墙的关闭
    linux 系统安装配置 zabbix服务(源码安装)
    如何配置这个maven仓库的源http://mvnrepository.com/repos
    Intellij IDEA最全的热键表(default keymap)
  • 原文地址:https://www.cnblogs.com/d0main/p/6915019.html
Copyright © 2011-2022 走看看