微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何构建高度安全的端到端加密 React Native 消息传递应用

如何解决如何构建高度安全的端到端加密 React Native 消息传递应用

我刚刚在 security stackexchange 上发布了这个问题,他们建议我将我的问题移到 stackoverflow 上,所以就在这里

我目前正在开发即时 React Native 消息传递应用程序,我想实现 E2EE(发送方和接收方之间的端到端加密)以提高安全性。我使用的库/框架是用于后端的 NodeJS、用于实时通信的 Socket.io、用于数据管理的 MongoDB 以及用于前端的 React Native。

此时,我可以将消息从发件人发送到服务器,然后再发送回接收者,但服务器实际上可以读取消息,这很烦人,因为我想将消息(加密)保存在我的数据库并检索它们以供用户查看其历史记录。

最近我发现 Diffie-Hellman 密钥交换是在每个端点设备上生成共享密钥的一个很好的解决方案,但我不知道如何在我的应用程序中实现它。

我还发现大型消息应用程序(如 WhatsApp、Facebook Messenger、Signal 等)使用基于 X3DH(扩展三重 Diffie-Hellman)的信号协议,我想知道是否可以实现在我的 RN 应用程序中,这是一件好事。但问题是,即使阅读了信号协议的文档,我也无法弄清楚如何实现它。

总而言之,我的问题是如何在我的 RN 应用程序中实现信号协议并使用 Socket.io 发送和接收加密消息?如果由于某种原因这是不可能的,我该如何实现 Diffie-Hellman 密钥交换算法?

感谢任何能帮助我的人!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。