shadow-tls icon indicating copy to clipboard operation
shadow-tls copied to clipboard

[Peer Review Request]Restls: A Perfect Impersonation of TLS Handshake

Open 3andne opened this issue 1 year ago • 3 comments

@ihciah Hi there, I hope you are having a good day. We're currently working on a brand new protocol named Restls which can be used as an extension to Shadowsocks. It shares a similar goal with ShadowTLS to circumvent GFW whitelisting but tries to fix ShadowTLS' fundamental flaw of not being able to provide server authentication. If that sounds good, you might want to take a look at the draft: Restls: A Perfect Impersonation of TLS Handshake You can find a proof-of-concept implementation in the same repo. ---------------------- 你们好, 希望你们一切顺利。 我们正在设计一个新的协议,名为Restls,它可以作为Shadowsocks的插件使用。它的目标与ShadowTLS类似——绕过GFW的白名单机制,但它试图解决ShadowTLS在协议设计中未能实现的服务端认证,从而避免被准确封杀。 如果你觉得这听起来还行,你或许想看一看这个协议的设计稿: Restls: 对TLS握手的完美伪装 这个仓库同样包含了一个实现以及其使用方式。

3andne avatar Feb 05 '23 07:02 3andne

看起来很不错!它确实可以解决 ShadowTLS 存在的流量劫持风险。三次传递认证信息,并分别解决不同阶段的问题,这个idea非常棒。 我最近在想设计一套新的 v3 协议,期望它能更便于实现,并在尽量弱感知 TLS 协议细节的基础上解决上述问题。但是目前没有想到较为通用的解决客户端对服务端鉴定的方式,可能你的方式是更好的解。 谢谢你的分享!

ihciah avatar Feb 05 '23 13:02 ihciah

感谢@ihciah 的评价,Restls的设计深深地受到了ShadowTLS的启发,1)把握手包转发出去从而高质量地解决证书来源问题;2)本身不关注后续流量的加密,直接复用现成方案;3)我们也直接受益于您和社区中的讨论。 🫡🫡🫡

3andne avatar Feb 05 '23 16:02 3andne

参考了你的握手相关的设计,shadow-tls 发布了 v3 的协议版本,这个版本应该能解决所有已知问题。

https://github.com/ihciah/shadow-tls/blob/master/docs/protocol-v3-zh.md

当前也给出了一个实现,可能后续需要限制一下cipher等来满足安全性需要。

谢谢

ihciah avatar Feb 11 '23 17:02 ihciah