2024年11月,人工智能公司Anthropic(Claude)推出了开源协议Model Context Protocol(MCP),旨在为AI模型与外部数据源和服务之间的集成提供标准化接口。MCP基于客户端-服务器模型,支持双向交互,并提供本地或远程资源的访问能力。在数据安全方面,MCP采取了一系列措施,如资源控制与数据安全、数据隐私保护、用户同意与控制、安全通信与访问控制以及审计与透明性等。这些特性不仅增强了数据使用的安全性,还促进了数据安全和隐私保护的发展。MCP与现有的隐私计算技术互为补充,共同推动了数据安全领域的进步。

大模型与数据安全技术回顾

大模型与数据安全是当前人工智能领域的关键议题。随着大模型能力的持续突破(如GPT-4、Sora、DeepSeek等),其数据安全风险日益复杂严峻。

如何在保护模型拥有方和数据拥有方数据安全前提下进行大模型训练及推理,一直是难点和热点问题。

现有的技术手段包括:联邦学习(见上图)、同态加密、多方安全计算(MPC)等隐私计算方式、可信执行环境(TEE)等数据沙箱技术、模型水印、差分隐私等模型保护技术、隐私推理、动态脱敏等安全推理技术。

MCP协议架构及关键技术

MCP简介

2024年11月人工智能公司Claude(Anthropic)推出了开源协议Model Context Protocol(MCP),旨在AI模型与外部数据源及服务之间的集成提供标准化接口。

它通过定义统一的通信协议和架构,类似于传统互联网的TCP/IP 协议,使得 AI系统能够无缝地与多种数据源(包括本地资源如文件、数据库,以及远程资源如 API)进行交互,从而扩展AI的应用范围和提高其效率,解决传统开发中数据源对接繁琐、重复开发的问题,使AI系统能够更高效地访问和利用多源数据,从而提升模型的上下文感知能力和任务协作效率。

Claude 发布了 MCP 后,官方的 Claude Desktop 就开放了 MCP 功能,并且推动了开源组织 Model Context Protocol.io,并得到了众多公司和社区参与与支持,包括文件系统、AWS、K8S、Git、Github、PostgreSQL、JetBrains 、GoogleCalendar/Map/Drive、YouTube 、X等。

MCP架构

MCP基于客户端-服务器模型,共分五个部分:

MCP Hosts: 是指 LLM 启动连接的应用程序,像 Cursor, Claude Desktop、Cline 这样的应用程序。

MCP Clients: 是用来在 Hosts 应用程序内维护与 Server 之间 1:1 连接的协议代理。

MCP Servers: 通过标准化的协议,实现了 Client 客户端端与Servers服务端双向交互,提供本地或远程资源的访问能力(如数据库查询、API调用),并可以通过MCP客户端调用大模型相关能力,具体包括:

(1)客户端调用服务端能力:资源(Resources)、工具(Tools)、提示模板(Prompts):服务端通过这三类标准化接口暴露本地及远程数据(文件、数据库和 API等数据资源)、功能(可执行函数)与交互模板。

(2)服务端调用客户端能力:采样(Sampling)能力:服务端通过客户端请求大型语言模型(LLM)进行补全(completions)或生成(generations),以及递归嵌套交互,使得服务器能够在保持安全性和隐私性的同时,实现复杂任务的自动化。

MCP关键技术

(1)MCP工作流程包括以下步骤:

初始化:主机应用程序启动并初始化客户端,每个客户端与一个服务器建立连接。

功能协商:客户端和服务器之间进行功能协商,确定它们可以相互提供哪些功能和服务。

请求处理:客户端根据用户请求或AI模型的需要,向服务器发送请求。服务器处理这些请求,并可能与本地或远程资源进行交互。

响应返回:服务器将处理结果返回给客户端,客户端再将信息传递回主机应用程序。

(2)MCP通信机制:

MCP通信遵循客户端-服务器架构,即MCP Clients与MCP Servers之间建立一对一的连接。这种设计允许MCP Hosts(如AI应用程序)通过MCP Clients与一个或多个MCP Servers进行通信,以获取数据和执行任务。

MCP支持两种类型的通信机制:

标准输入输出(Stdio):适用于本地进程间通信,其中Client启动Server程序作为子进程,消息通讯通过stdin/stdout进行,消息格式为JSON-RPC 2.0。

服务器发送事件(SSE):用于基于HTTP的通信,允许服务器向客户端推送消息,而客户端到服务器的消息传递则使用HTTP POST,同样采用JSON-RPC 2.0格式进行消息交换。

所有传输都使用JSON-RPC 2.0进行消息交换,这为MCP Clients和MCP Servers之间的通信提供了统一的消息格式。至于连接类型,MCP没有明确指出是长连接还是短连接,但考虑到其基于JSON-RPC 2.0的特性,它更可能支持长连接,以便保持客户端和服务器之间的持久交互状态。

(3)MCP通信协议:

MCP通信协议可以是TCP或UDP,这取决于具体的实现和部署需求。

例如,如果MCP服务器和客户端在同一台机器上运行,可能会使用UDP。如果它们分布在不同的机器上,或者需要跨越网络边界,那么TCP可能是更好的选择,因为它提供了更可靠的传输保证。然而,MCP的设计允许它适应不同的网络环境和通信需求。

MCP数据安全浅析

通过MCP架构及关键技术,可以看到MCP中保障数据与模型安全的方法包括:

1.资源控制与数据安全:通过本地服务器与数据源的连接,MCP避免了将敏感数据上传到第三方平台,。服务器控制自己的资源,无需将敏感信息(如API密钥)提供给LLM提供商,最大限度地保障了数据隐私。

2.数据隐私保护:MCP通过标准化的数据访问接口减少直接接触敏感数据的环节,降低数据泄露风险。主机在向服务器公开用户数据前需获得用户明确同意,且不得未经同意传输资源数据。

3.用户同意与控制:在调用任何工具或进行LLM采样之前,用户必须明确批准,且协议限制了服务器对提示的可见性。这确保了用户对数据使用的透明性和控制权。

4.安全通信与访问控制:MCP支持双向安全通信,采用加密算法确保数据在传输过程中的安全性。同时,MCP内置访问控制机制,确保只有经过验证的请求才能访问特定资源。

因此,MCP和业界隐私计算等技术的核心目标都是在数据使用过程中保护隐私,确保数据“可用不可见”。MCP通过限制服务器对用户数据的直接访问,避免敏感信息泄露。隐私计算则通过联邦学习算法、密码学和硬件技术实现数据的安全共享。两者在实际应用中可以互补,共同推动数据安全和隐私保护的发展。

审稿:李征 | 业务研究所

本文作者:数联网DSSN团队·邢辉峰,就职于中国移动研究院,主要从事隐私计算、数字空间、数据基础设施、大数据等领域研究工作。

声明:本文来自中移智库,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。