AI Security

هوية الآلة: تأمين المصادقة بين الوكلاء في أنظمة الذكاء الاصطناعي متعددة الوكلاء

مع تطور الذكاء الاصطناعي من نماذج معزولة إلى بيئات معقدة ومنسقة، انتقل محيط الأمان بشكل جذري. في البنى التقليدية أحادية الكتلة، كنا نحمي حدود التطبيق. ولكن في أنظمة الوكلاء المتعددة (MAS) الحديثة، تتواصل الوكلاء ديناميكياً، وغالباً عبر حدود الشبكة أو ضمن خدمات مصغرة عابرة. يتطلب هذا التحول الانتقال من المصادقة التي تركز على البشر (اسم المستخدم/كلمة المرور) إلى إدارة الهوية التي تركز على الآلات. يستكشف هذا المقال كيفية تنفيذ مصادقة قوية وموثقة رياضياً للتواصل بين الوكلاء.

التحول إلى نموذج "عدم الثقة" للآلات

في بيئة الوكلاء المتعددة، قد تفوض المنسقة المهام إلى وكلاء فرعيين متخصصين. يتولى وكيل واحد استرداد البيانات، ويهتم آخر بالمنطق، بينما يتولى الثالث التنفيذ. إذا تواصلت هذه الوكلاء عبر شبكة دون التحقق الصارم من الهوية، فإنك تقدم مخاطر كبيرة: وكلاء مزيفون، وهجمات الرجل في الوسط، وتسرب البيانات. ينطبق مبدأ "عدم الثقة" (Zero Trust) على الآلات كما ينطبق على البشر: لا تثق أبداً، وتحقق دائماً. يجب مصادقة كل طلب بين الوكلاء وتفويضه بناءً على الهوية المشفرة للمرسل.

على عكس المستخدمين البشر، لا تمتلك الآلات كلمات مرور. بدلاً من ذلك، تستخدم شهادات ومفاتيح رقمية. يعتمد النهج الصناعي القياسي على البنية الأساسية للمفاتيح العامة (PKI) المستخدمة على الويب اليوم، وتحديداً شهادات X.509. يتلقى كل وكيل شهادة هوية فريدة موقعة من سلطة شهادات داخلية موثوقة (CA).

تطبيق بروتوكول TLS المتبادل (mTLS)

يعتبر بروتوكول TLS المتبادل (mTLS) المعيار الذهبي لتأمين الاتصالات من آلة إلى آلة. على عكس TLS القياسي، حيث تثبت الخادم فقط هويتها للعميل، يتطلب mTLS من كلا الطرفين تقديم شهادات صالحة. يضمن ذلك أن الوكيل الذي تتحدث معه هو من يدعي أنه، وأنك أيضاً مشارك موثوق في النظام.

فيما يلي تنفيذ عملي باستخدام Python ومكتبة requests لتوضيح كيفية تقديم الوكيل لشهادته كعميل والتحقق من شهادة الخادم أثناء مصافحة البروتوكول.

import requests
import os

# تكوين الوكيل أ (العميل)
AGENT_CERT_FILE = "agent_a_cert.pem"
AGENT_KEY_FILE = "agent_a_key.pem"
TRUSTED_CA_FILE = "root_ca.pem"

def secure_agent_communication(target_url, payload):
    """
    يرسل طلباً إلى وكيل آخر باستخدام بروتوكول TLS المتبادل.
    """
    try:
        response = requests.post(
            target_url,
            json=payload,
            # يقدم الوكيل أ هويته
            cert=(AGENT_CERT_FILE, AGENT_KEY_FILE),
            # يتحقق الوكيل أ من هوية الوكيل ب مقابل سلطة الشهادات الجذرية
            verify=TRUSTED_CA_FILE
        )
        
        # التحقق من أخطاء HTTP القياسية
        response.raise_for_status()
        
        print(f"تم التواصل بنجاح. الاستجابة: {response.json()}")
        return response.json()
        
    except requests.exceptions.RequestException as e:
        print(f"خطأ في المصادقة أو الشبكة: {e}")
        # في سيناريو حقيقي، قد تفحص الخطأ لتحديد
        # ما إذا كان رفض شهادة أم مشكلة في الشبكة
        raise

# مثال على الاستخدام
payload = {"task": "summarize", "document_id": "doc_123"}
secure_agent_communication("https://agent-b.internal:8443/api/process", payload)

إدارة المفاتيح ودورة الحياة

يعد تطبيق بروتوكول TLS المتبادل (mTLS) نصف المعركة فقط؛ فالجزء الآخر هو إدارة دورة حياة هذه الهويات. غالباً ما تكون الوكلاء عابرة—تُنشأ لمهمة محددة وتُوقف بعد فترة وجيزة. يُعد تثبيت الشهادات في الكود نمطاً أمانياً سيئاً. بدلاً من ذلك، قم بالتكامل مع شبكة خدمات (مثل Istio أو Linkerd) أو مزود هوية آلة متخصص (مثل Spiffe/Spire). يمكن لهذه الأدوات إنشاء الشهادات وتغييرها وإلغائها للوكلاء تلقائياً وفي الوقت الفعلي. عندما يتم اختراق وكيل، يمكن إلغاء شهادته فوراً عبر قائمة إلغاء الشهادات (CRL) أو تثبيت OCSP، مما يمنع الوصول غير المصرح به الإضافي.

الخاتمة

تأمين أنظمة الذكاء الاصطناعي متعددة الوكلاء لا يتعلق فقط بحماية أوزان النموذج؛ بل يتعلق بحماية المحادثات بين الوكلاء أنفسهم. من خلال اعتماد هويات الآلات وتنفيذ بروتوكول TLS المتبادل، يمكن للمطورين ضمان مصادقة كل تفاعل داخل بيئة الذكاء الاصطناعي، وتشفيره، وإمكانية تتبعه. مع انتقالنا نحو ذكاء اصطناعي أكثر استقلالية، ستصبح إدارة هويات الآلات بدقة عنصراً حاسماً في أي بنية أمنية جادة للذكاء الاصطناعي.

Share: