我有一个应用客户要求端到端加密,应用数据是存储到数据库(一个非主流类 mongodb 数据库),假设我在桌面端生成一个密钥,将所有数据加密再存入数据库,我的其他设备比如手机端腰怎么安全的获取这个密钥来解密数据,并保证这个密钥不会丢失,并且在不存储在服务器呢。之前从来没做过端到端加密,想了解一下主流方案是什么。
先谢谢各位🙇
1
gardel 1 天前 via Android
既然是端到端加密,用户的密钥应该自己管理,可以做个二维码扫码导出密钥,或者类似 web3 导出助记词
|
![]() |
2
ChrisFreeMan OP @gardel 嗯嗯,多谢回复,我也想过这种方案,生成一次密钥,用户自己保管,当至少有一个设备在线的时候,其他设备向其安全请求传输密钥,没有设备在线的时候手动输入保存的密钥,我还是想知道有没有更加安全无感的方案,所以想了解一下主流方案是怎么解决的,就怕我自己走入歪门邪道砸了自己的脚。
|
![]() |
3
xuanbg 1 天前 ![]() 端到端加密一般先用 IKE 协议/RSA 等非对称加密算法交换密钥,然后采用 3DES 等对称加密算法来加密数据。因为密钥是加密会话前动态协商出来的,所以整个数据传输都可可信且安全的。
|
![]() |
4
ForkNMB 16 小时 21 分钟前
直接用 libsignal 的库吧 看下 signal 的方案
|