چرا HTTPS بهتر و ایمن تر از HTTP است
پس از اقدام ادوارد اسنودن در افشای این موضوع که ارتباطات آنلاین بهطور یکجا توسط برخی از قدرتمندترین سازمانهای اطلاعاتی در جهان جمعآوری میشوند، کارشناسان امنیتی برای رمزنگاری تمام شبکهی وب فراخوانی شدند. اکنون با گذشت چهار سال از آن رویداد، به نظر میرسد ما نقطهی کلیدی در طی چنین مسیری را پشت سر گذاشته باشیم.
تعداد وبسایتهای پشتیبانیکننده از حالت HTTPS در سال گذشته با روند بسیار چشمگیری افزایش یافت. گفتنی است که HTTPS بهنوعی پروتکل HTTP اطلاق میشود که توسط اتصالات SSL یا TLS رمزگذاری میشود. باید بگوییم مزایای زیادی در استفاده از حالت رمزگذاری اتصالات وجود دارد؛ بنابراین اگر وبسایت شما هنوز از این تکنولوژی پشتیبانی نمیکند، به نظر میرسد زمانش رسیده باشد تا شما نیز به جرگهی استفادهکنندگان از HTTPS بپیوندید.
دادههای تلهمتری (مبتنی بر دورسنجی) بهدستآمده از گوگل کروم و موزیلا فایرفاکس نشان میدهند که بیش از ۵۰ درصد ترافیک وب در حال حاضر رمزگذاری میشود و این اتفاق هم برای کامپیوترها و هم برای دستگاههای تلفن همراه انجام میپذیرد. بیشتر این ترافیک بهسوی چند وبسایت بزرگ سرازیر میشود؛ ولی به هر حال، روند استفاده از آن نسبت به یک سال پیش دارای افزایشی بالغ بر ۱۰ درصد بوده است.
در همین حال، انجام یک بررسی در ماه فوریه روی وبسایتهای با تعداد بازدید بیشتر از یک میلیون در جهان، نشان داد ۲۰ درصد آنها از HTTPS پشتیبانی میکنند که در مقایسه با مقدار ۱۴ درصد در ماه اگوست، افزایش داشته است. بنابراین نرخ رشد قابل توجه بیش از ۴۰ درصد در طی یک و نیم سال بسیار شگفتآور است. شماری از دلایل معقول برای افزایش سریع در میزان بهکارگیری HTTPS وجود دارد. امروزه برخی از موانع موجود در طی مراحل راهاندازی و استقرار آن از میان برداشته شدهاند و غلبه بر آنها راحتتر شده است. از سویی هزینههای این سرویس پایینتر آمده و از اینرو تمایل بیشتری برای به کار گرفتن آن از طرف وبسایتها دیده میشود.
تأثیر بر عملکرد
یکی از نگرانیهای طولانیمدتی که در مورد HTTPS وجود دارد، باور رایج در مورد تأثیر منفی آن بر منابع سرور و سرعت بارگذاری صفحه است. بهطور خلاصه میتوانیم برداشت فوق را چنین بیان کنیم که فرایند رمزگذاری معمولا با ایجاد کاستی یا خللی در عملکرد سیستم همراه است؛ حال چرا باید فکر کنیم که HTTPS از این قاعده مستثنا خواهد بود؟
اما همانطور که در ادامه مشخص شد، به لطف بهبود سرورها و نرمافزارهای سرویسگیرنده در طول سالهای اخیر، تأثیر رمزگذاری TLS یا (Transport Layer Security) بر عملکرد سیستم حتی در بیشترین میزان خود نیز قابل اغماض است.
پس از آنکه گوگل حالت HTTPS را برای جیمیل در سال ۲۰۱۰ فعال کرد، این شرکت گزارش داد که روی سرورهای خود تنها به میزان یک درصد شاهد افزایش میزان بارگذاریهای CPU بوده است. همچنین میزان حافظهی اضافه اشغالشده به ازای هر اتصال به میزان کمتر از ۱۰ کیلوبایت بیشتر شده و هزینهی شبکهی آنها کمتر از ۲ درصد افزایش داشته است. از طرفی باید در نظر داشته باشیم که برای استقرار HTTPS، نیاز به هیچ نوع دستگاههای اضافه یا سختافزار خاص وجود ندارد.
تأثیرات یادشده نهتنها در بخش مربوط به پردازش و دسترسی به دادهها (بک اِند) بسیار ناچیز هستند، بلکه علاوه بر آن فرایند جستجو و گردش در وب برای کاربران در هنگام روشن بودن حالت HTTPS دارای سرعت بیشتری بوده است. چرا که مرورگرهای مدرن از HTTP/2 پشتیبانی میکنند که یک ورژن تجدید نظرشده از پروتکل HTTP است و در بسیاری از عملکردهای آن، بهبودهای اساسی اعمال شده است.
حتی اگر رمزگذاری بهعنوان یک مشخصهی اساسی برای حالت رسمی HTTP/2 لازم نباشد؛ سازندگان مرورگرها استفاده از آن را در روند پیادهسازی خود اجباری کردهاند. جملهی آخر بدین مفهوم است که اگر شما بخواهید کاربرانتان از افزایش سرعت بیشینهی موجود در HTTP/2 بهرهمند شوند، باید از پروتکل HTTPS روی وبسایت خود استفاده کنید.
همیشه پای مسائل مالی هم در میان است
هزینهی به دست آوردن و تمدید گواهینامههای دیجیتال مورد نیاز برای استقرار HTTPS در وبسایت، به یک نگرانی قابل توجه در گذشته تبدیل شده بود و باید بگوییم این نگرانیها تا حدی بهحق بودند. بسیاری از کسبوکارهای کوچک و نهادهای غیر تجاری بهاحتمال زیاد به همین دلیل از دسترسی به HTTPS دور مانده بودند و حتی شرکتهای بزرگتر با شمار زیادی از وبسایتها و دامنهها در مجموعهی خود نیز احتمالا در مورد مسائل مالی استفاده از این پروتکل، نگرانیهایی داشتهاند.
خوشبختانه اکنون دیگر مورد اخیر برای وبسایتها نمیتواند موضوعیت داشته باشد؛ حداقل برای وبسایتهایی که به دنبال انجام اعتبارسنجیهای توسعهیافته (گواهی EV) نیستند. مرکز صدور گواهی رمزگذاری غیرانتفاعی در سال گذشته با نام Let's Encrypt راهاندازی شد و گواهی اعتباردهی به دامنه (DV) را از طریق یک فرایند بهطور کامل خودکار و با قابلیت کاربری آسان و از همه مهمتر بهصورت رایگان ارائه میدهد.
از نقطهنظر رمزنگاری و امنیتی هیچ تفاوتی بین گواهی DV و EV وجود ندارد. تنها تفاوت میان آنها، این است که دومی نیاز به یک تأیید سختگیرانهتر از سازمان درخواست گواهی دارد و اجازه میدهد نام دارندهی گواهینامه در نوار آدرس مرورگر در کنار شاخصهای دیداری HTTPS قابل رؤیت باشد.
علاوه بر Let's Encrypt، برخی از شبکههای تحویل محتوا و ارائهدهندگان خدمات ابری، از جمله CloudFlare و آمازون نیز اقدام به ارائهی گواهی TLS رایگان به مشتریان خود کردهاند. وبسایتهای میزبانیشده روی پلتفرم WordPress.com نیز گواهی HTTPS را بهطور پیشفرض و رایگان دارند؛ حتی اگر آنها از دامنههای سفارشی استفاده کنند.
هیچ چیزی بدتر از پیادهسازی ضعیف وجود ندارد
استقرار HTTPS در یک سایت، پیشتر بهعنوان روندی مملو از خطر تلقی میشد. با توجه به روند ضعیف گردآوری اطلاعات، پشتیبانی از الگوریتمهای ضعیف در کتابخانههای سری و مخفی و از سویی حملات جدیدی که دائما در حال شناسایی بودند، همواره این احتمال وجود داشت که مدیران سایتها و سرورها از ادامهی کار با سیستم آسیبپذیری همانند HTTPS چشم بپوشند. همچنین این موضوع مطرح بود که همواره یک سیستم HTTPS بد و ناکارآمد، بدتر از نبودن HTTPS است؛ چرا که باعث القای حس امنیت کاذب به کاربران میشود.
برخی از آن مشکلات در حال حل و فصل هستند. در حال حاضر، وبسایتهایی مانند Qualys SSL Labs وجود دارند که در زمینهی ارائهی مستندات رایگان دربارهی بهترین شیوههای کاربری TLS و همچنین در زمینهی فراهم ساختن ابزارهای تست برای کشف و شناسایی پیکربندی و هرگونه ضعفی در پروتکل موجود فعالیت میکنند. در همین حال، وبسایتهای دیگری نیز برای ارائهی منابعی بهمنظور بهینهسازی عملکرد TLS کار میکنند.
محتوای ترکیبی میتواند دردسرآفرین باشد
وارد شدن منابع خارجی مانند تصاویر، فیلمها و کدهای جاوا اسکریپت روی اتصالات رمزگذاری نشده به یک وبسایت HTTPS باعث خواهد شد هشدارهای امنیتی در مرورگرهای کاربران فعال شوند و از آنجایی که بسیاری از وبسایتها برای عملکرد خود به محتوای خارجی هم وابستگی دارند (مواردی از قبیل سیستمهای کامنتگذاری، تجزیه و تحلیل وب، تبلیغات و سایر موارد)، موضوع محتوای ترکیبی سبب میشود آنها از ارتقاء به HTTPS خودداری کنند.
خبر خوب این است که تعداد زیادی از خدمات شخص ثالث، از جمله شبکههای آگهی، پشتیبانی از HTTPS را در سالهای اخیر به خدمات خود اضافه کردهاند. اگر بخواهیم دلیل مستدلی برای این مدعا ارائه دهیم، باید اشاره کنیم که بسیاری از وبسایتهای رسانههای آنلاین در حال حاضر به HTTPS تغییر حالت دادهاند؛ با وجود اینکه چنین وبسایتهای بهشدت وابسته به درآمدهای حاصل از تبلیغات هستند.
مدیران سایت میتوانند از هِدر سیاست امنیت محتوا یا CSP برای شناسایی منابع ناامن در صفحات وب خود یا بازنویسی منشأ تشکیل آنها یا همچنین برای مسدود کردن این صفحات استفاده کنند. از سویی میتوان از سیستم امنیت کامل انتقال HTTP یا HSTS برای جلوگیری از ایجاد مشکلات مرتبط با محتوای ترکیبی استفاده کرد. این سیاست توسط یک محقق امنیتی به نام اسکات هلم در یک پست وبلاگی توضیح داده شده است.
روش امکانپذیر دیگر، استفاده از یک سرویس مانند CloudFlare است. این سرویس بهعنوان پروکسی متقابل بین کاربران و وب سروری عمل میکند که در واقع میزبان وبسایت است. CloudFlare ترافیک وب بین کاربران نهایی و سرور پروکسی خود را رمزگذاری میکند؛ حتی اگر ارتباط بین پروکسی و خدمتدهندهی میزبانی وب بهصورت رمزگذاری نشده باقی مانده باشد. این روند تنها نیمی از اتصال را ایمن میکند؛ اما هنوز هم بهتر از هیچ است و باید توجه کنیم که از رهگیری ترافیک و مخدوش سازی نزدیک به کاربر نیز جلوگیری میکند.
HTTPS امنیت و اعتماد ایجاد میکند
یکی از مزایای عمدهی HTTPS این است که میتواند کاربران را در برابر نوعی از حملهی سایبری موسوم به حملهی مرد میانی (MitM) حفاظت کند. این حملهها میتوانند از شبکههای در معرض خطر یا ناامن ایجاد شوند.
هکرها از روشهایی مانند روش فوق برای سرقت اطلاعات حساس از کاربران یا تزریق محتوای خرابکارانه به ترافیک وب استفاده میکنند. حملات MitM همچنین میتوانند در سطوح بالاتر و بهعنوان مثال در زیرساخت اینترنت در سطح کشور انجام شوند که از این دست میتوانیم به فایروال بزرگ چین اشاره کنیم. این حملات حتی در سطح قاره نیز میتوانند روی دهند؛ همانند فعالیتهای نظارتی آژانس امنیت ملی آمریکا.
علاوه بر این، برخی از اپراتورهای هاتاسپات Wi-Fi و حتی برخی از ارائهدهندگان خدمات اینترنت نیز از تکنیکهای MitM برای تزریق تبلیغات یا پیامهای مختلف به ترافیک وب رمزگذاری نشدهی کاربران استفاده میکنند. HTTPS میتوانید از این کار جلوگیری کند؛ حتی اگر این دست محتوا در ذات خود مخرب نباشد، کاربران ممکن است در تمایز آن از وبسایتی که در حال بازدیدش هستند، دچار اشتباه شوند که این امر میتواند به شهرت و اعتبار وبسایت آسیب برساند.
نداشتن HTTPS پیامدهایی در پی دارد
گوگل در سال ۲۰۱۴، شروع به استفاده از HTTPS بهعنوان یک سیگنال رتبهبندی جستجو کرد؛ به این معنی که وبسایتهای در دسترس از طریق HTTPS در نتایج جستجو نسبت به سایتهایی که ارتباط خود را بهصورت غیرکدگذاریشده شکل میدهند، دارای اولویت بودند. در حالی که تأثیر این سیگنال رتبهبندی در حال حاضر کوچک است، ولی گوگل قصد دارد آن را در طول زمان و برای پیشبرد پذیرش HTTPS تقویت کند.
سازندگان مرورگرها نیز بهشدت در حال گذار بهسوی HTTPS هستند. آخرین نسخه از مرورگرهای کروم و فایرفاکس در صورتی که کاربران اقدام به وارد کردن رمز عبور یا اطلاعات کارت اعتباری روی صفحات بارگذاری شده بدون استقرار HTTPS کنند، به کاربران خود هشدار خواهند داد.
در کروم، وبسایتهای که از HTTPS استفاده نمیکنند، کاربران از دسترسی به قابلیتهایی مانند موقعیت جغرافیایی، حرکت دستگاه و جهتگیری یا حافظه پنهان برنامه منع میشوند. توسعهدهندگان کروم برنامهریزی کردهاند تا پا را فراتر از این بگذارند و در نهایت نمایش یک شاخص با عنوان «نبود ایمنی» یا (Not Secure) را در نوار آدرس برای همهی وبسایتهایی قرار دهند که بهصورت غیررمزگذاریشده اقدام به تبادل اطلاعات میکنند.
نگاهی به آینده
ایوان ریستیک، رئیس سابق Qualys SSL Labs و نویسندهی کتاب «SSL و TLS ضد گلوله» در این باره چنین باور دارد:
من چنین احساس میکنم که ما بهعنوان یک جامعه، بسیاری از اقدامات مناسب را در این زمینه را برای توضیح اینکه که چرا همه باید از HTTPS استفاده کنند، انجام دادهایم. بهخصوص مرورگرها که با شاخصها و پیشرفتهای مداوم خود، شرکتها را برای تغییر رویهی قبلیشان متقاعد میکنند.
با توجه به گفتههای ریستیک، هنوز هم برخی از موانع بر سر راه توسعهی HTTPS باقی مانده است؛ مانند نیاز به مقابله با سیستمهای قدیمی یا همچنین خدمات شخص ثالثی که از HTTPS پشتیبانی نمیکنند. با این حال، او گمان دارد که در حال حاضر مشوقهای بیشتر و همچنین فشار عموم مردم برای پشتیبانی از رمزگذاری، زحمات استفاده از آن را توجیح میکند . وی همچنین اظهار میکند که با افزایش شمار سایتهایی که به HTTPS روی میآورند، این مشکلات هم آسانتر خواهند شد.
مشخصهی TLS 1.3 که در آینده خواهد آمد، دسترسی HTTPS را حتی آسانتر از این خواهد ساخت. در حالی که نسخهی جدید هنوز بهصورت یک پیشنویس است؛ اما تنظیمات جدید در حال حاضر اجرا شده و بهطور پیشفرض در آخرین نسخه از کروم و فایرفاکس قرار داده شده است. این نسخهی جدید از پروتکل، پشتیبانی از الگوریتمهای قدیمی و ناامن از لحاظ رمزنگاری را قطع کرده و روند بسیار سختتری برای مواجه شدن با تنظیمات آسیبپذیر در نظر گرفته است. نسخهی جدیدتر همچنین با توجه به سازوکار سادهاش، بهبود سرعت قابل توجهی به ارمغان میآورد.
البته باید این نکته را هم مد نظر داشته باشیم: با وجود اینکه به کار گرفتن HTTPS در حال حاضر آسان است؛ این پروتکل به همان اندازه هم میتواند زمینهی سوءاستفاده و سوءتعبیر از قابلیتهای آن را فراهم کند. بنابراین مهم است که آموزشهای لازم در مورد مواردی که HTTPS ارائه میدهد و همچنین خدماتی که این سرویس ارائه نمیدهد، به کاربران داده شود.
واقعیت این است که مردم در هنگام وبگردی، هنگامی که یک نوار سبزرنگ را در حضور HTTPS در مرورگر خود میبینند، حس اعتماد بیشتری پیدا میکنند. از آنجایی که اکنون چنین گواهیهایی بهآسانی قابل تهیه هستند، بسیاری از مهاجمان از این اعتماد نابجا سوءاستفاده کردهاند و در پی راهاندازی وبسایتهای HTTPS از نوع مخرب برآمدهاند. تروی هانت، متخصص امنیت وب و آموزشدهندهی وب در این باره گفته است:
هنگامی که موضوع اعتماد به میان میآید، یکی از چیزهایی که ما باید در مورد آن کاملا روشن باشیم، این است که صرفا حضور یک قفل و نماد HTTPS در یک سایت، در مورد قابلیت اطمینان یک وبسایت هیچ چیزی نمیتواند به ما بگوید؛ این نماد حتی در مورد اینکه واقعا چه کسی در حال ادارهی آن وبسایت است نیز چیزی نشان نمیدهد.
سازمانها باید برای مقابله با سوءاستفاده از HTTPS نیز وارد عمل شوند و بهاحتمال زیاد آنها شروع به بازرسی چنین ترافیکی در شبکههای محلی خود خواهند کرد. اگر آنها در حال حاضر چنین کاری را صورت نمیدهند، باید دست به کار شوند؛ چرا که ارتباطات رمزنگاریشده میتواند نرمافزارهای مخرب را پنهان کند.