• 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协议进行加密传送的。

  • 相关阅读:
    面试题15:链表中倒数第K个结点
    面试题31:连续子数组的最大和
    数据库索引实例
    面试题27:二叉搜索树与双向链表
    面试题28:字符串的排列
    java比较器Comparable接口和Comaprator接口
    面向对象知识汇总
    虚函数与纯虚函数
    Linux IO实时监控iostat命令详解
    hive GroupBy操作(翻译自Hive wiki)
  • 原文地址:https://www.cnblogs.com/d0main/p/6915019.html
Copyright © 2020-2023  润新知