TLS 1.3 قول میده امنیت رو خدشه دار نکنه!

حدود دو ماه قبل TLS 1.3 توسط IETF با کد مرجع RFC 8446 معرفی شد. این استاندارد پس از بررسی و اصلاح ۲۸ پیشنویس موجود  توسط کارشناسان نهایتا معرفی شد. اما در مقالات و سخنرانیهای زیادی شاهد هستیم که گفته میشود TLS 1.3 کنترلهای امنیتی رایج فعلی را خراب خواهد کرد. ببینیم چرا چنین چیزی گفته میشود و اینکه آیا اصولا چنین چیزی درست است؟

تفاوت TLS 1.3

یکی از فواید اصلی که برای TLS 1.3 تبلیغ میشود عملکرد بهینه است که بیشتر آنرا مدیون فرآیند ساده شده handshaking بین کلاینت و سرور است. خب همونطور که میدونین در دنیای شبکه تو معماری کلاینت-سروری همیشه یه سلام علیکی بین اونی که میخواد سرویس بده با اونی که میخواد سرویس بگیره هست. دلایل فنی زیادی برای این handshake یا همون سلام علیکم ساده تو TLS 1.3 هست. اما بنظرم مهمترین دلیلش حذف یک سر این سلام علیکه. مثلا کلاینت و سرور قبلا تو TLS 1.2 اینجوری احوالپرسی میکردن:
۰- سرور: (مغرور و ساکت سرجاش نشسته انگار نه انگار محل به کلاینت نمیده!)
۱- کلاینت: سلام. خوبی؟ شما همون سروری هستی که باید باشی؟!
۲- سرور: معلومه که خودمم عزیزم! (تو دلش میگه: عجب نادونیه!)
۳- سرور: بیا عزیزم این certificate منو بگیر داشته باش کلیدشم تو خودش هست. گمش نکنی یوقت. ( از اینجا دوباره میره تو خودش فاز سروری میگیره!)
۴- کلاینت: آقا دستت درد نکنه. نه حواسم هست. بذا الان نصبش میکنم
۵- کلاینت: جناب نصب شد. اینم certificate ما تقدیم به شما. Cipher رو هم براتون تنظیم کردم. تمام.
۶- سرور: (بدون اینکه حرفی بزنه) cipher رو با کلاینت تنظیم میکنه و تمام.
میبینین؟ هم نسبتن طولانیه هم ریسکی که داره اون cipher هست که امکان شنود و شکستنش هست. البته تا الان که دارم با افتخار براتون مطلبو مینویسیم حمله یا سوء استفاده خاصی از این آسیب پذیری دیده نشده اما خب ما امنیتی ها ذاتا همش نگرانیم. مثه اون شخصیت تو گالیور. یادتونه؟ من میدونم…
ضمن اینکه TLS 1.2 سرعت پایینی هم نسبت به نسخه های قبلی و حتی SSL داشت.

حالا بیاین سلام علیک TLS 1.3 رو ببینیم:
۰- سرور: مشخصا از موضع غرورش پایین اومده و منتظر کلاینتهایی هست که TLS 1.3 دارن.
۱- کلاینت: سلام. من TLS 1.3 دارم. میشه از بین این بسته های cipher یکیشو بردارین تا بهم وصل شیم؟ حدس میزنم این یکی رو بیشتر بپسندین. اینم کلید همین بسته هست که احساس میکنم میپسندین. تقدیم حضورتون.
۲- سلام به روی ماهت (تو دلش میگه: هی یه زمانی واسه خودمون سروری بودیم). ممم آره همین بسته خوبه. برش میدارم. اوکی کلیدشم گرفتم. اینم کلید من. کاری نداری من برم به بقیه برسم. تمام.
۳- مرسی خیلی ماهی. بذا چکش کنم. عالیه خودشه. تمام.
دیدین؟ ۶ مرحله شد ۳ مرحله. پس سرعتش بشکل معناداری بیشتره. طبق بنچمارکهایی که گرفته شده چیزی در حدود ۳۰% شاهد رشد سرعت سرویس دهی هستیم. اما جالبه که امنیتش هم بالاتره چون تمامی الگوریتمهای قدیمی که ضعف امنیتی شون ثابت شده بود و قابلیت شکسته شدن داشتند ازش حذف شدن. مثلا موارد زیر ازش حذف شدن:
• SHA-1
• RC4
• DES
• ۳DES
• AES-CBC
• MD5
• Arbitrary Diffie-Hellman groups — CVE-2016-0701
• EXPORT-strength ciphers – Responsible for FREAK and LogJam

ضمن اینکه پیکربندیش هم آسونتر شده و احتمال به خطا خوردن و بالا نیومدن سایت خیلی کم شده و تقریبا بعیده. الان که دارم تایپ میکنم TLS 1.3 توسط مرورگر Chrome تمامی نسخه هاش پشتیبانی میشه. این موضوع از نسخه ۵۶ به Chrome وارد شده. Firefox از نسخه ۵۲ به بعد (شامل نسخه Quantum) از TLS 1.3 پشتیبانی میکنه. مرورگر از قبل تعبیه شده توی گوشیهای سامسونگ هم (معروف به Samsung Internet) پشتیبانی میکنه. بقیه مرورگرها خیلی وضع جالبی تو این زمینه ندارن. البته این موضوع مال دو ماه پیشه و تا الان حتمن اوضاع بقیه مرورگرها تو پشتیبانی TLS 1.3 بهتر شده. پس اگه روی سایت تون از TLS 1.3 استفاده کنین با مرورگرهایی مثه Safari، Opera و UC Browser ممکنه وبسایت تون برگرده روی TLS 1.2. اما نترسین TLS 1.2 هم هنوز امنه و خوبه و خیلی بهتر از نداشتنشه. اما خب وقتی بهترش هست چرا نریم سراغش؟!
اوضاع دنیا خوب نیست، ولی شما شاد باشین.



Sunday, November 18, 2018

« برگشت

Powered by WHMCompleteSolution