AAAI 2025|Portcullis —— 面向第三方大型語言模型的可信隱私保護網關
在大模型浪潮的推動下,企業和個人的數據安全面臨前所未有的挑戰。抖音集團安全研究團隊推出Portcullis ——針對大模型的隱私保護網關,旨在為第三方大型語言模型(LLM)推理服務提供可控可信的隱私防護。該工作成果 《Portcullis : A Scalable and Verifiable Privacy Gateway for Third-Party LLM Inference》已被人工智能領域的頂級會議AAAI 2025以Oral報告的形式接收。本屆AAAI 2025共有12957篇有效投稿,錄用3032篇,錄取率為23.4%。其中Oral占比4.6%。
?
一、研究背景
大型語言模型(LLM)能夠在各種任務和查詢中提供高質量的響應。不是所有公司都擁有具備高性能和強大穩定性的LLM,因此第三方LLM常被用來增強其服務,如OpenAI的ChatGPT。然而,使用第三方LLM引入了顯著的隱私問題。比如,蘋果的智能云計算利用私有云計算來托管LLM,雖然提升了性能,但仍可能存在將敏感信息暴露給第三方LLM的風險。
為了解決LLM中的隱私問題,先前的研究開發了一些技術,如對預訓練的LLM進行微調,以處理加密的提示,從而在不重構底層模型的情況下保護隱私。此外,還使用了數據匿名化、差分隱私(DP)、安全多方計算(SMPC)和混合加密方法等技術來防止數據泄露。然而,這些方法需要對第三方LLM進行修改,這對于像OpenAI這樣的封閉源模型是不可能的。修改還可能影響它們的結果準確性。此外,這些方式增加了部署和操作的復雜性和開銷,導致首次生成令牌的時間和每個輸出令牌的時間增加。
在我們與清華大學聯合發表于AAAI 2025的論文《Portcullis : A Scalable and Verifiable Privacy Gateway for Third-Party LLM Inference》中,我們介紹了一種創新的可信的隱私保護網關,Portcullis 無需修改第三方大型語言模型(LLM),即可實現對敏感數據的保護。與以往的技術相比,Portcullis 特別解決了敏感信息識別的上下文依賴問題。例如,“Ronald Regan”是某app的使用者,對這個app來說是敏感信息,但是在指代Ronald Reagan Airport時,“Ronald Regan”這一名稱并不敏感。Portcullis允許用戶通過內置的命名實體識別(NER)插件添加額外的上下文信息,從而提高數據處理的精確性。這種方法極大增強了系統在處理上下文敏感信息時的靈活性和準確性。此外,Portcullis 結合了可信執行環境(TEE)技術,確保所有數據均在加密的內存中處理,并通過認證機制保障數據完整性。它對容器可能執行的操作進行嚴格的審查和認證,涵蓋了設備裝載/卸載、用戶輸入處理、與第三方LLM的接口交互及響應管理等,保證了網關本身不會泄露用戶信息。
二、Portcullis
Portcullis 的核心在于其雙層架構:基礎設施層和應用層。
- 在基礎設施層,Portcullis 利用可信執行環境(TEE)技術,尤其是Intel TDX技術,來生成認證報告,確保容器組的完整性和安全策略從啟動時就得到遵守。Portcullis 的認證機制嚴格驗證這些步驟的安全性和完整性,增強了系統的信任度和透明度。
- 此外,Portcullis 在應用層整合了高級的隱私控制組件,利用機器學習和模式匹配技術檢測數據中的敏感信息,并將其替換為占位符。Portcullis 在向用戶交付響應之前,能夠從被掩蓋的版本中恢復原始數據,確保數據恢復過程保持原始信息的完整性。這一處理方式使得Portcullis 在提供高效和精確的隱私保護的同時,還支持數據的安全存儲和恢復,有效地平衡了隱私保護和數據實用性之間的關系。
「應用層:」
如上圖所示, Portcullis 在處理用戶請求時,首先通過應用協助用戶生成自我介紹。應用根據之前收集的用戶上下文信息,生成包含可能敏感數據的原始文本(Raw Prompt)。這段文本隨后被發送到Portcullis 中,Portcullis 使用模式匹配和機器學習技術—包括「NER系統」, 和「敏感數據數據庫」—來識別并屏蔽敏感信息,例如姓名、電子郵件地址和居住地點,替換成「占位符」。
- 「隱私數據的分類:」 Portcullis 不僅關注常見的個人識別信息(PII),還擴展到其它關鍵敏感信息,如企業內部信息或政治數據。例如,“Ronald Regan”這一名字在不同的上下文中敏感性各異,Portcullis通過用戶標記的敏感數據數據庫來識別特定上下文中的相關內容,從而最小化誤報和漏報。
- 「模式匹配:」 Portcullis 使用正則表達式、內部NER、Presidio 和 BERT-NER等工具來有效識別和分類常見的敏感信息類型。通過緩存層加速處理過程,該緩存層能夠快速識別并處理先前遇到的敏感實體,克服了逐個令牌匹配的低效問題。
- 「數據屏蔽和恢復:」 一旦檢測到敏感信息,Portcullis 采用多種策略來替換敏感信息,保護隱私同時保持提示的上下文完整性。這包括使用非特定占位符進行代替(如用[NAME]或[ADDRESS]替換具體姓名或地址),以及偽名化和生成合成數據等手段。在LLM處理屏蔽后的提示并生成響應后,Portcullis通過一個加密的Redis集群恢復原始數據關聯,確保用戶接收到的響應恢復原始數據的完整性和準確性。
經過處理的文本(Masked Prompt)保留了原文的上下文結構,同時去除了敏感內容,這樣的文本被安全地送入第三方大型語言模型(如GPT-4或ChatGPT)進行處理,生成包含占位符的回答。Portcullis 最終通過其加密的Redis鍵值存儲系統將所有占位符恢復為原始敏感數據,以確保返回給用戶的最終結果(Restored Result)既保護了隱私又保持了信息的完整性和準確性。這種流程確保用戶在接收到最終生成的自我介紹時,能夠看到一個涵蓋原始個人信息的完整畫像,而不是被替換過的占位信息。
「基礎設施層:」
我們在Kubernetes環境中部署Portcullis,過程從Kubelet啟動并通過Containerd與Kata-runtime協作創建Pod和容器開始。此階段包括從容器鏡像庫中下載集成了隱私保護功能的Portcullis鏡像。在部署過程中,Image Agent和Attestation Agent承擔關鍵角色,負責執行安全策略審查和認證確認,以確保鏡像的安全性和完整性得到維護。所有敏感數據處理活動均在Trusted Execution Environment(TEE)虛擬機內完成,該環境提供了隔離的執行空間,從而加強了數據的安全防護。系統的依賴方將審核這些安全策略和認證結果,以驗證所有操作均符合既定的安全標準。
在Portcullis的設計中,專門考慮了傳統云基礎設施在支持大型模型時的三個主要安全風險。這些風險包括:1. 虛擬化平臺的漏洞被攻擊者利用,從而從虛擬機(VM)逃逸,控制宿主機并可能危及其他VM。2. 云服務提供商(CSP)管理容器資源(如掛載卷)的能力被濫用,他們可能通過這種控制來操縱數據,替換為受損版本,訪問敏感信息或注入惡意代碼。3. 容器內運行的軟件的漏洞,例如SQL注入或XSS,可能成為敏感數據泄露的點。單獨保護容器是不夠的;需要綜合的安全措施來同時應對基礎設施和應用層面的漏洞。
Portcullis 通過以下方式解決了這些問題:
- 「增強數據保密性」:Portcullis 通過加密內存處理所有數據,并通過認證確保數據完整性。
- 「容器驗證與監控」:Portcullis 只允許經過驗證的容器執行,持續監控任何可能影響部署或損害遠程認證完整性的篡改行為。如上圖所示,Portcullis 確保容器根文件系統對CSP威脅安全。Portcullis 實施了租戶定義的執行策略,規定了Portcullis 代理可以執行的操作,包括裝載/卸載設備、處理用戶輸入、與第三方LLM接口以及管理響應。所有操作都以可驗證的方式報告。
- 「軟件漏洞防護」:為了防范SQL注入或XSS等常見威脅,Portcullis 集成了Bandit,這是一個為Python代碼庫量身定制的靜態分析工具。Bandit構建了一個抽象語法樹(AST),并使用一系列安全插件徹底檢查AST,有效識別并處理包括SQL注入和硬編碼密碼等78種安全問題。
通過這些措施,Portcullis 不僅保證了操作的安全性和可信性,也確保了在應用生命周期內政策的完整性和可驗證性,為用戶提供了一個既安全又高效的隱私保護解決方案。
三、實驗結果
?
「實驗環境:」 我們使用Intel? Xeon? Scalable Processor (Sapphire Rapids),使用Kubernetes v1.28.2、QEMU 8.1.4、Debian 12 和 Linux版本 5.15.120 進行實驗。Portcullis 與其他隱私保護方案,如Hide and Seek和Infer-DPT進行了對比測試。實驗考察了Portcullis 在處理數據隱私、系統延時和擴展性方面的表現,還測試了其在識別和處理敏感信息方面的效率和準確性。通過這些對比,Portcullis 展現了其在隱私保護和數據處理效率方面的顯著優勢,尤其是在保持響應準確性和處理速度方面超越了現有解決方案。
?
- 「啟動延時和可擴展性」
Portcullis 在多實例并發啟動時展現出了良好的可擴展性。實驗中,從1個到24個容器實例的啟動延時呈線性增長,這證明了Portcullis 在處理大規模部署時的效率和穩定性。
- 「運行時延時」
在運行時性能測試中,Portcullis 在數據掩碼和LLM處理中的總延時非常低,平均增加的處理時間僅為1.33%。這說明Portcullis 的數據處理和脫敏機制對于LLM的響應時間影響極小,能夠在保護隱私的同時,維持高效的查詢響應速度。
- 「隱私數據識別和掩碼的有效性」
在PII數據集上的測試顯示,Portcullis 在識別和掩碼處理敏感信息方面表現出色,其錯誤正面率(False Positive Rate)和錯誤反面率(False Negative Rate)都優于現有的隱私保護方案。尤其是在復雜的數據掩碼配置中,Portcullis 的性能超過了競爭方案,如Hide and Seek,其全匹配命中率顯著提高。
- 「響應精度」
通過計算cosine相似度來評估響應的準確性,Portcullis 在處理掩碼后的提示請求時,能夠保持與原始數據相似的高質量LLM響應。在不同的數據集和模型測試中,Portcullis 所生成的LLM響應與未經掩碼的原始響應在語義上保持高度一致,證明了其在保護隱私的同時,不犧牲響應的質量和準確性。
四、總結與展望
「敏感詞識別——LLM 時代下數據安全的關鍵挑戰:」 在高速發展的 LLM 系統中,所有交互和處理都基于自然語言(提示詞),使得文本成為這一時代最核心的數據要素。然而,并非所有文本都涉及隱私或安全問題,因此,在海量數據中精準識別真正的“敏感信息”已成為 LLM 時代的重要挑戰。Portcullis 在這一問題上突破了傳統技術的局限,特別針對數據敏感性識別的上下文依賴性提出了解決方案。此外,Portcullis 允許用戶通過內置的命名實體識別(NER)插件引入額外的上下文信息,從而顯著提升識別的精確性和靈活性,并為 LLM 系統的未來安全機制提供了重要的技術思路。
「高安全可信執行與加密數據處理:」 Portcullis借助抖音集團安全研究團隊的 Jeddak PCC (Private Cloud Compute)能力,不僅確保所有數據在加密的內存中安全處理,還通過認證機制加強了數據完整性的保護。它對容器可能執行的操作進行嚴格的審查和認證,包括設備裝載/卸載、用戶輸入處理、與第三方LLM的接口交互及響應管理等,確保了整個操作過程的可信性和安全性。保證了 Portcullis 本身不會泄露用戶信息。
「輕量高效——LLM時代下安全設計的必備準則:」 當前 LLM 推理服務需要面臨極高的性能要求和處理多樣化請求的需求,因此,任何附加的安全機制都必須在盡可能避免影響推理效率的基礎上確保安全性,否則將嚴重削弱系統的可用性。Portcullis 支持智能適配不同類型隱私保護策略,并將計算開銷降至最低,從而確保在強化安全防護的同時,不影響 LLM 服務的流暢運行,也便于集成到其他現有系統中。
「未來展望:」 隨著技術的進一步發展和市場需求的不斷擴大,Portcullis 有望成為推動企業安全應用創新的關鍵技術。未來,我們計劃繼續優化Portcullis 的性能,擴展其功能,以適應更多復雜的應用場景和數據類型,以實現更全面, 更可信的數據安全和隱私保護解決方案。