موضوع مقاله: پروتکل امن انتقال ابرمتن | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # پروتکل امن انتقال ابرمتن | مقدمه: پروتکل امن انتقال ابرمتن یا HTTPS یک پروتکل ارتباطی برای انتقال امن اطلاعات در شبکه‌های کامپیوتری است که به صورت خاص در اینترنت استفاده می‌شود. | ## بخش 1: پروتکل امن انتقال ابرمتن | HTTPS شامل یک ارتباط بر روی پروتکل انتقال ابرمتن است که توسط امنیت لایه انتقال رمزگذاری می‌شود. مهم‌ترین اهداف استفاده از HTTPS اصالت‌سنجی وبگاه، حفاظت از حریم خصوصی و یکپارچگی داده‌های انتقالی است. در زمان ورود به سایت‌های https، مرورگر و سرور سایت، یک «قفل و کلید» اختصاصی با هم رد و بدل می‌کنند. در عمل، این ویژگی‌ها باعث می‌شود تا این پروتکل بتواند تا حد زیادی امنیت ارتباط کاربران را تأمین نماید. در ابتدا از این پروتکل فقط برای انجام تراکنش‌های بانکی، ارسال ای‌میل‌های مهم و کارهای حساس دیگر بر روی وب جهانی استفاده می‌شد اما با گذشت زمان، استفاده از آن بیشتر و بیشتر می‌شود. امن کردن ارتباطات کاربران، شناسایی وبگاه‌های معتبر و مخفی کردن هویت کاربران از جمله استفاده‌های نوین این پروتکل است. البته باید توجه داشت که امنیت کامل کاربران تنها در صورتی تأمین می‌شود که تمامی محتویات وبگاه از طریق همین پروتکل منتقل شود. از آنجا که در این پروتکل حتی اگر یکی از طرفین هم اصالت‌سنجی شده باشد، امنیت برقرار خواهد شد، استفادهٔ آن در وب بسیار مناسب است. کاربران با بررسی صحت گواهی وبگاه، می‌توانند از هویت وبگاه مطمئن شده و ارتباطی امن و غیرقابل شنود داشته‌باشند. این امر به شرطی که گواهی وبگاه مقصد مورد تأیید و الگوریتم‌های مورد استفاده مناسب باشند، تا حد زیادی جلوی انواع حملات شنود و حملهٔ مرد میانی را می‌گیرد. برای مثال در یک ارتباط امن با وبگاه گوگل، هیچ‌کس نمی‌تواند از روی بستهٔ کاربر متوجه محتویات درخواست او شود؛ اما از روی بسته می‌توان به آدرس، شماره درگاه، حجم اطلاعات انتقالی و طول مدت ارتباط دست یافت. مرورگرهای وب با استفاده از مراجع صدور گواهی دیجیتال که به صورت پیش‌فرض در درون آن‌ها نصب شده‌است، می‌توانند صحت یا جعلی بودن گواهی یک وبگاه را تشخیص دهند. این بدان معنی است که کاربران به صورت پیش‌فرض از طریق مرورگر به شرکت‌های صادرکننده گواهی‌های دیجیتال (مانند شرکت وری‌ساین، مایکروسافت و غیره) اعتماد می‌کنند تا گواهی‌های وبگاه‌های مختلف را برایشان تأیید نمایند؛ بنابراین یک اتصال HTTPS به یک وبگاه امن است اگر و تنها اگر تمام موارد زیر صدق کند: کاربر مطمئن باشد که نرم‌افزار مرورگرش به درستی HTTPS را پیاده‌سازی کرده و مراجع مورد اعتمادی را در خود قرار داده‌است. کاربر مطمئن باشد که مراجع، تنها وبگاه‌های قانونی را تأیید می‌کنند و دچار اشتباه نمی‌شوند. وبگاه یک گواهی معتبر داشته باشد که توسط یکی از مراجع مورد اعتماد کاربر تأیید شده‌است. نه شرکتی دیگر) کاربر مطمئن باشد که روش‌های استفاده شده برای رمزگذاری در امنیت لایه انتقال برای جلوگیری از شنود کارا هستند. در این شبکه‌ها امکان شنود بسته‌ها به راحتی برای تمام افراد حاضر در شبکه وجود دارد. همچنین گزارش‌هایی از ارائه دهندگان سرویس شبکه محلی بی‌سیم نشان می‌دهد که این شرکت‌ها از اطلاعات مشتریان خود سوءاستفاده کرده و در بعضی از موارد با استفاده از تغییر در ارتباط، تبلیغات خود یا حتی بدافزارهایی را به سیستم مشتری‌ها منتقل کرده‌اند. بنابراین بهتر است تمامی اطلاعات بر روی این نوع شبکه‌ها توسط پروتکل‌های امن منتقل شود. بر اساس آمارهای منتشر شده تا تاریخ ۲ اوت سال ۲۰۱۷ میلادی، از حدود ۱۴۰هزار وبگاه معتبر، ۶۰٪ این پروتکل امن را پیاده‌سازی کرده و از آن استفاده می‌کنند. در مرورگرها تقریباً تمامی مرورگرهای وب در صورت دریافت یک گواهی نامعتبر به اشکال مختلف به کاربر هشدار می‌دهند. برخی از مرورگرهای قدیمی‌تر، با نمایش یک جعبه هشدارAlert Box وضعیت را به کاربر گزارش داده و برای ادامهٔ کار از او اجازه می‌گرفتند. اما مرورگرهای جدیدتر معمولاً با هشدارهای واضح که تمامی صفحه را پر می‌کنند، سعی در مطلع ساختن کاربر از خطرهای احتمالی را دارند. (مانند تصاویر) همچنین علامت‌هایی مانند کلید یا سبز یا قرمز شدن نوار آدرس در مرورگرهای مختلف نشانهٔ مورد تأیید یا جعلی بودن گواهی ارائه شده توسط وبگاه است. امروزه بسیاری از مرورگرها در صورتی که محتویات صفحه مخلوطی از پروتکل امن و غیر امن HTTP باشد، به کاربر هشدار خواهند داد. مرورگر فایرفاکس از نسخهٔ ۱۴، براساس اعلام خود، جهت «محافظت از کاربران در برابر زیرساخت‌هایی از شبکه که منجر به جمع‌آوری اطلاعات یا تغییر و سانسور کردن نتایج جستجو می‌شوند» به صورت پیش‌فرض جستجوهای وبگاه گوگل را با پروتکل HTTPS انجام می‌دهد. | ## بخش 2: پروتکل امن انتقال ابرمتن | دید فنی تفاوت‌ها با HTTP برخلاف نشانی‌های وب HTTP که با « آغاز می‌شوند و به صورت پیش‌فرض از درگاه شمارهٔ ۸۰ استفاده می‌کنند، آدرس‌های HTTPS با « آغاز شده و به صورت پیش‌فرض از شماره درگاه ۴۴۳ استفاده می‌کنند. این حملات به مهاجم اجازه می‌دهد به اطلاعات حساس مانند حساب‌های کاربر دسترسی پیدا کند. HTTPS با این هدف طراحی شده‌است که جلوی چنین حملاتی را بگیرد و از این جهت امن است. (به استثنای نسخه‌های کنارگذاشته‌شده و قدیمی‌تر آن) سرعت پروتکل HTTPS، به ویژه در صفحاتی با محتوای زیاد، معمولاً از پروتکل غیر امن آن کمتر است. ارسال گواهی، تأیید گواهی توسط مرورگر و سربار رمزگذاری بر روی سیستم از مهم‌ترین دلایل این کندی هستند. HTTPS قبل از رسیدن بستهٔ HTTP به لایهٔ پایینی (لایهٔ انتقال)، آن را رمزگذاری می‌کند (در هنگام دریافت پاسخ، رمزگشایی می‌کند). یک حمله‌کننده پس از نفوذ می‌تواند متوجه آدرس آی‌پی مقصد، مدت زمان ارتباط و میزان اطلاعات ردوبدل‌شده شود. این گواهی باید توسط یک مرجع صدور گواهی دیجیتال تأیید شود تا مرورگرها بتوانند بدون اخطار، صفحه را برای کاربر نمایش دهند. تهیهٔ گواهی معتبر تهیهٔ یک گواهی دیجیتال معتبر می‌تواند رایگان یا بین ۸ تا ۱‍۵۰۰ دلار در سال هزینه داشته باشد. البته باید توجه داشت که در بعضی موارد مراجع صدور گواهی رایگان مانند شرکت CACert در مرورگرهای مشهور (مانند فایرفاکس، گوگل کروم و اینترنت اکسپلورر) معتبر شناخته نمی‌شوند. مؤسسات و شرکت‌های بزرگ، در صورتی که مسئول نصب و راه‌اندازی مرورگرها در محیط کار خود باشند، می‌توانند با نصب گواهی خودشان بر رور مرورگرها، آن‌ها را در محیط کار تأیید کنند (برای مثال یک وبگاه در شبکهٔ داخلی یک شرکت بزرگ یا دانشگاه). این مؤسسات می‌توانند به راحتی کپی گواهی خود را بر روی مراجع مورد تأیید مرورگرها نیز ثبت کنند. استفاده برای مدیریت دسترسی کاربران یکی دیگر از استفاده‌های سیستم HTTPS و گواهی‌های آن، احراز هویت کاربران برای مشخص نمودن سطح دسترسی آن‌ها در وبگاه است. برای انجام این کار دو راه وجود دارد: کاربران از مراجع معتبر صدور گواهی، گواهی تهیه کرده و آن را بر روی سیستم خوب نصب نمایند. مدیر وبگاه باید به ازای هر کاربر یک گواهی ایجاد و آن را بر روی سیستم کاربر نصب نماید. این گواهی‌ها در درون خود اطلاعاتی مانند نام، نامِ خانوادگی و آدرس ای‌میل کاربر را ذخیره می‌کنند. این اطلاعات با هر بار اتصال به وبگاه، توسط سرور بررسی شده و کاربر بدون نیاز به ورود نام کاربری یا کلیدواژه شناسایی خواهد شد. البته این الگوریتم‌ها سربار زیادی را به دلیل رمزنگاری پیچیده بر روی سرور و کلاینت خواهند گذاشت. در حال حاضر تنها ۳۰٪ اتصالات مرورگرهای فایرفاکس، گوگل‌کروم و اپرا از این روش‌ها استفاده می‌کنند. این در حالی است که مرورگر سافاری و اینترنت اکسپلورر هیچ‌گاه از این الگوریتم‌ها استفاده نمی‌کنند. از میان یاهو، مایکروسافت، پی‌پال، اپل، اچ‌پی، دل، گوگل و تعداد بسیاری از شرکت‌های بزرگ اینترنتی، تنها شرکت گوگل از این سیاست برای امنیت وبگاه‌های خود استفاده می‌کند. دلایلی مانند لو رفتن کلید خصوصی یا دلایل امنیتی دیگر از جمله مواردی است که منجر به این موضوع می‌گردد. به کمک این پروتکل مرورگرها می‌توانند باطل شدن گواهی‌های دیجیتال پیش از موعد را بررسی کنند. محدودیت‌ها و مشکلات پروتکل HTTPS دو حالت مختلف را پشتیبانی می‌کند: حالت سادهSimple و حالت متقابل یا دوطرفه.Mutual حالت دوطرفه امنیت بیشتری دارد اما برای استفاده از آن علاوه بر سرور، کاربر نیز باید گواهی تهیه کرده و بر روی سیستمِ خود نصب نماید. هر کدام از این دو حالت که استفاده شوند، امنیت ارتباط به شدت به پیاده‌سازی و الگوریتم رمزنگاری استفاده‌شده دارد. سیستم‌های مختلف بارها به دلیل مشکلاتی که در پیاده‌سازی آن‌ها وجود دارد، مورد حمله قرار گرفته‌اند. | ## بخش 3: پروتکل امن انتقال ابرمتن | در بسیاری از موارد آدرس صفحات وبگاه تنها از روی حجم درخواست و پاسخ رمزنگاری شده، قابل افشا است. این مسئله می‌تواند به یک مهاجم این امکان را بدهد که به متن رمز شده و رمز نشده دسترسی پیدا کند. هر سرور می‌تواند برای هر جفت آدرس IP و شماره درگاه خود یک گواهی به کاربر ارائه نماید. به همین دلیل در بسیاری از موارد نمی‌توان در سرورهایی که میزبانی مجازی مبتنی بر نام ارائه می‌دهند، از پروتکل HTTPS استفاده نمود. مرورگر فایرفاکس از نسخهٔ ۲ به بالا، اپرا از نسخهٔ ۸ به بالا، سافاری از نسخهٔ ۲٫۱ به بالا، گوگل کروم از نسخهٔ ۶ به بالا و اینترنت اکسپلورر ۷ به بالا از این قابلیت پشتیبانی می‌کنند. حملات صورت گرفته برهنه‌سازی در کنفرانس کلاه‌سیاه در سال ۲۰۰۹ یک حملهٔ پیچیده به نام برهنه‌سازیStripping گزارش شد. کاربر فکر می‌کند که ارتباط او امن است، در حالی که مهاجم به راحتی می‌تواند حملهٔ مرد میانی را ترتیب دهد. در این نوع حمله از این نکته استفاده می‌شود که اکثر کاربران خودشان قسمت " را در نوار آدرس تایپ نمی‌کنند و معمولاً با کلیک بر روی یک لینک به صفحهٔ امن منتقل می‌شوند. حملهٔ کانال‌های جانبی در ماه مه سال ۲۰۱۰ طبق تحقیقاتی که تیم تحقیقات مایکروسافت با همکاری دانشگاه هند انجام دادند، مشخص شد که بسیاری از اطلاعات حساسی که از طریق HTTPS منتقل می‌شوند، از طریق روش‌ها و کانال‌های جانبیSide Channels مانند مشاهدهٔ حجم بسته، برای مهاجمان قابل دسترسی هستند. به‌طور مشخص‌تر، محققان نشان دادند که با شنود بر روی ارتباطات امن نرم‌افزارها و وبگاه‌های بیمارستان‌ها، بانک‌ها و جستجوهای وب می‌توانند میزان درآمد، بیماری و نوع آن، داروهای مورد استفاده، عمل‌های جراحی صورت گرفته بر روی فرد و افراد خانوادهٔ او را تشخیص دهند. این حمله که از طریق یک حفرهٔ امنیتی و به کمک تکه‌کد جاوااسکریپت صورت می‌گیرد، می‌تواند به مهاجم این امکان را می‌دهد که متن رمز شده را در یک زمان کوتاه به‌طور کامل رمزگشایی کند. این اشکال بر روی SSL نسخهٔ ۳ به پایین و TLS نسخهٔ ۱ که در زمان گزارش حمله در امنیت لایه انتقال پرکاربرد بودند، وجود دارد. امروزه مرورگرهای مشهور به صورت پیش‌فرض نسخه‌های قدیمی این پروتکل‌ها را غیرفعال می‌کنند تا از این حمله در امان باشند. برای جلوگیری از این حمله، کاربران باید پروتکل اسپیدی را در مرورگر خود غیرفعال نمایند. حملهٔ BREACH این حمله که آخرین حملهٔ گزارش شده تاکنون می‌باشد، در ماه اوت سال ۲۰۱۳، توسط کارشناسان امنیتی گزارش شده‌است. در ایران استفاده از پروتکل HTTPS در ایران گاهی دچار مشکل شده و با کاهش سرعت یا قطع دسترسی مواجه می‌شود. مسئولین معمولاً این ادعا را رد می‌کنند اما وزیر ارتباطات ایران در تیر ماه سال ۱۳۹۲ برای اولین بار اعلام کرد که دلیل افت سرعت اینترنت در زمان پیش از انتخابات، امنیتی و به دلیل انتخابات ریاست جمهوری ایران بوده‌است. وی این اقدام را راهکار و ابتکاری در جهت مقابله با ورود بیگانگان به فضای مجازی تعریف کرد. جعل گواهی گوگل و سرویس‌های آن در ماه اوت سال ۲۰۱۱ میلادی شرکت گوگل اعلام کرد که یکی از گواهی‌های دیجیتال این شرکت که در مرجع دی‌جی‌نوتارDigiNotar در کشور هلند ثبت شده‌بود، به سرقت رفته‌است. با انجام این حمله، مهاجمان توانستند در مقیاس‌های بزرگ به ویژه در داخل ایران حمله‌های مرد میانی و فیشینگ ترتیب‌دهند. بسیاری ادعا کردند که آی‌اس‌پی‌های بزرگ در ایران مانند پارس‌آنلاین و خود دولت با استفاده از این گواهی‌های دزدیده شده، از اطلاعات کاربران سوءاستفاده کردند. قابل ذکر است که گواهی دزدیده شده نه‌تنها مربوط به قسمت جستجوی وبگاه گوگل بود، بلکه در تمامی سرویس‌های گوگل از جمله جی‌میل، گوگل‌پلاس و غیره معتبر شناخته می‌شد. مرورگرهای مشهور با فاصله چند روز از انتشار این خبر، این مرجع را از لیست مراجع مورد تأیید خود حذف کردند. ساختار پروتکل به‌وجود آمده (اس‌اس‌ال) به‌گونه‌ای بود که قابلیت قرار گرفتن هر نرم‌افزار و سرویسی بر روی آن وجود داشت با گذشت زمان پروتکل اس‌اس‌ال تغییر کرده و جای خود را به امنیت لایه انتقال داد. نسخه‌های بعدی پروتکل امنیت لایه انتقال با ایجاد تغییرات بزرگ، راه خود را از اس‌اس‌ال جدا کردند. | ## جمع‌بندی | در نسخهٔ فعلی HTTPS که در ماه مه سال ۲۰۰۰ میلادی در RFC 2818 معرفی شده‌است، امنیت لایه انتقال به‌عنوان جایگزین پروتکل اس‌اس‌ال، در لایهٔ زیرین HTTPS قرار گرفته‌است.