zoukankan      html  css  js  c++  java
  • [TCP/IP] SSL的通讯原理

    SSL:位于传输层和应用层之间,专门实现在传输之前加密,在接收端给应用层之前解密;使用非对称加密技术

    SSL原理
    1.客户端与服务端建立连接
    2.互相Hello(包含支持的版本、算法;加上随机数)
    3.服务端发送公钥
    客户端发送公钥(双向验证才需要,单向跳过)
    服务端验证客户端公钥(双向验证才需要,单向跳过)
    4.客户端验证服务端公钥
    5.交换DH参数(如果用DH密钥交换算法)
    6.客户端使用公钥生成PreMaster Secret,并发送给服务端(DH根据随机数和参数直接算)
    7.服务端使用私钥解密PreMaster Secret,得到对称密钥(DH根据随机数和参数直接算)
    8.使用对称密钥通讯
    SSL客户端(也是TCP的客户端)在TCP链接建立之后,发出一个ClientHello来发起握手,这个消息里面包含了自己可实现的算法列表和其它一些需要的消息,SSL的服务器端会回应一个ServerHello,这里面确定了这次通信所需要的算法,然后发过去自己的证书(里面包含了身份和自己的公钥)。Client在收到这个消息后会生成一个秘密消息,用SSL服务器的公钥加密后传过去,SSL服务器端用自己的私钥解密后,会话密钥协商成功,双方可以用同一份会话密钥来通信了。

    TLS(传输层安全)是更为安全的升级版 SSL,TLS是升级版的SSL,但是还有按照传统称为了SSL

  • 相关阅读:
    JavaScript 核心参考 Arguments 对象
    readonly 和 disable的区别
    Asp.net 页面导航的几种方法与比较(转)
    CSS float clear 使用
    PHP时区列表
    Jquery 父窗口中移进移出鼠标到Iframe: 移进显示更多内容, 移出隐藏部分内容
    Mysql 查看进程SQL
    好用的弹出对话框 artDialog
    In Cache 算法
    live 绑定事件会触发多次
  • 原文地址:https://www.cnblogs.com/taoshihan/p/11278548.html
Copyright © 2011-2022 走看看