تخطي إلى المحتوى

تحليل عميق للتشفير

كيف تحمي Nudge رسائلك (ولماذا هذا مهم)

تم بناء Nudge للاتصالات عالية المخاطر: المراسلة والمكالمات المشفرة من طرف إلى طرف، المصممة للبقاء آمنة حتى مع تطور الخصوم والقدرات. تشرح هذه الصفحة التشفير على مستوى تقني مفصل—بما في ذلك جميع البدائيات التشفيرية، حزم Swift وكيفية عملها معاً.

التشفير من طرف إلى طرف

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

السرية الأمامية

إذا تم اختراق مفتاح الجهاز في المستقبل، تبقى الرسائل السابقة محمية لأن مفاتيح الرسائل تتطور باستمرار.

الأمان بعد الاختراق

بعد الاختراق، يمكن للبروتوكول أن "يشفى" مع إدخال أسرار جديدة—مما يحد من المدة التي يمكن للمهاجم خلالها الاستمرار في قراءة حركة المرور.

حزم Swift والبنية

تم بناء مكدس التشفير في Nudge من عدة حزم Swift مفتوحة المصدر، لكل منها دور محدد في توفير المراسلة الآمنة ما بعد الكمّية.

📦

PostQuantumSolace

github.com/needletails/post-quantum-solace

SDK إدارة الجلسة عالي المستوى الذي ينظم جميع العمليات التشفيرية. يوفر PostQuantumSolace واجهة برمجة التطبيقات PQSSession لإنشاء الجلسات، إرسال الرسائل، إدارة الأجهزة، والتعامل مع تدوير المفاتيح. يجمع بين تنفيذ بروتوكول Double Ratchet وتبادل المفاتيح ما بعد الكمّية لتقديم المراسلة المشفرة من طرف إلى طرف مع السرية الأمامية والأمان بعد الاختراق.

التبعيات: DoubleRatchetKit, NeedleTailLogger, NeedleTailAlgorithms

🧷

DoubleRatchetKit

github.com/needletails/double-ratchet-kit

ينفذ خوارزمية Double Ratchet مع تكامل Post-Quantum X3DH (PQXDH). توفر هذه الحزمة البروتوكول الأساسي للسرية الأمامية والأمان بعد الاختراق. تتعامل مع تبادل المفاتيح الهجين (Curve25519 + MLKEM1024)، اشتقاق مفتاح الرسالة، تشفير الرأس، وإدارة الحالة لجلسات المراسلة الآمنة. يدير الممثل DoubleRatchetStateManager حالة الراتشيت ويوفر عمليات التشفير/فك التشفير الآمنة للخيوط.

التبعيات: NeedleTailCrypto, NeedleTailLogger, BinaryCodable

🔐

NeedleTailCrypto

github.com/needletails/needletail-crypto

غلاف تشفيري شامل حول Swift Crypto (swift-crypto) و CryptoKit. يوفر NeedleTailCrypto واجهات برمجة تطبيقات عالية المستوى لتوليد المفاتيح (Curve25519، P256، P384، P521، MLKEM1024)، التشفير/فك التشفير المتماثل (AES-GCM)، اتفاق المفاتيح (ECDH)، اشتقاق المفاتيح (HKDF)، وتخزين المفاتيح الآمن عبر Keychain و Secure Enclave على منصات Apple. تجرد هذه الحزمة العمليات التشفيرية منخفضة المستوى وتوفر واجهة متسقة وجاهزة للإنتاج.

التبعيات: swift-crypto (Apple), swift-collections

⚙️

NeedleTailAlgorithms

github.com/needletails/needletail-algorithms

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

📝

NeedleTailLogger

github.com/needletails/needletail-logger

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

🔢

BinaryCodable

github.com/needletails/binary-codable

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

🍎

swift-crypto

github.com/apple/swift-crypto

مكتبة التشفير متعددة المنصات من Apple التي توفر البدائيات التشفيرية الأساسية. تنفذ هذه الحزمة MLKEM1024 (Kyber)، Curve25519، AES-GCM، SHA-256، SHA-512، HKDF، HMAC، وخوارزميات قياسية أخرى. إنها محرك التشفير منخفض المستوى الذي يدفع NeedleTailCrypto والمكدس بأكمله.

البدائيات التشفيرية

يستخدم Nudge مجموعة مختارة بعناية من البدائيات التشفيرية، كل منها مختار لخصائص أمان محددة، خصائص الأداء، ومقاومة كل من الهجمات الكلاسيكية والكمّية.

MLKEM-1024 (Kyber-1024)

ما هو: MLKEM-1024 هو آلية تغليف المفاتيح ما بعد الكمّية (KEM) المعيارية من NIST المستندة إلى خوارزمية Kyber. تم تصميمه لمقاومة الهجمات من كل من أجهزة الكمبيوتر الكلاسيكية والكمّية.

ماذا يفعل: يتيح MLKEM-1024 لطرفين إنشاء مفتاح سري مشترك عبر قناة غير آمنة. يولد أحد الطرفين زوج مفاتيح عام/خاص، ويستخدم الطرف الآخر المفتاح العام لتغليف سر مشترك. يمكن لحامل المفتاح الخاص بعد ذلك فك تغليف السر. يوفر هذا الأمان حتى ضد الخصوم الذين لديهم أجهزة كمبيوتر كمّية.

لماذا يهم: سيتم كسر خوارزميات تبادل المفاتيح الكلاسيكية (مثل RSA، ECC) بواسطة أجهزة الكمبيوتر الكمّية واسعة النطاق. يوفر MLKEM-1024 حماية "اجمع الآن، وفك التشفير لاحقاً"—حتى إذا سجل المهاجم حركة مرور مشفرة اليوم، لا يمكنه فك تشفيرها في المستقبل باستخدام أجهزة الكمبيوتر الكمّية.

التنفيذ: مقدم من swift-crypto (Apple)، يُستخدم في مصافحة PQXDH

Curve25519

ما هو: Curve25519 هو منحنى إهليلجي عالي الأداء مصمم لاتفاق المفاتيح Elliptic Curve Diffie-Hellman (ECDH). يوفر 128 بت من الأمان ويتم نشره على نطاق واسع في الأنظمة التشفيرية الحديثة.

ماذا يفعل: يتيح لطرفين إنشاء سر مشترك عن طريق تبادل المفاتيح العامة. يجمع كل طرف مفتاحه الخاص مع المفتاح العام للطرف الآخر لاشتقاق نفس السر المشترك. يُستخدم Curve25519 في Nudge لكل من اتفاق المفاتيح (ECDH) والتوقيعات الرقمية (Ed25519).

لماذا يهم: على الرغم من أنه ليس مقاومًا للكمّية، يوفر Curve25519 أمانًا فوريًا ضد المهاجمين الكلاسيكيين وهو سريع جدًا. في تصميم PQXDH الهجين لـ Nudge، يوفر Curve25519 الأمان اليوم بينما يوفر MLKEM-1024 الأمان ضد التهديدات الكمّية المستقبلية. يجب كسر كليهما حتى يتمكن المهاجم من اختراق الجلسة.

التنفيذ: مقدم من swift-crypto (Apple)، يُستخدم في مصافحة PQXDH وتوقيع مفتاح الجهاز

HKDF (دالة اشتقاق المفاتيح المستندة إلى HMAC)

ما هو: HKDF هي دالة اشتقاق مفاتيح تشتق بأمان مفاتيح متعددة من سر مشترك واحد أو إدخال إنتروبيا عالية. تستخدم HMAC (رمز مصادقة الرسالة المستند إلى Hash) كبدائية أساسية.

ماذا يفعل: يأخذ سرًا مشتركًا (من تبادل المفاتيح) ويشتق مفاتيح محددة الغرض للتشفير، المصادقة، والاستخدامات الأخرى. يستخدم HKDF ملحًا (لفصل المجال) ومعلومات سياق اختيارية لضمان اشتقاق مفاتيح مختلفة لأغراض مختلفة. يستخدم Nudge HKDF مع SHA-512 لاشتقاق مفاتيح الجلسة من الأسرار المشتركة PQXDH.

لماذا يهم: يمنع اشتقاق المفاتيح إعادة استخدام المفاتيح عبر سياقات مختلفة، وهو أمر بالغ الأهمية للأمان. كل مفتاح مشتق مستقل تشفيريًا، لذا فإن اختراق مفتاح واحد لا يؤثر على الآخرين. يُستخدم HKDF أيضًا في بروتوكول Double Ratchet لاشتقاق مفاتيح الرسالة من مفاتيح السلسلة.

التنفيذ: HKDF<SHA512> و HKDF<SHA256> من swift-crypto، يُستخدم في جميع أنحاء البروتوكول

AES-GCM (معيار التشفير المتقدم - وضع Galois/العداد)

ما هو: AES-GCM هو خوارزمية تشفير مصادق عليها توفر كل من السرية (التشفير) والسلامة (المصادقة) في عملية واحدة. يستخدم تشفير كتلة AES في وضع Galois/العداد.

ماذا يفعل: يشفر محتوى الرسالة وينشئ علامة مصادقة تثبت أن الرسالة لم يتم العبث بها. يُستخدم AES-GCM لتشفير جميع أحمال الرسائل في Nudge، مما يضمن عدم إمكانية قراءة الرسائل أو تعديلها من قبل المهاجمين.

لماذا يهم: يمنع التشفير المصادق عليه كل من التنصت والعبث. إذا قام المهاجم بتعديل رسالة مشفرة، ستكون علامة المصادقة غير صالحة وسيفشل فك التشفير. يستخدم Nudge AES-256-GCM، مما يوفر 256 بت من الأمان.

التنفيذ: مقدم من swift-crypto (Apple)، يُستخدم لجميع تشفير الرسائل عبر NeedleTailCrypto

SHA-256 و SHA-512 (خوارزميات Hash الآمنة)

ما هو: SHA-256 و SHA-512 هما دوال hash تشفيرية تنتج مخرجات بحجم ثابت (256 و 512 بت على التوالي) من مدخلات عشوائية. إنها دوال أحادية الاتجاه—سهلة الحساب لكن من المستحيل حسابيًا عكسها.

ماذا يفعل: تُستخدم في جميع أنحاء مكدس التشفير لأغراض مختلفة: SHA-256 يُستخدم في HMAC لاشتقاق مفتاح السلسلة في Double Ratchet، SHA-512 يُستخدم في HKDF لاشتقاق مفتاح الجلسة من الأسرار المشتركة PQXDH، ويُستخدم كلاهما للتحقق من السلامة واشتقاق المفاتيح.

لماذا يهم: دوال Hash هي لبنات بناء أساسية. تضمن اشتقاق المفاتيح بشكل حتمي، إمكانية التحقق من سلامة البيانات، وإنتاج العمليات التشفيرية لنتائج متسقة. يوفر SHA-512 هامش أمان إضافي لعمليات اشتقاق المفاتيح.

التنفيذ: مقدم من swift-crypto (Apple)، يُستخدم في HKDF، HMAC، واشتقاق المفاتيح

HMAC (رمز مصادقة الرسالة المستند إلى Hash)

ما هو: HMAC هو رمز مصادقة رسالة يستخدم دالة hash تشفيرية (مثل SHA-256) مجتمعة مع مفتاح سري لإنتاج علامة تتحقق من كل من أصالة وسلامة الرسالة.

ماذا يفعل: في Nudge، يُستخدم HMAC-SHA256 في بروتوكول Double Ratchet لاشتقاق مفاتيح السلسلة ومفاتيح الرسالة. كل خطوة راتشيت تستخدم HMAC لتقدم سلسلة المفاتيح، مما يضمن تطور المفاتيح بشكل حتمي وآمن.

لماذا يهم: يضمن HMAC أن اشتقاق المفاتيح آمن وحتمي. يُستخدم على نطاق واسع في Double Ratchet لتوفير السرية الأمامية—كل رسالة تستخدم مفتاحًا فريدًا مشتقًا من المفتاح السابق، لذا فإن اختراق مفتاح واحد لا يكشف عن المفاتيح السابقة أو المستقبلية.

التنفيذ: HMAC<SHA256> من swift-crypto، يُستخدم في اشتقاق مفاتيح Double Ratchet

كيف يعمل كل شيء معاً

1) مصافحة ما بعد الكمّية (PQXDH)

عندما يبدأ مستخدمان محادثة، ينفذ Nudge تبادل مفاتيح هجين:

  1. Curve25519 ECDH: يتبادل الطرفان مفاتيح Curve25519 العامة ويشتقان سرًا مشتركًا باستخدام Diffie-Hellman منحنى إهليلجي
  2. تغليف MLKEM-1024: يستخدم أحد الطرفين المفتاح العام MLKEM-1024 للطرف الآخر لتغليف سر مشترك
  3. دمج الأسرار: يتم ربط السر المشترك Curve25519 والسر المشترك MLKEM-1024
  4. اشتقاق HKDF: يشتق HKDF-SHA512 مفتاح الجذر ومفاتيح السلسلة الأولية من الأسرار المدمجة

تضمن هذه الطريقة الهجينة الأمان ضد كل من المهاجمين الكلاسيكيين (Curve25519) والكمّيين (MLKEM-1024). يجب كسر كليهما لاختراق الجلسة.

2) تطور المفاتيح المستمر (Double Ratchet)

بعد المصافحة، يوفر بروتوكول Double Ratchet السرية الأمامية:

  1. الراتشيت المتماثل: تقدم كل رسالة مفتاح سلسلة باستخدام HMAC-SHA256، مشتقة مفتاح رسالة فريد
  2. تشفير الرسالة: يُستخدم مفتاح الرسالة مع AES-256-GCM لتشفير حمولة الرسالة
  3. راتشيت DH: بشكل دوري، تحدّث تبادلات مفاتيح Diffie-Hellman الجديدة مفتاح الجذر وتنشئ مفاتيح سلسلة جديدة
  4. تدوير المفاتيح: يتم التخلص من المفاتيح القديمة، مما يضمن السرية الأمامية—اختراق المفاتيح الحالية لا يكشف عن الرسائل السابقة

يضمن Double Ratchet أن كل رسالة تستخدم مفتاح تشفير فريد وأن المفاتيح تتطور باستمرار لتوفير الأمان بعد الاختراق.

ما يتم تشفيره (وما لا يتم)

التشفير القوي يحمي محتوى الرسالة. مثل جميع أنظمة المراسلة، قد توجد بعض البيانات الوصفية على مستوى الشبكة (مثل توجيه IP). يدعم مكدس Nudge أيضًا تقنيات حماية البيانات الوصفية مثل الرؤوس المشفرة لتقليل إشارات تحليل حركة المرور.

  • مشفر: محتوى الرسائل، أسرار الجلسة، البيانات الوصفية الحساسة (عندما يتم دعمها)
  • تعرض مخفض: العدادات/معرفات المفاتيح عبر تشفير الرأس (عندما يكون ذلك مناسبًا)
  • لا يزال ممكنًا: ملاحظات على مستوى النقل (التوقيت، نقاط النهاية) اعتمادًا على ظروف الشبكة

خصائص الأمان

يوفر تصميم التشفير في Nudge طبقات أمان متعددة:

  • الأمان ما بعد الكمّية: يحمي MLKEM-1024 من الهجمات الكمّية المستقبلية
  • السرية الأمامية: تبقى الرسائل السابقة آمنة حتى إذا تم اختراق المفاتيح الحالية
  • الأمان بعد الاختراق: يمكن للجلسات التعافي من اختراق المفاتيح
  • التشفير المصادق عليه: يمنع AES-GCM كل من التنصت والعبث
  • حماية البيانات الوصفية: يقلل تشفير الرأس من تحليل حركة المرور

تريد مجتمع Nudge خاص؟

تقدم NeedleTails خدمات تنفيذ خوادم مدفوعة للمنظمات التي تحتاج إلى نشر خاص، ضوابط الحوكمة، والمسؤولية التشغيلية.

يتبرع