matrix riot.im 的端到端加密和验证行为很奇怪?

2020-01-22 13:57:42 +08:00
 zhiqiang

在试用 matrix 协议的聊天软件 riot im,有几个默认行为看不太明白,请同样用户指教:

给人的感觉是不推荐使用端到端加密。可是这软件的在主打不就是安全吗?

3791 次点击
所在节点    问与答
9 条回复
delpo
2020-01-22 14:56:48 +08:00
1.因为端到端加密也是基于公钥加密,自然有密钥交换的过程
2.因为在一个聊天 room 里,如果开启端到端加密,就要求对每个人的设备进行验证,否则就会显示黄色感叹号,所以大部分聊天室都是不开的
catror
2020-01-22 15:15:51 +08:00
1. 可能因为加密体验不好吧,所以隐藏了
2. 密钥交换过程中可能存在中间人,所以需要相互验证。但也不是说没有相互验证就必须要发明文,这个可能是出于其他考虑?
3. matrix 的加密群聊应该是端对端的聚合,很耗性能的。如果对群聊加密感兴趣,可以看看 MLS https://en.wikipedia.org/wiki/Messaging_Layer_Security
GM
2020-01-22 15:20:42 +08:00
[为什么说不确定对方是安全的,我们就应该发明文?]

我回答这个,因为如果不确定安全,还是能加密成功,那么(大部分)用户会觉得这是安全的,并放心在这个实际上不安全的链路上发送敏感数据,这种事情只要出了一次,这个聊天工具就废了,没人认为你是安全的。
zhiqiang
2020-01-22 15:46:49 +08:00
@catror 这说明设计还是有问题。可能还是用类似于 tox 的 id 自带密钥的性质更安全,用起来也更方便一些。
zhiqiang
2020-01-22 15:48:21 +08:00
@GM 我觉得加密总是应该加密的。对方不安全,可以单独标识。现在这种默认不加密而且非要验证加密,是一件很奇怪的事情。

除非启用加密,会泄漏加密方的密码。但这应该不可能吧。
catror
2020-01-22 16:12:10 +08:00
@zhiqiang ID 带密钥属性也有一个缺陷,ID 必须和自己的密钥关联,会导致密钥无法修改,一旦泄露只能销号了。
icegaze
2020-02-16 07:19:35 +08:00
@GM 没错,说的太对了!
icegaze
2020-02-16 07:20:39 +08:00
@GM 就是这个意思。

因为人们以为是安全的,
但,如果不能确定信道(密 key)真正是安全的,
就不能让它传递宝贵信息。
zhiqiang
2020-02-24 10:48:25 +08:00
@icegaze 这个我不同意。因为密道可能不安全,所以我们就不加密了?

正确的做法是:总是加密。但如果密道可能不安全(对方设备未验证),就提示。

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

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

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

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

© 2021 V2EX