خارطة الفنتك

الجزء 10 · هندسة أنظمة الفنتك

المصادقة والجلساتAuthentication and sessions

ثلاثة أسئلة مختلفة تُخلط في سؤال واحد: من هذا؟ وما المسموح له به؟ وهل ما زال هو نفسه؟

قراءة 6 دقائق

شارك المقال:

المصادقة أن يثبت الشخص أنه هو، والصلاحية أن يُسمح له بفعل شيء بعينه. والجلسة هي المدة التي يظل فيها الإثبات صالحاً قبل أن يُطلب منه من جديد.

تحتاج كل حركة حساسة جواباً منفصلاً عن هوية الشخص وصلاحياته وحداثة إثباته.

ليش يطلب مني رمز تحقق وأنا مسجّل دخول أصلاً؟

وهذا يزعج المستخدم فعلاً. فقد أثبت هويته قبل دقائق، ثم يُسأل مرة أخرى عند التحويل.

والسبب أن دخولك لم يكن إجابة على سؤال واحد، بل على ثلاثة أسئلة مختلفة يخلط بينها كثيرون.

فالأول: من أنت؟ وهذا يُجاب مرة عند التسجيل، بالهوية والتحقق. والثاني: هل أنت هو الآن؟ وهذا يُجاب عند كل دخول، بكلمة مرور أو بصمة. والثالث: هل تقصد هذه العملية تحديداً؟ وهذا سؤال منفصل تماماً.

وتخيّل أن أحدهم أخذ هاتفك وهو مفتوح. فقد أجاب السؤال الثاني بلا جهد، لأن الجلسة مفتوحة أصلاً. فما الذي يمنعه من تحويل رصيدك كله؟

الجواب هو السؤال الثالث. ولهذا يُطلب رمز أو بصمة عند التحويل الكبير أو تغيير رقم الجوال أو إضافة مستفيد جديد. وتُسمّى هذه «المصادقة التصاعدية»: أن يرتفع مستوى التحقق مع خطورة العملية لا مع مرور الوقت.

فالجلسة تثبت أن أحداً دخل. ولا تثبت أنه ما زال هو، ولا أنه يقصد ما يفعله الآن.

افصل الأسئلة الثلاثة

وتعني «المصادقة» Authentication إثبات من أنت. فقد تقدم كلمة مرور وجهازاً معروفاً وبصمة. ولا تخبر هذه الأدلة النظام بما يسمح لك فعله، بل تربط الجلسة بهوية.

ويعني «التفويض» Authorisation تحديد الأفعال المسموحة لتلك الهوية. فقد يستطيع موظف الدعم رؤية حالة تحويل دون تغيير المستفيد. وقد يستطيع مدير المتجر رد دفعة دون تنزيل بيانات كل العملاء. ويجب أن يفحص الخادم الصلاحية عند كل طلب، لا أن يثق بإخفاء الزر في الشاشة.

ويبقى السؤال الثالث عن استمرار الثقة. فقد سجل العميل دخوله صباحاً ثم سُرق هاتفه ظهراً. وقد تغيرت كلمة المرور بينما بقيت جلسة قديمة مفتوحة. ولذلك لا تعني جلسة صالحة أن كل فعل لاحق مأمون.

ابن الدخول من أكثر من دليل

ولا تكفي كلمة المرور وحدها لتطبيق يحرك المال. فقد يعيد العميل استخدامها في موقع آخر يتسرب، أو يسلمها لصفحة تصيد. ويحتاج الدخول دليلاً آخر مستقلاً مثل مفتاح أمان أو موافقة داخل جهاز موثوق.

ولا تجعل رسالة الهاتف الحماية الوحيدة لكل حالة. فقد يستولي المهاجم على الشريحة أو يقنع شركة الاتصالات بنقل الرقم. وقد تبقى الرسالة خياراً للاستعادة أو المخاطر الأقل، لكن التحويل الكبير يحتاج قناة أقوى.

واحفظ كلمات المرور بخوارزمية بطيئة مخصصة مثل Argon2 مع قيمة عشوائية لكل حساب. ولا تشفرها بطريقة قابلة للفك، ولا تسجلها، ولا ترسلها لموظف الدعم. ويجب أن يقارن النظام الناتج دون معرفة الكلمة الأصلية.

الجلسة تصريح محدود

وتبدأ «الجلسة» بعد نجاح الدخول وتحمل معرفاً ووقت إنشاء ووقت انتهاء وسياقاً. ولا تضع كل بيانات العميل الحساسة داخل رمز يستطيع المتصفح قراءته. واحتفظ بأقل قدر، واجعل الخادم قادراً على إلغاء الجلسة.

واستخدم ملفات ارتباط محمية في تطبيق الويب. فاجعلها غير متاحة لبرمجيات الصفحة، ولا تُرسل عبر اتصال غير مشفر، وحدد سياسة تمنع إرسالها إلى مواقع أخرى. ويقلل ذلك سرقة الجلسة وهجمات الطلبات المزورة.

وقصّر عمر الجلسة بحسب الخطر. فقد تستمر جلسة عرض الرصيد أكثر من إذن تنفيذ تحويل. وعند الخمول الطويل أو تغير الجهاز أو إعادة تعيين كلمة المرور، اطلب إثباتاً جديداً. ولا تمدد الثقة إلى الأبد لمجرد أن التطبيق مفتوح.

ارفع الإثبات عند اللحظة الخطرة

ويُسمى طلب دليل جديد داخل جلسة قائمة «التوثيق التصاعدي» Step-up. ويظهر عند إضافة مستفيد، أو تغيير رقم الهاتف، أو إرسال مبلغ غير معتاد. ولا يظهر عند كل انتقال بين الشاشات، لأن الاحتكاك المستمر يدرب العميل على الموافقة بلا قراءة.

واعرض في خطوة الإثبات الفعل نفسه. فقل إنك سترسل ٨٠٠٠ ريال إلى خالد، لا إنك تؤكد نشاطاً فقط. ويمنع ربط الموافقة بالتفاصيل مهاجماً من استخدام رمز صادر لفعل بسيط لتنفيذ فعل آخر.

ولا تستخدم القناة التي تغيرت لتوها كدليل وحيد. فإذا استبدل شخص رقم الهاتف قبل دقيقة، لا ترسل إليه رمز التحويل وتعتبره مستقلاً. واستخدم جهازاً موثوقاً سابقاً أو تأخيراً أو مراجعة بشرية بحسب القيمة.

طبق أقل صلاحية

ولا تمنح الموظف صلاحيات مدير لأنه يحتاج مهمة واحدة اليوم. فأعطه الدور الأصغر والمدة الأقصر. وإذا احتاج وصولاً استثنائياً، فليطلبه بسبب مسجل وموافقة واضحة ثم ينتهي تلقائياً.

وافصل من يبدأ الحركة عمن يعتمدها في العمليات الكبيرة. فقد ينشئ موظف الخزانة دفعة ويعتمدها مدير آخر. ولا يستطيع حساب واحد مخترق عندها إرسال المال وحده.

وراجع الصلاحيات دورياً وعند انتقال الموظف أو مغادرته فوراً. فكثير من الثغرات لا تأتي من دخول غريب، بل من حساب قديم يملك دوراً لم يعد صاحبه يحتاجه.

صمم الاستعادة كمسار عالي الخطر

ولا تجعل نسيت كلمة المرور باباً أضعف من الدخول. فقد يعرف المهاجم البريد ورقم الهوية ويقنع موظف الدعم بقصة مستعجلة. ويجب أن تستخدم الاستعادة أدلة متعددة وتبلغ القنوات القديمة وتفرض قيوداً مؤقتة على الأفعال الحساسة.

ودرب موظف الدعم على رفض طلب تجاوز الضابط. فلا ينبغي أن يقرأ رمزاً للمتصل أو يغير الهاتف ثم يسمح بتحويل فوري. ووفر له طريق تصعيد، لأن المهاجم يستغل ضغط الوقت وغياب البديل.

وأرسل تنبيهاً عند دخول جديد أو تغيير أمان أو إضافة مستفيد. واجعل الرسالة تذكر الوقت والجهاز والفعل وطريق الاعتراض. ولا تضع رابط دخول يطلب كلمة المرور داخل كل تنبيه، كي لا تشبه رسائل التصيد.

سجل ما يكفي للتحقيق

وسجل نجاح الدخول وفشله، وإنشاء الجلسة وإلغائها، وتغيير الصلاحية، وسبب التوثيق التصاعدي ونتيجته. واربط الأحداث بمعرف واحد دون تسجيل كلمات المرور أو الرموز أو الأسرار.

وحافظ على أثر لا يستطيع الموظف محل التحقيق تعديله. وحدد من يستطيع قراءته ومدة الاحتفاظ به. ويجب أن يجيب السجل بعد أشهر: من دخل، ومن أي جهاز، وبأي صلاحية، ومن وافق على الفعل.

اختبر الحدود لا المسار السعيد

وجرب حساب دعم يطلب واجهة المدير مباشرة. وجرب رمزاً منتهياً وجلسة ملغاة وطلباً مكرراً بعد تغيير كلمة المرور. وجرب إضافة مستفيد من جهاز جديد ثم تحويل الرصيد كله.

وافحص الخادم لا الواجهة فقط. فقد يخفي التطبيق زر رد الأموال، لكن مهاجماً يستطيع استدعاء الواجهة البرمجية. ويجب أن يرجع الخادم رفضاً واضحاً ويسجل المحاولة.

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

كلمات جديدة هنا

المصادقةAuthentication
إثبات من أنت.
التفويضAuthorisation
تحديد ما يُسمح لك بفعله. والخلط بينه وبين المصادقة هو ما تنشأ عنه الثغرات الأمنية.
التوثيق التصاعديStep-up
طلب إثبات جديد عند لحظة خطرة، حتى داخل جلسة صالحة.

الخلاصة

  • من أنت وما يُسمح لك به سؤالان مختلفان، والخلط بينهما هو ما تنشأ عنه ثغرات الصلاحيات.
  • اطلب إثباتاً جديداً عند اللحظة الخطرة، لا احتكاكاً في كل شاشة.
  • كونك مسجّل الدخول ليس كامتلاكك إذناً لهذا الإجراء بالذات.
  • يوجد ملف أمان مشدّد مكتوب خصيصاً للواجهات المالية، ويجدر أن تعرف بوجوده قبل تصميم تكامل مصرفي.

اختبر فهمك

أجب قبل أن تقرأ التفسير. والخطأ هنا أنفع لك من تخمين صحيح.

  1. 1.سجّل العميل دخوله قبل خمس دقائق. فلماذا يُطلب رمز قبل التحويل؟
  2. 2.ماذا يجب أن تقول شاشة الإثبات الإضافي فعلاً؟
  3. 3.غيّر عميل رقم هاتفه قبل دقيقة ثم طلب تحويلاً كبيراً. فهل ترسل الرمز إلى ذلك الرقم؟
  4. 4.يخفي تطبيقك زر رد الأموال عن موظفي الدعم الذين لا يملكون الدور. فهل هذا هو الضابط؟
  5. 5.أي ممارسة تفتح الباب غالباً في الحوادث الحقيقية؟

هذا دليل تعليمي مبني على خبرة ميدانية. وهو ليس استشارة قانونية أو تنظيمية أو استثمارية، ولا يُغني عن مشورة مهنية مؤهّلة. وأنظمة التقنية المالية تتغيّر بسرعة وتختلف من دولة إلى أخرى، فراجع المصدر الرسمي قبل أي قرار مهم.

العودة إلى الخارطة

المصادقة والجلسات | Roadmap FinTech