برای معرفی و بررسی معنای ایمن بودن با https یا پروتکل انتقال ابرمتن، این مقاله را با یک مثال ساده شروع می کنیم تا درک بهتری از این اصطلاح به شما ارائه دهیم.
https یک پروتکل امن است که برای رمزگذاری داده های منتقل شده بین مرورگر کاربر و سرور وب سایت استفاده می شود، نماد HTTPS با نماد قفل قابل مشاهده است. شما می توانید نماد https را در ابتدای نام دامنه در نوار جستجوی مرورگر خود مشاهده کنید و با کلیک بر روی آن می توانید اطلاعات مفیدی را دریافت کنید.
با فرض اینکه قصد خرید از وب سایت فروشگاه را دارید، باید یک حساب کاربری ایجاد کنید و اطلاعات حساب بانکی خود را برای پرداخت وارد کنید. در این صورت اگر وب سایت از پروتکل https استفاده نکند، اطلاعات شما به راحتی به دست هکرها و سودجویان می رسد که اطلاعات کاربران را از طریق حملات فیشینگ دریافت می کنند. بنابراین برای ارتقای ایمنی کاربران وب، امروزه تمامی مرورگرها و حتی موتورهای جستجو مانند گوگل، وب سایت هایی با این نماد را بسیار جدی می گیرند.
معنی https در واقع این است: پروتکلی برای رمزگذاری داده ها و اطلاعاتی است که بین کاربران و سرورهای وب سایت منتقل می شود. نام این پروتکل امنیتی Transport Layer Security (TLS) است که هنوز در دنیا با نام SSL یا Secure Sockets Layer شناخته می شود.
https از دو کلید مختلف برای محافظت از اطلاعات و رمزگذاری آن بین مرورگر کاربر و سرور وب سایت استفاده می کند. به این کلیدها کلید عمومی و خصوصی می گویند. روند کلی کار این کلیدها به این صورت است که توسط یک پروتکل امنیتی منحصر به فرد رمزگذاری می شوند که یکی از آنها عملکرد رمزگذاری و دیگری وظیفه رمزگشایی و درک اطلاعات ارسالی را دارد. 1- کلید خصوصی
کلید خصوصی توسط سرور وب سایتی که شما بازدید می کنید تولید می شود و هیچ کس نمی تواند آن را به صورت عمومی ببیند. نقش کلید خصوصی در https رمزگشایی اطلاعات ارسال شده توسط کلید عمومی است.
کلید عمومی برای همه کاربرانی که می خواهند وب سایت را مشاهده کنند قابل مشاهده است. وظیفه این کلید رمزگذاری داده هایی است که قرار است به سرور ارسال شود.
حال بیایید عملکرد، معنا و مفهوم https را به صورت حرفه ای تری بررسی کنیم. در این روش رمزگذاری از دو نوع کلید عمومی و خصوصی که در بالا به آن اشاره کردیم استفاده می شود. اینطوری کار میکنه:
1- مرورگر شما درخواستی مبنی بر برقراری ارتباط امن به سرور وب سایت مورد نظر ارسال می کند و سرور اطلاعات مربوط به تایید این گواهی و کلید عمومی را در پاسخ به مرورگر شما ارسال می کند. ممکن است از نام این کلید نتیجه بگیرید که محتویات آن برای افرادی غیر از کلاینت و سرور قابل مشاهده است.
2- در مرحله بعد مرورگر اطلاعات برگشتی از سمت سرور و پایگاه داده آن را بررسی کرده و اعتبار آن را می سنجد.
3- تا کنون کلید خصوصی پیاده سازی نشده است. اما در این مرحله مرورگر اطلاعاتی را که از کاربر وب سایت دریافت می کند با استفاده از کلید عمومی رمزگذاری کرده و همه را به سرور ارسال می کند. اکنون زمان آن رسیده است که سرور اطلاعاتی را که از مرورگر دریافت کرده رمزگشایی کند. این می تواند از کلیدهای عمومی و خصوصی استفاده کند. از آنجایی که کلید خصوصی فقط در دسترس سرور است، اطلاعات رمزگذاری شده توسط اشخاص ثالث حتی با فرض دسترسی به آن قابل خواندن نیستند.
برای دیدن مزایا و کاربردهای https در یک وب سایت، ابتدا باید با فرآیند ارسال و دریافت داده ها آشنا شویم. هنگامی که داده ها را به سرور سایت مقصد خود ارسال می کنید، داده های شما به واحدهایی به نام بسته تبدیل می شود. اکنون، زمانی که وب سایت فقط دارای پروتکل http است، این اطلاعات توسط هکرها یا افراد مخرب با استفاده از نرم افزار رایگان به راحتی قابل مشاهده است.
بیایید ابتدا با HTTP شروع کنیم. هنگامی که یک کاربر یا بازدیدکننده از پروتکل HTTP استفاده می کند و سعی می کند از یک وب سایت استفاده کند، اطلاعات رد و بدل شده بین مشتری و سرور رمزگذاری نمی شود که این مهم ترین حفره امنیتی در پروتکل است.
برای درک بهتر این موضوع، تصور کنید که در حال ارسال پول برای شخص دیگری از طریق اینترنت هستید. بدیهی است که برای این کار باید از تمام اطلاعات حساس بانکی خود برای تکمیل این تراکنش استفاده کنید. اکنون با فرض اینکه این داده ها بدون هیچ گونه رمزگذاری منتشر شده است، اکنون این امکان برای سودجویان وجود دارد که از این فرصت برای دسترسی به اطلاعات بانکی شما استفاده کنند.
اما در عوض، زمانی که از پروتکل HTTPS استفاده می کنید، تمام اطلاعات به صورت رمزگذاری شده بین سرور و کلاینت منتقل می شود. استفاده از این قرارداد به شما اطمینان می دهد که هیچ شخص ثالثی به این اطلاعات دسترسی ندارد.