أمان الويب / المتقدم: الضمان وسلسلة البناء والتعافي / الدرس 14
الأسرار والمفاتيح وحدود دورتها
افصل الإعداد العام والاعتماد الحساس وادعاء التشفير واعتماد التعافي عبر التطبيق.
في هذه الصفحة
أهداف الدرس
- حدد غرض السر ووصوله وتدويره وإبطاله وتعافيه.
- ميّز ادعاءات البصمة وMAC والتوقيع والتشفير.
حدد أين تعيش السلطة فعلياً
تمنح اعتمادات API وأسرار الجلسة ومفاتيح التوقيع والقاعدة ومواد الاسترداد قدرات مختلفة. صنفها بالغرض والعاقبة وعين مالكاً وقلل النسخ. لا تحمي حزمة المتصفح ومتغير البناء العام سر خادم من مستلم الشيفرة؛ ليست البادئة خزنة. أبعد السر عن التاريخ والأصول العامة والسجل والدعم. استخدم مرافق أسرار ومفاتيح معتمدة بهويات ضيقة، لا اعتماد إدارة مشتركاً لكل مكوّن. تحدد الحاجة الفعلية من يملك القدرة وأين ينبغي ألا تصل مادتها.
احصر البيانات الوصفية دون السر
يسجل الحصر الغرض والخدمة والاستخدام المسموح ومرجع التخزين والتدوير أو المراجعة والاستجابة دون تصدير القيمة. الوصف خيالي لا يشير لخزنة أو حساب حقيقي. راجع حق الاستخدام وحق إدارة السياسة، وكيف ينتهي الوصول بتغير الخدمة أو الدور. لا تمنح قراءة واسعة لسهولة أداة النشر. يحتاج المرجع نفسه تفويضاً وتدقيقاً. يبين الدليل أن المستهلك المقصود يحصل على اللازم وأن غير المرتبط لا يحصل عليه، لا أن ملف وصف موجود فقط.
{
"secretLabel": "synthetic-note-service-key",
"purpose": "approved-service-operation",
"ownerRole": "service-key-maintainer",
"storageReference": "fictional-managed-reference",
"allowedConsumer": "specific-service-role",
"compromiseAction": "approved-revocation-and-review",
"containsMaterial": false
}
لا يولد أو يقرأ أو يخزن أو يدوّر أو يبطل سر. المرجع وسم تعليمي فقط. تتحقق العملية الفعلية من الهوية والإذن والتدقيق والتعافي وفق سلوك المنصة المختارة الموثق.
اختر الخاصية قبل الأداة
تدعم البصمة كشف التغيير إن وثق مرجعها. يستخدم MAC سراً مشتركاً لمصادقة الرسالة بين حامليه، وللتوقيع تحقق عام وثقة مختلفة. يحمي التشفير السرية ببروتوكوله، وتضيف الموثقة شروط سلامة تستخدم صحيحاً. لا يثبت ذلك إذن الأعمال أو دقة المحتوى. لا تركب بروتوكولاً منزلياً من استدعاءات مكتبة؛ للكلمات تصميم تجزئة خاص. يدخل الغرض وnonce والحداثة وربط الهوية والخطأ الآمن في نظام مراجع، ولا تعوضه صحة أداة منفردة مقتبسة.
وضح مقارنة مفتاحية ببايتات مختبر عامة
يستدعي المثال HMAC المعياري بمفتاح صفي عام عمداً، ويفحص رسالة سليمة وأخرى متغيرة دون قراءة اعتماد. لأن المفتاح معروف لا يوفر حماية حقيقية ولا ينسخ للإنتاج. حتى السري المشترك لا يحدد أي حامل معتمد صنع الوسم. يحتاج البروتوكول توزيعاً آمناً ودورة وتفسير رسالة ومعالجة إعادة الاستخدام. يفيد التحقق المحلي في تمييز آلية السلامة والأصالة من أسئلة الثقة والتفويض الأوسع؛ ولا يدعي هذا المثال تطبيق خدمة مصادقة أو منع إعادة مكتمل.
import hashlib
import hmac
lab_key = b"public-classroom-key-not-a-credential"
message = b"synthetic note revision: 1"
tag = hmac.new(lab_key, message, hashlib.sha256).digest()
assert hmac.compare_digest(tag, hmac.new(lab_key, message, hashlib.sha256).digest())
assert not hmac.compare_digest(tag, hmac.new(lab_key, b"synthetic note revision: 2", hashlib.sha256).digest())
يعمل التأكيدان على بايتات عامة مخترعة دون خدمة اعتماد أو مزود توقيع أو ملف مشفر أو حساب. ليس المثال تنفيذ رمز إنتاج أو دفاعاً مكتملاً عن إعادة الاستخدام.
عامل الفقد والكشف كفشلين مختلفين
قد يفقد مفتاح الفك قابلية استخدام المحتفظ به، بينما يقوض كشفه السرية أو الأصالة. يراعي التدوير النص المشفر القديم والتحقق والمخبأ والنسخ والاحتياط؛ لا تضمن الجديدة قراءة التاريخ. حدد الإبطال والاستبدال وإعادة التشفير والتحقيق والتعافي المفوض حسب الغرض. لا يبطل حذف السر من آخر إيداع صلاحيته أو يمحو النسخ الماضية. اتبع استجابة المالك، وتحقق من التعافي بمواد اصطناعية في بيئة معزولة معتمدة لا مفاتيح حقيقية بالدورة أو المرفق.
الأخطاء الشائعة وإصلاحها
يحوي متغير العميل مفتاح الخادم
- لماذا يحدث؟
- اختلط العام بتخزين محمي.
- كيف تصلحه؟
- أزل الانكشاف واتبع الإبطال والتعافي.
- كيف تتجنب تكراره؟
- راجع كل ما يراه العميل.
يجعل التدوير النسخ غير مقروءة
- لماذا يحدث؟
- أغفلت مفاتيح التاريخ.
- كيف تصلحه؟
- راجع النسخ المحتفظة واعتماد التعافي.
- كيف تتجنب تكراره؟
- تدرب مع دورة البيانات.
تعتبر الأداة الصحيحة بروتوكولاً كاملاً
- لماذا يحدث؟
- أخفيت متطلبات المفتاح والهوية والحداثة.
- كيف تصلحه؟
- استخدم تصميماً مدعوماً وراجع الحد.
- كيف تتجنب تكراره؟
- حدد ادعاء كل مثال.
اختبر فهمك
1. أزيل السر من المصدر. ما العالق؟
اعرض الحل المشروح
قد يبقى الاعتماد صالحاً ومنسوخاً في التاريخ والحزم والمخابئ أو نسخة مستخدم آخر. اتبع الإبطال والتحقيق المفوضين، ثم أصلح التخزين وممارسات الإصدار. لا تمثل إزالة الملف وحدها استجابة لاعتماد مكشوف، ولا تثبت أن جميع نسخه انتهت.
2. لماذا لا يقدم مثال HMAC بمفتاح المختبر المعروف للجميع أصالة فعلية؟
اعرض الحل المشروح
يستطيع أي قارئ للمفتاح الصفي المعروف إنتاج وسم مطابق. يوضح المثال سلوك العملية فقط. تحتاج المصادقة الحقيقية ملكية مفتاح محمية وبروتوكولاً كاملاً بسياسة الهوية والحداثة المناسبة، لا مجرد نجاح استدعاء HMAC على رسالة معروفة.
أهم ما تعلمته
- تختلف بيانات السر ومادته.
- تدعم العمليات ادعاءات محدودة.
- ينسق التدوير والاستجابة والتعافي.