zoukankan      html  css  js  c++  java
  • 对SSL加密通信安全的理解

    一、前提        

    1.对称密码:加密与解密都是一个密钥                 

                           表达公式:  Ek(P) = C  使用密钥k对P进行加密,得出密文C

                                            Dk(C) = P  使用密钥k对C进行解密,得出明文P                                                                                         k=k               

    2.非对称密码:加密与解密不是同一个密钥,一个公共密钥(公钥)和一个私有密钥(私钥),经公钥加密的密文只能由私钥

                                   解密,反过来,经私钥加密的密文只能由公钥解密

                           表达公式:  Ek1(P) = C  使用密钥k1对P进行加密,得出密文C                                   

                                           Dk2(C) = P  使用密钥k2对C进行解密,得出明文P                                   

                                          k1<>k2              

    二、SSL通信理解 

          1.客户端向服务端发出请求,服务端将公钥(以及服务端证书)响应给客户端
          2.客户端接收到服务器端端公钥与证书,验证证书是否在信任域内,不信任则结束通信,信任则使用服务端传过来的公钥生成一个"预备主密码",返回给服务端
          3.服务端接收客户端传过来的"预备主密码"密文,使用私钥解密。
            非对称加密的安全性也就在于此了,第三方无法获取到"预备主密码"的明文,因为除了服务端,其他任何人是没有私钥的。 
          4.双方使用"预备主密码"生成用于会话的"主密码"。确认后,结束本次SSL握手,停止使用非对称加密。
          5.双方使用"主密码"对称加密传输数据,直到本次会话结束。  
          总结:先采用非对称加密模式,保证"主密码"只被通信双方获知,而后使用传统的对称加密方式通信,这样,保证了密钥安全(即"主密码")就等于保

    证了数据安全。之所以建立安全连接后,转而使用对称加密,是因为非对称加密的运算量很大,用于常态的数据通信十分低效。 

  • 相关阅读:
    后勤数据抽取流程图 Logistic Data Extraction
    WINDOWS两条线路上网的解决办法
    Zabbix Agent for Linux部署
    Java项目的自动更新并构建脚本
    使用Goole搜索引擎
    golang程序性能优化方法----不断更新
    golang性能分析策略
    问题分析:引入新elastic api导致的TIME_WAIT堆积
    数据权限限定办法
    MariaDB集群搭建
  • 原文地址:https://www.cnblogs.com/bobsoft/p/3544932.html
Copyright © 2011-2022 走看看