2024年11月,人工智能公司Anthropic(Claude)推出了開源協(xié)議Model Context Protocol(MCP),旨在為AI模型與外部數(shù)據(jù)源和服務(wù)之間的集成提供標準化接口。MCP基于客戶端-服務(wù)器模型,支持雙向交互,并提供本地或遠程資源的訪問能力。在數(shù)據(jù)安全方面,MCP采取了一系列措施,如資源控制與數(shù)據(jù)安全、數(shù)據(jù)隱私保護、用戶同意與控制、安全通信與訪問控制以及審計與透明性等。這些特性不僅增強了數(shù)據(jù)使用的安全性,還促進了數(shù)據(jù)安全和隱私保護的發(fā)展。MCP與現(xiàn)有的隱私計算技術(shù)互為補充,共同推動了數(shù)據(jù)安全領(lǐng)域的進步。
大模型與數(shù)據(jù)安全技術(shù)回顧
大模型與數(shù)據(jù)安全是當前人工智能領(lǐng)域的關(guān)鍵議題。隨著大模型能力的持續(xù)突破(如GPT-4、Sora、DeepSeek等),其數(shù)據(jù)安全風險日益復(fù)雜嚴峻。
如何在保護模型擁有方和數(shù)據(jù)擁有方數(shù)據(jù)安全前提下進行大模型訓(xùn)練及推理,一直是難點和熱點問題。
現(xiàn)有的技術(shù)手段包括:聯(lián)邦學(xué)習(見上圖)、同態(tài)加密、多方安全計算(MPC)等隱私計算方式、可信執(zhí)行環(huán)境(TEE)等數(shù)據(jù)沙箱技術(shù)、模型水印、差分隱私等模型保護技術(shù)、隱私推理、動態(tài)脫敏等安全推理技術(shù)。
MCP協(xié)議架構(gòu)及關(guān)鍵技術(shù)
MCP簡介
2024年11月人工智能公司Claude(Anthropic)推出了開源協(xié)議Model Context Protocol(MCP),旨在AI模型與外部數(shù)據(jù)源及服務(wù)之間的集成提供標準化接口。
它通過定義統(tǒng)一的通信協(xié)議和架構(gòu),類似于傳統(tǒng)互聯(lián)網(wǎng)的TCP/IP 協(xié)議,使得 AI系統(tǒng)能夠無縫地與多種數(shù)據(jù)源(包括本地資源如文件、數(shù)據(jù)庫,以及遠程資源如 API)進行交互,從而擴展AI的應(yīng)用范圍和提高其效率,解決傳統(tǒng)開發(fā)中數(shù)據(jù)源對接繁瑣、重復(fù)開發(fā)的問題,使AI系統(tǒng)能夠更高效地訪問和利用多源數(shù)據(jù),從而提升模型的上下文感知能力和任務(wù)協(xié)作效率。
Claude 發(fā)布了 MCP 后,官方的 Claude Desktop 就開放了 MCP 功能,并且推動了開源組織 Model Context Protocol.io,并得到了眾多公司和社區(qū)參與與支持,包括文件系統(tǒng)、AWS、K8S、Git、Github、PostgreSQL、JetBrains 、GoogleCalendar/Map/Drive、YouTube 、X等。
MCP架構(gòu)
MCP基于客戶端-服務(wù)器模型,共分五個部分:
MCP Hosts: 是指 LLM 啟動連接的應(yīng)用程序,像 Cursor, Claude Desktop、Cline 這樣的應(yīng)用程序。
MCP Clients: 是用來在 Hosts 應(yīng)用程序內(nèi)維護與 Server 之間 1:1 連接的協(xié)議代理。
MCP Servers: 通過標準化的協(xié)議,實現(xiàn)了 Client 客戶端端與Servers服務(wù)端雙向交互,提供本地或遠程資源的訪問能力(如數(shù)據(jù)庫查詢、API調(diào)用),并可以通過MCP客戶端調(diào)用大模型相關(guān)能力,具體包括:
(1)客戶端調(diào)用服務(wù)端能力:資源(Resources)、工具(Tools)、提示模板(Prompts):服務(wù)端通過這三類標準化接口暴露本地及遠程數(shù)據(jù)(文件、數(shù)據(jù)庫和 API等數(shù)據(jù)資源)、功能(可執(zhí)行函數(shù))與交互模板。
(2)服務(wù)端調(diào)用客戶端能力:采樣(Sampling)能力:服務(wù)端通過客戶端請求大型語言模型(LLM)進行補全(completions)或生成(generations),以及遞歸嵌套交互,使得服務(wù)器能夠在保持安全性和隱私性的同時,實現(xiàn)復(fù)雜任務(wù)的自動化。
MCP關(guān)鍵技術(shù)
(1)MCP工作流程包括以下步驟:
初始化:主機應(yīng)用程序啟動并初始化客戶端,每個客戶端與一個服務(wù)器建立連接。
功能協(xié)商:客戶端和服務(wù)器之間進行功能協(xié)商,確定它們可以相互提供哪些功能和服務(wù)。
請求處理:客戶端根據(jù)用戶請求或AI模型的需要,向服務(wù)器發(fā)送請求。服務(wù)器處理這些請求,并可能與本地或遠程資源進行交互。
響應(yīng)返回:服務(wù)器將處理結(jié)果返回給客戶端,客戶端再將信息傳遞回主機應(yīng)用程序。
(2)MCP通信機制:
MCP通信遵循客戶端-服務(wù)器架構(gòu),即MCP Clients與MCP Servers之間建立一對一的連接。這種設(shè)計允許MCP Hosts(如AI應(yīng)用程序)通過MCP Clients與一個或多個MCP Servers進行通信,以獲取數(shù)據(jù)和執(zhí)行任務(wù)。
MCP支持兩種類型的通信機制:
標準輸入輸出(Stdio):適用于本地進程間通信,其中Client啟動Server程序作為子進程,消息通訊通過stdin/stdout進行,消息格式為JSON-RPC 2.0。
服務(wù)器發(fā)送事件(SSE):用于基于HTTP的通信,允許服務(wù)器向客戶端推送消息,而客戶端到服務(wù)器的消息傳遞則使用HTTP POST,同樣采用JSON-RPC 2.0格式進行消息交換。
所有傳輸都使用JSON-RPC 2.0進行消息交換,這為MCP Clients和MCP Servers之間的通信提供了統(tǒng)一的消息格式。至于連接類型,MCP沒有明確指出是長連接還是短連接,但考慮到其基于JSON-RPC 2.0的特性,它更可能支持長連接,以便保持客戶端和服務(wù)器之間的持久交互狀態(tài)。
(3)MCP通信協(xié)議:
MCP通信協(xié)議可以是TCP或UDP,這取決于具體的實現(xiàn)和部署需求。
例如,如果MCP服務(wù)器和客戶端在同一臺機器上運行,可能會使用UDP。如果它們分布在不同的機器上,或者需要跨越網(wǎng)絡(luò)邊界,那么TCP可能是更好的選擇,因為它提供了更可靠的傳輸保證。然而,MCP的設(shè)計允許它適應(yīng)不同的網(wǎng)絡(luò)環(huán)境和通信需求。
MCP數(shù)據(jù)安全淺析
通過MCP架構(gòu)及關(guān)鍵技術(shù),可以看到MCP中保障數(shù)據(jù)與模型安全的方法包括:
1.資源控制與數(shù)據(jù)安全:通過本地服務(wù)器與數(shù)據(jù)源的連接,MCP避免了將敏感數(shù)據(jù)上傳到第三方平臺,。服務(wù)器控制自己的資源,無需將敏感信息(如API密鑰)提供給LLM提供商,最大限度地保障了數(shù)據(jù)隱私。
2.數(shù)據(jù)隱私保護:MCP通過標準化的數(shù)據(jù)訪問接口減少直接接觸敏感數(shù)據(jù)的環(huán)節(jié),降低數(shù)據(jù)泄露風險。主機在向服務(wù)器公開用戶數(shù)據(jù)前需獲得用戶明確同意,且不得未經(jīng)同意傳輸資源數(shù)據(jù)。
3.用戶同意與控制:在調(diào)用任何工具或進行LLM采樣之前,用戶必須明確批準,且協(xié)議限制了服務(wù)器對提示的可見性。這確保了用戶對數(shù)據(jù)使用的透明性和控制權(quán)。
4.安全通信與訪問控制:MCP支持雙向安全通信,采用加密算法確保數(shù)據(jù)在傳輸過程中的安全性。同時,MCP內(nèi)置訪問控制機制,確保只有經(jīng)過驗證的請求才能訪問特定資源。
因此,MCP和業(yè)界隱私計算等技術(shù)的核心目標都是在數(shù)據(jù)使用過程中保護隱私,確保數(shù)據(jù)“可用不可見”。MCP通過限制服務(wù)器對用戶數(shù)據(jù)的直接訪問,避免敏感信息泄露。隱私計算則通過聯(lián)邦學(xué)習算法、密碼學(xué)和硬件技術(shù)實現(xiàn)數(shù)據(jù)的安全共享。兩者在實際應(yīng)用中可以互補,共同推動數(shù)據(jù)安全和隱私保護的發(fā)展。
審稿:李征 | 業(yè)務(wù)研究所
本文作者:數(shù)聯(lián)網(wǎng)DSSN團隊·邢輝峰,就職于中國移動研究院,主要從事隱私計算、數(shù)字空間、數(shù)據(jù)基礎(chǔ)設(shè)施、大數(shù)據(jù)等領(lǐng)域研究工作。