# 安全机制汇总

## 通信安全

| 场景 | 安全机制 | 参数 |
|------|----------|------|
| Center ↔ Watchdog | Tier-One TOTP + AES-GCM | 8位码, 30分钟有效期, SHA256 |
| Watchdog ↔ Agent | Tier-Two TOTP | 6位码, 30秒有效期, SHA1 |
| Watchdog ↔ Node | Tier-Two TOTP复用 | 内网HTTP + TOTP认证 |
| HTTP备用接口 | 复用Tier-Two TOTP密钥 | 需要TOTP认证 |
| 消息传输 | TLS加密 | MQTT over TLS |
| 敏感数据 | AES-256-GCM加密 | 授权码、密钥等 |

## 身份认证

| 机制 | 说明 |
|------|------|
| 主机信息 | 硬件指纹绑定: MachineID+CPU+Memory+Serial |
| 双向TOTP验证 | 请求方发送TOTP，响应方返回新TOTP |
| 挑战应答 | 32位随机挑战码确保通信双方身份 |

## 授权保护

| 机制 | 说明 |
|------|------|
| 死手系统 | 心跳失败自毁，连续12次失败触发SIGTERM |
| 授权时间校验 | 检测时间篡改，timeOffset异常触发降级 |
| 授权撤销 | 支持远程撤销项目授权 |

## 密钥传输原则

- tier_one_secret 和 tier_two_secret 在 project-management 创建项目时生成
- 密钥通过项目配置文件离线部署到 Watchdog
- **禁止通过公网MQTT传输密钥**

## 操作审计

| 操作类型 | 审计要求 |
|----------|----------|
| K8S操作 | 记录command_id, action, 执行结果 |
| 主机命令 | 记录script, args, exit_code |
| 授权变更 | 记录授权/撤销时间、操作人 |
| 数据导出 | 需签名+TOTP校验，写审计日志 |
