但是在我宣传的时候总是会有同学询问通讯是否加密。
一般来说,我们谈论到通讯加密一般是指 e2ee(端到端加密)
为不了解相关知识的同学简单说一下,端到端加密是一种技术方案,通过在聊天的双方互换公钥,然后对消息内容进行非对称加密,然后传输消息到接收方后接收方用自己的私钥对加密的数据进行解密,这意味着传输过程中的介质(服务器)是无法得知加密后的消息的,也就意味着无法监听聊天双方的通讯内容。
那么:
e2ee 诞生的目的是为了隐私安全
开源项目的一大重要的好处也是隐私安全,因为你可以将项目部署到自己的服务器。
因此我的问题是,在开源项目追求 e2ee 真的有必要吗?
PS: 我明白两者的安全追求的是不同的方向,主要是 e2ee 的技术实现意味着需要放弃一部分功能,比如新加入会话的用户无法看到过去的聊天记录(因为新加入的用户无法解密过去的数据, 而我的项目设计是需要新用户能够看到过去的历史消息的,这是一个刚需)比如万人聊天时的性能问题(网状公钥交换)等等问题。
PPS: 在后续会有计划专门做密聊频道相关功能,但是因为事情很多所以想问下大家的看法,对于这种需求的必要性。因为 v2 的 dalao 们都是在国内有远见卓识、质量最高的一批程序员, 所以请教一下大家的看法对我来说非常重要