شرح SRTP


بروتوكول النقل الآمن في الوقت الحقيقي (SRTP) هو نظام أمان يمتد بروتوكول النقل في الوقت الحقيقي (RTP) مع مجموعة من آليات الأمان.

يستخدم WebRTC DTLS-SRTP للتشفير والمصادقة وتكامل الرسائل ، بالإضافة إلى الحماية من هجمات إعادة التشغيل. وهذا يمنح الخصوصية من خلال تشفير ومصادقة تحميل RTP. يعد SRTP أحد مكونات الأمان ، وهو مناسب جدًا للمطورين الذين يبحثون عن واجهة برمجة تطبيقات موثوقة وآمنة. ولكن ما هو SRTP وكيف يعمل؟

ما هو SRTP؟


يعزز SRTP أمان RTP. تم نشر البروتوكول بواسطة IETF (فريق هندسة الإنترنت) في RFC 3711 ، في مارس 2004.

يوفر SRTP الخصوصية عن طريق تشفير تحميل RTP ، لا يشمل رؤوس RTP. المصادقة مدعومة أيضًا ، والتي تُستخدم على نطاق واسع كآلية أمان في RTP. بينما يمكن استخدام SRTP بالكامل ، فمن الممكن أيضًا تعطيل / تمكين وظائف معينة. المكون الإضافي الرئيسي في SRTP هو إدارة المفاتيح ، نظرًا لوجود العديد من الخيارات: DTLS-SRTP و MIKEY في SIP و SDES (وصف الأمان) في SDP و ZRTP وما إلى ذلك.

التشفير


يستخدم SRTP AES (معيار التشفير المتقدم) باعتباره التشفير الافتراضي. يحتوي AES على وضعين للتشفير: وضع عداد صحيح مجزأ ووضع f8. عادةً ما يتم استخدام وضع العداد - وهو مهم للغاية عند إرسال حركة المرور عبر شبكة غير موثوقة مع احتمال فقدان الحزمة. يتم استخدام وضع f8 في شبكات 3G المحمولة وهو أحد أشكال وضع تعليقات المخرجات ، حيث يتم فك التشفير بنفس طريقة التشفير.

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

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

النزاهة


للحفاظ على تكامل الرسائل في SRTP ، يتم إنشاء تسمية مصادقة استنادًا إلى المحتوى وجزء من رؤوس الحزم ، والتي تتم إضافتها بعد ذلك إلى حزمة RTP. يتم استخدام هذا الملصق للتحقق من صحة محتويات الحمولة ، والتي بدورها تمنع تزوير البيانات.

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

على الرغم من أن WebRTC يستخدم في الأساس خوارزمية HMAC-SHA1 لتكامل SRTP ، فمن المستحسن بشدة تحديد مجموعات من الخوارزميات باستخدام PFS (السرية التامة للأمام) عبر غير PFS و AEAD (التشفير المصدق مع البيانات المرتبطة) عبر غير AEAD. تستخدم تطبيقات WebRTC الأخيرة DTLS v1.2 مع مجموعة الخوارزمية TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256.

المفاتيح


يستخدم SRTP وظيفة إنشاء المفاتيح (KDF) لإنشاء مفاتيح بناءً على المفتاح الرئيسي. يقوم بروتوكول إدارة المفاتيح بإنشاء كافة المفاتيح في جلسة باستخدام مفتاح رئيسي. نظرًا لحقيقة أن كل جلسة لها مفتاح فريد خاص بها ، فإن جميع الجلسات محمية. لذلك ، إذا تم اختراق جلسة واحدة ، فإن الباقي لا يزال محميًا. يتم استخدام بروتوكول إدارة المفاتيح للمفتاح الرئيسي - عادة ما يكون ZRTP أو MIKEY ، ولكن هناك اختلافات أخرى.


مكدس RTP IP

التدفقات في WebRTC محمية بواسطة أحد البروتوكولين: SRTP أو DTLS (Datagram Transport Layer Security). DTLS - لتشفير تدفقات البيانات ، SRTP - لتدفقات الوسائط. ومع ذلك ، بالنسبة لتبادل المفاتيح في SRTP ، يتم استخدام DTLS-SRTP للكشف عن هجمات الوسيط. هذا مفصل في مستندات IETF: WebRTC security and security arch .

SRTCP (بروتوكول التحكم في النقل الآمن في الوقت الحقيقي)


يحتوي SRTP على بروتوكول شقيق - SRTCP (بروتوكول التحكم في النقل الآمن في الوقت الحقيقي). يوسع SRTCP RTCP (بروتوكول التحكم في النقل في الوقت الفعلي) بنفس الميزات التي يعمل SRTP على تمديد RTP ، بما في ذلك التشفير والمصادقة. مثل SRTP ، يمكن تعطيل جميع ميزات أمان SRTCP تقريبًا ، باستثناء مصادقة الرسائل - فهي ضرورية لـ SRTCP.

مطبات SRTP


يقوم SRTP بتشفير الحمولة النافعة لحزم RTP ، وليس امتداد الرأس. يؤدي ذلك إلى إنشاء ثغرة أمنية لأن امتداد الرأس في حزمة RTP قد يحتوي على معلومات مهمة ، على سبيل المثال ، مستويات الصوت لكل حزمة في دفق الوسائط. من المحتمل أن يكون هذا مألوفًا للمهاجم الذي يتواصل معه شخصان على الشبكة - قد تتعرض خصوصية المحادثة للخطر. تمت مناقشة هذا في طلب IETF للتعليقات: 6904 ، والذي يتطلب جميع عمليات التنفيذ اللاحقة لـ SRTP لتشفير ملحقات الرأس.

في بعض الحالات - على سبيل المثال ، مؤتمر مع العديد من المشاركين - قد يكون وسيطًا على شكل SFM (خلاط إعادة التوجيه الانتقائي) ضروريًا لتحسين معلمات RTP أثناء إعادة توجيه التدفقات. ينتهك هذا الوسيط مبدأ التشفير من طرف إلى طرف المستخدم في أنظمة نظير إلى نظير ؛ بمعنى آخر ، يجب على الأجهزة النهائية "الثقة" في مشارك آخر. للتغلب على هذا القيد ، يعمل مؤتمر RTP المحسن الخصوصية (PERC ، إحدى مجموعات عمل IETF) على حلول مثل إجراءات التشفير المزدوج لـ SRTP . توفر PERCs ضمانات مدعومة بالتشفير خطوة بخطوة والتشفير الشامل في سياقين منفصلين ولكن مرتبطين. سنخبرك عن ذلك في المنشورات القادمة!

Source: https://habr.com/ru/post/ar413165/


All Articles