ما مقدار الحمل الذي تفرضه طبقة المقابس الآمنة (SSL)؟

StackOverflow https://stackoverflow.com/questions/548029

سؤال

أعلم أنه لا توجد إجابة واحدة حاسمة وسريعة، ولكن هل هناك إجابة عامة؟ تقدير الترتيب من حيث الحجم تقريبي لحمل التشفير لـ SSL مقابل اتصال المقبس غير المشفر؟أنا أتحدث فقط عن معالجة الاتصالات ووقت التحويل، دون احتساب المعالجة على مستوى التطبيق.

تحديث

هنالك سؤال حول HTTPS مقابل HTTP, ، لكنني مهتم بالنظر إلى مستوى أدنى في المكدس.

(لقد استبدلت عبارة "ترتيب الحجم" لتجنب الالتباس؛كنت أستخدمها كمصطلحات غير رسمية وليس بالمعنى الرسمي لـ CompSci.بالطبع إذا أنا ملك أعني ذلك رسميًا، باعتباري مهووسًا حقيقيًا، كنت سأفكر في النظام الثنائي وليس العشري!؛-)

تحديث

لكل طلب في التعليق، افترض أننا نتحدث عن رسائل جيدة الحجم (نطاق يتراوح من 1 كيلو إلى 10 كيلو) عبر الاتصالات المستمرة.لذا فإن إعداد الاتصال وحمولة الحزمة ليست مشكلات مهمة.

هل كانت مفيدة؟

المحلول

أمر من حجم:صفر.

بمعنى آخر، لن ترى انخفاضًا في إنتاجيتك إلى النصف، أو أي شيء من هذا القبيل، عند إضافة TLS.إجابات على سؤال "مكرر". التركيز بشكل كبير على أداء التطبيق، وكيفية مقارنته بحمل SSL.يستثني هذا السؤال على وجه التحديد معالجة التطبيقات، ويسعى إلى مقارنة بروتوكولات غير SSL بـ SSL فقط.على الرغم من أنه من المنطقي إلقاء نظرة شاملة على الأداء عند التحسين، إلا أن هذا ليس ما يطرحه هذا السؤال.

العبء الرئيسي لـ SSL هو المصافحة.هذا هو المكان الذي يحدث فيه التشفير غير المتماثل باهظ الثمن.بعد التفاوض، يتم استخدام شفرات متماثلة فعالة نسبيًا.ولهذا السبب قد يكون من المفيد جدًا تمكين جلسات SSL لخدمة HTTPS الخاصة بك، حيث يتم إجراء العديد من الاتصالات.بالنسبة لاتصال طويل الأمد، فإن هذا "التأثير النهائي" ليس مهمًا، كما أن الجلسات ليست مفيدة بنفس القدر.


هنا حكاية مثيرة للاهتمام. عندما قامت Google بتحويل Gmail لاستخدام HTTPS، لم تكن هناك حاجة إلى موارد إضافية؛لا توجد أجهزة شبكة، ولا مضيفين جدد.لقد أدى ذلك إلى زيادة حمل وحدة المعالجة المركزية بحوالي 1٪ فقط.

نصائح أخرى

أنا الثاني @ إريكسون:عقوبة سرعة نقل البيانات النقية لا تذكر.تصل وحدات المعالجة المركزية الحديثة إلى إنتاجية تشفير/AES تصل إلى عدة مئات من الميجابايت/ثانية.لذلك، ما لم تكن تستخدم نظامًا مقيدًا بالموارد (الهاتف المحمول)، فإن TLS/SSL سريع بما يكفي لنقل البيانات.

لكن ضع في اعتبارك أن التشفير يجعل التخزين المؤقت وموازنة التحميل أكثر صعوبة.قد يؤدي هذا إلى عقوبة أداء ضخمة.

لكن إعداد الاتصال يمثل في الحقيقة عائقًا أمام العديد من التطبيقات.في حالة النطاق الترددي المنخفض، وفقدان الحزمة المرتفع، والاتصالات ذات زمن الوصول العالي (الجهاز المحمول في الريف)، فإن رحلات الذهاب والإياب الإضافية التي يتطلبها TLS قد تجعل شيئًا بطيئًا إلى شيء غير قابل للاستخدام.

على سبيل المثال، اضطررنا إلى إسقاط متطلبات التشفير للوصول إلى بعض تطبيقات الويب الداخلية لدينا - حيث أصبحت غير قابلة للاستخدام إذا تم استخدامها من الصين.

على افتراض أنك لا تحسب إعداد الاتصال (كما أشرت في التحديث الخاص بك)، فإن ذلك يعتمد بشدة على التشفير المختار.سيكون حمل الشبكة (من حيث عرض النطاق الترددي) ضئيلًا.سيهيمن التشفير على حمل وحدة المعالجة المركزية.على هاتفي المحمول Core i5، يمكنني تشفير حوالي 250 ميجابايت في الثانية باستخدام RC4 على نواة واحدة. (RC4 هو ما يجب عليك اختياره لتحقيق أقصى قدر من الأداء.) AES أبطأ، ويوفر "فقط" حوالي 50 ميجابايت/ثانية.لذلك، إذا اخترت الأصفار الصحيحة، فلن تتمكن من إبقاء نواة حالية واحدة مشغولة بحمل التشفير حتى لو كان لديك خط 1 جيجابت مستغل بالكامل.[يحرر:لا ينبغي استخدام RC4 لأنه لم يعد آمنًا.ومع ذلك، يتوفر الآن دعم أجهزة AES في العديد من وحدات المعالجة المركزية (CPUs)، مما يجعل تشفير AES سريعًا جدًا على مثل هذه الأنظمة الأساسية.]

لكن إنشاء الاتصال مختلف.اعتمادًا على التنفيذ (على سبيل المثال.دعم البداية الخاطئة لـ TLS)، فستضيف رحلات ذهابًا وإيابًا، مما قد يتسبب في تأخيرات ملحوظة.بالإضافة إلى ذلك، يتم إجراء تشفير باهظ الثمن عند إنشاء الاتصال الأول (وحدة المعالجة المركزية المذكورة أعلاه يمكن أن تقبل فقط 14 اتصالًا لكل نواة في الثانية إذا استخدمت بحماقة مفاتيح 4096 بت و100 اتصال إذا كنت تستخدم مفاتيح 2048 بت).في الاتصالات اللاحقة، غالبًا ما يتم إعادة استخدام الجلسات السابقة، لتجنب التشفير الباهظ الثمن.

لذلك، لتلخيص:

النقل على اتصال قائم:

  • تأخير:لا شيء تقريبا
  • وحدة المعالجة المركزية:ضئيلة
  • عرض النطاق:ضئيلة

تأسيس الاتصال الأول:

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

مؤسسات الاتصال اللاحقة:

  • تأخير:رحلة إضافية ذهابًا وإيابًا (لست متأكدًا مما إذا كانت رحلة واحدة أو أكثر، قد تعتمد على التنفيذ)
  • عرض النطاق:ضئيلة
  • وحدة المعالجة المركزية:لا شيء تقريبا
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top