TLS中间人安全证书

首先,我很抱歉发送另一个关于这个观看的问题,因为有这么多相关的帖子。 通读他们和相关网站后,我仍然不清楚几点。

  • 浏览器通过安全套接字连接服务器
  • 服务器用其公钥和证书进行响应。 这是我遇到的最麻烦的一步。 在从服务器到客户端的这条消息中,证书是否可以轻松地从服务器的公钥中分离出来? 如果它是一个根证书(一个已经包含在浏览器中的证书),那么一个中间人不能伪造它,但如果它不是? 客户无法使用这种在线机制来验证证书是否被劫持? 此外,如果客户的计算机受到危害,根CA可能会受到危害,对吧? 任何避免这种情况的步骤? 最后一件事:据说证书在签署之前是不安全的。 我无法弄清楚这意味着什么,特别是因为证书可以自己签名。 我认为这应该意味着有人在保证消息的真实性,所以证书签名本身听起来不安全(“你是真正的证书吗?”......“嗯,当然,我确定”)。 如果认证证书的机制是互联网,我想知道如何安全。 签名证书与事物(字面意思)相同,说客户端验证证书?
  • 会话密钥用公钥加密并发送到服务器。 此会话密钥是一个对称密钥,服务器和客户端将用于其余的加密通信。
  • 我必须说,网上的大部分信息都很模糊。 这么多洞在解释和挥手继续。 我的猜测是很少有人知道实际的机制很好?


    你遗漏了几个步骤。 其中之一是服务器在整个握手过程中发送一个数字签名,并使用私钥签名。 只有服务器可以用它自己的证书来做到这一点。 没有人的。 客户端使用发送的证书中的公钥验证数字签名。 这证明了服务器拥有证书。 它也证明了服务器是发送所有其他握手消息的相同实体。

    顺便说一句你的第3步是虚构的。 会话密钥永远不会发送。 它是在两端独立计算的。

    编辑评论你的答案:

    服务器(来自JoesGoods)通过CA获得证书?

    通常通过互联网浏览器。

    这可以被劫持吗?

    没有比任何其他安全SSL会话可以。

    证书是“签名”的

    正确。

    这意味着它的一部分使用CA的私钥进行加密。

    不,你做到了。

    特别是具有Web服务器信息的位(JoesGoods的服务器信息)

    不,你做到了。

    整个证书都经过签名,并不意味着使用CA的私钥“加密”。

    Bob的浏览器通过安全套接字连接到服务器并发送“hello”数据包。

    此时插座不安全。 这只是明文。

    服务器将其公钥和证书发送给Bob。

    不。服务器发送其证书。 公钥已经在证书中。

    浏览器会检查Web服务器(JoesGoods)是否与证书的签名部分相匹配

    整个证书都经过签名。 客户端检查它所连接的服务器是否与证书的subjectDN相匹配。

    网络服务器的公钥也使用CA的私钥进行签名

    因为它在证书中。 否则,没有其他办法可以完成。 这就是为什么它不是单独发送的原因,这也是为什么整个证书都被签名的原因,而不仅仅是你喜欢的位。

    浏览器使用步骤(2)中包含的Web服务器公钥将一个客户端密钥交换数据包发送到网络服务器(JoesGoods)。

    这部分是密码套件相关的。 您所描述的内容适用于RSA密码套件。 Diffie-Hellman是一个不同的故事,并且有扩展的空间可以包含其他人。

    此客户端密钥用于生成对称密钥以执行交换的其余部分。 这个客户端密钥被称为“预主密钥”,并且是一个随机密钥。 由于对称密钥是使用这个密钥创建的,我想知道为什么不直接发送对称密钥本身,因为此时连接被加密和验证。

    因为它不会那么安全。

    你也有一些这些步骤没有秩序。

    当我们在RFC 2246中已经完全指定了这些步骤时,我真的没有看到这些步骤非正式地列举。关于TLS已经有很多关于TLS的错误信息,例如这种无法维护的动态链接。

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

    上一篇: TLS man in the middle security certificates

    下一篇: Securing information on a public service from man