问题标签 [end-to-end-encryption]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
61 浏览

node.js - 实现 E2EE 时如何防止 MITM 攻击?

我正在开发一个项目,其中两个客户端可以通过 Web 套接字(使用 Socket.IO)相互发送文件。每个块都使用 AES 加密。

目前,客户端连接到服务器,他们每个人在他们的设备上生成一个 RSA 公钥/私钥对,然后他们向服务器宣布他们的公钥,服务器将它们发送给另一个客户端,并由所述客户端存储。在发送数据之前,使用随机密钥和随机 IV 使用 AES 对其进行加密,然后使用其他客户端的公钥对 AES 密钥进行加密。数据被发送出去,然后另一个客户端使用他们的 RSA 私钥解密 AES 密钥,最后使用解密的 AES 密钥解密内容并将其保存到其磁盘上的文件中。

问题是服务器可以轻松地用自己的公钥替换一个客户端的公钥,然后窃取数据。我能想到的唯一解决方案是让客户相互联系并手动验证他们的公钥......我不确定如何自动化这个过程。提供 E2EE 的服务似乎会在每台设备上生成匹配代码,但我无法找到有关其实际实现方式的任何信息,例如两个设备如何生成匹配代码而不与服务器或在两者之间相互通信,以及如果他们这样做,那么服务器无论如何都知道代码对吗?

我考虑过使用 WebRTC 将公钥从一个客户端发送到另一个客户端,而无需让数据通过服务器,但我很欣赏其他方法。先感谢您!:)

0 投票
1 回答
45 浏览

node.js - NodeJs encrypt message using authentication token

My goal is to encrypt end-to-end messaging app messages. I am wondering if it's possible to encrypt/decrypt messages using token authentication libraries such as jsonwebtoken? Is it a good approach or there are is dedicated library/algorithm for that?

Thank you mates in advance!

0 投票
0 回答
62 浏览

android - 在 Kotlin 中使用信号协议实现安全聊天

在我的 android 应用程序的一部分中,我有聊天功能,我想通过使用信号协议、firebase 和 Kotlin 来实现安全聊天。我在互联网上搜索了很多,但我没有找到一个完整的解决方案来解释它的编码。我找到了一些这样的文章:

https://www.qed42.com/insights/coe/javascript/developing-real-time-secure-chat-application-whatsapp-signal-end-end

但我想使用它可以处理实时功能而不是使用网络套接字的firebase。您能否通过介绍一步一步解释所有细节的视频或文章来帮助我。提前谢谢你。

0 投票
1 回答
62 浏览

firebase - Flutter - 用于跨多个设备的端到端加密的密钥存储

我正在编写一个颤振应用程序,用户基本上可以在其中创建笔记。我编写了代码来为用户创建一个私钥,该私钥后来用于加密他们的数据。加密数据存储在 Firebase Firestore 中。当他们的数据被检索到时,使用他们的密钥对其进行解密。

我已经研究过使用Flutter Secure Storage,效果很好,除了密钥仅在该设备上可用。如果用户在新设备上登录,他们将无法解密他们的笔记。

我的问题是:

我如何/在哪里存储用户的密钥以解密他们的数据,以便只有他们可以访问它,而不管他们使用什么设备登录?围绕这种解决方案的最佳实践是什么?

0 投票
0 回答
48 浏览

flutter - 推送通知/Flutter/端到端加密

我们已经完成了使用 Firebase (FCM) 对消息进行端到端加密的聊天应用程序。一切正常。唯一的“问题”是,因为它是端到端加密的,推送通知正文中的所有消息都是加密的,并且无法在操作系统的通知中心预览消息。

有什么解决方案吗?假装端到端加密的 WhatsApp、Telegram 如何在应用程序外部管理消息的清晰预览?谢谢