数据安全与合规
问题
AI 项目中如何保护用户隐私和数据安全?如何满足合规要求?
答案
一、AI 数据安全挑战
| 风险 | 说明 | 影响 |
|---|---|---|
| 数据泄露 | 用户输入可能含敏感信息 | 隐私法律风险 |
| 模型记忆 | LLM 可能记住训练数据中的 PII | 数据泄露 |
| 第三方 API | 数据传输到外部服务 | 数据出境 |
| 日志留存 | 对话日志包含敏感内容 | 审计风险 |
二、防护架构
三、核心安全措施
1. PII 检测与脱敏
// 输入侧:检测并脱敏 PII
function sanitizeInput(text: string): { sanitized: string; piiMap: Map<string, string> } {
const piiMap = new Map()
let sanitized = text
// 手机号脱敏
sanitized = sanitized.replace(
/1[3-9]\d{9}/g,
(match) => {
const placeholder = `[PHONE_${piiMap.size}]`
piiMap.set(placeholder, match)
return placeholder
}
)
// 邮箱脱敏
sanitized = sanitized.replace(
/[\w.-]+@[\w.-]+\.\w+/g,
(match) => {
const placeholder = `[EMAIL_${piiMap.size}]`
piiMap.set(placeholder, match)
return placeholder
}
)
return { sanitized, piiMap }
}
// 输出侧:还原 PII(如需要)
function restoreOutput(text: string, piiMap: Map<string, string>): string {
let restored = text
for (const [placeholder, original] of piiMap) {
restored = restored.replaceAll(placeholder, original)
}
return restored
}
2. 数据分级处理
| 数据级别 | 处理方式 | 示例 |
|---|---|---|
| 公开数据 | 可直接用 | 公司产品文档 |
| 内部数据 | 需脱敏后使用 | 内部运营数据 |
| 敏感数据 | 必须脱敏 + 本地部署 | 用户 PII |
| 高度机密 | 禁止输入 AI | 身份证号、银行卡号 |
3. 合规要点
| 法规 | 核心要求 |
|---|---|
| GDPR(欧盟) | 数据最小化、知情同意、被遗忘权 |
| CCPA(加州) | 透明告知、拒卖权 |
| 个人信息保护法(中国) | 合法正当必要、最小化、跨境评估 |
常见面试问题
Q1: 用户数据能否用于模型训练?
答案:
- 商用 API(OpenAI/Anthropic):API 调用数据默认不用于训练(需确认条款)
- 自建模型:需获得用户明确同意(Opt-in),不能默认收集
- 最佳实践:明确隐私政策、提供数据删除接口、日志定期清理
Q2: 如何防止模型"泄露"训练数据?
答案:
- 差分隐私训练:在训练过程中加噪声
- 输出过滤:检测输出中是否包含训练数据片段
- 成员推理防御:防止攻击者判断某条数据是否在训练集中
Q3: 数据出境要注意什么?
答案:
调用海外 API(如 OpenAI)意味着数据出境,需注意:
- 进行数据出境安全评估
- 敏感数据必须脱敏后传输
- 考虑使用国内替代方案(通义、文心等)
- 记录数据流转路径,备审计