如果您知道消息,是否可以“读取”安全(使用 SSL 或 TLS)消息?

信息安全 加密 tls openssl
2021-09-06 13:41:24

如果我通过安全线路(使用 SSL 或 TLS 进行保护)进行通信,并向服务器发送消息。

如果窃听者事先知道我可能发送的消息列表,他们能否说出该消息是什么。

例如,我通过安全线路发送一条消息说“执行命令 66 ”。有人在窃听,怀疑我要发出这个命令。他们能否通过将发送的消息与使用相同公钥加密的相同消息进行比较来验证我是否刚刚发送了该特定消息。

4个回答

不,SSL 使用对称密钥,因此攻击者无法解密他刚刚捕获的消息。

但是,SSL 容易受到流量分析攻击。例如,如果您有 2 条长度非常不同的消息,例如

  1. “执行命令 66”
  2. “这是一条非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常长的信息”。

如果攻击者知道该消息必须是 2 之一。根据加密消息的长度,他将知道您发送了哪条消息。

有关流量分析攻击的更多信息: http ://webcache.googleusercontent.com/search?q=cache:KKy5MbfirYkJ:https://www.cs.berkeley.edu/~daw/teaching/cs261-f98/projects/final-报告/ronathan-heyning.ps+&cd=4&hl=en&ct=clnk&gl=us

不。

请参阅SSL/TLS 如何工作?:基本上,每次您传输数据时,都会使用为该特定交易生成的对称密钥对其进行加密。公钥仅用于验证服务器的身份,因此即使攻击者知道它,他们也无法通过查看密文来判断您发送的消息。

那么在 SSL 的情况下,由于 SSL 的工作方式,这是不可能的。消息不会用公钥加密。

相反,公钥将用于在两个人之间共享信息,以便就对称会话密钥达成一致。然后,此密钥将用于加密“订单”,因此您无法自行复制此密钥,因为交换的密钥是未知的。

要回答您问题的不同部分:不,即使消息使用公钥加密,真正的非对称加密系统不会让攻击者轻易地尝试他们的可能性列表并寻找与密文的匹配。这个确切的问题是为什么非对称加密总是使用概率加密方案来完成,其中一些随机性被注入到加密过程中,因此相同的消息并不总是以相同的方式加密。在 RSA 中,这是使用填充方案完成的;其他一些系统在核心操作中包含随机性,但在所有情况下,加密过程都包括“选择一个随机数”。公开密钥系统被认为是安全的一个绝对基线要求是,即使攻击者选择了密文对应的两条消息中的哪一条,他们也无法分辨 这两条消息,并有能力加密他们想要的任何东西。