核心思想
AI 安全没有“银弹”。真正有效的体系建立在少数几个经过验证的原则之上,并在每一层技术栈中落地。
1. CIA + 安全(Safety)
传统信息安全强调机密性(Confidentiality)、完整性(Integrity)、可用性(Availability)。AI 系统还需要增加 Safety:
- 输出不应伤害用户或社会:避免生成恶意代码、歧视性内容、危险指令。
- 行为可预期:Agent 即使在开放环境中也应受策略约束,不会无限放大权限。
- 人在回路(Human-in-the-Loop):高风险决策保留人工审批。
2. 最小权限(Least Privilege)
每个主体——人类用户、服务账号、Agent、模型、工具——只应拥有完成当前任务所需的最小权限。
- 人类用户:按角色隔离(RBAC)。
- Agent / 工具:按 capability 授权,避免“一个 Agent 能调用所有工具”。
- 模型:限制可访问的数据集、向量集合、外部 API。
- 工作负载:Service Account、Workload Identity、细粒度网络策略。
3. 纵深防御(Defense in Depth)
单一控制点失效是常态。AI 系统应在多个层面叠加防护:
text
用户输入 → WAF/网关 → 身份认证 → 授权决策 → 输入 Guardrail → 模型/Agent → 输出 Guardrail → 审计日志 → SIEM任何一层被绕过,下一层仍能降低损失。
4. 零信任(Zero Trust)
核心信条:永不信任,始终验证(NIST SP 800-207)。
- 不默认信任内网流量。
- 每次访问都基于身份、设备健康、上下文做动态授权。
- 微分段(Micro-segmentation)限制横向移动。
- 持续监测与假设 breach。
在 AI 场景中,零信任意味着:训练集群、模型仓库、推理服务、向量库、外部 API 之间的每一次调用都要验证身份与权限。
5. 安全左移(Shift Left)
把安全控制前置到设计、开发、训练阶段,而不是等到上线前扫描:
- 设计阶段:威胁建模(STRIDE、AI 专用威胁库)。
- 开发阶段:依赖扫描、密钥检测、Prompt 模板审计。
- 训练阶段:数据清洗、去标识化、后门/投毒检测。
- 部署阶段:模型签名、镜像签名、最小权限网络策略。
6. 非人类身份治理(Non-Human Identity)
AI 系统中有大量非人类主体:
| 主体类型 | 身份形式 | 管理要点 |
|---|---|---|
| 人类用户 | SSO / OIDC | MFA、会话过期、审计 |
| 服务账号 | API Key、OAuth Client | 短效凭证、自动轮换、最小权限 |
| 工作负载 | SPIFFE/SPIRE、mTLS | 运行时身份、pod 级认证 |
| Agent | Capability Token | 按任务授权、时间窗口限制 |
| 模型/工具 | Signed Identity | 来源验证、调用范围限制 |
7. 可审计与不可抵赖
所有关键操作都应记录:谁、在什么时间、以什么身份、调用了什么模型/工具/数据、得到了什么结果。
- 审计日志应 append-only、防篡改、可追踪。
- 决策记录:授权决策、Guardrail 拦截、人工审批都需留痕。
- 模型/数据血缘:训练数据、模型版本、部署配置的关系可追踪。
8. 安全与可用性的权衡
| 控制 | 收益 | 成本 |
|---|---|---|
| 强认证 + MFA | 降低账号接管 | 增加登录摩擦 |
| 输入/输出过滤 | 降低提示注入与有害内容 | 增加延迟、可能误判 |
| 细粒度授权 | 最小权限 | 策略复杂度、性能开销 |
| 零信任 mTLS | 防止横向移动 | 证书管理、调试复杂度 |
| 人类审批 | 高风险可控 | 降低自动化、增加人力 |
小结
AI 安全的核心不是“堵住所有漏洞”,而是在不确定的开放输入面前,通过身份、策略、分层控制与可审计性,把风险降到可接受水平。下一章将这些原则映射到具体的分层架构中。