
应该没有是经过服务器中转的吧?包括所谓分布式的 matrix 。
1 gzlock 2023-08-08 03:33:54 +08:00 1 、A 和 B 都在内网时,他们怎么点对点连接上呢? 2 、A 在 B 下线后发了一堆消息,怎么让 B 上线后可以收到这些消息呢? 这两个问题的解决方法就是服务器做转发了吧 |
2 chenjia404 2023-08-08 04:43:00 +08:00 这个看具体的软件,大部分的都是服务器中转,只有少数类似 tox 、session 、berty 这样的软件才是真正的点对点。 |
3 AbduHafiz 2023-08-08 04:52:42 +08:00 看来你是门外汉,绝大部分都是中转。要审查。 |
4 gdb 2023-08-08 07:14:51 +08:00 via Android 我认为绝大部分 IM 应该都是服务器中转的。 |
5 lovelylain 2023-08-08 08:15:59 +08:00 via Android 服务器中转兼容性更好,内网可通、离线可留言、内容审查,只有语音视频通话可能会用到点对点,也可能服务器中转。另外要区别于点对点加密,点对点加密不代表点对点传输,是消息只能在客户端解密,服务端无法解密审查。 |
6 Dragonish3600 2023-08-08 08:21:38 +08:00 国内的所有 iM 没有点对点 国外的要具体看,像 whatsapp telegram 私聊会点对点加密 |
8 yazinnnn 2023-08-08 08:27:24 +08:00 如果网络做不到 p2p, 你该咋点对点? |
9 Dragonish3600 2023-08-08 08:31:16 +08:00 @chingyat 现在可以说是一回事。你能想起来名字的 IM ,只要提供了点对点,都是会加密的 |
10 taikobo 2023-08-08 08:32:44 +08:00 你要找的是 jami |
12 me1onsoda 2023-08-08 08:40:04 +08:00 如果没有中转做解编码,那不是把通信协议公开了吗 |
13 Dragonish3600 2023-08-08 08:49:25 +08:00 @terrytw 举几个例子? |
14 victorc 2023-08-08 08:56:44 +08:00 要服务器转发,在服务器端不能落盘,过渡存在内存中 |
15 wu67 2023-08-08 09:11:24 +08:00 在服务器端中转. 然后服务器根据实现的不同, 有些是带 id 广播, 有些是直接给特定 id 推送/发送. 最离谱的就是消息广播, IM 出事故聊串号就是这个原因, 尤其是那些文档没有明确注明的情况下. |
16 bl4ckoooooH4t 2023-08-08 09:13:58 +08:00 点对点发消息无所谓的, 关键是服务器能不能解密你的聊天数据,这才是关键的。 |
17 horizon 2023-08-08 09:38:58 +08:00 这不是叫端到端么。。 |
18 AhFei 2023-08-08 10:39:40 +08:00 matrix 的分布式指的应该是服务端可以自托管,服务端之间可以相互通信 |
19 zbinlin 2023-08-08 10:45:21 +08:00 matrix 会存在 homeserver 上,但进行端对端加密。 jami 是真正 p2p 的,并且也是端对端加密的。 |
20 firechat 2023-08-08 11:10:19 +08:00 点对点的有几个问题:1 是对方不在线怎么办? 2 如果有多端不好处理 3 历史消息漫游 4 点对点有些网络下 p2p 是不通的还是需要 IM 服务中转 5 已经支持中转了还要再开发一个 p2p 的,增加复杂度。 我们自己的私密聊天和电报的也都是中转的,当对方收下来消息后再删掉,不能算是绝对的 p2p ,这样就解决了对方不在线的问题,另外抛弃掉多端,如果对方有多个端,只能跟其中的一个端私密聊天。当然加密还是需要双方用 DH 算法生成密钥,服务器无法知道密钥来保证安全性。 |
21 ClarkAbe 2023-08-08 11:11:04 +08:00 via Android nostr |
22 KagurazakaNyaa 2023-08-08 11:37:04 +08:00 建议 bitmessage |
23 ddd2500 2023-08-08 13:05:59 +08:00 @firechat 1, A,B 客户端先预生成公钥放于服务器,在一方 A 离线的情况下,B 可以从服务器取得预生成密钥来生成密文并缓存于服务器上,服务器并不能解密,A 上线后拉取密文并解密。 2, 多端的话,每个端都是单独的加密。A1 ,A2 视为独立端 3 ,历史消息可回溯是个问题, 但是新登陆 A3 后可以从 A1 ,A2 同步。 4 ,点对点加密并不强要求 p2p, 重点在于,每个设备之间加密。 服务器中转密文也是安全的,因为前面的密钥协商过程需要服务器介入,包括离线缓存,账号管理都要服务器的涉及。 5 ,中转和 P2P 的关系可以看一下 webRtc 的相关方案,简单地说可以建立 p2p 就 p2p ,p2p 速度不理想,或者网络有问题或者是一对多播放等情况采用服务器转。 以上是我自己的理解,不一定正确。 |
24 firechat 2023-08-08 14:17:59 +08:00 @ddd2500 非对称加密非常消耗资源,一般情况下都是用非对称加密协商出来一个密钥然后双方再用这个密钥对称加密进行通信,这也就是所谓的“建立密聊会话”的操作。电报就是这样,可以发起普通的一对一聊天,也可以建立密聊会话,在密聊会话里,就不考虑多端和历史消息的问题了。 |
25 whrssl 2023-08-08 19:31:47 +08:00 Session 这个 APP 应该是端对端,匿名程度比其他相应的 APP 要高,只可惜用的人很少。 |