n4zen-dev-studio/Locker
GitHub: n4zen-dev-studio/Locker
一款采用零信任架构、支持离线优先跨设备同步并带有计算器伪装界面的端到端加密保险库系统,旨在高强度隐私保护场景下彻底消除密码依赖和服务器信任风险。
Stars: 0 | Forks: 0
# 🔐 Locker — 零信任跨设备保险库系统
# 📚 目录
* [概述](#-executive-summary)
* [系统架构](#-system-architecture)
* [数据流与管道](#-data-flow--pipeline)
* [技术深入解析](#-technical-deep-dive)
* [安全模型(零信任)](#-security-model-zero-trust)
* [恢复与密钥管理](#-recovery--key-management)
* [性能与指标](#-performance--metrics)
* [模型输出(保险库数据结构)](#-model-outputs-vault-data-structure)
* [开发者体验与设置](#-developer-experience--setup)
* [视觉与媒体资料](#-visuals--media)
# 🚀 概述
Locker 旨在解决消费者隐私工具中的一项关键空白:
### 问题空间
* 大多数保险库应用:
* 依赖于**集中式信任模型**
* 具有**薄弱或不存在的恢复流程**
* 通过**明显的 UI 模式**暴露自身
* 缺乏**真正的跨设备加密完整性**
### 解决方案
Locker 引入了一种**零信任保险库架构**,包含:
* 🔐 端到端加密 (E2EE)
* 📱 具有加密信任的跨设备保险库配置
* 🔑 基于恢复密钥的保险库还原(无密码依赖)
* 🧠 安全的密钥生命周期管理
* 🕶️ 隐蔽 UX(计算器伪装)
* 🔄 具有确定性协调的离线优先同步引擎
### 业务与用户影响
* 消除了单点故障(服务器或密码)
* 实现**在不削弱加密的前提下进行安全的多设备访问**
* 提供**在不损害保密性的情况下的可恢复性**
* 通过**UI 混淆 + 本地优先设计**减少攻击面
# 🏗️ 系统架构

### 高层组件
```
Mobile App (React Native)
├── Vault Engine (Encryption + Storage)
├── Sync Engine (Offline-first)
├── Key Manager (Device-bound keys)
├── Stealth UI Layer (Calculator shell)
│
Backend API (Node.js + Fastify)
├── Vault Metadata Service
├── Key Envelope Store (Encrypted)
├── Device Trust Registry
│
Database (PostgreSQL)
├── Vault records
├── Device mappings
├── Sync state
```
# 🔄 数据流与管道
### 1. 保险库创建
```
User → Create Vault
→ Generate Data Encryption Key (DEK)
→ Encrypt DEK with User Key (KEK)
→ Store encrypted vault locally
→ Upload encrypted envelope to backend
```
### 2. 跨设备同步
```
Device A → Creates encrypted change set
→ Uploads delta to backend
→ Backend stores encrypted payload (opaque)
→ Device B pulls updates
→ Decrypts locally using keys
```
### 3. 恢复流程
```
Recovery Key (offline)
→ Derives user key
→ Fetch encrypted vault envelope
→ Decrypt DEK
→ Restore vault locally
```
# 🔬 技术深入解析
## 📱 移动端 (React Native)
* React Native `0.74+`
* 状态: `MobX`
* 存储:
* `expo-secure-store`(密钥存储)
* `expo-sqlite`(保险库数据)
* 导航: `React Navigation`
* 密码学:
* 用于加密的 Native 模块 (AES-GCM / 安全 RNG)
* 文件处理:
* `react-native-fs`
## 🧠 后端
* Node.js + Fastify
* Prisma ORM
* PostgreSQL
* Caddy(反向代理 + TLS)
## 🔐 密码学技术栈
* AES-256-GCM(数据加密)
* 密钥派生:
* PBKDF2 / Argon2(可配置)
* 信封加密模型:
保险库数据 → 使用 DEK 加密
DEK → 使用用户密钥 (KEK) 加密
KEK → 从恢复密钥/设备密钥派生
## 📂 保险库分类逻辑
Locker 使用一个**轻量级的设备端分类层**来确定项目类型:
### 分类输入
* MIME 类型
* 文件签名(magic bytes)
* 扩展名启发式
* 内容扫描(用于结构化文本)
### 决策逻辑
```
if mime.startsWith("image/") → Image
elif mime == "application/pdf" → Document
elif structured_text_detected → Note
else → Binary File
```
## 🎯 提高准确率策略
* 输入规范化:
* 文件签名验证
* MIME 修正
* 预处理:
* 文本提取(如适用)
* 编码标准化
* 启发式微调:
* 回退分类层
* 持续改进:
* 记录错误分类
* 更新检测规则
# 🛡️ 安全模型(零信任)
Locker 强制执行**严格的零信任原则**:
* 🚫 后端永远看不到明文
* 🔑 密钥在未加密状态下永远不会离开设备
* 📦 服务器仅存储加密的 Blob
* 📱 每个设备独立受信
### 威胁模型覆盖范围
| 威胁 | 缓解措施 |
| -------------------- | ------------------------------ |
| 服务器被入侵 | 数据已加密 (E2EE) |
| 设备被入侵 | 密钥隔离 + 安全存储 |
| 网络拦截 | TLS + 加密负载 |
| 账户接管 | 基于恢复密钥的模型 |
# 🔑 恢复与密钥管理
### 密钥层级结构
```
Recovery Key → User Key (KEK)
→ decrypts DEK
→ decrypts Vault Data
```
### 设计决策
* ❌ 不使用基于密码的恢复
* ✅ 恢复密钥 = 唯一的真相来源
* ✅ 防止弱密码攻击
* ⚡ 优化的恢复流程延迟
# ⚡ 性能与指标
## ⏱️ 关键指标
* 保险库打开延迟: **< 200ms**
* 同步协调: **O(n)(基于增量)**
* 加密开销: **约 5–10% CPU**
## 🧪 测试策略
* 单元测试:
* 加密/解密完整性
* 集成测试:
* 跨设备同步一致性
* 边界情况测试:
* 在全新设备上恢复
* 部分同步状态
## 📊 真实世界影响
* 接近瞬时的保险库访问
* 极少的同步冲突
* 无需服务器信任的可靠恢复
# 📦 模型输出(保险库数据结构)
### 原始输入
```
File: receipt.pdf
Size: 1.2MB
```
### 处理后的输出 (JSON)
```
{
"id": "vault_item_01",
"type": "document",
"mime": "application/pdf",
"encrypted": true,
"createdAt": "2026-04-01T12:00:00Z",
"metadata": {
"size": 1200342,
"hash": "sha256:abc123..."
}
}
```
[⬆ 返回顶部](#top)
# 🧑💻 开发者体验与设置
## 📦 安装
```
git clone https://github.com/yourusername/locker
cd locker
pnpm install
```
## ⚙️ 环境设置
### 后端
```
cd backend
cp .env.example .env
pnpm dev
```
### 移动端
```
cd app
pnpm start
```
## 🧪 运行测试
```
pnpm test
```
# 🎥 视觉与媒体资料
### 演示视频

### 架构图

### 同步仪表板 / 指标

# 💡 Locker 为何与众不同
### 1. 真正的零信任(非营销噱头)
* 没有后端信任假设
* 在架构层面强制执行加密
### 2. 在不削弱安全性的前提下进行恢复
* 大多数系统以牺牲安全性来换取可用性
* Locker 实现了两者兼得
### 3. 将隐蔽 UX 作为安全层
* 计算器伪装降低了被发现的风险
* 不仅仅是加密——而是**操作安全**
### 4. 天生离线优先设计
* 同步是一项功能,而不是依赖项
### 5. 生产级理念
* 确定性同步
* 幂等操作
* 密钥生命周期管理
## 📄 许可证
MIT 许可证 — 可随意使用和修改。
[⬆ 返回顶部](#top)
标签:MITM代理, React Native, 伪装界面, 加密存储, 多设备同步, 安全密钥管理, 密码管理器, 恢复密钥, 数据保险箱, 本地优先, 测试用例, 离线优先, 移动应用, 端到端加密, 网络安全, 网络安全, 自动化攻击, 跨设备同步, 防审查, 隐私保护, 隐私保护, 隐私工具, 隐秘UX, 隐藏应用, 零信任架构