使用端到端加密保护socket.io聊天应用程序

5

我正在构建一个基于socket.io的聊天应用程序。

我有哪些选项来实现端到端加密,以保护文本和数据/文件?

注意:我需要支持一对一和群组聊天。

是否有任何开源可用的实现特别针对socket.io? 我已经搜索过了,但没有找到。

如果没有,那么有什么提示可以自己实现呢?


@d3l33t :根据客户的要求,SSL将会被应用。我没有使用过bleep.me,但WhatsApp端到端加密是一个可以用来解释我所寻找的加密方式的例子。 - ask-dev
抱歉,我是说 bleep.pm - d3l33t
请查看 https://keybase.io/。 - d3l33t
如果已经安装了SSL,您就没有进一步的要求。 - user207421
1
据我所知,SSL适用于“点对点”加密而不是“端到端”加密。仅使用SSL,服务器仍然可以在转发到目标之前查看消息。如果我有错请纠正我。而且你知道,WhatsApp端到端加密的所有争议都在要求以某种方式实现它 :) - ask-dev
显示剩余2条评论
1个回答

27
WhatsApp和Facebook Messenger使用的端到端加密技术由Signal protocol提供支持(该协议还有自己的聊天应用程序),如果您正在使用JavaScript的Socket.io,可以轻松使用JavaScript版本的Signal协议。只需按照自述文件加密数据并使用Socket.io将其发送到另一端,然后解密接收到的数据即可。
Telegram使用的端到端加密技术是MTProto,由Telegram团队开发。与Signal一样,它是开源的,因此您可以在Github上找到源代码。
希望这能帮助到您!

感谢您提供了其他应用程序使用的端到端加密的非常好的概述。 - Sunny Batabyal
看起来这个项目已经不再维护了,因为他们现在有一个 TypeScript 版本:https://github.com/signalapp/libsignal - unobatbayar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接