求节点间 wss 通信使用自签证书的正确姿势

2023-12-13 19:09:34 +08:00
 raw0xff

多节点用 golang 建立 wss 服务,tlsv1.3 选 TLS_AES_256_GCM_SHA384 套件 假定在不使用 ca 签发证书的情况下,用自签证书为什么会不安全?都已经 ecdhe 交换密钥了,还有被中间人的可能吗? 如果客户端跳过验证会导致不安全因素吗? 有没有使用自签证书比较完美的方案?

1182 次点击
所在节点    Go 编程语言
5 条回复
jim9606
2023-12-13 19:20:54 +08:00
请再认真了解下中间人攻击,主动攻击的情形,ECDHE 防范的是被动攻击。
如果从头到尾跟你通信的就是猩巴客,你怎么发现对面不是星巴克?
nulIptr
2023-12-13 19:36:00 +08:00
不使用 ca 就自己把自签证书添加信任啊,跳过验证就等于没上 tls ,
证书第一个作用是证明自己是域名持有者,然后才是 tls 加密,你不用 ca 就不知道是哪里来的野鸡证书,如果是你自己签发的你当然可以在所有机器上信任自己的证书
billccn
2023-12-13 19:42:06 +08:00
你想想你签自签名证书的时候是不是本地敲敲命令就可以随便签发,那黑客是不是敲敲命令也能签发一个你域名的自签名证书。

要安全的话,因为没有 CA ,你必须验证证书的指纹或者公钥(需要手动把这些存在你的客户端)。
e3c78a97e0f8
2023-12-14 07:53:37 +08:00
自建 CA 吧,只要你能控制所有节点就行
jinqzzz
2023-12-14 10:19:08 +08:00
推荐用 CFSSL 自建 CA https://github.com/cloudflare/cfssl

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

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

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

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

© 2021 V2EX