بهترین سایز کلید RSA برای گواهینامه امنیتی SSL

در صورتی که میخواهید یک گواهینامه امنیتی ایجاد کنید، یکی از سوالاتی که برای شما ایجاد می شود اندازه سایز کلید RSA است.
شاید یک عنوان دیگر این مقاله می توانست این باشد که چرا سایز کلید 4096 را استفاده نکنیم؟

بهترین سایز کلید RSA چیست؟

  • OpenSSL بصورت پیشفرض از کلید 2048 بیتی استفاده می کند.
  • سیستم عامل ویندوز از شما می خواهد که دقیقا انتخاب کنید سایز مورد نظر شما چیست؟
  • اگر می خواهید یک گواهینامه امنیتی با آدرس سبز رنگ EV داشته باشید می بایست حتما سایز کلید حداقل 2048 باشد.


به چه دلیل لازم است در خصوص کلید های 4096 اطلاعات بیشتری داشته باشید؟

  • اکثر توسعه دهندگان آنلاین مثل GitHub, Stripe, nmp و Mozilla از کلید های 2048 بیتی برای گواهینامه های امنیتی EV خود در زمان نگارش این مقاله استفاده می کنند.
  • GnuPG اعتقاد دارد که کلید های 4096 بیتی غیر ضروری هستند.
  • اما SSL Labs برای اعطای امتیاز 100% به شما، از شما می خواهد که کلید 4096 بیتی داشته باشید.


انتخاب سایز کلید RSA

حتما در جریان هستید که با داشتن یک کلید 4096 بیتی:

  • قدرت کدگذاری شما افزایش می یابد.
  • ارتباط اولیه (Handshake) گواهینامه امنیتی شما به ازای هر ارتباط کندتر خواهد بود.
  • میزان مصرف CPU در زمان Handshake بیشتر خواهد بود.

اما ممکن است از تاثیرات دقیق هر یک از موارد فوق بی اطلاع باشید، هم اکنون با شما این موارد را بررسی می کنیم.

محاسبه قدرت کدگذاری
بر خلاف الگوریتم های متقارن، الگوریتم غیر متقارن RSA (متاسفانه) با افزایش یک بیت اضافه امنیت شما را دو برابر نمی کند.
کلیدهای RSA توسط موسسه ملی استاندارد و تکنولوژی محاسبه شده اند به این صورت که یک کلید 2048 بیتی RSA معدل با یک کلید 112 بیتی متقارن همتراز می باشد.
به این صورت که امکان هک کردن یک کلید با شرایط فوق به میزان 2 به توان 112 از نظر تئوری امکان پذیر است.
تصویر زیر یک نمونه محاسباتی قدرت کدگذاری کلید ها را به شما نشان می دهد:

انتخاب سایز کلید RSA

مقایسه میزان مصرف CPU

یک کلید بزرگتر به معنای زمان بیشتر از نظر ارتباط اولیه با وب سایت شما از نظر کاربران می باشد. در سیستم عامل های Mac و Linux با دستور ساده openssl speed rsa می توانید محاسبات زیر را بررسی کنید:

sign verify sign/s verify/s
rsa 512 bits 0.000210s 0.000014s 4772.1 69667.5
rsa 1024 bits 0.000727s 0.000035s 1375.3 28508.9
rsa 2048 bits 0.003778s 0.000092s 264.7 10899.5
rsa 4096 bits 0.022637s 0.000305s 44.2 3275.4
انتخاب سایز کلید RSA

مشاهده این آمار کاملا گویای این است که میزان مصرف CPU در مقایسه یک کلید 2048 بیتی با یک کلید 4096 بیتی کاملا محسوس است.
به یاد داشته باشید که این ارتباط اولیه خیلی کوتاه است، بعد از به توافق رسیدن مرورگر و سرور در خصوص ارتباط کلید، از یک الگوریتم متقارن مثل AES بهره خواهند برد.


مقایسه ارتباط اولیه مرورگرها:

شما می توانید یک مقایسه عملی را با تعریف دو کلید 2048 و 4096 بیتی بر روی یک سرور انجام دهید و نتایج را همانطور که ما در مرورگر Chrome بررسی کرده ایم مشاهده کنید:

انتخاب سایز کلید RSA

ما 5 تست با هر دو سایز کلید انجام دادیم و هر بار مرورگر را باز و بسته کردیم تا کلید حذف شود ونتیجه اینکه:

  • میانگین زمان Handshake برای کلید 2048 بیتی 50 میلی ثانیه
  • میانگین زمان Handshake برای کلید 4096 بیتی 76 میلی ثانیه
انتخاب سایز کلید RSA

میزان زمان اضافه شده در کلید 4096 بیتی قطعا محسوس است با این حال این ارتباط کماکان سریع است.

گوگل انتظار دارد که صفحات شما در کمتر از 100 میلی ثانیه محاسبه شوند، آمازون معتقد است هر 100 میلی ثانیه اضافه تر باعث کاهش فروش خواهد شد! اگر سایت شما بر مبنای HTTPS باشد هیچ یک از محتوای شما نمایش داده نخواهند شد مگر اینکه این Handshake انجام شده باشد.
اما اینکه 25 میلی ثانیه - 25 هزارم یک ثانیه برای شما تاثیر گذار است یا خیر کاملا به وب سایت شما بستگی دارد. بسیاری از وب سایت ها - همچنین وب سایت زاگریو – بهینه سازی های بسیاری را قبل از در نظر گرفتن این میزان زمان نیاز دارد به همین دلیل این موضوع باعث مشکل برای ما نمی شود.
این تست را ما بعدا بر روی یک موبایل ضعیف تر از نظر پردازشی انجام خواهیم داد.

نگرانی در خصوص سازگاری کلیدهای 4096 بیتی
باید نظر داشته باشید که سرویس هایی مثل Amazon CloudFront فقط از کلید های 2048 بیتی پشتیبانی می کنند. همچنین Cisco IOS XE در نسخه های قدیمی تر از 2.4 و Cisco IOS قبل از 15.1(1)T از کلید های 4096 بیتی پشتیبانی نمی کنند.


خلاصه:

به نظر ما – میزبانی زاگریو – همانطور که در ابتدا توضیح داده شد انتخاب شما قطعا باید حداقل یک کلید 2048 بیتی باشد. گسترش دهندگان OpenSSL, Microsoft و تمامی مرورگر ها اکیدا توصیه می کنند که حداقل از کلید 2048 بیتی استفاده کنید.
آیا می خواهید کماکان از یک کلید 4096 بیتی استفاده کنید؟ این آمار را در نظر داشته باشید:

  • یک کلید 4096 بیتی به نسبت یک کلید 2048 بیتی قدرت امنیت شما را تا حد منطقی ای افزایش می دهد.
  • میزان مصرف CPU شما در زمان ارتباط اولیه توسط یک کلید 4096 بیتی به شدت افزایش پیدا خواهد کرد.
  • مرورگر ها در اثر تبادل یک کلید با سایز بیشتر کمی بیشتر زمان خواهند برد و سایت شما کمی کندتر خواهد شد.

 

آیا این پاسخ به شما کمک کرد؟


 چاپ این مقاله

خوانده شده

10 مورد برای افزایش امنیت وب سایت

در سالهای اخیر ابزار ها و خدمات گسترش وسیعی برای توسعه فضای وب ایجاد شد.سیستمهای مدیریت محتوا...

نحوه انتخاب رمز عبور قوی و مناسب چیست؟

در این مقاله سعی می کنیم راه کار انتخاب یک رمز عبور مناسب و ایمن را به شما آموزش دهیم.در هنگام...

راهکارهای افزایش امنیت در وردپرس

1- همیشه بروز باشید! یکی از اصلی ترین نکات، بروزرسانی هسته وردپرس است. همیشه وردپرس خود را...

راهکارهای افزایش امنیت در جوملا

محافظت از طریق .htaccess   کلیه فرآیندهای جوملا براساس 2 فایل index.php و index2.php انجام...

تامین امنیت گردش اطلاعات با IPSec توسط فایروال ویندوز سرور

IPSec چیست؟ویکی پدیا: Internet Protocol Security یا به اختصار IPSec یک پروتکل برای تامین امنیت...

Powered by WHMCompleteSolution