1. 项目简介
LockPass 是一款注重隐私与安全的密码管理工具,用于集中保存不断增长的账号、密码和其他敏感信息。
市面上已有成熟的密码管理器;LockPass 的目标是提供一个可自托管、可按个人需求持续打磨的选择。
官网:https://lockpass.bytefuse.cn/
源码:https://github.com/ftyszyx/lockpass-next
2. 重做的原因
旧版 LockPass(https://github.com/ftyszyx/lockpass)验证了基本方向,但在同步、附件、可维护性和安全设计上仍存在明显不足:
- 同步流程繁琐:需要先备份到云盘,再从云盘恢复,容易产生版本不一致。
- 附件能力受限:无法保存图片和压缩文件等附件。
- 界面与操作稳定性不足:存在较多影响日常使用的问题。
- 数据迁移机制缺失:后续迭代和结构调整的成本较高。
- 另外还有很多安全问题
- 锁屏后未及时清除内存中的密钥材料,存在暴露风险。
- 备份和恢复流程缺少完整性校验。
- 旧的加密不是很强 旧版派生方式:
key = SHA256(安全密钥 + 主密码)。 SHA-256 设计为高速哈希,若用于直接派生解锁密钥,面对离线猜测主密码的攻击时成本偏低。
因此,新版本从同步体验、数据模型与安全架构重新设计,并借助现代开发工具提高迭代效率。
3. 安全设计
对于密码管理工具,安全是基础。LockPass 通过主密码、安全密钥和分层密钥管理,尽量减少敏感数据暴露面。
用户需要安全保存的关键材料:
凭据 | 作用 | 保存原则 |
|---|---|---|
主密码 | 用户记忆,并在解锁保险库时输入。 | 不保存、不上传;丢失后无法找回。 |
安全密钥(Secret Key) | 客户端生成的高熵随机密钥;与主密码共同派生解锁密钥。 | 用户应离线保存;受信任设备可安全保存;不上传。 |
系统仅在必要时生成和使用下列临时密钥。它们不是用户需要记忆或手动管理的凭据。
密钥 | 来源与用途 | 存在范围 |
|---|---|---|
| 由 Argon2id 基于主密码和安全密钥派生;用于解开或包装 | 仅在一次解锁过程中短暂存在。 |
| 创建保险库时随机生成;用于加解密条目和附件。 | 仅在已解锁的会话内存在。 |
| 使用 | 可保存到本地密文库和服务器;不包含可直接使用的明文密钥。 |
vaultKey加密生成wrappedVaultKey的流程如下:
用户数据的加密解密流程如下:
用户解锁时获取vaultkey流程如下:
上述设计将敏感信息置于以下防护边界中:
威胁场景 | 风险缓解方式 |
|---|---|
本地数据库或服务器数据泄露 | 攻击者只能获得密文及非敏感元数据。服务器不持有解密所需的完整密钥,不能直接读取条目。 |
受信任设备被攻陷,安全密钥泄露 | 攻击者仍需获得主密码。Argon2id 提高了离线猜测主密码的计算成本 |
4. 桌面端使用指南
下载桌面端:https://lockpass.bytefuse.cn/
4.1 创建账号并完成初始化
首次打开桌面端时,先选择要连接的服务器。可以使用官网提供的服务,也可以连接自建服务器。

已有账号请选择“登录”;没有账号请选择“创建新账号”,随后会在浏览器中完成账号创建。

**注意:**完成邮箱验证后,请设置主密码。主密码无法找回,请务必自行牢记。

生成安全密钥

**注意:**请将安全密钥保存到离线且安全的位置。它不能找回主密码,也不能单独解锁保险库;遗失后无法恢复。

确认安全密钥已妥善保存后,点击“完成创建”。
浏览器会弹出提示,选择“打开 LockPass”返回桌面端。

账号创建完成后,桌面端会提示输入主密码和安全密钥以解锁保险库。

点击“进入”后即可进入主界面,初始化完成。

4.2 创建保险库

4.3 添加条目

选择要创建的条目类型。

填写条目信息。

可点击密码生成按钮,让 LockPass 生成高强度密码。

点击“完成”后,条目将保存到保险库中。

4.4 同步条目
服务器连接正常时,条目的密文会自动同步到服务器。

5. 浏览器插件使用指南
6. 一些要做的功能
- windows桌面端需要增加开关,可以通过window hello 人脸 或者windows hello pin 来解锁,不需要用主密码解锁
- 浏览器插件 端需要实现密码的自动填 入和自动增加功能
