V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
nyxsonsleep
V2EX  ›  问与答

为什么 vaultwarden 要在 data 中存储私钥?

  •  
  •   nyxsonsleep · 25 天前 · 1381 次点击

    我的理解是公钥进行加密,私钥进行解密。

    在服务端不是应该用公钥进行加密吗?

    cat rsa_key.pem
    -----BEGIN RSA PRIVATE KEY-----
    

    还是说 vaultwarden 是用私钥加密,公钥解密吗?

    那公钥在哪呢?是用户密码本身?

    8 条回复    2025-08-18 11:00:29 +08:00
    COW
        1
    COW  
       25 天前
    客户端持有公钥,用于加密;私钥放在 vaultwarden ,外部无法获取保证安全;加密后的数据放在密钥库。这没什么毛病啊?
    nyxsonsleep
        2
    nyxsonsleep  
    OP
       25 天前
    @COW 我的理解是保证密码安全,服务器端即使被攻击也无法被破解。因为服务端在公网需要启动服务,安全性不如在私网的客户端,如果是手机端,那基本就是普通人最安全的设备了。
    所以应该在服务器端进行加密,客户端进行解密。
    假设在上述条件下,即使中木马,那么只有中毒之后的部分密码明文泄露。

    安装服务端解密的思路,加密数据和私钥在一起,被攻击等于密码全泄露。
    nyxsonsleep
        3
    nyxsonsleep  
    OP
       25 天前
    @nyxsonsleep 安装服务端解密的思路->按照服务端解密的思路
    COW
        4
    COW  
       25 天前
    @nyxsonsleep 不是的,用户登录密码和用户的加密数据,加密逻辑不一样的,你的数据应该是用派生出来的对称密钥加密的,具体实现比较复杂,不是一个 rsa 这么简单。有一点可以确定的是 vaultwarden 只会存加密后的数据,对称密钥在客户端。
    fuzzsh
        5
    fuzzsh  
       25 天前 via Android
    ……
    bitwarden 用 AES 加密数据,vaultwarden 作为第三方兼容工程也应用 AES 加密,这个 RSA 明显是其它用途,而且是没密码的 private key ,有密码的 private key 不是这样开头的标签
    没整过 vaultwarden ,建议查阅文档获得帮助
    xinhaih
        6
    xinhaih  
       25 天前   ❤️ 2
    可以看 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/
    其中就说明了密码库是在客户端由主密码通过一定算法进行加密后上传到服务器,同步的时候从服务器下载到客户端进行解密,服务端只能得到并存储加密后的数据,不参与加解密过程
    processzzp
        7
    processzzp  
       24 天前 via iPhone
    上面已经解释的很清楚了,以后记得先问是不是,再问为什么
    nyxsonsleep
        8
    nyxsonsleep  
    OP
       23 天前
    @processzzp 人家给的答案好。你就纯属戏瘾犯了。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   943 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 22:02 · PVG 06:02 · LAX 15:02 · JFK 18:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.