zoukankan      html  css  js  c++  java
  • 密钥协商机制

    密钥协商机制,主要来得到通信双方的临时会话密钥。

    主要的方式有:

    1)依靠非对称加密算法;   RSA,ECC等。

        防偷窥,防篡改。

      拿到对方公钥的一方随机产生会话密钥,利用公钥加密,通信使用加密后的信息,通信另一方用私钥进行解密,

        这样通信双方都拿到会话密钥。

    2)专用的密钥交换算法;     DH,ECDH等。

                 DHE,ECDHE等。

        防偷窥,不防篡改。

      只交换产生密钥的部分数据,各自保证可以产生相同的数据。

    3)依靠共享的secret;  PSK,SRP等。

       双方依靠共享的信息,直接通过相同的kdf function来产生同一密钥。

    篡改,中间人攻击,---Man In The middle attack,MIMT。

    基于RSA的密钥协商的过程:

      1)客户端连上服务器;

      2)服务器发送CA证书给客户端;

      3)客户端验证该证书的可靠性;

      4)客户端从CA证书中拿到公钥;

      5)客户端生成一个随机密钥K,用公钥加密得到K'

      6)客户端将K'发送给服务器;

      7)服务器得到K'之后,用自己的私钥解密得到K;

    早期的SSLv2使用的一种密钥协商机制;

    基于ECC的密钥协商过程:

      整体流程相同,但是ECC并不是直接对msg进行加解密,而是将公钥经过hash算法,之后与msg做异或运算。

    基于DH算法的密钥协商:

      DH本身是基于离散对数分解问题的,算法过程与进行两次的RSA类似,

      

      最原始的DH算法并不能对抗MIMT,所以一般需要配合签名技术,不配合签名技术的DH称为,DH-ANON;

        配合RSA签名的称为,DH-RSA;

        配合DSA签名的称为,DH-DSA;

        配合ECDSA签名的称为,DH-ECDSA;

      流程:

      1)客户端连接上服务器;

      2)服务器端生成一个随机数S作为自己的私钥,做模幂运算之后,得到公钥;

      3)服务器,选择RSA,ECDSA,DSA的一种,对模幂运算的参数,以及公钥进行签名,并发送给客户端;   //防止服务器被篡改

      4)客户端验证签名是否有效;   //客户端并不会对签名进行解密,DH的特性,双方只交换公钥,只做加密操作;

      5)客户端也产生一个随机数C,加密之后,将公钥传给服务器;

      6)客户和服务器,根据得到的公钥产生同一个会话密钥;

      DH算法的变种,ECDH算法,数学原理,变为椭圆曲线上的离散对数的分解问题;

      ECDH算法与DH算法类似,但是基础运算由模幂运算,变为点乘运算,同样不能防止MIMT;

        需要和其他的签名算法RSA,DSA,ECDSA配合;

    前向保密,forward security,最初用来定义会话密钥交换协议的一种安全性:即使长期密钥已经泄露,也不会影响之前的会话密钥的泄露;

      也就不会暴露之前的会话内容

      DH和ECDH算法为了实现前向安全,变种加入了另一个随机变量,ephemeral key,得到新的算法,DHE,ECDHE,

    RSA和DH,DSA都是基于整数有限域离散对数来实现;

    ECC和ECDH,都是基于椭圆曲线的离散对数难题来实现的;

    DSA相比较与RSA,DSA只能用作签名,并且p,q公开,签名输出r和s,两个字符串。

    SSL/TLS对各个算法的支持;

      

  • 相关阅读:
    再谈用java实现Smtp发送邮件之Socket编程
    Android TextView设置个别字体样式
    Spring4.0MVC学习资料,注解自己主动扫描bean,自己主动注入bean(二)
    Angular团队公布路线图,并演示怎样与React Native集成
    [LeetCode]Remove Element
    poj2481 Cows
    Spark SQL 源代码分析之Physical Plan 到 RDD的详细实现
    MySQL5.6 怎样优化慢查询的SQL语句 -- 慢日志介绍
    容器使用笔记(List篇)
    【Java编程】建立一个简单的JDBC连接-Drivers, Connection, Statement and PreparedStatement
  • 原文地址:https://www.cnblogs.com/-9-8/p/7985989.html
Copyright © 2011-2022 走看看