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 = 自动登出
下一步
- ForenKey API 详细规范:
forenkey/index.php顶部 docblock(服务端注释) - Admin 文档 · ForenKey