امنیت تقریباً هر اتصال اینترنتی به رمزگذاری SSL/TLS بستگی دارد. آنچه سطح حفاظت را برای این اتصالات تعیین می کند، انتخاب Cipher Suite است. بنابراین، Cipher Suites چیست؟
cipher suite، مجموعه ای از دستورالعمل ها هستند که اتصالات شبکه ایمن را از طریق TLS فعال می کنند، که اغلب هنوز به عنوان SSL شناخته میشود. پشت صحنه، این مجموعه های رمزگذاری مجموعه ای از الگوریتم ها و پروتکل های مورد نیاز برای ایمن سازی ارتباطات بین کلاینت ها و سرور ها را ارائه می دهند.
برای شروع یک اتصال HTTPS، دو طرف – وب سرور و مشتری – یک فرآیند SSL handshake انجام می دهند که فرآیندی نسبتاً پیچیده است که طی آن دو طرف بر روی یک cipher suite متقابل توافق می کنند. سپس cipher suite برای مذاکره در مورد یک اتصال HTTPS ایمن استفاده می شود.
همانطور که قبلاً گفتیم، SSL یک فرآیند پیچیده است، زیرا از انواع توابع رمزنگاری برای دستیابی به اتصال HTTPS استفاده می کند. در این حین، کلاینت و وب سرور از موارد زیر استفاده خواهند کرد:
این رمز ها در نقاط مختلف اتصال برای انجام احراز هویت، تولید و تبادل کلید و یک بررسی جمعبندی برای اطمینان از یکپارچگی مورد نیاز هستند. برای تعیین اینکه از کدام الگوریتم های خاصی استفاده شود، سرویسگیرنده و وب سرور با تصمیمگیری متقابل در مورد cipher suite مورد استفاده شروع میکنند.
به دلیل تنوع سرور ها، سیستم عامل ها و مرورگر ها، cipher suite مورد نیاز است. باید راهی برای تطبیق همه این ترکیبها وجود داشته باشد، بنابراین cipher suite برای اطمینان از سازگاری مفید است.
در حین دست دادن یک اتصال، زمانی که سرویس گیرنده و سرور اطلاعات را مبادله می کنند، وب سرور و مرورگر لیست های اولویت بندی شده خود را از cipher suite پشتیبانی شده مقایسه می کنند، بررسی می کنند که آیا آن ها سازگار هستند و تعیین می کنند که از کدام cipher suite استفاده شود.
تصمیم در مورد اینکه کدام cipher suite استفاده خواهد شد به وب سرور بستگی دارد. cipher suite توافق شده ترکیبی از موارد زیر است:
cipher suite برای اطمینان از امنیت، سازگاری و عملکرد اتصالات HTTPS مهم هستند. درست مانند دستور العمل ها که مواد لازم را برای تهیه دستور العمل عالی توصیف می کنند، مجموعه های رمزگذاری دیکته می کنند که از کدام الگوریتم ها برای ایجاد یک اتصال ایمن و قابل اعتماد استفاده شود.
همانطور که قبلا ذکر کردیم، این وب سرور است که در نهایت تعیین می کند که کدام cipher suite استفاده خواهد شد. بنابراین، فهرست اولویت بندی شده cipher suite در وب سرور بسیار مهم است. انتخاب رمز های صحیح برای فهرست شدن در هر وب سرور یک تمرین حیاتی برای هر مدیر است و تا حد زیادی با توجه به نوع کاربرانی که به سرور متصل می شوند و فناوری استفاده می کنند تعیین می شود.
کاربران همچنین مسئول اطمینان از اتصالات امن هستند. از آنجایی که مرورگر پس از کشف آسیب پذیری، لیست مجموعه رمز های پشتیبانی شده خود را به روزرسانی می کنند، کاربران باید آخرین پچ مرورگر را نصب کنند تا در صورت منسوخ شدن cipher suite های ضعیف در سمت سرور، احتمال مواجهه با مشکلات سازگاری را کاهش دهند.
قبل از بحث در مورد تعداد cipher suite های مختلف، به یاد داشته باشید که همه پروتکل های TLS قبل از TLS 1.2 (یعنی TLS 1.0 و TLS 1.1) به دلایل امنیتی مختلف منسوخ شده اند. در حال حاضر، تنها پروتکل های TLS قابل قبول TLS 1.2 و TLS 1.3 هستند.
با شروع TLS 1.2، این پروتکل از 37 cipher suite مختلف پشتیبانی می کند و اگر این عدد بزرگ به نظر می رسد، فقط تصور کنید که TLS 1.2 تقریباً یک دهه است که در طول آن سیستم های مختلف ظاهر شده است. اضافه کنید که هر cipher suite از چهار الگوریتم مختلف تشکیل شده است و در نهایت با حداکثر 40 ترکیب رمزنگاری مختلف مواجه خواهید شد.
از همه cipher suites پشتیبانی شده در TLS 1.2، توصیه می شود از مواردی با الگوریتم زودگذر Diffie-Hellman استفاده کنیم. بنابراین، cipher suites توصیه شده به موارد زیر است:
با معرفی TLS 1.3، چیز های زیادی برای بهبود امنیت پروتکل تغییر کرد. برای شروع، رمز های قدیمی و ناامن منسوخ شده اند، از جمله:
علاوه بر این، cipher suite در TLS 1.3 اکنون بسیار کوتاه تر از TLS 1.2 هستند. cipher suite، نوع گواهی – RSA یا ECDSA – و مکانیسم تبادل کلید – DHE یا ECDHE را فهرست نمی کنند. بنابراین، تعداد مذاکرات مورد نیاز برای تعیین پارامتر های رمزگذاری از چهار به دو کاهش یافته است. cipher suite در TLS 1.3 به شکل زیر هستند:
کلاینت با علم به اینکه الگوریتم Ephemeral Diffie-Hellman برای فرآیند تبادل کلید استفاده می شود، handshake را آغاز می کند و می تواند بخش خود را از سهم کلید در طول پیام Client Hello ارسال کند. مزیت آن این است که handshake TLS 1.3 به یک رفت و برگشت کوتاه می شود، جایی که سرور با تمام اطلاعات مورد نیاز برای دو طرف پاسخ می دهد تا کلید را استخراج کند و برقراری ارتباط امن را آغاز کند.
cipher suites پشتیبانی شده در TLS 1.3 اکنون به پنج کاهش یافته است و به شرح زیر است:
cipher suites در TLS 1.3 با نسخه های قدیمی تر TLS قابل همکاری نیستند، زیرا ساختار آن ها متفاوت است. این بدان معناست که مدیران سایت باید وب سرور های خود را به گونه ای پیکربندی کنند که امکان سازگاری با هر دو نسخه cipher suites پشتیبانی شده، TLS 1.2 و TLS 1.3 را فراهم کنند. انتخاب پشتیبانی از تنها TLS 1.3 راه حل عاقلانه ای نیست، زیرا بسیاری از شرکت ها همچنان به TLS 1.2 متکی هستند.
موزیلا سه پیکربندی مختلف cipher suite را برای وب سرور ها با استفاده از پروتکل TLS توصیه می کند.
cipher suites ترکیبی از رمز های مورد استفاده در هنگام SSL/TLS handshake برای تعیین تنظیمات امنیتی یک اتصال HTTPS هستند. انتخاب و نگهداریcipher suite مناسب، هم در وب سرور و هم در کلاینت، برای اطمینان از امنیت، عملکرد و سازگاری ارتباطات HTTPS شما مهم است.
نگهداری cipher suite های پشتیبانی شده یک عملکرد مهم مدیریت چرخه عمر گواهی است تا اطمینان حاصل شود که گواهی های شما با بهترین شیوه های صنعت به روز هستند. مشاهده کامل همه گواهینامه ها و اتصالات در چشم انداز فناوری اطلاعات شما اولین گام حیاتی است که به دنبال آن نظارت مستمر، تمدید خودکار و تدارک دیده می شود.