Skip to content

PQC 全生态迁移

版本: v3.2.0 | 状态: ✅ 生产就绪 | 4 IPC Handlers | 1 数据库表 | ML-KEM/ML-DSA 后量子密码

ChainlessChain PQC Ecosystem 实现了全系统范围的后量子密码学迁移,覆盖 P2P、DID、存储、消息、认证、U-Key 六大子系统。支持 ML-KEM/ML-DSA 算法替换、SIMKey 固件 PQC 更新、混合到纯 PQC 迁移路径,以及按子系统的迁移进度追踪。

核心特性

  • 🔄 全子系统迁移: P2P/DID/存储/消息/认证/U-Key 六大子系统逐一迁移
  • 🔐 ML-KEM/ML-DSA 替换: 从 RSA-2048 全面迁移到后量子安全算法
  • 📱 固件 PQC 更新: SIMKey 固件级别的后量子密码学升级
  • 📊 迁移进度追踪: 按子系统独立追踪迁移覆盖率和完成状态
  • 迁移验证: 一键验证全系统 PQC 迁移完整性

系统架构

┌─────────────────────────────────────────┐
│          PQC Ecosystem Manager           │
│         (全子系统迁移引擎)               │
└────────────────┬────────────────────────┘

    ┌────────────▼────────────┐
    │     迁移调度器           │
    │  (子系统独立追踪)        │
    └──┬──┬──┬──┬──┬──┬───────┘
       │  │  │  │  │  │
       ▼  ▼  ▼  ▼  ▼  ▼
    ┌────┐┌────┐┌────┐┌────┐┌────┐┌────┐
    │P2P ││DID ││存储 ││消息 ││认证 ││U-Key│
    │KEM ││DSA ││KEM ││KEM ││DSA ││KEM │
    └────┘└────┘└────┘└────┘└────┘└────┘
       │                           │
       ▼                           ▼
┌──────────────┐          ┌──────────────┐
│ RSA→ML-KEM   │          │ SIMKey 固件   │
│ RSA→ML-DSA   │          │ PQC 升级      │
│ (算法替换)   │          │ (硬件级)      │
└──────────────┘          └──────────────┘


┌──────────────┐
│ 迁移验证器   │
│ (100%覆盖率) │
└──────────────┘

支持的子系统

子系统说明迁移算法
p2pP2P 通信加密ML-KEM-768
didDID 身份签名ML-DSA-65
storage存储加密ML-KEM-768
messaging消息端对端加密ML-KEM-768
auth认证签名ML-DSA-65
ukey硬件密钥ML-KEM-768

查询迁移覆盖率

javascript
const result = await window.electron.ipcRenderer.invoke(
  "pqc-ecosystem:get-coverage",
);
// result.coverage = {
//   p2p: { total: 5, completed: 3, percentage: 60 },
//   did: { total: 3, completed: 3, percentage: 100 },
//   storage: { total: 4, completed: 0, percentage: 0 },
//   ...
// }

迁移子系统

javascript
const result = await window.electron.ipcRenderer.invoke(
  "pqc-ecosystem:migrate-subsystem",
  {
    subsystem: "p2p",
    algorithm: "ML-KEM-768",
  },
);
// result.migration = {
//   id: "uuid",
//   subsystem: "p2p",
//   algorithm: "ML-KEM-768",
//   from_algorithm: "RSA-2048",
//   status: "completed",
//   progress: 100,
//   keys_migrated: 10,
//   keys_total: 10,
// }

更新固件 PQC

javascript
const result = await window.electron.ipcRenderer.invoke(
  "pqc-ecosystem:update-firmware-pqc",
  "2.0.0",
);
// result.result = { firmwareVersion: "2.0.0", pqcEnabled: true, algorithm: "ML-DSA-65" }

验证完整迁移

javascript
const result = await window.electron.ipcRenderer.invoke(
  "pqc-ecosystem:verify-migration",
);
// result = { verified: true, coverage: {...}, verifiedAt: 1709123456789 }

IPC 接口完整列表

PQC Ecosystem 操作(4 个)

通道功能说明
pqc-ecosystem:get-coverage查询迁移覆盖率按子系统统计迁移进度
pqc-ecosystem:migrate-subsystem迁移指定子系统RSA → ML-KEM/ML-DSA
pqc-ecosystem:update-firmware-pqc更新固件 PQCSIMKey 固件 PQC 升级
pqc-ecosystem:verify-migration验证完整迁移检查所有子系统是否 100% 完成

数据库 Schema

1 张核心表:

pqc_subsystem_migrations 表

sql
CREATE TABLE IF NOT EXISTS pqc_subsystem_migrations (
  id TEXT PRIMARY KEY,
  subsystem TEXT NOT NULL,               -- p2p | did | storage | messaging | auth | ukey
  algorithm TEXT NOT NULL,               -- ML-KEM-768 | ML-DSA-65
  from_algorithm TEXT,                   -- RSA-2048
  status TEXT DEFAULT 'pending',         -- pending | in_progress | completed | failed
  progress REAL DEFAULT 0,              -- 0-100 百分比
  keys_migrated INTEGER DEFAULT 0,
  keys_total INTEGER DEFAULT 0,
  error TEXT,
  started_at INTEGER,
  completed_at INTEGER,
  created_at INTEGER DEFAULT (strftime('%s','now') * 1000)
);
CREATE INDEX IF NOT EXISTS idx_pqc_sub_migrations_status ON pqc_subsystem_migrations(status);
CREATE INDEX IF NOT EXISTS idx_pqc_sub_migrations_subsystem ON pqc_subsystem_migrations(subsystem);

前端集成

PQCEcosystemPage 页面

功能模块:

  • 覆盖率面板: 按子系统展示迁移进度条(Ant Design Progress)
  • 迁移操作: 选择子系统并执行迁移
  • 验证按钮: 一键验证全系统 PQC 迁移
  • 错误提示: Alert 组件展示错误信息

Pinia Store (pqcEcosystem.ts)

typescript
const usePQCEcosystemStore = defineStore("pqcEcosystem", {
  state: () => ({
    coverage: null,
    loading: false,
    error: null,
  }),
  actions: {
    fetchCoverage, // → pqc-ecosystem:get-coverage
    migrateSubsystem, // → pqc-ecosystem:migrate-subsystem
    updateFirmwarePQC, // → pqc-ecosystem:update-firmware-pqc
    verifyMigration, // → pqc-ecosystem:verify-migration
  },
});

关键文件

文件职责行数
src/main/ukey/pqc-ecosystem-manager.jsPQC 迁移核心引擎~184
src/main/ukey/pqc-ecosystem-ipc.jsIPC 处理器(4 个)~117
src/renderer/stores/pqcEcosystem.tsPinia 状态管理~80
src/renderer/pages/security/PQCEcosystemPage.vuePQC 迁移页面~80

测试覆盖率

✅ pqc-ecosystem-manager.test.js         - 迁移/覆盖率/固件/验证测试
✅ stores/pqcEcosystem.test.ts           - Store 状态管理测试
✅ e2e/security/pqc-ecosystem.e2e.test.ts - 端到端用户流程测试

相关文档

基于 MIT 许可发布