数据隐私不是"加个加密"就完事的事,而是从数据收集、传输、处理、存储到销毁的全生命周期保护,尤其在 LLM 场景下,Prompt 中的 PII 泄露是最容易被忽视的风险。
前置知识
核心概念
PII 的定义与分类
PII(Personally Identifiable Information,个人可识别信息)是数据隐私保护的核心对象。按照识别能力的强弱,可以分为三类:
1. 直接标识符(Direct Identifiers)
能单独识别到特定个人的信息:
2. 间接标识符(Indirect Identifiers)
单独使用时无法识别个人,但结合其他信息可能识别:
3. 准标识符(Quasi-Identifiers)
单条无法识别,但组合后可唯一确定个人。研究表明,87% 的美国人可以通过"出生日期 + 性别 + 邮编"三个字段唯一识别(Latanya Sweeney 研究):
PII 在 Prompt 中的处理
LLM 场景下,用户可能在 Prompt 中无意输入 PII。处理方式有三种:
脱敏(Masking)
用占位符替换敏感信息,原始数据不保留:
# 脱敏前prompt = "用户张三(身份证:110105199001011234,手机:13800138000)申请了 50 万房贷"# 脱敏后prompt = "用户 [NAME](身份证:[ID_CARD],手机:[PHONE])申请了 50 万房贷"
匿名化(Anonymization)
彻底删除 PII,不可恢复。适用于统计分析场景:
# 匿名化后prompt = "某用户申请了住房贷款,金额 50 万,年龄 34 岁"
假名化(Pseudonymization)
用可逆的哈希值替换,保留关联能力但隐藏真实身份:
import hashlibdef pseudonymize(value: str, salt: str) -> str: """假名化:相同值生成相同哈希,但不可直接反推""" return hashlib.sha256(f"{salt}{value}".encode()).hexdigest()[:16]name_hash = pseudonymize("张三", "project-salt-2024")# 输出: "a7b3c9d2e1f0..."
三种方法对比
法规要求对 AI 系统的具体要求
GDPR(欧盟通用数据保护条例)
中国个保法(PIPL)
数据安全法
数据出境问题
跨境传输风险
使用云 API(OpenAI / Anthropic / Google)时,用户数据会传输到境外服务器:
用户设备 → 企业服务器 → [跨境传输] → OpenAI/Anthropic API(美国) → 返回结果 ↑ 风险点:数据在境外服务器上处理,受当地法律管辖
主要风险:
解决方案
Prompt 缓存中的敏感数据泄露
KV Cache 中的 PII 残留
vLLM 等推理引擎使用 KV Cache 加速推理。如果缓存命中,之前的 Prompt 内容可能在缓存中残留:
场景:1. 用户 A 发送:"张三的信用卡余额是 50000 元,能否贷款?"2. KV Cache 缓存了此 Prompt 的 K/V 值3. 用户 B 发送相似结构的 Prompt4. 缓存命中,但极端情况下可能导致信息泄漏
防护措施:
Prompt 缓存(Redis/内存)加密
# Redis 中缓存的 Prompt 应加密存储import hashlibimport hmacfrom cryptography.fernet import Fernetclass SecurePromptCache: def __init__(self, encryption_key: bytes): self.fernet = Fernet(encryption_key) def store(self, cache_key: str, prompt: str): encrypted = self.fernet.encrypt(prompt.encode()) redis_client.setex(cache_key, 3600, encrypted) # 1小时过期 def retrieve(self, cache_key: str) -> str: encrypted = redis_client.get(cache_key) if encrypted: return self.fernet.decrypt(encrypted).decode() return ""
部署视角
数据分级 + 加密存储方案
热数据(内存)
温数据(Redis)
冷数据(磁盘)
面试视角
满分回答:设计一个金融场景的隐私合规方案
面试官问题:"我们准备上线一个 AI 信贷审批系统,请设计完整的隐私合规方案。"
满分回答框架:
第一步:数据分类分级
"首先对涉及的数据进行分类分级。信贷场景涉及的数据包括:
不同级别采用不同的保护策略。"
第二步:处理链路设计
"用户提交申请后,数据流如下:
第三步:合规保障
"合规方面:
第四步:应急响应
"如果有数据泄露:
最佳实践