【问题标题】:Heartbeat extension: does it make sense to allow for arbitrary payload?心跳扩展:允许任意有效载荷有意义吗?
【发布时间】:2014-04-10 10:44:17
【问题描述】:

https://www.rfc-editor.org/rfc/rfc6520 没有解释为什么心跳请求/响应往返应该包含有效负载。它只是指定了有效负载的空间,并且响应必须包含与请求相同的有效负载。

这个有效载荷有什么用?我的问题是:

  • 工程师在设计协议以允许在心跳请求中包含任意有效负载时会想到什么?有什么优势?

  • 这个负载必须包含在响应中的原因是什么?

我看到,通过允许任意负载,应用程序能够明确地将某个响应与某个请求相匹配。这是唯一的优势吗?如果是,那么为什么不强制有效载荷具有一定的长度?有效载荷长度的灵活性有什么好处?是否与密码学概念有关,心跳请求的长度必须不可预测?

其他类似“心跳”的协议扩展只是预先定义了确切的请求(例如“ping”)和相应的响应(例如“pong”)。为什么https://www.rfc-editor.org/rfc/rfc6520 选择了不同的路线?

了解 RFC6520 中做出选择背后的原因很重要,以便正确评估所有这些可能是智能放置的后门的假设。

【问题讨论】:

  • RFC777 定义了一种机制,客户端可以向服务器发送有效负载(回显请求),然后服务器将使用相同的有效负载进行响应(回显回复)。这是ping 命令行实用程序用来确定服务器是否处于活动状态的机制,并且每个启用了IP 的设备都实现了它。所以这个任意有效载荷的概念至少可以追溯到 1981 年。我可以对原因做出有根据的猜测,但我无法挖掘任何权威来源。

标签: security openssl heartbeat heartbleed-bug


【解决方案1】:
  • 关于任意大小:rfc 摘要指出,Hearbeat 扩展是 DTLS 的路径 MTU (PMTU) 发现的基础。改变大小是实现该协议的基础 (http://en.wikipedia.org/wiki/Path_MTU_Discovery)

  • 关于任意内容:可能无法保留数据包传递或数据包丢失。改变内容有助于识别它们

【讨论】:

  • 感谢您的回答。虽然它肯定不能提供完整的图片,但它包含了我猜想的要点,因此我将我的问题标记为已回答。 @indiv 在我的问题下方的评论中也提供了一个非常重要的见解。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-14
  • 1970-01-01
  • 2023-01-29
  • 2020-10-14
  • 2020-06-08
  • 2016-06-10
  • 1970-01-01
相关资源
最近更新 更多