我的理解是公钥进行加密,私钥进行解密。
在服务端不是应该用公钥进行加密吗?
cat rsa_key.pem
-----BEGIN RSA PRIVATE KEY-----
还是说 vaultwarden 是用私钥加密,公钥解密吗?
那公钥在哪呢?是用户密码本身?
![]() |
1
COW 25 天前
客户端持有公钥,用于加密;私钥放在 vaultwarden ,外部无法获取保证安全;加密后的数据放在密钥库。这没什么毛病啊?
|
2
nyxsonsleep OP @COW 我的理解是保证密码安全,服务器端即使被攻击也无法被破解。因为服务端在公网需要启动服务,安全性不如在私网的客户端,如果是手机端,那基本就是普通人最安全的设备了。
所以应该在服务器端进行加密,客户端进行解密。 假设在上述条件下,即使中木马,那么只有中毒之后的部分密码明文泄露。 安装服务端解密的思路,加密数据和私钥在一起,被攻击等于密码全泄露。 |
3
nyxsonsleep OP @nyxsonsleep 安装服务端解密的思路->按照服务端解密的思路
|
![]() |
4
COW 25 天前
@nyxsonsleep 不是的,用户登录密码和用户的加密数据,加密逻辑不一样的,你的数据应该是用派生出来的对称密钥加密的,具体实现比较复杂,不是一个 rsa 这么简单。有一点可以确定的是 vaultwarden 只会存加密后的数据,对称密钥在客户端。
|
5
fuzzsh 25 天前 via Android
……
bitwarden 用 AES 加密数据,vaultwarden 作为第三方兼容工程也应用 AES 加密,这个 RSA 明显是其它用途,而且是没密码的 private key ,有密码的 private key 不是这样开头的标签 没整过 vaultwarden ,建议查阅文档获得帮助 |
![]() |
6
xinhaih 25 天前 ![]() 可以看 vaultwarden 的介绍
https://github.com/dani-garcia/vaultwarden/wiki/Backing-up-your-vault#the-rsa_key-files 是用于签署当前登录用户的 JWT (身份验证令牌)。删除它们只会使每个用户登出,迫使他们重新登录,同时也会使通过邮件发送的任何未使用的邀请令牌失效 关于 bitwarden 的安全性可以看 https://bitwarden.com/help/bitwarden-security-white-paper/ 其中就说明了密码库是在客户端由主密码通过一定算法进行加密后上传到服务器,同步的时候从服务器下载到客户端进行解密,服务端只能得到并存储加密后的数据,不参与加解密过程 |
![]() |
7
processzzp 24 天前 via iPhone
上面已经解释的很清楚了,以后记得先问是不是,再问为什么
|
8
nyxsonsleep OP @processzzp 人家给的答案好。你就纯属戏瘾犯了。
|