零知识架构 · 端到端加密

你的密码
只有你能解开.

PassBox 采用零知识加密架构,主密码通过 SRP 协议完成验证,永远不会离开你的设备。 即使数据库完整泄露,攻击者也无法还原任何明文。

$passbox --encrypt
AES-256-GCM·Argon2id · 64MiB · 3 iter·SRP-6a·HKDF-SHA256·TOTP RFC 6238·AAD Bound·Zero-Knowledge·24h Session·token_version Revocation·Rate Limited·17 Item Types·PWA Offline·AES-256-GCM·Argon2id · 64MiB · 3 iter·SRP-6a·HKDF-SHA256·TOTP RFC 6238·AAD Bound·Zero-Knowledge·24h Session·token_version Revocation·Rate Limited·17 Item Types·PWA Offline·
01加密参数

每一个字节
都经过密码学保护.

采用业界最严格的加密栈,从主密码派生到数据存储,全链路零知识。 这里没有花哨的营销词,只有可验证的密码学参数。

对称加密
AES-256-GCM
认证加密 · 12 字节 IV · 16 字节认证标签
密钥派生
Argon2id
64MiB 内存 · 3 次迭代 · parallelism 4
认证协议
SRP-6a
主密码零传输 · 仅服务端验证
密文保护
AAD Bound
item:{id}:data · 防密文替换攻击
client / encrypt.ts
AES-256-GCM
// 客户端 AES-256-GCM 加密
async function encrypt(
key: CryptoKey,
plaintext: string,
aad: string,
): Promise<EncryptedData> {
const iv = getRandomBytes(12);
const ct = await crypto.subtle.encrypt(
{ name: 'AES-GCM', iv, additionalData: aad },
key,
plaintext,
);
return { v: 1, iv, ct };
}
$passbox encrypt --item login
encrypted in 12ms · 12B IV · 16B tag · AAD bound
auth / srp-verify.ts
SRP-6a
// SRP-6a 零知识密码验证
// 服务端仅持有 verifier,不持有主密码
async function verifyLogin(
email: string,
clientProof: string,
) {
// 查找用户 verifier(非主密码)
const user = await db.query(
'SELECT verifier FROM users WHERE email=$1',
[email],
);
// 服务端验证 M2,主密码从未传输
const valid = srp.verifyM2(
verifier,
clientProof,
);
return valid;
}
$passbox auth --login user@example.com
verified · password never transmitted to server
02-05功能矩阵

不只是密码管理器
是一套完整的密码学工具箱.

// 02

密码管理

覆盖全部密码管理场景,17 种条目类型满足个人与工作所需

HIGHLIGHT

17 种条目类型

登录、信用卡、身份、银行账户、API 密钥、SSH 密钥、加密钱包等,一站式管理。

智能本地搜索

搜索完全在客户端进行,不上传关键词,支持模糊匹配与标签筛选。

批量管理

支持批量删除、批量移动到其他保险库,多选操作流畅高效。

HIGHLIGHT

按需解密

敏感数据仅在查看时解密,离开详情页立即清除内存中的明文。

// 03

浏览器扩展

Chrome / Edge 扩展自动识别表单,一键填充凭证

HIGHLIGHT

智能表单填充

基于 autocomplete 属性与 name/id 模式匹配,自动识别登录、地址、信用卡表单。

信用卡与地址

不仅填充密码,还支持自动填充信用卡号、有效期、CVV 与个人地址信息。

HIGHLIGHT

用户确认机制

每次自动填充前弹出确认浮窗,避免误填充与恶意页面窃取。

// 04

安全增强

多层防御纵深,从协议层到应用层全方位保护账户

HIGHLIGHT

TOTP 双因素认证

内置 RFC 6238 TOTP 生成器,支持 SHA-1/256/512 算法,提供 10 个一次性备用码。

恢复码机制

80 位熵的恢复码,忘记主密码也能安全重置,密码库数据完整保留。

HIGHLIGHT

速率限制

IP + email 双维度限流(登录 10/min,注册 5/min),防暴力破解与撞库。

会话撤销

24h 有效期 + token_version 机制,改密或登出后旧 JWT 立即失效。

// 05

高级功能

为特殊场景设计的细节能力

HIGHLIGHT

旅行模式

出国时仅携带旅行保险库,敏感数据完全从本地清除,过海关无忧。

回收站 30 天

删除的条目进入回收站,30 天内可恢复,过期自动永久清除。

加密附件

支持上传文件附件,附件内容客户端加密后上传,服务端无法读取。

分享链接

生成加密分享链接,支持过期时间与查看次数限制,安全共享密码。

17
条目类型
覆盖全部场景
80
位恢复码熵
银行级强度
24h
会话有效期
强制重认证
0
主密码上传
SRP 保证
06加密流程

四步走完 零知识 加密链路.

从主密码到服务端验证,每一步都有可验证的密码学保证。这里没有黑盒。

01

Argon2id 派生 Master Key

主密码在设备本地通过 Argon2id 算法(64MB 内存 / 3 次迭代 / parallelism 4)派生出 256 位 Master Key。主密码本身永不上传服务器。

crypto / kdf.ts
64MiB · 3 iter
const masterKey = await argon2id(
password,
salt,
64 * 1024, // 64 MiB
3, // iterations
4, // parallelism
32, // 256-bit
);
$passbox kdf --derive master
derived 256-bit master key in 480ms · memory-hard
02

HKDF 派生三个派生密钥

从 Master Key 通过 HKDF-SHA256 派生出 Symmetric Key(加密数据)、Auth Hash(服务端验证)和 Recovery Key(账户恢复)。

crypto / keys.ts
HKDF-SHA256
const symmetricKey = hkdf(masterKey, 'passbox:symmetric');
const authHash = hkdf(masterKey, 'passbox:auth');
const recoveryKey = hkdf(masterKey, 'passbox:recovery');
$passbox keys --derive-from master
3 keys derived · symmetric · auth · recovery · domain-separated
03

AES-256-GCM 加密条目

每条密码条目独立加密,附带 AAD(Additional Authenticated Data)绑定 itemId,防止密文替换攻击。服务器仅存储密文。

crypto / aes.ts
AES-256-GCM
const encrypted = await encrypt(
symmetricKey,
JSON.stringify(itemData),
`item:${itemId}:data` // AAD
);
$passbox encrypt --item login
ciphertext stored · server sees only 12B IV + 16B tag + ct
04

SRP-6a 零传输验证

登录时使用 SRP-6a 协议,服务端仅持有 verifier。主密码在客户端完成零知识证明,服务端无法反推主密码。

auth / srp.ts
Zero-Knowledge
// 客户端:发送证明 M1,不发送主密码
const M1 = srp.client.proof(
email, password, salt, B
);
// 服务端:验证 M1,无需知道主密码
const valid = srp.server.verify(
verifier, A, M1
);
$passbox auth --login user@example.com
verified · password never transmitted · verifier-only

密码学保证

即使数据库完整泄露,攻击者也无法还原任何一条明文密码.

服务端仅存储:Argon2id salt、SRP verifier、加密后的条目密文。 三者缺一不可解密,且任何一项都无法单独反推主密码。

07技术规格

可验证的 技术参数.

所有参数均为真实生产配置,可在源代码中验证。 没有营销话术,只有密码学事实。

加密参数

对称加密
AES-256-GCM
认证加密 · NIST SP 800-38D
密钥派生
Argon2id
RFC 9106 · 抗 GPU/ASIC 攻击
KDF 参数
64MiB / 3 iter / P=4
memory / iterations / parallelism
HKDF
SHA-256
RFC 5869 · 三派生密钥
AAD 绑定
item:{id}:{field}
防密文替换攻击
IV 长度
12 bytes
GCM 标准 nonce 长度

认证协议

登录协议
SRP-6a
RFC 5054 · 主密码零传输
会话 token
JWT + HS256
jose 库 · 24h 有效期
会话撤销
token_version
改密 / 登出后立即失效
速率限制
IP + email 双维度
登录 10/min · 注册 5/min
账户锁定
5 次失败 / 15 min
数据库层防护
2FA 算法
TOTP RFC 6238
SHA-1 / 256 / 512 可选

数据存储

数据库
PostgreSQL
连接池 · max 10
存储内容
密文 + salt + verifier
零明文
软删除
30 天保留
过期自动清理
附件加密
客户端 AES-256-GCM
服务端不可读
分享链接
加密 + 过期 + 次数限制
一次性查看
旅行模式
本地清除
仅保留旅行保险库

运行环境

前端框架
Next.js 14+ App Router
Server / Client Component
类型系统
TypeScript strict
0 any · 0 errors
UI 组件
shadcn/ui + Tailwind v3
一致性设计系统
状态管理
Zustand
按需解密 API
浏览器扩展
Manifest V3
Chrome / Edge 兼容
PWA
Service Worker
离线支持
零明文存储
数据库中不存在任何明文密码或主密码哈希
会话时效
所有 JWT 24 小时强制过期,无法续期
客户端运算
所有加密/解密在浏览器完成,服务端零运算
ready to deploy

现在就开始
保护你的密码.

$ passbox init --you
30 秒 创建账户 · 0 条 数据上传 · 掌控权

无广告·无追踪·无第三方分析·数据只属于你