【问题标题】:How are the random numbers in SSL obfuscated to prevent a third party from generating the same master key?SSL 中的随机数如何被混淆以防止第三方生成相同的主密钥?
【发布时间】:2018-08-13 07:36:45
【问题描述】:

我对 SSL 工作原理的理解:

客户端发送一个 hello 消息,其中包含 SSL 版本号、支持的密钥、密码和哈希方法以及随机生成的数字。

服务器回复选择密钥、密码和哈希方法、随机生成的数字及其证书。

客户端和服务器根据上述随机生成的数字生成主密钥。

客户端请求更改密码,服务器回复更改密码,现在它们都使用主密钥加密。

我的问题是,第三方(例如中间人)不能拦截初始的 hello 消息,使用拦截的随机生成的数字并找出主密钥,从而能够找出什么是其余消息是针对整个连接的?谢谢!

【问题讨论】:

  • 这里有几个虚假陈述。该“随机”数字是链接到私钥的公钥。但是,是的,如果没有证书(由受信任的第三方签名),这很容易受到中间人的攻击。
  • SSL/TLS 密钥派生使用两个非秘密的“随机”值,以及 秘密的“预主密钥”,并根据所使用的密钥交换而变化其中有几种可能性,你没有给出你正在使用的线索。此外,主密钥不直接用于加密,而是派生 多个 工作密钥。请参阅security.stackexchange.com/questions/20803/how-does-ssl-work 或更具体的security.stackexchange.com/questions/63971/… ...
  • ... 或 RFC,它们因版本而异(略有)——您的意思是 actual SSL(Netscape 的安全套接字层)现在已损坏且已过时并且未使用,或 TLS(IETF 的传输层安全性),它是几乎所有相同软件实现的改进/固定版本,其中大部分仍然使用过时的 name SSL?

标签: ssl network-security


【解决方案1】:
  1. SSL 可以加密您的消息和流量。
  2. 如果man in the middle 能够拦截,他会看到加密消息,但不会有危险,因为这是哈希函数的一种方式。

祝你好运!

@Jackie

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-13
    • 2018-05-10
    相关资源
    最近更新 更多