admin管理员组

文章数量:1603262

加密

  • 常用算法

    • AES、DES、RSA ,前两者为对称加密,后者为非对称加密
  • 公钥加密,私钥解密

    • 公钥和私钥都可以互相加解密
      • 数字签名就是用私钥加密
    • 但实际上对公钥和私钥的要求就是截然不同的
  • 通信过程

    • A生成私钥和共钥对(合称密钥),并把公钥传递给B
    • B利用公钥使用标准加密算法给原文加密,并传递给A
    • A利用私钥使用对应的标准解密算法解密密文,获得原文
  • 因为加密和解密时间较长,一般用公开密钥加密对称密钥,然后使用对称密钥通信

    • 对称加密的优点是开销小,适合对大量数据进行加密
      • 问题在于如何安全地交换秘钥

秘钥管理

  • 现代密码学的安全基础是秘钥的保密性,而不是像古典密码学那样基于算法的保密性

DH秘钥交换算法

  • DH秘钥交换算法是一种在非安全信道中安全地创建共享秘钥的算法
    • 最大的问题就是无法避免中间人攻击
  • 如果攻击者插在用户与远程主机之间(比如在公共的 wifi 区域),用伪造的公钥,获取用户的登录密码。再用这个密码登录远程主机,那么安全机制就荡然无存了
    • 通过CA证书认证DH算法中server端的公钥可以避免这种风险
    • 如果证书采用的是RSA算法,那么需要服务端用RSA的私钥对生成的DH公钥签名
  • DH和RSA的区别
    • DH只作为密钥交换算法,RSA既可以作为认证算法,也可以作为密钥交换算法
    • DH算法可以保证前向安全,RSA算法不保证
      • 实际上是DHE(EDH,临时DH)、ECDH(椭圆曲线版DH)能够保证前向安全
      • RSA也可以实现前向安全,RSA数字证书只用于认证,认证成功再生成一次性RSA公钥/私钥,这一次性的临时公私钥对只用于密钥分发
        • 但是这种方式效率很差,一般不采用


交换过程

  • 通信双方商定一个质数p 和另一个底数g(无需保密)
    • 同时各自生成只有自己知道的随机数a和b
    • 具体交换过程如下图,最终计算得到的s和s’一定相等,这就是共享秘钥

数学原理

本文标签: 网络安全计算机