Prϵϵmpt: Sanitizing Sensitive Prompts for LLMs (2025)
论文重点
本文提出了一种名为 Prεεmpt 的提示词清洗系统,用于在用户将提示词提交给不可信的大语言模型(LLM)API之前,对其中包含的敏感信息进行形式化的隐私保护。该系统将敏感词元分为两类------格式依赖型(如SSN、信用卡号)采用格式保持加密(FPE) ,数值依赖型(如年龄、薪资)采用度量本地差分隐私(mLDP)------在提供严格隐私保证的同时保持高响应质量,并在翻译、RAG、长文本问答和多轮金融问答等任务中验证了其实用性。
核心研究内容
问题定义
LLM推理阶段存在严重的隐私风险:用户可能在提示词中不经意地泄露个人身份信息(如SSN、信用卡号)、健康信息或财务信息。与训练数据记忆化风险不同,推理阶段的威胁主要来自模型所有者(即托管LLM的组织),而非其他API用户。现有的解决方案要么计算成本过高(如同态加密和安全多方计算,单次BERT推理超过16分钟),要么缺乏形式化的隐私保证。此外,训练阶段的隐私保护机制无法覆盖推理时提示词中携带的数据。
创新方法
Prεεmpt的核心创新在于提出了**提示词清洗器(Prompt Sanitizer)**的密码学形式化概念,并基于敏感词元的两种类型设计了差异化的保护策略:
-
第一类(Category I)------格式依赖型 :LLM的响应仅依赖于词元的格式而非具体值(如SSN、信用卡号、电话号码、IP地址等)。采用格式保持加密(FPE),确保密文与明文具有相同的格式(如16位信用卡号加密后仍为16位数字),使系统能够像处理明文一样处理密文。
-
第二类(Category II)------数值依赖型 :LLM的响应依赖于具体的数值本身(如年龄、薪资等)。采用度量本地差分隐私(mLDP),根据数值之间的距离提供差异化的隐私保护------相近的数值更难区分,而相距较远的数值则更容易区分。
研究成果
论文通过四项任务的实证评估验证了Prεεmpt的有效性:
- 翻译任务(德语→英语,GPT-4o):清洗后提示词的BLEU分数与未清洗提示词几乎相同。
- RAG任务:所有任务均达到100%的准确率。
- 长文本问答 :基于清洗后参考文本的响应与未清洗文本的相似度达到0.934,优于同期方法PAPILLON。
- 多轮金融问答:在多轮对话场景中也表现出色。
实际落地应用的可能性
Prεεmpt的设计具有高度的实用性和落地潜力:
- 本地部署:运行在用户的可信本地设备上,无需依赖云端服务。
- 无状态设计:不保留任何会话间的状态信息,符合GDPR和CCPA等法规的"被遗忘权"要求。
- 即插即用:可作为组织层面的应用程序,供所有员工使用,与现有LLM API无缝集成。
- 适用场景广泛:适用于金融机构、医疗机构、政府机构等对数据隐私有严格要求的场景。
技术细节
1. 提示词清洗器的形式化定义
论文将提示词清洗器(PS)定义为四元组 PS = ⟨S, Mτ, E, D⟩:
- Setup(S):生成密钥 K
- Type Annotator(Mτ):类型标注器,识别敏感词元及其类型
- Sanitization(E):清洗算法,对敏感词元进行加密或扰动
- Desanitization(D):去清洗算法,恢复响应中的敏感信息
工作流程为:类型标注 → 清洗 → 提交给LLM → 去清洗响应。
2. 格式保持加密(FPE)
FPE确保密文与明文具有相同的格式,包括长度、字符集和格式等属性。例如:
- SSN
055-46-6168→569-83-4469 - IP地址
76.217.83.75→97.381.64.35
FPE方案定义为三元组 E = ⟨GF, EF, DF⟩,其中加密和解密均为确定性多项式时间算法。
3. 度量本地差分隐私(mLDP)
对于数值型敏感词元,Prεεmpt采用mLDP机制。定义如下:
Pr M ( x ) ∈ O ≤ e ϵ ⋅ d ( x , x ′ ) ⋅ Pr M ( x ′ ) ∈ O \PrM(x) \\in O \leq e^{\epsilon \cdot d(x, x')} \cdot \PrM(x') \\in O PrM(x)∈O≤eϵ⋅d(x,x′)⋅PrM(x′)∈O
其中 d(·) 为距离度量(论文采用 ℓ₁ 距离),ϵ 为隐私预算。该机制保证:
- 输入值最可能映射到与其接近的值
- 距离越近的值,被映射的概率越高
4. 清洗算法伪代码
Algorithm 1: Prεεmpt 清洗
输入: ρ - 原始提示词; KU - 用户密钥; ε - 总隐私预算
输出: ˆρ - 清洗后的提示词
1: ρ′ = ⟨⟩
2: ρτ ← Mτ(ρ) // 使用NER进行类型标注
3: (ψ, t) ← MPre(ρ, ρτ) // 计算第二类词元数量t和辅助信息ψ
4: for (σ, τ) ∈ ρτ do
5: if (τ ≠ ⊥) then
6: if (τ == τI) then
7: ˆσ = EF(KU, Nτ, σ) // FPE加密
8: else
9: ˆσ = Mε(σ, ε/t, kτ) // mLDP扰动
10: end if
11: else
12: ˆσ = σ // 非敏感词元保持不变
13: end if
14: ρ′.append(ˆσ)
15: end for
16: ˆρ ← MPost(ρ′, ψ) // 后处理,强制执行功能依赖
17: return ˆρ
Algorithm 2: Prεεmpt 去清洗
输入: ˆυ - 清洗后的响应; KU - 用户密钥
输出: υ - 去清洗后的响应
1: υ = ⟨⟩
2: ˆυτ ← Mτ(ˆυ) // 使用NER进行类型标注
3: for (σ, τ) ∈ ˆυτ do
4: if (τ == τI) then
5: σ = DF(KU, Nτ, σ) // FPE解密
6: else
7: σ = ˆσ // mLDP扰动无法完全恢复
8: end if
9: υ.append(σ)
10: end for
11: return υ
5. 隐私保证的形式化定义
论文设计了隐私博弈 G^PS,L_pp 来形式化刻画隐私保证。 adversary 被限制选择具有相同泄露函数 L 的两个提示词,然后尝试区分它们的清洗后版本。adversary 的优势定义为:
Adv p p P S , L ( A ) = 2 Pr G p p P S , L ( A ) = 1 − 1 \text{Adv}^{PS,L}_{pp}(A) = 2\PrG\^{PS,L}_{pp}(A) = 1 - 1 AdvppPS,L(A)=2PrGppPS,L(A)=1−1
泄露函数 L 捕获了清洗后提示词中泄露的所有信息,其具体定义依赖于底层的清洗算法。
研究设定
威胁模型
- 信任边界 :Prεεmpt运行在用户的可信本地设备上
- ** adversary**:LLM是不可信的第三方应用,代表潜在的 adversary
- 敏感词元范围 :仅保护可从单个词元中独立推导的敏感信息(如SSN、信用卡号、年龄、薪资等),不涉及需要上下文语义才能判断的隐私风险
- 会话模型:每次交互构成独立会话,Prεεmpt不保留任何跨会话的状态
设计目标
- 形式化隐私保证:提供可量化的隐私保障
- 高实用性:清洗后提示词的响应应与原始提示词接近
- 无状态:不保留任何会话间状态信息,符合GDPR/CCPA等法规
配置参数
- 密钥 KU:用户在注册时通过安全参数 κ 生成
- 隐私预算 ε:用户指定,作为每次清洗会话的隐私预算
- 数据域:为每种敏感词元类型初始化数据域(FPE的格式)
综合分析
Prεεmpt在隐私保护LLM推理领域做出了重要贡献,其核心价值体现在以下几个方面:
第一,填补了形式化隐私保证的空白 。据论文所述,Prεεmpt是首个具有形式化隐私保证的提示词清洗器。它将密码学中成熟的游戏定义引入了提示词隐私保护领域,为后续研究提供了可参考的形式化框架。
第二,差异化的保护策略体现了对LLM特性的深刻理解。论文敏锐地观察到,不同类型的敏感信息对LLM响应的影响机制不同:格式信息(如SSN的结构)和数值信息(如年龄的大小)在语义上扮演着完全不同的角色。FPE和mLDP的分别使用,既保证了隐私又最大限度地保留了实用性------这是"一刀切"方案(如完全删除或同态加密)无法实现的。
第三,实用性导向的设计理念。无状态设计、本地部署、无需修改LLM API等特点,使Prεεmpt具备了真正的落地可能性。论文明确指出,Prεεmpt不是学术象牙塔中的构想,而是可以在组织层面直接部署的实用工具。
第四,坦诚的局限性声明。论文明确将"需要上下文语义才能判断的隐私风险"留作未来工作。这种诚实的边界界定反而增强了研究的可信度。
当然,Prεεmpt也存在一些值得关注的局限:mLDP扰动的第二类词元无法完全去清洗(论文默认将其保留为扰动后的值);类型标注器(NER)的准确性直接影响系统效果;对于依赖上下文语义的隐私风险(如通过整段提示词推断用户心理健康状态)尚无法覆盖。
实践应用
适用场景
- 金融领域:处理包含账号、交易金额、薪资等敏感信息的查询
- 医疗健康:保护患者年龄、医疗记录编号等标识信息
- 企业内部:员工使用LLM时防止泄露客户信息、商业机密
- 个人用户:在使用公共LLM服务时保护个人身份信息
部署建议
- 注册阶段:为每个用户生成唯一的FPE密钥,并让用户根据隐私需求设定 ε 值
- 类型配置:根据业务场景预先定义敏感词元类型及其数据域(格式)
- 功能依赖:对于存在关联的敏感词元(如"年龄"和"出生年份"),通过辅助信息 Ψ 强制执行功能依赖以保持实用性
- 隐私预算管理:建议从较大的 ε 值开始,根据实际效果逐步调低
注意事项
- 第二类词元(如年龄、薪资)经mLDP扰动后无法完全恢复,适用于对精确值要求不高的场景
- 类型标注的准确性直接影响系统效果,建议针对特定领域微调NER模型
- 当前版本不适用于需要依赖上下文语义才能判断的隐私风险场景
- 对于需要精确数值的场景(如"我的年龄是25岁,请推荐适合的保险产品"),建议评估mLDP扰动对响应质量的实际影响
参考资料
- 原始论文:Prεεmpt: Sanitizing Sensitive Prompts for LLMs (arXiv:2504.05147)
- PDF版本:https://arxiv.org/pdf/2504.05147
- HTML版本:https://arxiv.org/html/2504.05147v2