جميع الأدلة

DEVOMNITOOLS / أدلة المطورين

تشفير وفك تشفير النصوص بتقنية AES-256 محلياً في المتصفح

تعرف على كيفية عمل تشفير AES-256 بنمطي GCM وCBC محلياً عبر Web Crypto API. اشتقاق المفاتيح بواسطة PBKDF2 وأوامر OpenSSL المتوافقة.

DevOmniTools نُشر: 3 دقائق للقراءة
مخطط معمارية التشفير المحلي القياسي AES-256-GCM عبر WebCrypto

النقاط الأساسية

  • يوفر نمط AES-GCM تشفيراً موثقاً بختم سلامة البيانات، بينما يوفر AES-CBC السرية فقط.
  • لا تقم أبداً بإعادة استخدام متجه التهيئة (IV) مع نفس المفتاح التشفيري.
  • اشتق مفاتيح 256 بت من كلمات المرور باستخدام PBKDF2 بما لا يقل عن 100,000 دورة.

فهم معيار التشفير المتقدم (AES) بعرض 256 بت

مخطط معمارية التشفير المحلي القياسي AES-256-GCM عبر WebCrypto

يعد معيار التشفير المتقدم (AES) خوارزمية تشفير كتل متناظرة معتمدة رسمياً من معهد NIST الأمريكي (FIPS 197). تعالج الخوارزمية كتل البيانات بحجم 128 بت باستخدام مفاتيح بطول 128 أو 192 أو 256 بت. وفي البيئات الأمنية الصارمة، يعتبر AES-256 المعيار الذهبي الموثوق عالمياً لحماية البيانات المخزنة وتلك المنقولة عبر الشبكات.

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

مقارنة أنماط التشفير: AES-GCM مقابل AES-CBC

النمطان الأكثر استخداماً في تشفير البيانات المتناظر هما نمط عداد غالوا (GCM) ونمط ربط الكتل المشفرة (CBC):

  1. نمط AES-GCM (التشفير الموثق بالبيانات المرتبطة - AEAD):

    • يدمج نمط العداد مع توثيق غالوا الرياضي.
    • يولد رمز توثيق بحجم 128 بت مرافقاً للنص المشفر.
    • يكشف أي تعديل أو تلاعب في البيانات قبل السماح بفك التشفير.
    • الخيار الموصى به والافتراضي للأنظمة السحابية والويب الحديثة.
  2. نمط AES-CBC (ربط كتل التشفير):

    • يربط كتلة التشفير السابقة بالكتلة التالية عبر عمليات XOR.
    • يتطلب حشو PKCS#7 لمطابقة أحجام الكتل مع 16 بايت.
    • قد يكون عرضة لهجمات حشو الأوراكل إذا كانت استجابات الخادم تكشف أخطاء الحشو.
    • يستخدم أساساً لدعم الأنظمة القديمة وبرامج OpenSSL التقليدية.

التشفير المحلي المباشر في المتصفح

يمكنك تجربة التشفير وتنفيذه بأمان باستخدام أداة تشفير وفك تشفير AES-256. تعمل الأداة بشكل كامل عبر واجهة Web Crypto API القياسية (window.crypto.subtle) داخل ذاكرة جهازك، مما يضمن عدم إرسال أي نصوص أو كلمات مرور عبر الشبكة إلى أي خادم خارجي.

لتوليد كلمات مرور قوية أو مفاتيح عشوائية، يمكنك استخدام مولد الرموز والمفاتيح أو فحص الرموز المشفرة عبر أداة فك تشفير JWT.

اشتقاق المفاتيح التشفيرية بواسطة PBKDF2

لا تمتلك كلمات المرور البشرية درجة العشوائية الكافية (256 بت) المطلوبة للتشفير المباشر. لتحويل كلمة المرور إلى مفتاح متماثل آمن:

  • توليد الملح العشوائي (Salt): يتم توليد قيمة عشوائية بحجم 16 بايت لكل عملية تشفير.
  • عدد الدورات التكرارية: 100,000 دورة من خوارزمية HMAC-SHA256 لإحباط هجمات القواميس ومعالجات الرسوميات.
  • اشتقاق المفتاح الخام: توليد مفتاح بطول 32 بايت (256 بت) وتخصيصه لنمط AES-GCM أو AES-CBC.

التوافق مع موجه الأوامر و OpenSSL

للتحقق من صحة الملفات المشفرة عبر أنظمة Linux أو macOS، يمكنك استخدام أمر OpenSSL التالي:

# فك تشفير ملف AES-256-CBC عبر OpenSSL
openssl enc -d -aes-256-cbc -in cipher.bin -out plain.txt -pbkdf2 -iter 100000

لتحويل البيانات المشفرة إلى نصوص مفهومة وقابلة للنسخ، استعن بـ محول Base64.

أفضل الممارسات الأمنية

  • معالجة محلية كاملة: لا يتم رفع أي بيانات إلى الخوادم نهائياً عبر DevOmniTools.
  • تفرّد متجه التهيئة (IV): يجب استخدام متجه تهيئة جديد لكل رسالة؛ إعادة استخدام نفس الـ IV في AES-GCM يدمر الضمانات الأمنية.
  • إغلاق المتصفح: احرص على إغلاق نوافذ المتصفح بعد التعامل مع مفاتيح وبيانات الإنتاج الحساسة.