有研究 websocket 的吗?请教下

2017-02-03 09:33:27 +08:00
 ruandao

最近在用 golang 自己写协议,看着协议中说的,客户端向服务端发送内容时,需要掩码处理下
具体算法如下: result-octet-i = source-octet-i xor mask-key-octet-j ( j = i % 4)
然后,问题是这样子,和明文有什么区别,怎么防范恶意攻击的,加这个掩码有什么特殊作用吗?(掩码和内容,是一起发送给服务端的)

3503 次点击
所在节点    问与答
11 条回复
MrWii
2017-02-03 10:03:21 +08:00
掩码不是用来纠错的吗,防止数据丢失
ryd994
2017-02-03 10:17:31 +08:00
xor ”加密“属于幼儿园级
本质上就是凯撒密码,有足够样本而且有概率特征的话很容易破解,或者知道原文合理范围的可以穷举
掩码内容一起发送………大概也就能糊弄糊弄公司的上网监控吧……
gulucn
2017-02-03 10:25:51 +08:00
是防止中转服务器直接返回缓存结果。所以客户端的每个 ws 包都要用掩码来保证数据不一样,所有包都应该到达服务器并由它返回应答。
ruandao
2017-02-03 10:36:17 +08:00
@MrWii
@ryd994
@gulucn 谢谢
lhbc
2017-02-03 10:36:31 +08:00
和明文没区别,要安全上 wss ,就是 tls
WispZhan
2017-02-03 10:43:11 +08:00
要加密就是 SSL ,上 WSS
ruandao
2017-02-03 11:13:59 +08:00
不是想加密,只是解析的时候,碰到这个,不知道作用
上面 @gulucn 已经说了,是防止中转服务器发重复了。。。。
又想到一个问题,怎么判断重复,需要记录已经使用过的掩码吗?
Antidictator
2017-02-03 12:55:58 +08:00
@lhbc 请教头像出处
lhbc
2017-02-03 13:01:52 +08:00
gulucn
2017-02-03 13:29:45 +08:00
@ruandao 我的解释也不太对,不过可以看下这里: https://github.com/abbshr/abbshr.github.io/issues/47
lhw45202
2017-02-03 16:58:19 +08:00
保证数据完整

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/337807

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX