foren.dev

ForenKey 物理密钥

ForenKey 是一个独立的硬件密钥系统,与 License 无关,专门用于取证员的强身份认证。

它和 License 完全是两回事

系统用途谁用
---------
License"你能用什么取证软件、可以用多久"取证软件(CoForen)
ForenKey"你是谁、能不能进入系统"取证员本人

简单记:License = 软凭证;ForenKey = 硬凭证。

什么是 ForenKey?

ForenKey 是一支 USB 形态的物理设备,内置:

  • 安全芯片
  • SM2 密钥对(公钥 + 私钥)
  • 唯一设备序列号
  • 固件版本

取证员把 ForenKey 插到电脑,用它登录取证系统、签名证据报告、做关键操作的身份认证。

关键特性

  • 硬件级安全:私钥永不离开芯片,无法提取
  • SM2 国密算法:符合中国密码行业标准
  • 挑战-响应:每次登录都需要现场签名
  • 设备绑定:可以绑定到具体取证员 + 具体实验室
  • PIN 保护:连续错误锁定

典型场景

  • 取证员登录取证系统(替代密码)
  • 签名证据报告(不可否认)
  • 关键操作二次确认(删除数据、导出报告)
  • 跨设备访问(用自己的 USB 登录任何工作站)

工作流程

   浏览器/取证软件                  ForenKey 服务器                物理密钥
        │                                │                          │
        │  POST /api/login/challenge ──▶│                          │
        │                                │                          │
        │  ◀─── {nonce, server_id} ─────│                          │
        │                                │                          │
        │  (浏览器提示插入 ForenKey)                              ─────▶
        │                                │                          │
        │  (用户在 key 上按指纹/输入 PIN)                          │
        │                                │                          │
        │  (key 用私钥签名 nonce)                                ─────▶
        │                                │                          │
        │  POST /api/login/verify ──────▶│                          │
        │      {nonce, signature}        │                          │
        │                                │  验证签名                  │
        │                                │                          │
        │  ◀───── 200 OK, session ───────│                          │

API 概览

所有 ForenKey API 在 /forenkey/api/ 下(注意不是 /license/api/)。

公共端点

端点用途
------
GET /forenkey/health服务器健康
GET /forenkey/backend/public-key后端公钥

设备管理(需授权)

端点用途
------
POST /forenkey/api/assets/register注册新设备
GET /forenkey/api/assets列出已注册设备
POST /forenkey/api/bindings绑定设备到用户

登录流程(需授权)

端点用途
------
POST /forenkey/api/login/challenge获取登录挑战
POST /forenkey/api/login/verify验证签名并颁发 session

密钥管理(需授权)

端点用途
------
POST /forenkey/api/keys/register注册新密钥
POST /forenkey/api/keys/revoke吊销密钥
POST /forenkey/api/keys/pin设置/修改 PIN

人员与授权(需授权)

端点用途
------
GET /forenkey/api/people列出取证员
POST /forenkey/api/people添加取证员
GET /forenkey/api/key-owners查看设备归属

完整规范见 forenkey/index.php 顶部 docblock。

怎么使用 Admin UI

后台登录 → 侧边栏 ForenKey:

  • 设备列表:查看所有已注册 ForenKey
  • 人员列表:查看所有取证员账号
  • 绑定关系:查看设备 ↔ 取证员对应
  • 审计日志:查看登录、签名等操作记录

ForenKey 与 License 的关系

没有直接关系。

  • ForenKey 管"是谁"
  • License 管"能用什么"

但是 ForenKey 可作为 License 操作的认证手段 —— 例如用 ForenKey 签名才能签发新 License。

安全提示

  • 丢失 ForenKey:立刻联系管理员 Revoke
  • PIN 连续输错 3 次会锁定,需管理员重置
  • 不要把 ForenKey 借给别人使用
  • 拔出 ForenKey = 自动登出

下一步