پروتکل HTTPS چیست؟
نوشته شده توسط : مهشید افخمی

پروتکل HTTPS

درباره HTTPS:

پروتکل HTTPS یا Hypertext transfer protocol secure  نسخه امن پروتکل HTTP است، که پروتکل اصلی مورد استفاده برای ارسال داده بین مرورگر وب و وب سایت بوده و در لایه 7 مدل OSI (لایه Application) کار می کند. پروتکل HTTPS به منظور افزایش امنیت انتقال داده ها رمزگذاری شده است.

این امر به ویژه هنگامی مهم است که کاربران داده های حساس را ارسال می کنند مانند ورود به حساب بانکی، خدمات ایمیل و از این قبیل. از پروتکل SSL/TLS برای رمزگذاری و احراز هویت استفاده می کند. HTTPS توسط RFC 2818 (در May 2000) مشخص شده است و به طور پیش فرض از پورت 443 به جای پورت 80 HTTP استفاده می کند.

هر وب سایتی، به ویژه آنهایی که به اعتبار ورود نیاز دارند، باید از پروتکل HTTPS استفاده کنند. در مرورگرهای وب مدرن مانند Chrome، وب سایت هایی که از HTTPS استفاده نمی کنند متفاوت از سایر موارد هستند. در نوار URL به دنبال قفل سبز باشید تا نشان دهد صفحه وب امن است. مرورگرهای وب HTTPS را جدی می گیرند. Google Chrome و مرورگرهای دیگر همه وب سایت های غیر HTTPS را بعنوان غیر ایمن علامت گذاری می کنند.

پروتکل HTTPS به کاربران وب سایت امکان می دهد تا داده های حساس مانند شماره کارت اعتباری، اطلاعات بانکی و اطلاعات ورود به سیستم را به صورت ایمن از طریق اینترنت منتقل کنند. به همین دلیل، پروتکل HTTPS برای تأمین امنیت فعالیت های آنلاین مانند خرید، بانکداری و دور کاری اهمیت ویژه ای دارد. با این حال، HTTPS به سرعت در حال تبدیل شدن به پروتکل استاندارد برای همه وب سایت ها است، خواه آنها داده های حساس را با کاربران مبادله کنند یا نه.

 

 

HTTPS چگونه کار می کند؟

HTTPS از پروتکل رمزگذاری برای ارتباطات استفاده می کند. پروتکل رمزگذاری Transport Layer Security (TLS) یا Secure Sockets Layer (SSL) نامیده می شود. پروتکل HTTPS با پیچاندن HTTP در داخل پروتکل SSL/TLS (به همین دلیل است که SSL را پروتکل تونل زنی می نامند) رمزگذاری را به پروتکل HTTP می افزاید، به طوری که همه پیام ها در دو جهت بین دو کامپیوتر شبکه (به عنوان مثال کلاینت و وب سرور) رمزگذاری می شوند.

این پروتکل با استفاده از آنچه که به عنوان زیرساخت کلید عمومی نامتقارن شناخته می شود، ارتباطات را ایمن می کند. این نوع سیستم امنیتی از دو کلید مختلف برای رمزگذاری ارتباطات بین دو طرف استفاده می کند: کلید عمومی و کلید خصوصی:

 

  1. کلید خصوصی: این کلید توسط صاحب یک وب سایت کنترل می شود و همانطور که خواننده احتمال داده است، آن را خصوصی نگه می دارد. این کلید روی یک وب سرور زندگی می کند و برای رمزگشایی، اطلاعات رمزگذاری شده با کلید عمومی استفاده می شود.

 

  1. کلید عمومی: این کلید در دسترس همه کسانی است که می خواهند با سرور به نحوی ارتباط امن برقرار کنند. اطلاعاتی که توسط کلید عمومی رمزگذاری می شوند، تنها با کلید خصوصی رمزگشایی می شوند.

 

اگرچه یک استراق سمع کننده هنوز می تواند به آدرس های IP، شماره پورت، نام دامنه، میزان اطلاعات مبادله شده و مدت زمان یک ارتباط دسترسی داشته باشد، اما همه داده های واقعی مبادله شده توسط SSL/TLS به طور ایمن رمزگذاری می شوند ، از جمله:

 

  • URL درخواست (کدام صفحه وب توسط کلاینت درخواست شده است)
  • محتوای وب سایت
  • پارامترهای پرس و جو
  • هدر ها
  • کوکی ها

پروتکل HTTPS همچنین از پروتکل SSL/TLS برای احراز هویت استفاده می کند. SSL/TLS از اسناد دیجیتالی معروف به گواهی X.509 برای پیوند دادن جفت کلید رمزنگاری به هویت اشخاصی مانند وب سایت ها، افراد و شرکت ها استفاده می کند. هر جفت کلید شامل یک کلید خصوصی است که ایمن نگه داشته می شود و یک کلید عمومی که می تواند به طور گسترده توزیع شود. هر کسی که کلید عمومی دارد می تواند از آن برای موارد زیر استفاده کند:

 

  • پیامی ارسال کند که فقط دارنده کلید خصوصی می تواند رمزگشایی کند.
  • تأیید کند که یک پیام به صورت دیجیتالی با کلید خصوصی مربوطه امضا شده است.

 

اگر گواهی ارائه شده توسط یک وب سایت HTTPS توسط یک مقام گواهینامه معتبر عمومی (CA) مانند SSL.com امضا شده باشد، می توان به کاربران اطمینان داد که هویت وب سایت توسط شخص ثالث مورد اعتماد و با دقت حسابرسی شده است.

 

تفاوت HTTPS با HTTP چیست؟

از نظر فنی، HTTPS یک پروتکل جداگانه از HTTP نیست. زیرا این پروتکل رمزگذاری، احراز هویت و یکپارچگی را به پروتکل HTTP اضافه می کند. پروتکل HTTPS بر اساس انتقال گواهینامه های TLS/SSL ایجاد می شود، که تأیید می کند ارائه دهنده خاص همان است که آنها می گویند.

هنگامی که کاربر به صفحه وب متصل می شود، صفحه وب گواهی SSL خود را ارسال می کند که حاوی کلید عمومی لازم برای شروع ارتباط امن است. دو رایانه، کلاینت و سرور، فرآیندی به نام SSL/TLS handhake را طی می کنند، که مجموعه ای از ارتباطات رفت و برگشتی است که برای ایجاد یک ارتباط امن استفاده می شود.

پروتکل HTTPS

 

از آنجا که پروتکل HTTP در ابتدا به عنوان یک پروتکل clear text طراحی شده بود، در برابر شنود و حمله آسیب پذیر است. با درج رمزگذاری SSL/TLS ، HTTPS از رهگیری و خواندن داده های ارسال شده از طریق اینترنت توسط شخص ثالث جلوگیری می کند. از طریق رمزنگاری کلید عمومی، می توان یک ارتباط رمزگذاری شده را به طور ایمن بین دو طرفی که هرگز شخصاً ملاقات نکرده اند (به عنوان مثال وب سرور و مرورگر) از طریق ایجاد یک کلید خصوصی مشترک ایجاد کرد.

 

چرا HTTPS مهم است؟ اگر وب سایتی HTTPS نداشته باشد چه اتفاقی می افتد؟

پروتکل HTTPS مانع از آن می شود که وب سایت ها اطلاعات خود را به گونه ای پخش کنند که به راحتی توسط افرادی که در شبکه جستجو می کنند مشاهده شود. هنگامی که اطلاعات از طریق HTTP معمولی ارسال می شوند، اطلاعات به بسته های داده تقسیم می شوند که می توان به راحتی آنها را با استفاده از نرم افزار ” sniffed” کرد.

این امر باعث می شود ارتباط از طریق یک رسانه ناامن، مانند Wi-Fi عمومی، در برابر رهگیری بسیار آسیب پذیر باشد. در حقیقت، تمام ارتباطاتی که از طریق HTTP رخ می دهد به صورت clear text انجام می شود و باعث می شود برای هر کسی با ابزارهای بسیار قابل دسترسی باشد و در برابر حملات در مسیر آسیب پذیر باشد.

با استفاده از پروتکل HTTPS، ترافیک به گونه ای رمزگذاری می شود که حتی اگر بسته ها شنیده شوند و یا به نحوی دیگر رهگیری شوند، به عنوان کلمات بی معنی ظاهر می شوند. بیایید به یک مثال نگاه کنیم:

 

قبل از رمزگذاری:

This is a string of text that is completely readable

پس از رمزگذاری:

ITM0IRyiEhVpa6VnKyExMiEgNveroyWBPlgGyfkflYjDaaFf/Kn3bo3OfghBPDWo6AfSHlNtL8N7ITEwIXc1gU5X73xMsJormzzXlwOyrCs+9XCkk+

 

در وب سایت های بدون HTTPS، ممکن است ارائه دهندگان خدمات اینترنتی (ISP) یا سایر واسطه ها محتوا را بدون تأیید صاحب وب سایت به صفحات وب تزریق کنند. این معمولاً به شکل تبلیغات صورت می گیرد، جایی که یک ISP که به دنبال افزایش درآمد است تبلیغات پولی را به صفحات وب مشتریان خود تزریق می کند. جای تعجب نیست که وقتی این اتفاق می افتد، سود تبلیغات و کنترل کیفیت تبلیغات به هیچ وجه با صاحب وب سایت به اشتراک گذاشته نمی شود. HTTPS توانایی اشخاص ثالث بدون تعدیل را برای تزریق تبلیغات به محتوای وب حذف می کند.

همچنین موتورهای جستجو (از جمله گوگل) هنگام ایجاد نتایج جستجو از پروتکل HTTPS به عنوان یک سیگنال رتبه بندی استفاده می کنند. بنابراین، صاحبان وب سایت می توانند با پیکربندی سرورهای وب خود با استفاده از HTTPS به جای HTTP ، SEO را به راحتی افزایش دهند.

در سال 2020 ، وب سایت هایی که از HTTPS استفاده نمی کنند یا محتوای مختلط را ارائه نمی دهند (ارائه منابع مانند ارائه تصاویر از طریق HTTP از صفحات HTTPS) مشمول هشدارها و خطاهای امنیتی مرورگر می شوند. علاوه بر این این وب سایت ها بدون ضرر، حریم خصوصی و امنیت کاربران خود را به خطر می اندازند و توسط الگوریتم های موتور جستجو ترجیح داده نمی شوند. بنابراین وب سایت های HTTP و محتوای مختلط می توانند انتظار هشدارها و خطاهای بیشتر در مرورگر، اعتماد کاربران کمتر و SEO ضعیف تر از HTTPS فعال شده را داشته باشند.

پروتکل HTTPS

 

وقتی درخواست بازکردن سایتی در مرورگر را می کنید، چگونه این اتفاق می افتد؟

برای درک این موضوع، اجازه دهید تصور کنیم که یک سرور وجود دارد که در جایی خدمت ارائه می دهد و تمام درخواست های یک دامنه را ارائه می دهد. اکنون، وقتی xyz.com را تایپ می کنم، سروری است که به آن متصل می شوم، داده ها را از آن گرفته و در مرورگر ارائه می شود.

برای درک این موضوع، اجازه دهید تصور کنیم که یک سرور وجود دارد که در جایی خدمت ارائه می دهد و تمام درخواست های یک دامنه را ارائه می دهد به عنوان مثال سرور گوگل، تصور کنید یک سرور داریم که  نام دامنه ان google.com است. یک دستگاه در جایی متصل به اینترنت است و لحظه ای که در مرورگر خود google.com را تایپ می کند، به آن سرور متصل می شود، داده ها را از آن سرور انتخاب کرده و در مرورگر نشان می دهد.

اگر نتوانیم به سرور دسترسی پیدا کنیم، این فرآیند تکمیل نمی شود. برای اینکه این اتفاق بیفتد، هر سیستم دارای یک آدرس IP است و هر دامنه دارای map IP است. لحظه ای که نشانی اینترنتی google.com را وارد می کنید، DNS نام را به IP تبدیل می کند و به روتر می فرستد تا به خط سرویس خاص مربوط به این آدرس دسترسی پیدا کند. هنگامی که به سرور می رسد، درخواست مورد نیاز را مطرح می کند. در نتیج ، سرور طبق درخواست شما نتایج مورد نظر را در مرورگر ارائه می دهد.

 

چگونه HTTPS را در وب سایت خود فعال کنیم؟

برای محافظت از یک وب سایت عمومی با پروتکل HTTPS، لازم است یک گواهی SSL/TLS با امضای یک مرجع معتبر عمومی (CA) بر روی سرور وب خود نصب کنید. بسیاری از ارائه دهندگان هاست، وب سایت و سایر خدمات گواهی TLS/SSL را با پرداخت هزینه ارائه می دهند. این گواهینامه ها اغلب بین بسیاری از مشتریان به اشتراک گذاشته می شود. گواهینامه های گران تری در دسترس هستند که می توانند به صورت جداگانه در ویژگی های وب خاصی ثبت شوند.

منبع : https://mrshabake.com/https-protocol/





:: بازدید از این مطلب : 938
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ انتشار : چهار شنبه 3 شهريور 1400 | نظرات ()
مطالب مرتبط با این پست
لیست
می توانید دیدگاه خود را بنویسید


نام
آدرس ایمیل
وب سایت/بلاگ
:) :( ;) :D
;)) :X :? :P
:* =(( :O };-
:B /:) =DD :S
-) :-(( :-| :-))
نظر خصوصی

 کد را وارد نمایید:

آپلود عکس دلخواه: