تفاوت HTTP و HTTPS و نحوه عملکرد آنها
پروتکل HTTPS مانند پروتکل HTTP پروتکلی برای استفاده از وبسایتهاست؛ اما تفاوت اصلی HTTPS با HTTP در این است که HTTPS اطلاعات را میان کلاینت کاربر و سرور وب رمزنگاری میکند. این رمزنگاری توسط Certificate یا گواهی دیجیتالی که آن سایت به شما ارائه میدهد، انجام میشود.
حمله ARP Poisoning و حمله MITM چیست؟
در روش ARP Poisoning، مهاجم آدرس MAC مربوط به Gateway شما را به جای آدرس MAC کارت شبکه خودش قرار میدهد و به اصطلاح شروع به Sniffing میکند.
در این حالت، تمامی ترافیکی که قرار است به سمت مودم اینترنت ارسال شود، ابتدا به سمت مهاجم میرود و سپس Packetها از سیستم هکر به سمت Gateway واقعی ارسال میشوند.
به این نوع حمله، Man-in-the-Middle (MITM) Attack گفته میشود.
در چنین شرایطی، مهاجم میتواند Packetهای ارسالی شما به سرور وب را مشاهده کند. اگر این اطلاعات رمزنگاری نشده باشند، خواندن محتوای آنها برای هکر بسیار ساده خواهد بود.
به همین دلیل است که اکثر وبسایتهای مهم، مانند سرویسدهندگان ایمیل، اینترنتبانکها و سایر سرویسهای حساس، حداقل هنگام ورود کاربر به صفحه Login و وارد کردن نام کاربری و رمز عبور، از پروتکل HTTPS استفاده میکنند.

Certificate چیست و چه کاربردی دارد؟
در اینجا لازم است به صادرکنندگان گواهیهای دیجیتال اشاره کنیم. به این صادرکنندگان CA (Certificate Authority) گفته میشود.
هر شخصی که بخواهد در وبسایت خود از Certificate استفاده کند، بهتر است Certificate موردنظر را از CAهای شناختهشده خریداری کرده و در وبسایت خود قرار دهد.
برخی از CAهای معروف عبارتاند از:
- GoDaddy
- VeriSign
- و …
آیا میتوانیم خودمان CA باشیم؟
ممکن است این سؤال مطرح شود که:
مگر نمیشود خودمان CA باشیم؟
در پاسخ باید گفت که بله، این امکان وجود دارد؛ اما اگر Certificate مورد استفاده ما توسط CAهای متفرقه صادر شده باشد، زمانی که کلاینت میخواهد صفحه HTTPS ما را Browse کند، مرورگر به او هشدار میدهد که Certificate مورد استفاده در این وبسایت Valid نیست.
اعتماد سیستمعامل و مرورگر به Certificate
سیستمعاملها و مرورگرها از قبل به تعداد مشخص و معینی از CAها اعتماد دارند.
زمانی که صفحهای را که از Certificate استفاده میکند (SSL Page) باز میکنیم، ممکن است مشاهده کنیم که محیط URL در بالای صفحه مرورگر به رنگ سبز درمیآید. این موضوع به معنی اعتماد سیستم ما به Certificate مورد استفاده در آن سایت است.
اگر محیط URL مرورگر به رنگ قرمز درآید، به این معنی است که سیستم ما به Certificate مورد استفاده اعتماد ندارد.
اگر برای وبسایتی که قرار است در محیط عمومی Publish شود از یک CA معتبر استفاده نکنیم، کاربران هنگام ورود به صفحه امن سایت با هشدار Valid نبودن Certificate مواجه میشوند و احتمالاً به آن اعتماد نمیکنند.
اطلاعات Certificate را از کجا ببینیم؟
اطلاعات مربوط به Certificate را میتوان در همان URL و از قسمت Certificate Information مشاهده کرد.
در این بخش میتوان اطلاعاتی مانند موارد زیر را بررسی کرد:
- صادرکننده Certificate چه کسی است؟
- Certificate برای چه سایتی صادر شده است؟
- Certificate در چه بازه زمانی Valid است؟
همچنین میتوانیم Certificate هر CA را روی سیستم خود در فهرست Trustها قرار دهیم تا سیستم ما به آن Certificate و صادرکننده آن اعتماد داشته باشد.
البته هنگام اضافه کردن Certificate به Trustهای سیستم باید دقت داشته باشیم و CA مربوطه را بشناسیم.

چرا Certificate در مرورگر نامعتبر نمایش داده میشود؟
در بالا اشاره کردیم که اگر هنگام باز کردن یک صفحه SSL، محیط URL به رنگ قرمز درآمد، یعنی Certificate مورد اطمینان سیستم ما نیست.
در ادامه دلایل این موضوع را بررسی میکنیم.
۱. اشتباه بودن تاریخ سیستم عامل
ممکن است تاریخ سیستمعامل ما بهروز نباشد.
برای مثال، ممکن است تاریخ سیستم سه سال اختلاف داشته باشد، در حالی که Certificate مورد استفاده تنها در یک بازه زمانی دو ساله Valid باشد.
در چنین شرایطی، مرورگر Certificate را معتبر تشخیص نمیدهد.
۲. استفاده از Certificate متفرقه
ممکن است صاحب سایت از یک Certificate متفرقه استفاده کرده باشد.
همانطور که در بالا اشاره کردیم، اگر آن سایت و CA مربوط به آن را میشناسیم، میتوانیم Certificate را در فهرست Trustهای سیستم خود اضافه کنیم.
۳. احتمال حمله MITM و Certificate جعلی
یکی دیگر از دلایل میتواند این باشد که مورد حمله MITM قرار گرفته باشیم و شخصی در حال Sniff کردن Packetهای ما باشد.
در این شرایط ممکن است مهاجم یک Certificate جعلی به ما ارائه دهد تا بتواند پسورد و سایر اطلاعات مهم ما را به دست آورد.
بنابراین باید دقت داشته باشیم که هر Certificateای را در Trustهای سیستم خود قرار ندهیم؛ چراکه ممکن است آن Certificate متعلق به هکری باشد که میان ما و اینترنت قرار گرفته است.
در صورت مشاهده Certificate نامعتبر چه کاری انجام دهیم؟
از میان موارد بالا، موارد ۳، ۱ و ۲ به ترتیب میتوانند بیشتر برای ما اتفاق بیفتند؛ بنابراین باید توجه ویژهای به مورد سوم، یعنی احتمال حمله MITM، داشته باشیم.
توصیه برای کاربران عادی این است که اگر در محیط URL مشاهده کردند که Certificate مورد اطمینان نیست و به اصطلاح Failed شده است، در صورتی که اطمینان دارند تاریخ سیستم آنها بهروز است، بدون وارد کردن نام کاربری و رمز عبور، صفحه را ببندند.
اگر به اشتباه در چنین صفحهای Login کردند، باید:
- سریعاً از آن محیط Sign Out کنند.
- از محیطی که این مشکل را ندارد، مجدداً Login کنند.
- تمامی Password ها را تغییر دهند.
- ایمیلهای Recovery و سایر اطلاعات مرتبط را نیز تعویض کنند.
این نکته را نیز اضافه میکنیم که اگر هکری شبکه ما را Sniff کند، آن شبکه ممکن است بسیار کند شود.
آیا Sniffing و ARP Poisoning جرم است؟
در پایان این نکته را اضافه میکنیم که عملیات Sniffing و ARP Poisoning جرم محسوب میشود.

استفاده از HTTPS در نرمافزارهای تحت وب پیوست
در زمان استفاده از نرم افزار اتوماسیون اداری پیوست و یا نرم افزارهای منابع انسانی پیوست، با هماهنگی تیم استقرار و پیادهسازی، حتماً این نرمافزارهای تحت وب را در حالت HTTPS استفاده نمایید.







