Blo*_*lou 6 encryption websocket node.js diffie-hellman end-to-end-encryption
我目前正在开发即时 React Native 消息传递应用程序,我想实现 E2EE(发送方和接收方之间的端到端加密)以提高安全性。我使用的库/框架是用于后端的 NodeJS、用于实时通信的 Socket.io、用于数据管理的 MongoDB 以及用于前端的 React Native。
在这一点上,我能够从发送者到服务器来回发送消息,然后再发送回接收者,但服务器实际上可以读取非常烦人的消息,因为我想将消息(加密)保存在我的数据库中并检索他们让用户看到他的历史。
最近我发现 Diffie-Hellman 密钥交换是在每个端点设备上生成共享密钥的一个很好的解决方案,但我不知道如何在我的应用程序中实现它。
我还发现大型消息应用程序(如 WhatsApp、Facebook Messenger、Signal 等)使用基于 X3DH(扩展三重 Diffie-Hellman)的信号协议,我想知道是否有可能实现这样一个好的我的 RN 应用程序中的东西。但问题是,即使在阅读了 Signal Protocol 的文档之后,我也无法弄清楚如何实现它。
总之,我的问题是如何在我的 RN 应用程序中实现信号协议并使用 Socket.io 发送和接收加密消息?如果由于某种原因这是不可能的,我如何自己实现 Diffie-Hellman 密钥交换?
感谢任何可以帮助我的人!
我相信你现在已经解决了你的问题。我很想知道你是怎么做到的。
我还没有实现任何具有端到端安全性的应用程序,但以下是我会做的一些事情
我会尝试支持 E2EE 的消息协议,例如 Signal 协议、OTR 协议和 PGP。根据我选择的协议,我将加密和解密数据
除此之外,我还会负责身份验证、存储安全和其他所需的安全措施。
| 归档时间: |
|
| 查看次数: |
2183 次 |
| 最近记录: |