【问题标题】:Is TLS over TLS possible?TLS 上的 TLS 可能吗?
【发布时间】:2012-08-25 14:17:57
【问题描述】:

是否可以使用 OpenSSL 或其他工具通过 TLS 建立 TLS 连接?

如果可能,每个级别的证书是否需要不同?

【问题讨论】:

  • 您可能也对此感兴趣:security.stackexchange.com/q/17222/2435
  • 正如 Luke 所提到的,您很容易遇到这样的情况:您的 VPN 运行在 TLS 上,并且从该网络上的客户端建立了 HTTPS 连接。这是您想到的那种场景,还是您在为同一个应用程序进行某种双层 TLS 连接(这几乎没有意义)?
  • 请注意,这不是一个真正的编程问题,异或,因此它是题外话。
  • 安全是一回事,性能是另一回事。 TCP内部的TCP可能会很麻烦。可以做到,但通常首选的较低级别隧道是无连接的,例如UDP。

标签: encryption cryptography openssl ssl


【解决方案1】:

这在理论上应该可以正常工作,尽管我不能确定 OpenSSL 或其他东西是否会轻松支持它。从技术上讲,您可以将同一个证书用于多个 TLS 连接,即使一个嵌套在另一个内部。

但是,我想指出嵌套 TLS 连接的一个常见原因可能是通过多层加密连接隧道传输数据,从而在隧道中的每个站点都提供一些数据子集(即剥离一层的加密)。使用相同的证书并不真正支持该用例。也许您想到了另一个用例。

此外,对加密数据进行加密在密码学上是合理的。也就是说,更多的加密不能使数据不那么安全。最后,仅对加密数据进行加密不会使其更加安全。也就是说,AES(AES(x,key1),key2) 其中 key1 != key2 并不比 AES(x,key1) 更安全(或更低)。以防万一那是你的动机。

【讨论】:

  • 我的动机是好奇。 =)
  • AES(AES(x)) 如果 AES 是例如计数器模式加密使用相同的密钥和 NONCE,因为它会将加密归零。当这非常不安全时,还有其他用途(用相同的密钥加密 IV)。由于 TLS 使用随机会话密钥,但 TLS 不应该发生这种情况。
  • @owlstead 你是对的。如果你先加密再解密,显然不安全。你应该知道解密等于加密的情况。我只是说 AES(AES(x,key1),key2) 并不比单独的 AES(x,key1) 更安全。我会进行编辑以反映这一点。
  • 我了解如果 AES 易受攻击,那么 AES-AES 也可能易受攻击。但是,我想知道CHACHA(AES(x)) 是否会更安全。
【解决方案2】:

TLS 并不关心您发送和接收的数据,因此它很可能是另一个 TLS 会话(尽管我不知道您为什么要这样做)。

由于这是另一个独立的会话,您没有理由不能使用相同的证书。

【讨论】:

  • 我也不知道为什么我想这样做,但如果我有这样做的冲动,现在我知道它可以做到。 =)
【解决方案3】:

ths tls rfc 已经确认了这种情况,答案是肯定的,请参考这个:https://www.rfc-editor.org/rfc/rfc5246,我找不到哪个部分提到了这个,但我记得我看过。

【讨论】:

  • 您介意提供 RFC 相关部分的参考吗?
猜你喜欢
  • 1970-01-01
  • 2021-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-24
  • 2018-10-20
相关资源
最近更新 更多