SSL:在中间人攻击中如何保护证书免受人侵?

我的问题是关于ssl中的证书,但我认为这些问题应该适用于所有证书。 为了清楚起见,我已经包含了SSL过程。

在SSL中,这是我所了解的程序:

1)客户端

  • 发送支持的加密算法
  • 发送客户端随机数
  • 2)服务器

  • 选择(并发送)a
  • 对称算法
  • 一个公钥算法
  • 一个MAC算法
  • 发送它的证书
  • 发送服务器随机数
  • 3)客户

  • 验证证书
  • 提取公钥
  • 生成预主密钥(pms)
  • 用服务器公钥加密并发送
  • 4)客户端和服务器

  • 从PMS和随机数计算主分泌(MS)
  • PMS切片以生成两个加密和两个mac密钥
  • 5)客户

  • 发送一个所有握手的mac(以确保它们以前不是modifide)
  • 6)服务器

  • 发送所有握手的mac
  • 在第二步中发生的中间人攻击会阻止什么? 为什么中间的一个人,比如说trudy,不能捕获服务器发送的证书,并更改其中的公钥(对于具有私钥的东西)。

    我假设证书以某种方式被加密。

    但是,服务器无法加密证书,因为客户端还没有公钥。 当服务器从授权机构(如veri-sign)获得密钥时,密钥是否会使用verisign的公钥进行预先引入? 我认为这应该起作用,因为所有网络浏览器都应该拥有大部分权限的公钥。


    不,证书没有加密。 但它由认证机构(CA)签署。 由于这些检查包含在证书中的信息(特别是证书所属的URL),因此对于给定的URL不应该有第二个有效证书。

    根据信任存储(例如在您的浏览器中)检查CA的证书。 如果这个信任库被破坏,或者如果您信任无效的证书,那么在中间攻击中没有针对人的保护


    证书由一些可信机构签署,例如Verisign。

    这些根权限的证书在您下载它们时会内置到浏览器中。 您可以在Firefox中查看根证书,例如,转到工具 - >选项 - >高级 - >加密 - >查看证书 - >权限。

    但是,如果这些根证书颁发机构中的任何一个受到损害,那么证明是伪造的,这使得中间人攻击成为可能。


    你实际上指出了PKI的弱点。

    说Trudy在你和你的银行(bank.com)中间。 Trudy可以在步骤2中随意更改公钥,但证书的签名将无效。 所以Trudy必须找到一种方法来再次生成签名。 可以肯定地说,可信的CA不会为他做这件事。 所以他必须签署一个假的CA,这是你的浏览器不信任的。 理论上这仍然是安全的。

    然而,根据一些测试,大多数浏览器(尤其是IE 6)显示的模糊安全警告并且大多数人不理解并且忽略。

    链接地址: http://www.djcxy.com/p/3699.html

    上一篇: SSL: How are certificates protected against man in the middle attacks?

    下一篇: force login attempts