端到端加密(End-to-End Encryption,简称 E2EE)是一种通信加密方式,只有通信双方能够读取消息内容,而任何第三方——包括服务器运营商、网络服务商甚至黑客——都无法解密。
工作原理
SecureChat 使用 ECDH P-256 椭圆曲线密钥交换 + AES-256-GCM 对称加密,核心流程如下:
- 密钥生成:每台设备创建一对密钥——公钥(可公开)和私钥(仅本地保存)
- 密钥交换:双方通过服务器交换公钥,不传输任何私钥
- 共享密钥:利用 ECDH 算法,双方各自的私钥 + 对方公钥 = 同一个共享密钥
- 加密发送:消息用 AES-256-GCM + 共享密钥加密,只有对方能解密
- 解密阅读:接收方用共享密钥解密,服务器全程只存储密文
为什么安全?
- 服务器无法解密:服务器只中转密文(IV + Data),没有私钥无法还原内容
- 设备绑定:私钥加密存储在本地,即使服务器被攻破也无法获取
- 前向安全:即使未来私钥泄露,历史消息也无法被解密
- 阅后即焚:开启后消息阅读 5 秒后自动从本地和服务器删除
对比普通加密
- 普通 HTTPS:服务器可以看到明文("传输加密,服务端解密")
- E2EE:服务器永远看不到明文("只有终端能解密")
参考:Signal Protocol、OpenPGP、WhatsApp E2EE 均采用类似原理。