در بیشتر تابع های رمزنگاری طول کلید جز پارامترهای بسیار مهم میباشد، در رمزنگاری طول کلید به تعداد بیت هایی گفته میشود که یک کلید جهت ارتباط امن مورد استفاده قرار میدهد . طول کلید رمز نگاری بر اساس Bit سنجیده می شود به عنوان مثال ۵۱۲ یا ۲۰۴۸ بیت. بسیاری از کاربران طول Encryption key را با مقدار Hash value که به بیان دیگر قدرت وسطح رمز نگاری می باشد اشتباه می نمایند. مقدار Hash value نیز به صورت بیت و ۱۲۸ یا ۲۵۶ بیت می باشد.
طول کلید میتواند از ۵۱۲ تا ۴۰۹۶ بیت باشد معمولا جهت برقراری ارتباط امن از سایز کلید هایی استفاده میشود که بین ۲۰۴۸ تا ۴۰۹۶ بیت باشند ، با توجه به موارد مطرح شده کلید هایی با سایز کمتر از پیچیدگی و امنیت کمتری برخودار هستند . هر چه طول کلید بالاتر رود امنیت گواهینامه بالاتر خواهد رفت اما ممکن است به دلیل پیچیدیگی و امنیت بالاتر با کندی مواجه شوید.
امروزه جهت برقراری امنیت از طول کلید ۲۰۴۸ بیتی برای نصب و راه اندازی گواهینامه های اس اس ال استفاده میشود .
بهترین سایز کلید RSA چیست؟
OpenSSL به صورت پیشفرض از کلید ۲۰۴۸ بیتی استفاده میکند.
سیستم عامل ویندوز از شما میخواهد که دقیقا انتخاب کنید سایز مورد نظر شما چیست؟
اگر میخواهید یک گواهینامه امنیتی با آدرس سبز رنگ EV داشته باشید باید حتما سایز کلید حداقل ۲۰۴۸ باشد.
به چه دلیل لازم است در خصوص کلیدهای ۴۰۹۶ اطلاعات بیشتری داشته باشید؟
اکثر توسعهدهندگان آنلاین مثل GitHub, Stripe, nmp و Mozilla از کلیدهای ۲۰۴۸ بیتی برای گواهینامههای امنیتی EV خود در زمان نگارش این مقاله استفاده میکنند.
GnuPG اعتقاد دارد که کلیدهای ۴۰۹۶ بیتی غیرضروری هستند.
اما SSL Labs برای اعطای امتیاز ۱۰۰% به شما، از شما میخواهد که کلید ۴۰۹۶ بیتی داشته باشید.
حتما در جریان هستید که با داشتن یک کلید ۴۰۹۶ بیتی:
قدرت کدگذاری شما افزایش می یابد.
ارتباط اولیه (Handshake) گواهینامه امنیتی شما به ازای هر ارتباط کندتر خواهد بود.
میزان مصرف CPU در زمان Handshake بیشتر خواهد بود.
اما ممکن است از تاثیرات دقیق هر یک از موارد فوق بیاطلاع باشید، هم اکنون با شما این موارد را بررسی می کنیم.
محاسبه قدرت کدگذاری
بر خلاف الگوریتمهای متقارن، الگوریتم غیرمتقارن RSA (متاسفانه) با افزایش یک بیت اضافه امنیت شما را دو برابر نمیکند.
کلیدهای RSA توسط موسسه ملی استاندارد و تکنولوژی محاسبه شدهاند به این صورت که یک کلید ۲۰۴۸ بیتی 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
مشاهده این آمار کاملا گویای این است که میزان مصرف CPU در مقایسه یک کلید ۲۰۴۸ بیتی با یک کلید ۴۰۹۶ بیتی کاملا محسوس است.
به یاد داشته باشید که این ارتباط اولیه خیلی کوتاه است، بعد از به توافق رسیدن مرورگر و سرور در خصوص ارتباط کلید، از یک الگوریتم متقارن مثل AES بهره خواهند برد.
مقایسه ارتباط اولیه مرورگرها
شما میتوانید یک مقایسه عملی را با تعریف دو کلید ۲۰۴۸ و ۴۰۹۶ بیتی بر روی یک سرور انجام دهید و نتایج را همانطور که ما در مرورگر Chrome بررسی کردهایم مشاهده کنید:
ما ۵ تست با هر دو سایز کلید انجام دادیم و هر بار مرورگر را باز و بسته کردیم تا کلید حذف شود و نتیجه اینکه:
میانگین زمان Handshake برای کلید ۲۰۴۸ بیتی ۵۰ میلی ثانیه
میانگین زمان Handshake برای کلید ۴۰۹۶ بیتی ۷۶ میلی ثانیه
میزان زمان اضافه شده در کلید ۴۰۹۶ بیتی قطعا محسوس است با این حال این ارتباط کماکان سریع است.
گوگل انتظار دارد که صفحات شما در کمتر از ۱۰۰ میلی ثانیه محاسبه شوند، آمازون معتقد است هر ۱۰۰ میلی ثانیه اضافهتر باعث کاهش فروش خواهد شد! اگر سایت شما بر مبنای HTTPS باشد هیچ یک از محتوای شما نمایش داده نخواهند شد مگراینکه این Handshake انجام شده باشد.
اما اینکه ۲۵ میلی ثانیه – ۲۵ هزارم یک ثانیه برای شما تاثیرگذار است یا خیر کاملا به وبسایت شما بستگی دارد. بسیاری از وبسایتها – همچنین وبسایت زاگریو – بهینهسازیهای بسیاری را قبل از در نظر گرفتن این میزان زمان نیاز دارد به همین دلیل این موضوع باعث مشکل برای ما نمیشود.
این تست را ما بعدا بر روی یک موبایل ضعیف تر از نظر پردازشی انجام خواهیم داد.
نگرانی در خصوص سازگاری کلیدهای ۴۰۹۶ بیتی
باید نظر داشته باشید که سرویسهایی مثل Amazon CloudFront فقط از کلید های ۲۰۴۸ بیتی پشتیبانی میکنند. همچنین Cisco IOS XE در نسخههای قدیمی تر از ۲٫۴ و Cisco IOS قبل از ۱۵٫۱(۱)T از کلید های ۴۰۹۶ بیتی پشتیبانی نمیکنند.
کلیه حقوق مادی و معنوی این سایت متعلق به آسان رایان می باشد
Registrant Rights and Responsibilities