ما هي المصادقة (Authentication)؟
باختصار: المصادقة (Authentication) تجيب على السؤال “أي هوية تمتلكها؟”
إليكم بعض الأمثلة النموذجية للمصادقة (Authentication):
- تسجيل الدخول باستخدام اسم المستخدم وكلمة المرور
- تسجيل الدخول الاجتماعي (مثل، تسجيل الدخول باستخدام Google)
- اتصال الآلة بالآلة (Machine-to-machine) المصادقة (مثل، API keys)
لم نستخدم عبارة “من أنت؟” لأن:
- في مجال إدارة الهوية والوصول (Identity and access management, IAM) ، المصادقة (Authentication) تتعلق بالتحقق من ملكية الهوية، وليس تحديد الشخص أو الكيان. على سبيل المثال، عندما يستخدم أحد أفراد الأسرة بيانات اعتمادك لتسجيل الدخول إلى حسابك، فإنهم ليسوا أنت، ولكن بالنسبة للنظام الهوية هي نفسها.
- الهوية يمكن أن تكون مستخدمًا، أو خدمة، أو جهازًا. على سبيل المثال، قد تصادق الخدمة نفسها لخدمة أخرى باستخدام API keys.
الفرق بين المصادقة (Authentication) والتفويض (Authorization)
غالبًا ما يتم الخلط بين هذين المصطلحين، ولكنهما يختلفان بشكل أساسي: التفويض (Authorization) يجيب على السؤال “ماذا يمكنك أن تفعل؟”. بالإضافة إلى ذلك، المصادقة (Authentication) شرط أساسي للتفويض (Authorization) لأن النظام يحتاج إلى معرفة الهوية قبل اتخاذ القرار بشأن الإجراءات التي يمكن القيام بها.
عوامل المصادقة (Authentication)
يمكن إجراء المصادقة (Authentication) باستخدام عامل واحد أو أكثر. إليك بعض العوامل الشائعة:
- عامل المعرفة: شيء تعرفه (مثل، كلمة المرور، الرقم السري)
- عامل الحيازة: شيء تمتلكه (مثل، الهاتف الذكي، رموز الأمان)
- عامل التواجد: شيء تكون عليه (مثل، بصمة الإصبع، التعرف على الوجه)
المصادقة متعددة العوامل (Multi-factor authentication, MFA) هو ممارسة شائعة تجمع بين عوامل متعددة لزيادة الأمان. على سبيل المثال، عند تسجيل الدخول إلى حسابك المصرفي، قد تحتاج إلى تقديم كلمة مرور (عامل معرفة) ورمز مكون من مرة واحدة من تطبيق مُصادق (عامل حيازة).
مفتاح المرور (Passkey) هو عامل مصادقة حديث يمكنه الجمع بين عوامل متعددة ومقاوم للهجمات الصيد.
أطر عمل المصادقة (Authentication) (البروتوكولات)
بدلاً من بناء نظام مصادقة (Authentication) مخصص، يُوصى باستخدام الأطر والبروتوكولات القائمة حيث تم اختبارها ومراجعتها من قبل خبراء الأمن. هناك العديد من أطر عمل المصادقة (Authentication) والبروتوكولات التي تحدد كيفية إجراء المصادقة (Authentication). اثنان من الشائعين هما:
- OpenID Connect (OIDC) : طبقة هوية مبنية على OAuth 2.0 التي تضيف قدرات المصادقة (Authentication). إنه حديث نسبيًا ويُستخدم على نطاق واسع للتطبيقات الجديدة.
- لغة ترميز تأكيد الأمان (Security Assertion Markup Language, SAML) : بروتوكول لتبادل بيانات المصادقة (Authentication) والتفويض (Authorization) بين الأطراف. يُستخدم بشكل شائع في بيئات الشركات.
يعتمد اختيار الإطار على حالتك ومتطلباتك. بالنسبة للتطبيقات الجديدة، يُوصى بـ OIDC نظرًا لتصميمه الحديث ودعمه لـ رمز الويب جيسون (JSON Web Token, JWT) .
ومع ذلك، فإن العمل مباشرة مع هذه البروتوكولات لا يزال يمكن أن يكون معقدًا ويستغرق وقتًا طويلاً. كلا البروتوكولين لهما منحنيات تعلم حادة ويتطلب تنفيذًا دقيقًا لضمان الأمان. بدلاً من ذلك، يمكن أن يسهل استخدام مزود الهوية (Identity provider, IdP) يدعم أو مبني على هذه البروتوكولات عملية المصادقة (Authentication) بشكل كبير. سيوفر موفر الهوية الجيد أيضًا ميزات إضافية مثل المصادقة متعددة العوامل (Multi-factor authentication, MFA) و تسجيل الدخول الموحد (SSO) لاحتياجاتك المستقبلية.