gpt4 book ai didi

websocket - 关于websocket的mask字段

转载 作者:行者123 更新时间:2023-12-02 21:52:40 27 4
gpt4 key购买 nike

关于websocket协议(protocol),您可以从这里阅读详细信息,https://www.rfc-editor.org/rfc/rfc6455#section-5.3

在掩码部分,它说:

The masking key is a 32-bit value chosen at random by the client.
When preparing a masked frame, the client MUST pick a fresh masking
key from the set of allowed 32-bit values. The masking key needs to
be unpredictable; thus, the masking key MUST be derived from a strongsource of entropy, and the masking key for a given frame MUST NOT
make it simple for a server/proxy to predict the masking key for a
subsequent frame. The unpredictability of the masking key is
essential to prevent authors of malicious applications from selectingthe bytes that appear on the wire. RFC 4086 [RFC4086] discusses whatentails a suitable source of entropy for security-sensitive
applications.

我不明白为什么掩码 key 必须是不可预测的,更不用说掩码在这里真的有必要吗?因为你每次都发送它,嗅探器可以获取它并轻松解密它。这是我能做的唯一有用的东西我认为它首先使播放负载数据无法被人类读取,并且服务器需要更多时间来处理接收

最佳答案

这与有效负载数据的安全性无关,而是使数据发送者无法预测线路上出现的实际字节。

需要屏蔽从客户端到服务器的 WebSocket 流量,因为恶意代码不太可能导致某些损坏的代理做错误的事情并将其用作某种攻击。没有人证明这确实可能发生,但由于这种情况可能发生的事实足以让浏览器供应商感到不安,因此添加了屏蔽以消除其被用作攻击的可能性。

这个想法是,由于生成 WebSocket 帧的 API 级别代码可以选择一个屏蔽键并屏蔽应用程序代码提供的数据,因此应用程序代码不能以任何有意义的方式指示最终通过可能损坏的数据。中介机构,因此不会造成麻烦。由于屏蔽键位于帧中,因此可以编写中介来理解和取消屏蔽数据,以便在需要时执行某种形式的巧妙检查。

这也解释了从服务器到客户端缺乏屏蔽的原因...我在我的博客 here 上写了更多相关内容。 。

关于websocket - 关于websocket的mask字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18286936/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com