دليل تشفير AES-256: حماية ملفات بمستوى عسكري
افهم تشفير AES-256 ولماذا هو المعيار الذهبي. تعلم كيف يحافظ هذا التشفير العسكري على أمان نقل ملفاتك.
AES-256 هو شيفرة كتلية متماثلة اعتمدتها وكالة الأمن القومي الأمريكية NSA للبيانات بدرجة TOP SECRET بموجب CNSSP-15. تُشفّر كتلاً بحجم 128 بتاً بمفتاح 256 بتاً عبر 14 جولة من عمليات الإحلال والتبديل والخلط. كسر مفتاح AES-256 واحد بالقوة الغاشمة يتطلب ما يقارب 2^255 عملية في المتوسط — رقم ضخم لدرجة أن كل حاسوب على وجه الأرض لو عمل لعمر الكون لما تمكّن من اختراقه. لهذا تستخدم كل خدمة نقل ملفات جدية — من SwissTransfer إلى Tresorit — AES-256 كشيفرة تشفير رئيسية. إليك كيف تعمل فعلياً.
من أين جاء رقم "256"
يأتي AES بثلاثة أحجام مفاتيح: 128 و192 و256 بتاً. يشير الرقم إلى طول المفتاح فقط، لا حجم الكتلة الذي يظل دائماً 128 بتاً. يحدّد حجم المفتاح عدد الجولات التي تُجريها الشيفرة: 10 لـ AES-128، و12 لـ AES-192، و14 لـ AES-256.
المزيد من الجولات يعني مزيداً من الانتشار — يعتمد كل بت في المخرجات على المزيد من بتات المدخلات — ومقاومة أكبر للهجمات التحليلية كهجوم الدراجة ثنائية العجلات المنشور عام 2011، الذي خفّض الأمان الفعلي لـ AES-256 من 256 إلى 254.4 بتاً نظرياً. هذا لا يزال بعيداً تماماً عن أي هجوم عملي.
يعرّف المعيار الفيدرالي FIPS 197 الخاص بـ NIST الشيفرةَ AES، وتعرّف NIST SP 800-38A حتى 800-38G أنماط التشغيل.
أنماط التشغيل: GCM مقابل CBC مقابل ECB
AES شيفرة كتلية تعرف فقط كيف تشفّر كتلة واحدة بحجم 128 بتاً. لتشفير ملف بحجم اعتباطي، تحتاج إلى نمط تشغيل. الاختيار بالغ الأهمية:
- ECB (الكتاب الإلكتروني المبوّب): تنتج الكتل المتطابقة نصاً مشفّراً متطابقاً. لا تستخدم هذا النمط أبداً. الصورة الشهيرة "طاووس ECB" تكشف ملامح الطاووس عبر البكسلات المشفّرة.
- CBC (ربط الكتل بالشيفرة): يُجري XOR بين كل كتلة والنص المشفّر السابق. آمن مع HMAC للمصادقة، لكن CBC وحده عرضة لهجمات أوراكل الحشو (استهدف POODLE بروتوكول SSL عام 2014).
- GCM (وضع عداد غالوا): يُشفّر بعداد وينتج وسم مصادقة بحجم 128 بتاً في تمريرة واحدة. التلاعب بالنص المشفّر يكسر فكّ التشفير بوضوح. هذا ما تستخدمه الخدمات الحديثة.
AES-256-GCM هو الإعداد الافتراضي في TLS 1.3 وSignal وWireGuard وكل خدمة نقل ملفات موثوقة. إن ذكرت خدمة "AES-256" دون تحديد النمط، افترض GCM وتحقّق.
متجّه التهيئة (nonce) الذي لا يجب إعادة استخدامه
يتطلّب GCM متجّه تهيئة فريداً بحجم 96 بتاً لكل تشفير بمفتاح معيّن. إعادة استخدام المتجّه مع المفتاح نفسه ولو مرة واحدة تمكّن المهاجم من إجراء XOR على نصّين مشفّرين لاستعادة النص الصريح — وهو فشل كارثي استُغلّ بشكل شهير ضد شبكات Wi-Fi التي تعمل بـ WEP.
أفضل الممارسات: أنشئ متجّه التهيئة بمُولّد أرقام عشوائي مشفري آمن (crypto.getRandomValues() في المتصفحات، أو /dev/urandom في Linux) وألحقه بالنص المشفّر. لمتجّه تهيئة عشوائي بحجم 96 بتاً، يبلغ احتمال التصادم حوالي 2^-48 بعد تشفير 2^32 ملفاً — مقبول لخدمة نقل ملفات. لإعادة استخدام المفتاح عبر مليارات الملفات، استخدم عدّاداً حتمياً بدلاً من ذلك.
اشتقاق المفاتيح: تحويل كلمات المرور إلى مفاتيح
يريد المستخدمون كلمات مرور مثل mydog2024. يريد AES 256 بتاً من العشوائية المنتظمة. الجسر بينهما دالة اشتقاق مفاتيح (KDF). ثلاث دوال شائعة الاستخدام:
- PBKDF2 مع HMAC-SHA-256 و600,000 تكرار (توصية OWASP لعام 2023). مدعومة على نطاق واسع ومتاحة في Web Crypto API.
- scrypt تضيف صعوبة الذاكرة، ما يرفع تكاليف الهجوم بالـ GPU. تستخدمها Bitcoin وLastPass.
- Argon2id هي أفضل الممارسات الحالية والفائزة بمسابقة تجزئة كلمات المرور 2015. المعاملات:
memory=64 MB, iterations=3, parallelism=4.
كلمة مرور عشوائية مكوّنة من 12 حرفاً عبر Argon2id تتطلب من GPU حديث مليار عام تقريباً لاختراقها. كلمة مرور ضعيفة مثل password123 تسقط في ميلي ثوانٍ بصرف النظر عن دالة الاشتقاق.
AES في المتصفح: Web Crypto API
يعرض المتصفح AES-256-GCM بشكل أصلي عبر window.crypto.subtle. تدفق نموذجي:
const key = await crypto.subtle.generateKey(
{ name: "AES-GCM", length: 256 },
true,
["encrypt", "decrypt"]
);
const iv = crypto.getRandomValues(new Uint8Array(12));
const ciphertext = await crypto.subtle.encrypt(
{ name: "AES-GCM", iv },
key,
fileBytes
);
وحدات المعالجة الحديثة مزوّدة بتعليمات AES-NI التي تُسرّع هذه العملية إلى ما يقارب 3-5 جيجابايت/ثانية لكل نواة. يُشفَّر ملف بحجم 1 جيجابايت في أقل من ثانية على حاسوب محمول متوسط المستوى. على الأجهزة المحمولة، تتضمّن رقائق Apple A-series وQualcomm Snapdragon امتدادات التشفير ARMv8 لإنتاجية مماثلة.
ما يحميك منه AES-256 وما لا يحميك منه
يحلّ AES-256 مشكلة محددة واحدة: سرية البيانات في الراحة أو أثناء النقل، شريطة بقاء المفتاح سرياً. لا يحلّ:
- إدارة المفاتيح. إن أرسلت كلمة المرور مع الملف بالبريد الإلكتروني، فلا يضيف AES-256 شيئاً.
- اختراق نقطة النهاية. برمجيات خبيثة تقرأ النص الصريح قبل التشفير تتجاوز الشيفرة كلياً.
- أخطاء التطبيق. هجمات BEAST وCRIME وLucky13 عام 2018 استهدفت جميعها تطبيقات TLS، لا AES نفسه.
- الهجمات عبر القنوات الجانبية. استخرج توقيت الذاكرة المؤقتة وتحليل الطاقة مفاتيح AES من الأجهزة المقيّدة. يخفّف AES-NI هذا إلى حدٍّ بعيد على أجهزة سطح المكتب.
لا يُثبت AES-256 أيضاً هوية مُرسِل الملف. لذلك قرنه بالتوقيعات الرقمية باستخدام Ed25519 أو ECDSA.
لماذا "المستوى العسكري" مجرد تسويق في معظمه
تُستخدم هذه العبارة لأن وكالة NSA اعتمدت AES-256 للبيانات بدرجة TOP SECRET عام 2003. هذا حقيقي، لكنه يعود إلى 23 عاماً مضت — إذ يُعتمد AES-128 للبيانات بدرجة SECRET ويخدم معظم الاستخدامات المدنية بصورة مماثلة. القفزة من 128 إلى 256 بتاً هي وقاية من التقدّم المستقبلي في الحوسبة الكمومية: من الناحية النظرية، تُخفّض خوارزمية Grover أمان المفاتيح المتماثلة إلى النصف، ما يُقلّص فعالية AES-256 إلى 128 بتاً، وهي لا تزال آمنة.
عملياً، يستهلك AES-256 ربما 40% موارد CPU إضافية مقارنة بـ AES-128 مع AES-NI، وهو مدعوم بشكل عالمي، لذا أصبح الخيار الافتراضي حتى حين يكفي 128.
كيف تتحقّق أن خدمة ما تستخدم AES-256-GCM فعلاً
ثلاث طرق للتحقّق:
- اقرأ الورقة البيضاء للأمان. الخدمات الموثوقة (Tresorit، وProton Drive، وSwissTransfer، وHexaTransfer) تنشر النمط الدقيق وطريقة التعامل مع متجّه التهيئة.
- افحص رمز العميل. افتح DevTools وابحث في حزمة JavaScript عن
AES-GCMأوaes-256-gcm. يجب أن تجده صراحةً. - تحقّق من عمليات التدقيق الخارجية. تنشر Cure53 وNCC Group وTrail of Bits عمليات تدقيق تسمّي الخوارزميات المراجَعة.
إشارات تحذيرية: "تشفير على مستوى البنوك" دون تحديد النمط، أو "خوارزمية خاصة" من أي نوع، أو إشارات إلى AES-128-ECB.
تطبيق ذلك عملياً
لإرسال ملف حساس اليوم: اختر خدمة تُصرّح صراحةً بـ AES-256-GCM، وتستخدم متجّه تهيئة عشوائياً بحجم 96 بتاً لكل ملف، وتُجري التشفير في متصفحك لا على خادمها. قرن ذلك بعبارة مرور مكوّنة من 16+ حرفاً مشتقّة عبر Argon2id أو PBKDF2 بـ 600,000+ تكرار.
جرّبها على hexatransfer.com — مجاني، بدون حساب، حتى 10 جيجابايت.
أرسل ملفات كبيرة بأمان مع تشفير من طرف إلى طرف
انقل ملفات حتى 10 جيجابايت مجاناً مع تشفير من طرف إلى طرف. لا حاجة لحساب. يتم تشفير ملفاتك في متصفحك قبل الرفع — لا أحد آخر يستطيع قراءتها.
إرسال ملف