بررسی عمیق AgentAuth: درک UUIDهای خود-احراز هویت
نشان دادن یک صفحه ورود به یک عامل هوش مصنوعی (AI agent) هیچ منطقی ندارد.
عاملها پشت مرورگرها نمینشینند. آنها ساعت ۳ صبح فراخوانیهای ابزار (tool calls) را ارسال میکنند. آنها به صورت موازی اجرا میشوند. روشهای سنتی مانند OAuth یا کوکیهای نشست (session cookies) شکست میخورند، زیرا فرض میکنند انسانی برای کلیک بر روی دکمههای رضایت حضور دارد.
AgentAuth این مشکل را با استفاده از یک چیز حل میکند: یک UUID.
این روش از نشستها یا زیرساختهای اضافی استفاده نمیکند. بلکه از رمزنگاری کلید عمومی استفاده میکند تا هویت و احراز هویت را در یک مقدار واحد ادغام کند.
نحوه عملکرد آن به این صورت است:
• توکن (Token): یک کلید خصوصی (secp256k1). این کلید در دستگاه شما مخفی میماند. • آدرس (Address): یک مقدار عمومی که از توکن مشتق شده است. • شناسه (ID): یک UUID پایدار که از آدرس ساخته شده است.
جریان در یک جهت حرکت میکند. شما میتوانید از توکن به شناسه بروید، اما نمیتوانید از شناسه به توکن بازگردید. این امر شناسه را به یک هویت پایدار تبدیل میکند.
چگونه از جعل هویت جلوگیری میکند؟
با وجود اینکه شناسه عمومی است، یک مهاجم نمیتواند از آن استفاده کند. هر درخواست شامل یک امضای دیجیتال است.
۱. کلاینت محتوای درخواست (payload) را با توکن خصوصی امضا میکند. ۲. سرور امضا و آدرس ادعا شده را دریافت میکند. ۳. سرور از امضا برای بازیابی آدرس استفاده میکند. ۴. اگر آدرس بازیابی شده با آدرس ادعا شده مطابقت داشته باشد، درخواست معتبر است.
این فرآیند بدون وضعیت (stateless) است. سرور برای تأیید کاربر نیازی به پایگاه دادهای از نشستهای فعال ندارد؛ تنها به محاسبات ریاضی نیاز دارد.
برای جلوگیری از حملات بازپخش (replay attacks)، AgentAuth از یک بازه زمانی ۶۰ ثانیهای استفاده میکند. اگر مهاجم یک درخواست امضا شده را سرقت کند، تنها یک دقیقه فرصت دارد تا قبل از نامعتبر شدن امضا، از آن استفاده کند.
تمایز مهم: AgentAuth برای احراز هویت (Authentication - شما کی هستید؟) است، نه برای تعیین سطح دسترسی (Authorization - چه کارهایی مجاز هستید انجام دهید؟).
این را با مشخصات رسمی MCP OAuth 2.1 اشتباه نگیرید.
- زمانی از AgentAuth استفاده کنید که هر دو طرف را کنترل میکنید و برای ردیابی استفاده یا محدودسازی سطوح دسترسی (tier gating)، به شناسههای پایدار نیاز دارید.
- زمانی از MCP OAuth 2.1 استفاده کنید که نیاز دارید مجوزها را از طرف یک انسان به APIهای شخص ثالث تفویض کنید.
این دو میتوانند در کنار هم کار کنند. از AgentAuth برای شناسایی عامل و از OAuth برای مدیریت دسترسی او به دادههای خارجی استفاده کنید.
AgentAuth یک کلید خصوصی را بدون نیاز به حتی یک صفحه ورود، به یک هویت پایدار و قابل تأیید تبدیل میکند.
Optional learning community: https://t.me/GyaanSetuAi
