问: A 和 B 通过 S 中转来进行消息传递是否安全

260 天前
 thisismr2

有四个角色,A ,B ,S ,C 。

现在 A 和 B 通过 S 中转来进行消息传递,当然会带上 cookie

现在有第三个人 C

关于对称加密算法 M

问:

到现在,A 和 B 通过 S 中转来进行消息传递是否安全?

(当然暂不考虑 A 和 B 的电脑被攻破了,cookie 泄漏了等终端安全因素)

2876 次点击
所在节点    程序员
35 条回复
mightybruce
260 天前
原来题主想钻研网络安全,这个远远不是工程师和程序员所了解的。
你还是问问大学安全方面的教授比较好, 我工作之前在大学是学信息安全的硕士,很多东西已经还给老师了。
这方面入门看一本书 Springer 出的《 Protocols for authentication and key establishment 》
mightybruce
260 天前
不依赖于公密钥体系和可信第三方 CA 的加密可以做到端到端加密,不过是一种更加复杂的加密
基于身份的密码体系( identity-based encryption)
2001 年,Boneh 和 Franklin 正式给出 IBE 的定义,安全模型,并应用双线性对( Bilinear Map )构造了一个安全的 IBE 方案
不过基于 pairings 的 IBC 方案,在实现时往往都有些性能问题,因此 IBC without pairings 也算是近些年研究比较多的课题。
这些可供了解。
thisismr2
260 天前
@mightybruce #22 是的核心问题就是 基于身份的密码学。涉及到贴文的内容就是 基于一个不可信的第三方来交换密钥。所以才质疑 WhatsApp/Signal 作为不可信第三方的,又没有提供其他渠道(比如线下)来确认。

IBE 好像也是需要依赖一个可信第三方 PKS 。

Boneh Franklin 我搜了一下,好像仍存"可疑",可能如你所说的是 性能问题
gps949
260 天前
感觉有点 TLDR 了

不就是 AB 通过共享密钥在一个信道中通信,在密钥被共享到第三方 C 后,通信是否安全的问题吗?
首先,如果这个信道(等价于 S+协议)是可信的,就没必要共享密钥,因为认为信道不可信不够安全才使用了共享密钥。
那么信道不可信不够安全的情况下,采用一个已被泄露(不可信不够安全)的共享密钥通信,是否安全呢?这个问题应该都有结论吧?
mightybruce
260 天前
IBE 和 PKS 没有一点关系。
公钥设施并不依赖于某一个公司的,你的电脑和手机在出厂的时候就已经植入受信的安全证书。
thisismr2
260 天前
@mightybruce “你的电脑和手机在出厂的时候就已经植入受信的安全证书。” 也算是依赖可信第三方,新增角色了。( CNNIC)
TeresaPanda
260 天前
A <-=> S <=> B 的流量都是 https(M(Msg, K)),C 拿到 K 没用吧,破不了 https 这一层。
thisismr2
260 天前
Tink
260 天前
安全的
leonshaw
260 天前
@thisismr2
如何证明你是你?用 something you know, you have, you are ,是一定要通过可信第三方或者可信信道分发一些信息的。
gscsnm
260 天前
我觉得安全,就是消息无法被泄密,但是有可能被劫持丢弃。
thisismr2
260 天前
@gscsnm 是的,存在消息被 S 丢弃的可能,但因主观原因被丢弃的可能不大,因为 S 无法解密进而审查。客观原因倒是有,比如负载过高,像某些 IM 那样投递后删了,没有 ACK 机制,等
thisismr2
260 天前
@thisismr2 #18

结贴了: https://signal.org/blog/safety-number-updates/

结论:也就是大家在使用 WhatsApp 或 Signal 时,是无法保证如他们宣传般的安全的,除非你和你的朋友再通过其他方式去验证 指纹(也就是上面的这个文章),其他方式必须是 WhatsApp 或 Signal 之外的方式(裁判和运动员不能是同一角色),比如线下或发邮件。

---

声明: [以上结论仅是笔者研究两天的结果,仅供参考,并不代表权威] 。如果你是密码学或相关领域专家,可以阅读 https://www.whatsapp.com/security/WhatsApp-Security-Whitepaper.pdfhttps://signal.org/blog/safety-number-updates/ 以及其他相关 paper ,以得出更权威的结论。

-- END
vfs
259 天前
密码学不都说了: 不要自己设计加密算法嘛。 单纯想要在 A ,B 之间通过 S 安全的传输信息,那就直接 tls 就够用。 确保你正确的配置了 tls 的参数绝对就够用. ( tls1.3 , 安全的 cipher suite 等)。 自己设计的,经不起推敲
sBuk
259 天前
暂时安全,C 忘了就永远安全

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

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

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

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

© 2021 V2EX