MCP یک مشخصه (spec) پایدار تحت عنوان “Enterprise-Managed Authorization” منتشر کرده است؛ سایر پیشنویسهای هویت ماشین-به-ماشین (machine-to-machine) — از جمله پیشنویس OAuth client-credentials و دو پیشنهاد باز — هنوز ناتمام ماندهاند. برای هر کسی که سعی دارد عوامل خودگردان (autonomous agents) را با استفاده از Model Context Protocol اجرا کند، این بدان معناست که پروتکل فعلی میتواند یک کاربر انسانی را تأیید کند، اما هیچ راه آمادهای برای اثبات اینکه یک فرآیند بدون نظارت (unattended process) واقعاً همان کسی است که ادعا میکند، ارائه نمیدهد.
چرا نقشه راه اهمیت دارد
نقشه راه Model Context Protocol (MCP)، هویت و امنیت عاملها (agent) را در میان اولویتهای اصلی خود قرار داده است. چهار مورد برای انتشار برنامهریزی شده بود: یک جریان مرورگر انسانمحور (human-centric browser flow)، یک جریان OAuth client-credentials برای سرویسها، یک اتصال توکن مبتنی بر DPoP، و یک مکانیسم فدراسیون هویت بار کاری (workload-identity federation). تنها مورد اول — Enterprise-Managed Authorization — به وضعیت پایدار رسیده است.
مشخصه پایدار در واقع چه کاری انجام میدهد
مشخصه Enterprise-Managed Authorization به مدیران IT اجازه میدهد تا به جای اینکه هر کارمند هر اتصال را تأیید کند، دسترسی به سرور را از طریق یک کنسول واحد اعطا کنند. این جریان از یک بازگشت مرورگر (browser redirect) و ورود کاربر استفاده میکند، بنابراین فردی پشت لپتاپ میتواند احراز هویت انجام دهد و سپس سرور به نشست (session) آن کاربر اعتماد میکند.
محدودیت آن آشکار است: این فرآیند به انسانی پشت کیبورد نیاز دارد. عاملی که در طول شب اجرا میشود، دادهها را پردازش میکند یا به هشدارها پاسخ میدهد، کسی را ندارد که روی دکمه ورود کلیک کند. در نتیجه، هر استقراری (deployment) که به عاملهای بدون نظارت وابسته باشد، نمیتواند از تنها مشخصهای که MCP در حال حاضر تضمین میکند استفاده کند.
گزینههای پیشنویس و معایب آنها
دو افزونه پیشنویس با هدف دادن هویت اختصاصی به عاملها طراحی شدهاند:
- SEP-1932 (DPoP) – توکنها را به یک جفت کلید عمومی-خصوصی متصل میکند و باعث میشود توکنهای سرقتشده بیفایده شوند.
- SEP-1933 (Workload Identity Federation) – به عاملها اجازه میدهد هویتهایی را که قبلاً در پلتفرمهای ابری فراهم شدهاند، به ارث ببرند.
هر دو به صورت درخواستهای باز (open pull requests) موجود هستند و هیچکدام در مشخصه رسمی ادغام (merge) نشدهاند. در این میان، تنها گزینه مستند شده دیگر، یک جریان OAuth client-credentials است که به اسرار (secrets) از پیش ثبتشده نیاز دارد. ذخیره کردن این اسرار در جایی که عامل بتواند آنها را بخواند، یک سطح حمله (attack surface) کلاسیک ایجاد میکند: اگر راز فاش شود، هر مهاجمی میتواند خود را جایگزین عامل کند.
گامهای عملی برای استفاده در محیط عملیاتی امروز
از آنجایی که این پروتکل هنوز هویت بومی (native) برای عاملها فراهم نمیکند، تیمها همچنان میتوانند با انتقال مدیریت هویت به خارج از MCP، امنیت عاملها را تأمین کنند:
- صدور هویتهای قابل تأیید در لایه بار کاری (workload layer). سیستمهایی مانند SPIRE گواهیهای کوتاهمدتی تولید میکنند که به ریشه اعتماد (trust root) میزبان متصل است و اسرار ایستا (static secrets) را حذف میکند.
- پایان دادن به اعتبارنامهها در یک درگاه (gateway). یک سرویس فرانتاند، کلید API یا توکن را نگه میدارد و درخواستها را از طرف عامل ارسال میکند، و بدین ترتیب راز را از محیط زمان اجرا (runtime environment) دور نگه میدارد.
- اعطای مجوز بر اساس هویت تأیید شده، نه محتوای توکن. احراز هویت (چه کسی فراخوانی میکند) را از تعیین سطح دسترسی (چه کاری میتوانند انجام دهند) جدا کنید تا حتی در صورت تغییر روش احراز هویت، سیاستها قابل اجرا باشند.
آنچه باید در آینده زیر نظر داشت
آن دو درخواست باز (pull requests) — یعنی اتصال DPoP و فدراسیون هویت بار کاری — تنها مسیرها برای رسیدن به یک استاندارد هویت واقعی ماشین-به-ماشین در داخل MCP هستند. اگر جامعه کاربری آنها را ادغام کند، عاملها قادر خواهند بود مالکیت یک کلید خصوصی را اثبات کنند یا هویتهای صادر شده توسط ابر را بدون فاش کردن اسرار به ارث ببرند. تا آن زمان، هر استقرار عملیاتی باید به چارچوبهای هویت خارجی تکیه کند یا خطر استفاده از اعتبارنامههای ایستا را بپذیرد.
نتیجهگیری روشن است: MCP در حال حاضر میتواند شخصی را که پشت یک درخواست است احراز هویت کند، اما هنوز نرمافزاری را که درخواست را ارسال میکند، احراز هویت نمیکند. تیمهایی که به عاملهای خودگردان امن نیاز دارند نباید منتظر نهایی شدن مشخصه بمانند؛ آنها باید از همین امروز هویت را در لایه بار کاری بسازند و چشم به پیشنهادهای معلق DPoP و فدراسیون داشته باشند.
