بروتوكول النقل الآمن في الوقت الحقيقي
بروتوكول النقل الآمن في الوقت الحقيقي ( SRTP ) هو ملف تعريف لبروتوكول النقل في الوقت الحقيقي (RTP) مصمم لتوفير التشفير، والتحقق من صحة الرسائل وسلامتها ، والحماية من هجمات إعادة الإرسال لبيانات RTP في تطبيقات البث الأحادي والمتعدد . وقد طُوّر بواسطة فريق صغير من خبراء بروتوكول الإنترنت والتشفير من شركتي سيسكو وإريكسون . ونُشر لأول مرة من قِبل فريق عمل هندسة الإنترنت (IETF) في مارس 2004 تحت مسمى RFC 3711 .
بما أن بروتوكول RTP مصحوب ببروتوكول التحكم في RTP (RTCP) الذي يستخدم للتحكم في جلسة RTP، فإن بروتوكول SRTP له بروتوكول شقيق يسمى Secure RTCP ( SRTCP )؛ فهو يوفر بشكل آمن نفس الوظائف لبروتوكول SRTP مثل تلك التي يوفرها بروتوكول RTCP لبروتوكول RTP.
يُعدّ استخدام بروتوكولي SRTP أو SRTCP اختياريًا في تطبيقات RTP أو RTCP؛ ولكن حتى في حال استخدامهما، فإن جميع الميزات المُتاحة (مثل التشفير والمصادقة) اختيارية ويمكن تفعيلها أو تعطيلها بشكل منفصل. الاستثناء الوحيد هو ميزة مصادقة الرسائل، فهي ضرورية ولا غنى عنها عند استخدام SRTCP.
تشفير تدفق البيانات
يستخدم بروتوكولا SRTP وSRTCP معيار التشفير المتقدم (AES) كخوارزمية تشفير افتراضية . يوجد نمطان للتشفير يسمحان باستخدام خوارزمية تشفير الكتلة AES كخوارزمية تشفير متدفقة .
- وضع عداد الأعداد الصحيحة المجزأة
- يُعدّ وضع العداد النموذجي ، الذي يسمح بالوصول العشوائي إلى أيٍّ من الكتل، أمرًا بالغ الأهمية لحركة مرور بروتوكول النقل في الوقت الحقيقي (RTP) عبر الشبكات غير الموثوقة مع احتمال فقدان الحزم. في الحالة العامة، يمكن استخدام أي دالة تقريبًا كعداد ، بشرط ألا تتكرر هذه الدالة لعدد كبير من الدورات. لكن المعيار القياسي لتشفير بيانات RTP هو مجرد عداد تزايدي صحيح عادي. يُعدّ معيار التشفير المتقدم (AES) الذي يعمل في هذا الوضع خوارزمية التشفير الافتراضية، بحجم مفتاح افتراضي يبلغ 128 بتًا وطول مفتاح ملح الجلسة الافتراضي 112 بتًا.
- وضع f8
- نمط مُعدّل من نمط التغذية الراجعة للمخرجات ، مُحسّن ليكون قابلاً للبحث، مع دالة تهيئة مُعدّلة. القيم الافتراضية لمفتاح التشفير ومفتاح الملح هي نفسها المستخدمة في خوارزمية AES في نمط العداد. (تم اختيار خوارزمية AES التي تعمل في هذا النمط لاستخدامها في شبكات الجيل الثالث للهواتف المحمولة ).
إلى جانب خوارزمية التشفير AES، يتيح بروتوكول SRTP إمكانية تعطيل التشفير تمامًا باستخدام ما يُعرف بخوارزمية التشفير الصفري ، والتي تُعتبر خوارزمية تشفير بديلة مدعومة. في الواقع، لا تُجري خوارزمية التشفير الصفري أي تشفير؛ إذ تعمل خوارزمية التشفير كدالة هوية ، وتنسخ دفق الإدخال إلى دفق الإخراج دون أي تغييرات. يُعدّ تطبيق نمط التشفير هذا إلزاميًا في أي نظام متوافق مع SRTP. وبالتالي، يُمكن استخدامه عندما لا تكون ضمانات السرية التي يوفرها SRTP مطلوبة، بينما يُمكن استخدام ميزات SRTP الأخرى، مثل المصادقة وسلامة الرسائل.
على الرغم من أن بروتوكول SRTP يمكنه استيعاب خوارزميات التشفير الجديدة بسهولة، إلا أن معيار SRTP ينص على أنه لا يمكن إدخال خوارزميات التشفير الجديدة إلا من خلال نشر RFC جديد مصاحب يجب أن يحدد بوضوح الخوارزمية الجديدة.
المصادقة، والنزاهة، وحماية إعادة التشغيل
لا تضمن خوارزميات التشفير المذكورة أعلاه وحدها سلامة الرسائل، فلن يتمكن المهاجم من فك تشفير البيانات، ولكنه قد يتمكن من تزويرها أو إعادة إرسالها. لذا، يوفر معيار SRTP أيضًا وسائل لضمان سلامة البيانات وحمايتها من إعادة الإرسال.
للتحقق من صحة الرسالة وحماية سلامتها، تُستخدم خوارزمية HMAC-SHA1 [ 1 ] . تُنتج هذه الخوارزمية قيمةً طولها 160 بت، تُقتطع بعد ذلك إلى 80 أو 32 بت لتُصبح علامة التحقق المُلحقة بكل حزمة. يُحسب رمز HMAC بناءً على حمولة الحزمة وبيانات رأس الحزمة، بما في ذلك رقم تسلسل الحزمة. وللحماية من هجمات إعادة الإرسال ، يحتفظ المُستقبِل بأرقام تسلسل الرسائل المُستلمة سابقًا، ويُقارنها برقم التسلسل في كل رسالة جديدة، ولا يقبل الرسالة الجديدة إلا إذا لم تكن قد استُلمت من قبل. يعتمد هذا الأسلوب على حماية سلامة الرسالة، مما يجعل تعديل رقم التسلسل دون اكتشافه أمرًا مستحيلاً.
اشتقاق المفتاح
تُستخدم دالة اشتقاق المفاتيح لاشتقاق المفاتيح المختلفة المستخدمة في سياق التشفير (مفاتيح التشفير والملح لبروتوكولي SRTP وSRTCP، ومفاتيح المصادقة لبروتوكولي SRTP وSRTCP) من مفتاح رئيسي واحد بطريقة آمنة تشفيرياً . وبذلك، لا يحتاج بروتوكول إدارة المفاتيح إلا إلى تبادل مفتاح رئيسي واحد، حيث يتم توليد جميع مفاتيح الجلسة اللازمة بتطبيق دالة اشتقاق المفاتيح.
يمنع التطبيق الدوري لوظيفة اشتقاق المفتاح المهاجم من جمع كميات كبيرة من النصوص المشفرة باستخدام مفتاح جلسة واحد . يوفر هذا حماية ضد بعض الهجمات التي يسهل تنفيذها عند توفر كمية كبيرة من النصوص المشفرة. علاوة على ذلك، يوفر التطبيق المتعدد لوظيفة اشتقاق المفتاح أمانًا رجعيًا وأماميًا، بمعنى أن مفتاح الجلسة المخترق لا يؤثر على مفاتيح الجلسات الأخرى المشتقة من نفس المفتاح الرئيسي. هذا يعني أنه حتى لو تمكن المهاجم من استعادة مفتاح جلسة، فلن يتمكن من فك تشفير الرسائل المؤمنة بمفاتيح جلسات سابقة أو لاحقة مشتقة من نفس المفتاح الرئيسي. (تجدر الإشارة إلى أن تسريب المفتاح الرئيسي يكشف جميع مفاتيح الجلسات المشتقة منه).
يعتمد بروتوكول SRTP على بروتوكول خارجي لإدارة المفاتيح لإنشاء المفتاح الرئيسي الأولي. ومن بين البروتوكولات المصممة خصيصًا للاستخدام مع SRTP بروتوكولا ZRTP و MIKEY . كما توجد طرق أخرى للتفاوض على مفاتيح SRTP. ويقدم العديد من الموردين منتجات تستخدم طريقة تبادل المفاتيح SDES .
DTLS-SRTP
- حددت RFC 5764 بروتوكول DTLS-SRTP . يستخدم DTLS-SRTP بروتوكول DTLS لتسليم المفتاح الرئيسي، ويسمح بمصادقة المفتاح العام.
قابلية التشغيل البيني والتطبيقات
انظر مقارنة برامج VoIP § برامج VoIP الآمنة للهواتف والخوادم والتطبيقات التي تدعم SRTP.
الاتصالات الهاتفية (VoIP)
دعم متصفح الويب
متصفحات الويب المعروفة التي تدعم بروتوكول SRTP من نوع ما
- عائلة محركات المتصفح Blink
- يدعم متصفح الويب Chromium (ولكن ليس بشكل عام) بروتوكول SRTP تجريبياً منذ عام 2016
- أوبرا (متصفح الويب)
- فيفالدي (متصفح الويب)
عائلات متصفحات الويب التي تحتوي على مستوى معين من بروتوكول SRTP في فروع التحديث الرئيسية من نظام العرض الأساسي
- جيكو (برنامج)
- MSHTML (تم استبدالها، ولكن كان الدعم محدودًا للغاية وقت انتهاء صلاحيتها)
- WebKit
حتى الآن، لا يوجد دعم معروف لبروتوكول SRTP لمتصفحات الويب النصية.
وثائق المعايير
- RFC 3711 ، المعيار المقترح، بروتوكول النقل الآمن في الوقت الحقيقي (SRTP)
- RFC 4771 ، المعيار المقترح، عداد تجاوز التحويل الآمن لبروتوكول النقل في الوقت الحقيقي (SRTP)
- RFC 3551 ، المعيار 65، ملف تعريف RTP للمؤتمرات الصوتية والمرئية ذات التحكم الأدنى
- RFC 3550 ، المعيار 64، بروتوكول النقل في الوقت الحقيقي (RTP): بروتوكول نقل للتطبيقات في الوقت الحقيقي
- RFC 2104 ، معلوماتي، HMAC: التجزئة المفتاحية لمصادقة الرسائل
- RFC 7714 ، المعيار المقترح، التشفير المصادق عليه AES-GCM في بروتوكول النقل الآمن في الوقت الحقيقي (SRTP)
مراجع
- ↑ RFC 2104
- ↑ "دليل الاتصال الآمن - مشروع أستريسك - ويكي مشروع أستريسك" . wiki.asterisk.org . تم الاطلاع عليه بتاريخ 22-12-2019 .
- ↑ "Asterisk SRTP" . VoIP-Info . 13-02-2007 . تم الاطلاع عليه بتاريخ 22-12-2019 .
- بروتوكولات التشفير
