Skip to content

Trinity Trust Root 三位一体信任根

版本: v3.2.0 | 状态: ✅ 生产就绪 | 5 IPC Handlers | 2 数据库表 | U-Key + SIMKey + TEE

ChainlessChain Trinity Trust Root 实现了 U-Key + SIMKey + TEE 三位一体的统一信任根体系。通过证明链验证、安全启动校验、硬件指纹绑定和跨设备密钥同步,构建从硬件到应用的完整信任链路。

核心特性

  • 🔐 证明链验证: U-Key → SIMKey → TEE 三步证明链,逐层验证硬件可信
  • 🖥️ 安全启动校验: 验证设备安全启动状态,防止固件篡改
  • 🔑 硬件指纹绑定: 将密钥与硬件指纹绑定,防止密钥迁移攻击
  • 🔄 跨设备密钥同步: 加密传输密钥到可信设备,支持多设备协同
  • 📊 信任状态监控: 实时追踪所有设备的信任等级(已验证/未验证/已妥协)

信任等级

等级说明颜色
verified三重验证通过绿色
unverified待验证或部分验证黄色
compromised检测到安全威胁红色
pending验证进行中灰色

验证信任链

javascript
// 执行三步证明链验证
const result = await window.electron.ipcRenderer.invoke(
  "trust-root:verify-chain",
  "device-001",
);
// result.attestation = {
//   id: "uuid",
//   device_id: "device-001",
//   trust_level: "verified",
//   ukey_status: "connected",
//   simkey_status: "active",
//   tee_status: "supported",
//   attestation_chain: [
//     { step: "ukey_check", passed: true },
//     { step: "simkey_verify", passed: true },
//     { step: "tee_attest", passed: true },
//   ],
//   boot_verified: 1,
// }

跨设备密钥同步

javascript
const result = await window.electron.ipcRenderer.invoke(
  "trust-root:sync-keys",
  {
    sourceDevice: "device-001",
    targetDevice: "device-002",
    keyType: "master", // master | signing | encryption
  },
);
// result.syncRecord = { id, sync_status: "completed", verified: 1, ... }

绑定硬件指纹

javascript
const result = await window.electron.ipcRenderer.invoke(
  "trust-root:bind-fingerprint",
  {
    deviceId: "device-001",
    fingerprint: "hw_fp_abc123def456",
  },
);

系统架构

┌──────────────────────────────────────────────────┐
│              Trinity Trust Root                    │
│                                                    │
│  ┌──────────┐  ┌──────────┐  ┌──────────────────┐│
│  │  U-Key    │  │  SIMKey   │  │  TEE             ││
│  │  Check    │→ │  Verify   │→ │  Attest          ││
│  │          │  │           │  │                  ││
│  │ 硬件连接  │  │ SIM 验证   │  │ 可信环境认证     ││
│  └──────────┘  └──────────┘  └──────────────────┘│
│         │              │              │            │
│         ▼              ▼              ▼            │
│  ┌────────────────────────────────────────────┐   │
│  │        Attestation Chain (证明链)            │   │
│  │  trust_level: verified | unverified         │   │
│  └─────────────────┬──────────────────────────┘   │
│                    │                               │
│  ┌─────────────────┴──────────────────────────┐   │
│  │     Cross-Device Key Sync (跨设备密钥同步)   │   │
│  │  加密传输 → 验证 → 绑定硬件指纹              │   │
│  └────────────────────────────────────────────┘   │
└──────────────────────────────────────────────────┘

IPC 接口完整列表

Trust Root 操作(5 个)

通道功能说明
trust-root:get-status查询信任根状态设备数、验证数、最后验证时间
trust-root:verify-chain执行证明链验证U-Key → SIMKey → TEE 三步
trust-root:sync-keys跨设备密钥同步加密传输到可信目标设备
trust-root:bind-fingerprint绑定硬件指纹将密钥与设备指纹绑定
trust-root:get-boot-status查询安全启动已验证/未验证设备统计

数据库 Schema

2 张核心表:

表名用途关键字段
trust_root_attestations证明链记录id, device_id, trust_level, attestation_chain (JSON)
cross_device_key_sync密钥同步记录id, source_device, target_device, sync_status, verified

trust_root_attestations 表

sql
CREATE TABLE IF NOT EXISTS trust_root_attestations (
  id TEXT PRIMARY KEY,
  device_id TEXT NOT NULL,
  trust_level TEXT DEFAULT 'unverified',
  ukey_status TEXT,
  simkey_status TEXT,
  tee_status TEXT,
  attestation_chain TEXT,            -- JSON: 三步验证结果
  hardware_fingerprint TEXT,
  boot_verified INTEGER DEFAULT 0,
  last_verified INTEGER,
  created_at INTEGER DEFAULT (strftime('%s','now') * 1000)
);
CREATE INDEX IF NOT EXISTS idx_trust_attestations_device ON trust_root_attestations(device_id);
CREATE INDEX IF NOT EXISTS idx_trust_attestations_level ON trust_root_attestations(trust_level);

cross_device_key_sync 表

sql
CREATE TABLE IF NOT EXISTS cross_device_key_sync (
  id TEXT PRIMARY KEY,
  source_device TEXT NOT NULL,
  target_device TEXT NOT NULL,
  key_type TEXT,
  sync_status TEXT DEFAULT 'pending',
  encrypted_key_data TEXT,
  verified INTEGER DEFAULT 0,
  created_at INTEGER DEFAULT (strftime('%s','now') * 1000)
);
CREATE INDEX IF NOT EXISTS idx_key_sync_status ON cross_device_key_sync(sync_status);

前端集成

TrustRootPage 页面

功能模块:

  • 统计卡片: 设备数 / 已验证 / 安全启动 / 未验证
  • 验证操作: 输入设备 ID,执行信任链验证
  • 错误提示: Alert 组件展示错误信息

Pinia Store (trustRoot.ts)

typescript
const useTrustRootStore = defineStore("trustRoot", {
  state: () => ({
    status: null,
    bootStatus: null,
    loading: false,
    error: null,
  }),
  actions: {
    fetchStatus, // → trust-root:get-status
    verifyChain, // → trust-root:verify-chain
    syncKeys, // → trust-root:sync-keys
    bindFingerprint, // → trust-root:bind-fingerprint
    fetchBootStatus, // → trust-root:get-boot-status
  },
});

关键文件

文件职责行数
src/main/ukey/trust-root-manager.js信任根核心引擎~260
src/main/ukey/trust-root-ipc.jsIPC 处理器(5 个)~133
src/renderer/stores/trustRoot.tsPinia 状态管理~80
src/renderer/pages/security/TrustRootPage.vue信任根页面~83

测试覆盖率

✅ trust-root-manager.test.js          - 证明链/指纹/密钥同步测试
✅ stores/trustRoot.test.ts            - Store 状态管理测试
✅ e2e/security/trust-root.e2e.test.ts - 端到端用户流程测试

相关文档

基于 MIT 许可发布