QubKey 简介
本地优先 Rust 密码管理器:.rkvey 架构、零知识和 Tauri 堆栈。
QubKey 是一个本地优先、开源密码管理器,设计为数字保险库系统 — 而不是一个简单的加密文件。每一层(格式、密码学、索引和应用程序)都旨在协同工作并端到端地保护您的秘密。
本机桌面应用程序结合了Rust(加密核心)、Tauri(轻量级系统外壳)和React(UI)。您的秘密位于磁盘上的 .rkvey (Rust Key Vault) 文件中,使用经过验证的原语和严格的关注点分离进行加密。
本文档适用于确保其凭据的个人和评估架构的技术团队。从 安装 或 第一个保管库 开始;有关构建历史,请参阅发行说明;为了安全起见,请参阅架构。
设计理念
- 保险库是一个系统 — 标识、配置、索引和数据是不同的层。
- 加密货币不是附加的——加密、派生和完整性都内置于该格式中。
- 弹性是前面的 — WAL、安全提交和崩溃恢复是模型的一部分。
图:应用概述
UI
界面(React + Tauri)
- 避难所
- 文件夹
- 搜索
- 发电机
- 一次性代码
- 仪表板
- 同步
- 分享
- 浏览器扩展
Core
Rust 核心(QubKey 核心)
- .rkvey v5 格式
- Argon2id 推导
- 认证加密
- 搜索索引
- 安全提交
- 内存擦除
- 崩溃恢复
Storage
文件系统上的 .rkvey v5 文件
- 前言
- 加密标头
- 加密索引
- 秘密隔间
- 附件
- 提交历史
核心原则
Local-first
您的保管库文件位于您的文件系统上。核心操作不需要互联网——您的数据永远不会通过 QubKey 服务器传输。
Zero-knowledge
主密码永远不会离开您的机器。恢复依赖于您在创建时保存的 恢复密钥 - QubKey 无法读取或重置它。
Open source
Rust 核心、Tauri shell 和 React 前端都是开源(MIT)——可由社区和安全团队审核。
为什么会生锈?
| 效益 | 实施 | 优势 |
|---|---|---|
Memory safety | Compiler guarantee | 消除缓冲区溢出、释放后使用和数据争用——常见的 C/C++ 漏洞来源 |
Zeroization | zeroize crate | 当保险库锁定时,保证擦除 RAM 中的密钥和机密 |
Performance | Native | 校准的 Argon2id,无需不可预测的 GC — 稳定、可预测的解锁(~500 毫秒) |
Crypto | RustCrypto | 已审核的 AEAD 和 Argon2 原语 — 无需自行重新实现 |
技术栈
| 组件 | 技术 | 角色 |
|---|---|---|
| 核心 | 铁锈 | 加密、.rkvey 格式、WAL |
| 桌面外壳 | 金牛座 | 安全IPC、文件访问 |
| 用户界面 | 反应 + 打字稿 | 用户体验、搜索、仪表板 |
| 加密 | AES-256-GCM、XChaCha20 | 每个条目 AEAD |
| 推导 | 氩气2id | 主密码→主密钥 |
| 格式 | .rkvey v4 | 分层金库 |
项目结构
main.rs
Cargo.toml
App.tsx
package.json
20 种条目类型
QubKey 提供 20 种类型(EntryType,判别式 0–19)。每种类型还接受加密附件(多文件、文件夹)。请参阅每个 EntryData 变体模式的完整目录。
密码
密码、SSHKey、PGPKey、TokenLogin、密码、恢复代码
金融的
信用卡、银行账户、加密钱包
身份
国民身份证、护照、驾驶执照、健康 ID、个人资料、联系地址
笔记
注意、RecoveryPhrase、ConfigSnippet
文档
文档
设备访问
无线上网