使用kcptun路由方式成功,但使用电脑客端无论怎么都不成功

使用kcptun路由方式成功,但使用电脑客端无论怎么都不成功,第1张

第一,这个设计里面说“消息摘要采用MD5,杜绝非法篡改”这是完全错误的。防止消息篡改要用Message Authentication Code,不能用Hash function,不管是怎么Hash都是不能防止篡改的。更何况MD5做Hash根本不合格,早破解成筛子了。正确的做法是AEAD Cipher,比如AES-GCM或者chacha20-poly1305。

第二,我简单的看了一下源码,似乎两个方向(客户端到服务端和服务端到客户端)用的是相同的IV(encryptor和decryptor用同样的IV的初始化)。这意味着AES-CFB有IV重用,这是绝对的错误用法,直接导致攻击者能够解密数据包。(作者扯了半天的所谓OTP只是所有加密算法的基本要求,然而如果我的理解没错,他没用对)。

第三,基于UDP的安全协议都有被replay attack的可能,这个协议好像没有写怎么防止?

第四,这个PSK是程序随机生成还是用户指定?如果是用户指定,用SHA256生成key是不够的,因为用户指定的key往往强度不够,需要用key stretching function比如scrypt或者pbkdf2-hmac来处理。

是一种免费使用和自由传播的类UNIX *** 作系统。

客户端是和服务器端相对的一种说法。

客户端也称为用户端,是指与服务器相对应,为客户提供本地服务的程序。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8682707.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-19
下一篇 2023-04-19

发表评论

登录后才能评论

评论列表(0条)

保存