Cipher Suitها مجموعهای از دستورالعملها جهت ایمنسازی شبکه از طریق پروتکلهای SSL و TLS هستند. Cipher Suitها اطلاعاتی حیاتی را در راستای انتقال امن دادهها در حین استفاده از HTTPS, FTPS و SMTP و سایر پروتکلهای مشابه فراهم میاورند. این اطلاعات حیاتی به شکل الگوریتمهایی ایجاد میشوند که تعیین میکنند یک وبسرور چگونه ترافیک کاربر خود را ایمن کند. Cipher Suitها تعیین کننده این نکته هستند که سرور میبایست از کدام یک از این الگوریتمها جهت ایجاد یک ارتباط امن و پایدار استفاده نماید. نکته قابل توجه اینست که Cipher Suitها نه تنها باعث ایجاد امنیت میشوند، بلکه از سازگاری و صحت عملکرد اتصالات HTTPS نیز اطمینان حاصل میکنند.
Cipher Suitها چه زمانی استفاده میشوند؟
Cipher Suitها نقش خود را قبل از تبادل اطلاعات(طی ارتباط SSL یا TSL) بین سرور و کاربر ایفا میکنند. درخواست کاربر ابتدا یک SSL handshake را آغاز میکند. بخشی از فرآیند شامل مطلع کردن سرور از Cipher Suitهای قابل پشتیبانی است. سرور این اطلاعات را دریافت کرده و Cipher Suitهای پشتیبانی شده توسط کاربر را با الگوریتمهای قابل پشتیبانی خود مقایسه میکند. در این مرحله اگر همخوانی بین دو مورد وجود داشته باشد این مورد به سیستم کاربر اطلاعرسانی میشود و ارتباط امن شکل میگیرد و اگر همخوانی وجود نداشت، سرور از قبول اتصال ممانعت به عمل میآورد.
از آنجاییکه وبسرور نهایتا Cipher Suit قابل استفاده را تعیین میکند، مهم است که لیست Cipher Suitهای سرور براساس اولویت چیده شوند. در پاراگراف بعد بخشهای تشکیل دهنده یک Cipher Suit به منظور درک بهتر عملکرد Cipher Suitهای لیست شده در وبسرور شرح داده شده است. معیار دیگر در تعیین Cipher Suitهای لیست شده میبایست نوع کاربران و تکنولوژیهای استفاده شده توسط آنان باشد.
اجزای تشکیل دهنده یک Cipher Suit
یک Cipher Suitها از 4 بخش تشکیل میشود:
الگوریتم کلید تبادل: جهت تضمین محرمانه بودن فرآیند انتقال دادهها توسط پروتکلهای مختلف همچون SFTP یا HTTPS، نیاز است تا اطلاعات رمزنگاری شوند. این مورد نیازمند اینست که طرفین مبادله کننده از یک کلید مشترک جهت رمزنگاری و رمزگشایی دادهها استفاده کنند.
الگوریتم اعتبارسنجی: جهت کسب اطمینان از انتقال صحیح و ایمن اطلاعات، نیاز است که یک وبسرور هویت دریافتکننده اطلاعات را تایید نماید. این مرحله به صورت معمول شامل دریافت یک ورودی از کاربر مانند نام کاربری و رمز عبور است. Cipher Suitها جهت تسهیل این فرآیند اعتبارسنجی از الگوریتمهایی همچون RSA, DSA و ECDSA استفاده میکنند.
رمزنگاری دادهها در حجم بالا: AES, 3DES و CAMELLA برخی از الگوریتمهایی هستند که برای رمزنگاری اطلاعات در حجم بالا استفاده میشوند.
الگوریتم MAC یا Message Authentication: این الگورتیم یک سری از دادهها است که به منظور اعتبارسنجی پیام به همراه آن ارسال میشود. در این فرآیند ارسالکننده و دریافتکننده هر دو از یک کلید یکسان استفاده میکنند. این روش در شناسایی اطلاعاتی که بخشی از آنها آسیب یده است کاربرد دارد اما قابلیت شناسایی تغییرات اعمال شده توسط هکرها را دارا نیست. از جمله الگوریتمهای این دسته میتوان به MD5 و SHAاشاره نمود.
ظاهر یک Cipher Suit
در زیر مثالی از یک Cipher Suit آورده شده است:
DHE_RSA_AES256_SHA256.
در این مورد از DHE به عنوان الگوریتم کلید تبادل، از RSA به عنوان الگوریتم اعتبارسنجی، از AES256 به عنوان الگوریتم رمزنگاری حجم بالا و SHA256 برای الگوریتم MAC استفاده شده است.