多节点用 golang 建立 wss 服务,tlsv1.3 选 TLS_AES_256_GCM_SHA384 套件 假定在不使用 ca 签发证书的情况下,用自签证书为什么会不安全?都已经 ecdhe 交换密钥了,还有被中间人的可能吗? 如果客户端跳过验证会导致不安全因素吗? 有没有使用自签证书比较完美的方案?
1
jim9606 2023-12-13 19:20:54 +08:00 via Android 2
请再认真了解下中间人攻击,主动攻击的情形,ECDHE 防范的是被动攻击。
如果从头到尾跟你通信的就是猩巴客,你怎么发现对面不是星巴克? |
2
nulIptr 2023-12-13 19:36:00 +08:00
不使用 ca 就自己把自签证书添加信任啊,跳过验证就等于没上 tls ,
证书第一个作用是证明自己是域名持有者,然后才是 tls 加密,你不用 ca 就不知道是哪里来的野鸡证书,如果是你自己签发的你当然可以在所有机器上信任自己的证书 |
3
billccn 2023-12-13 19:42:06 +08:00
你想想你签自签名证书的时候是不是本地敲敲命令就可以随便签发,那黑客是不是敲敲命令也能签发一个你域名的自签名证书。
要安全的话,因为没有 CA ,你必须验证证书的指纹或者公钥(需要手动把这些存在你的客户端)。 |
4
e3c78a97e0f8 2023-12-14 07:53:37 +08:00 via iPhone
自建 CA 吧,只要你能控制所有节点就行
|
5
jinqzzz 2023-12-14 10:19:08 +08:00
推荐用 CFSSL 自建 CA https://github.com/cloudflare/cfssl
|