TOTP-AES-256-GCM Encrypted Handshake

Your secrets, your phone, your rules.

iPhone Keychain + Face ID + TOTP 加密传输 + 人工审批。密码只在你手机上,服务器纯内存驻留,重启即忘。

数据流

工作流程

0

vault-client 启动

PM2 常驻,进入「等待 seed」状态。Unix Socket 就绪。

1

手动注入 TOTP seed

POST /seed — seed 只存内存,不落盘。自动连接 proxy 发起密码申请。

2

vault-proxy 转发

VPS 公网中转,记录审计日志,APNs 唤醒 iPhone。零明文,零 seed。

3

iPhone 审批 + TOTP 加密

Face ID 解锁 Keychain → 读取密码 → TOTP 派生 AES-256-GCM 密钥加密 → 密文出设备。

4

vault-client 解密入内存

TOTP 派生同一 AES key 解密 → 存入内存 Map → 暴露 Unix Socket。重启 = 全部清零。

协议架构

三组件,零信任

dns 01 / SERVERS

vault-client

各业务服务器。密码纯内存驻留,TOTP seed 不落盘,Unix Socket 本地 API。

DISK: ZERO_SENSITIVE | MEM: SECRETS + SEED
security 02 / VPS_RELAY
纯中转

vault-proxy

公网 WSS 中转。零密码,零 seed,只转发密文。审计日志 + APNs 推送。

PLAINTEXT: NEVER | SEED: NEVER
smartphone 03 / IPHONE

vault-approve

iPhone 独立 App。iOS Keychain + Face ID 存储密码,TOTP 加密后才出设备。

STORAGE: SECURE_ENCLAVE | AUTH: FACE_ID

天生硬核

每一层都假设其他层已被攻破。

face

Face ID + iOS Keychain

Apple Secure Enclave 硬件级加密。密码读取需 Face ID 生物认证,其他进程无法访问。

key_visualizer

TOTP 动态加密

AES 密钥每 30 秒轮换。密文抓到也没用——窗口过期后无法解密,重放攻击无效。

memory

服务器纯内存

密码和 TOTP seed 都不落盘。服务器磁盘零敏感信息,入侵读磁盘什么都拿不到。

touch_app

人工审批必须

每次密码请求推送到 iPhone。不点批准 = 没有密文产生。自动化脚本无法绕过。

encrypted

Proxy 零知识

VPS 中转服务器全程只见密文。被入侵也无法获取任何密码或 seed。

emergency_home

紧急锁定

iPhone 一键锁定:推送 revoke 给所有 agent,立即清除全部服务器内存中的密码。

安全分析

威胁矩阵

攻击场景 攻击者获得 结果
业务服务器被入侵 agent-token(磁盘上仅此) 安全
WSS 中间人攻击 加密流量 安全
VPS 被入侵 审计日志 + 转发能力 安全
服务器 + VPS 同时沦陷 token + 转发(磁盘无 seed) 安全
iPhone 被入侵 iOS Keychain(Face ID 保护) 困难
全部沦陷 所有组件 GG
shield_locked
加密标准
AES-256

GCM 模式

密钥轮换
30 秒

TOTP 窗口

认证
双因素

Token + 人工

磁盘密码

纯内存

准备好锁死你的基础设施了吗?

开源免费,自托管部署,你的服务器你做主。

code GitHub 仓库