سؤال

ونحن نتطلع إلى القيام ببعض الثقيلة متطلبات الأمن على المشروع ، ونحن بحاجة إلى القيام بالكثير من التشفير عالية وقوية.

أعتقد أنني أعرف أن PKI أبطأ بكثير وأكثر تعقيدا من التشفير المتناظر, ولكن أنا لا يمكن العثور على أرقام الاحتياطي مشاعري.

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

المحلول

نعم بحتة التشفير غير المتناظر أبطأ بكثير من متماثل سيفيرس (مثل قصر أو AES) ، وهذا هو السبب الحقيقي استخدام التطبيقات الهجين التشفير:تكلفة المفتاح العام يتم تنفيذ عمليات فقط تشفير (الصرف) تشفير المفتاح المتناظر الخوارزمية التي سوف تستخدم في تشفير الرسالة الحقيقية.

المشكلة أن تشفير المفتاح العام يحل هو أنه لا يوجد السرية المشتركة.مع التشفير المتناظر عليك أن تثق جميع الأطراف المعنية للحفاظ على المفتاح السري.هذه المسألة يجب أن تكون أكبر بكثير القلق من الأداء (التي يمكن تخفيفها مع نهج الهجين)

نصائح أخرى

على ماك بوك تشغيل OS X 10.5.5 الأسهم بناء بينسل ، "بينسل السرعة" الساعات AES-128-CBC في 46,000 1024 بت كتل في الثانية.نفس مربع الساعات 1024 bit RSA في 169 التوقيعات في الثانية.AES-128-CBC هو "كتاب" كتلة خوارزمية التشفير و RSA 1024 هو "كتاب" خوارزمية المفتاح العام.انها التفاح إلى البرتقال ، ولكن الجواب هو: RSA هي أبطأ بكثير.

ليس هذا هو السبب يجب أن لا يكون باستخدام تشفير المفتاح العام, ومع ذلك.هنا هي الأسباب الحقيقية:

  1. المفتاح العام التشفير العمليات لا يقصد الخام تشفير البيانات.خوارزميات مثل Diffie-Hellman و RSA وضعت كوسيلة لتبادل مفاتيح كتلة خوارزميات التشفير.لذا, فعلى سبيل المثال, استخدام آمن عشوائية عدد المولدات لتوليد 128 بت عشوائي مفتاح AES و تشفير تلك 16 بايت مع RSA.

  2. خوارزميات مثل RSA هي أقل بكثير من "الاستعمال" من AES.مع مفتاح عشوائي ، عادي كتلة تغذية AES سوف يخرج عشوائي إلى أي شخص من دون مفتاح.هذا هو في الواقع ليس كذلك مع RSA ، والتي --- أكثر من AES --- مجرد معادلة رياضية.وذلك بالإضافة إلى تخزين وإدارة مفاتيح بشكل صحيح, يجب أن تكون حذرا للغاية مع طريقة تنسيق RSA عادي كتل ، أو كنت في نهاية المطاف مع نقاط الضعف.

  3. المفتاح العام لا يعمل بدون مفتاح إدارة البنية التحتية.إذا لم يكن لديك خطة للتحقق من المفاتيح العامة المهاجمين يمكن أن تكون بديلا الخاصة بهم keypairs بين الحقيقي منها لإطلاق "الرجل في الوسط" الهجمات.هذا هو السبب SSL القوات لك أن تذهب من خلال الكلام الفارغ من الشهادات.كتلة خوارزميات التشفير مثل AES هل يعانون من هذه المشكلة أيضا ، ولكن من دون PKI ، AES ليس أقل أمنا من RSA.

  4. المفتاح العام التشفير عمليات عرضة أكثر التنفيذ الضعف من AES.على سبيل المثال ، كلا الجانبين من RSA الصفقة يجب أن نتفق على المعلمات, وهي أرقام الاحتياطي الفيدرالي إلى RSA المعادلة.هناك الشر القيم المهاجمين يمكن أن تكون بديلا في صمت تعطيل التشفير.الشيء نفسه ينطبق على ديفي هيلمان وحتى أكثر من ذلك بالنسبة المنحنى البيضاوي.مثال آخر هو RSA التوقيع التزوير الضعف التي حدثت 2 منذ سنوات في عدة الراقية SSL تطبيقات.

  5. باستخدام المفتاح العام هو دليل على أن كنت تفعل شيئا "خارج عن المألوف".خارج عن المألوف هو بالضبط ما كنت أبدا تريد أن تكون مع التشفير;أبعد من مجرد خوارزميات التشفير التصاميم مراجعة و اختبار لسنوات قبل أن تعتبر آمنة.

لعملائنا الذين يرغبون في استخدام التشفير في طلباتهم, نحن جعل اثنين من التوصيات:

  • عن "البيانات في بقية" ، استخدام PGP.حقا!PGP تم ضرب أكثر من عقد من الزمن وتعتبر آمنة من البكم تنفيذ الأخطاء.هناك مفتوحة المصدر والتجارية المتغيرات من ذلك.

  • عن "البيانات في الطيران" استخدام TLS/SSL.لا البروتوكول الأمني في العالم فهم أفضل و أفضل اختبار من TLS;المؤسسات المالية في كل مكان تقبل على أنها طريقة آمنة لنقل البيانات الحساسة.

وهنا الكريم writeup [matasano.com] لي ونيت لوسون المهنية مبرمجة, كتبت قبل بضع سنوات.وتغطي هذه النقاط في مزيد من التفاصيل.

تستخدم OpenSSL speed الأمر المؤشر الخوارزميات وانظر لنفسك.

[dave@hal9000 ~]$ openssl speed aes-128-cbc
Doing aes-128 cbc for 3s on 16 size blocks: 26126940 aes-128 cbc's in 3.00s
Doing aes-128 cbc for 3s on 64 size blocks: 7160075 aes-128 cbc's in 3.00s
...
The 'numbers' are in 1000s of bytes per second processed.
type             16 bytes     64 bytes    256 bytes   1024 bytes   8192 bytes
aes-128 cbc     139343.68k   152748.27k   155215.70k   155745.61k   157196.29k


[dave@hal9000 ~]$ openssl speed rsa2048
Doing 2048 bit private rsa's for 10s: 9267 2048 bit private RSA's in 9.99s
Doing 2048 bit public rsa's for 10s: 299665 2048 bit public RSA's in 9.99s
...
                  sign    verify    sign/s verify/s
rsa 2048 bits 0.001078s 0.000033s    927.6  29996.5

عملية PKI على أساس أنظمة التشفير استخدام التشفير غير المتناظر إلى تشفير مفتاح متماثل ، ومن ثم تشفير متماثل مع مفتاح تشفير البيانات (وقد قلت ذلك, شخص ما سوف نشير مضادة سبيل المثال).

وبالتالي فإن النفقات الإضافية التي تفرضها غير المتماثلة خوارزميات التشفير على أن من متماثل هو ثابت لا يعتمد على حجم البيانات فقط على مفتاح الأحجام.

آخر مرة أنا اختبرت هذا, التحقق من صحة سلسلة من 3 أو حتى شهادات X. 509 [تحرير لإضافة:والبيانات التي تم التوقيع] كان يأخذ جزء من الثانية على ذراع التشغيل في 100MHz أو حتى (في المتوسط على مدى العديد من التكرار الواضح).لا أستطيع أن أتذكر كيف صغير لا يكاد يذكر ، ولكن أقل من ثانية.

آسف لا أستطيع أن أتذكر التفاصيل الدقيقة ، ولكن الملخص هو أن إلا إذا كنت على تقييد النظام أو القيام بالكثير من التشفير (مثل إذا كنت ترغب في قبول أكبر عدد ممكن اتصالات SSL الثانية) ، NIST-وافق التشفير غير المتناظر طرق سريعة.

على ما يبدو هو 1000x أسوأ.(http://windowsitpro.com/article/articleid/93787/symmetric-vs-asymmetric-ciphers.html).ولكن إلا إذا كنت حقا العمل من خلال الكثير من البيانات لن يهم.ما يمكنك القيام به هو استخدام التشفير غير المتناظر إلى تبادل متماثل مفتاح التشفير.

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

فعلى سبيل المثال ، X509 موتس هي المعايير الصناعية طريقة لتأمين العميل/الخادم النهاية.PGP التصفيح يمكن استخدامها للحصول على ملفات الترخيص.عن البساطة ، الشفرات كتلة تسلسل مع السمكة المنتفخة (ومجموعة أخرى من الأصفار) هو سهل الاستخدام في Perl أو جافا ، إذا كنت السيطرة على نقطة النهاية.

شكرا

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top