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.双方使用"主密码"对称加密传输数据,直到本次会话结束。  
          总结:先采用非对称加密模式,保证"主密码"只被通信双方获知,而后使用传统的对称加密方式通信,这样,保证了密钥安全(即"主密码")就等于保

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

  • 相关阅读:
    Java实现 蓝桥杯 历届试题 连号区间数
    Java实现 蓝桥杯 历届试题 连号区间数
    Java实现 蓝桥杯 历届试题 连号区间数
    Java实现 蓝桥杯 历届试题 连号区间数
    Java实现 蓝桥杯 历届试题 连号区间数
    Java实现 蓝桥杯 历届试题 大臣的旅费
    Java实现 蓝桥杯 历届试题 大臣的旅费
    Java实现 蓝桥杯 历届试题 大臣的旅费
    Java实现 蓝桥杯 历届试题 大臣的旅费
    Navicat查询哪些表有指定字段名
  • 原文地址:https://www.cnblogs.com/bobsoft/p/3544932.html
Copyright © 2011-2022 走看看