SSL/TLS چیست؟ و این پروتکل رمزگذاری چگونه کار می کند
پروتکل SSL/TLS هر نوع ترافیک اینترنتی را رمزنگاری می کند و ارتباطات اینترنتی ایمن (و در نتیجه تجارت اینترنتی) را امکان پذیر می کند. در این مقاله از ساینت قراره راجب SSL/TLS صحبت کنیم تفاوتها و شباهت های اونها رو هم بررسی کنیم. با ما همراه باشید.
SSL/TLS و HTTPS چیست؟
گواهی SSL چیست؟
SSL مخفف Secure Sockets Layer است و به طور خلاصه، این فناوری استاندارد برای ایمن نگه داشتن اتصال به اینترنت و محافظت از هرگونه اطلاعات حساس است که بین دو سیستم تبادل می شود، و از خواندن مجرمان و تغییر هرگونه اطلاعات منتقل شده، از جمله جزئیات شخصی احتمالی جلوگیری می کند. این دو سیستم می توانند یک سرور و یک سرویس گیرنده (به عنوان مثال یک وب سایت و مرورگر کاربر) یا یک سرور به سرور (به عنوان مثال برنامه ای با اطلاعات قابل شناسایی شخصی یا دارای اطلاعات حقوق و دستمزد) باشند.
رمزنگاری داده های تبادل شده توسط SSL/TLS این اطمینان را به ما می دهد که خواندن داده های منتقل شده بین کاربران و سایت ها یا بین دو سیستم امکان پذیر نیست. این شیوه تبادل از الگوریتم های رمزگذاری برای مخلوط کردن داده ها در حین انتقال استفاده می کند و از خواندن آن توسط هکرها هنگام ارسال از طریق اتصال جلوگیری می کند. این اطلاعات می تواند هر چیز حساس یا شخصی باشد که می تواند شامل شماره کارت اعتباری و سایر اطلاعات مالی، نام و آدرس باشد.
TLS (Transport Layer Security) فقط یک نسخه به روز شده و امن تر از SSL است. ما هنوز به گواهینامه های امنیتی خود به عنوان SSL اشاره می کنیم زیرا اصطلاحی است که بیشتر مورد استفاده قرار می گیرد، اما هنگامی که SSL را خریداری می کنید، در واقع بیشترین گواهینامه های TLS را با گزینه رمزگذاری ECC ، RSA یا DSA به روز خریداری می کنید.
HTTPS (Hyper Text Transfer Protocol Secure) هنگام ایمن سازی وب سایت توسط گواهی SSL در URL ظاهر می شود. جزئیات گواهی، از جمله مرجع صدور و نام شرکت صاحب وب سایت را می توان با کلیک بر روی نماد قفل در نوار مرورگر مشاهده کرد.
یک گواهینامه SSL در سمت سرور نصب شده است اما نشانه های تصویری در مرورگر وجود دارد که می تواند به کاربران بگوید توسط SSL محافظت می شوند. در مرحله اول، اگر SSL در سایت وجود داشته باشد، کاربران https:// را در ابتدای آدرس وب به جای http:// مشاهده می کنند (عبارت “s” اضافی مخفف “Secure” است. بسته به اینکه چه درجه اعتبار سنجی به کسب و کار داده می شود، ممکن است اتصال ایمن با وجود یک نماد قفل یا یک سیگنال نوار آدرس سبز نشان داده شود.
Google اکنون طرفدار این است که HTTPS یا SSL باید در همه جای وب مورد استفاده قرار گیرد و از سال ۲۰۱۴، موتور جستجو به وب سایت های ایمن با رتبه بندی وب بهتر پاداش می دهد این نیز دلیل مهم دیگری برای نصب SSL در هر سایتی است.
Transport Layer Security (TLS) پروتکل جانشین SSL است. TLS نسخه بهبود یافته SSL است. این کار تقریباً به همان روش SSL و با استفاده از رمزگذاری برای محافظت از انتقال داده ها و اطلاعات، کار می کند. این دو اصطلاح اغلب به جای هم در صنعت به کار می روند اگرچه SSL هنوز هم به طور گسترده ای استفاده می شود. وقتی گواهی ‘SSL’ را خریداری می کنید، مطمئناً می توانید از آن با پروتکل های SSL و TLS استفاده کنید.
SSL چگونه کار می کند؟
رمزگذاری برای برقراری ارتباط ایمن از طریق اینترنت ضروری است: اگر داده های شما رمزگذاری نشده باشد، هر کسی می تواند بسته های شما را بررسی کرده و اطلاعات محرمانه را بخواند. امن ترین روش رمزگذاری رمزنگاری نامتقارن نامیده می شود. در شیوه رمزنگاری نامتقارن دو کلید متفاوت برای رمزنگاری اطلاعات لازم است، یکی کلید عمومی و دیگری کلید خصوصی. ریاضیات در اینجا پیچیده است ، اما در اصل ، شما می توانید از کلید عمومی برای رمزگذاری داده ها استفاده کنید ، اما برای رمزگشایی آنها به کلید خصوصی نیاز دارید. این دو کلید با یک فرمول پیچیده ریاضی به یکدیگر مرتبط هستند که مهندسی معکوس آنها بسیار دشوار است. کلید عمومی را به عنوان اطلاعاتی درباره مکان صندوق پستی قفل شده با شکاف در جلو و کلید خصوصی را به عنوان کلیدی که قفل صندوق پستی را باز می کند، در نظر بگیرید. هر کسی که می داند صندوق پستی کجاست می تواند پیامی را در آن قرار دهد. اما برای اینکه دیگران آن را بخوانند، آنها به کلید خصوصی احتیاج دارند.
از آنجا که رمزنگاری نامتقارن شامل یکسر عملیات دشوار ریاضی است، منابع محاسباتی زیادی را می طلبد، به طوری که اگر از آن برای رمزگذاری تمام اطلاعات در یک جلسه ارتباطات استفاده می کردید، سیستم و اتصال شما متوقف می شود. TLS فقط با استفاده از رمزنگاری نامتقارن در ابتدای جلسه ارتباطات برای رمزگذاری مکالمه، این مشکل را برطرف می کند که سرور و مشتری باید روی یک کلید جلسه واحد توافق کنند که هر دو از آنها برای رمزگذاری بسته های خود از آن مرحله استفاده کنند. رمزگذاری با استفاده از یک کلید مشترک رمزنگاری متقارن نامیده می شود و از نظر محاسباتی فشرده تر از رمزنگاری نامتقارن است. از آنجا که آن کلید جلسه با استفاده از رمزنگاری نامتقارن ایجاد شده است، به طور کلی جلسه ارتباطی بسیار ایمن تر از حالت دیگری است.
فرآیندی که بر اساس آن کلید جلسه توافق می شود، دست دادن handshake نامیده می شود، زیرا لحظه ای است که دو کامپیوتر ارتباط خود را به یکدیگر معرفی می کنند و این در قلب پروتکل TLS است.
فرایند SSL handshake
روند SSL handshake نسبتا پیچیده است. مراحل زیر یک طرح کلی را ارائه می دهد تا به شما کمک کند تا درک صحیحی از SSL handshake بدست بیاورید.
- مشتری با سرور تماس گرفته و درخواست اتصال ایمن می کند. سرور با لیستی از مجموعه های رمزگذاری ویا cipher suites – مجموعه ابزارهای الگوریتمی ایجاد ارتباطات رمزگذاری شده – پاسخ می دهد که می داند چگونه از آنها استفاده کند. مشتری این مورد را با لیست مجموعه رمزهای پشتیبانی شده خود مقایسه می کند، یکی را انتخاب می کند و به سرور اطلاع می دهد که هر دو از آن استفاده خواهند کرد.
- سپس سرور گواهی دیجیتالی خود را ارائه می دهد، سندی الکترونیکی صادر شده توسط مقامات شخص ثالث که هویت سرور را تأیید می کند. بعدا با جزئیات بیشتری در مورد گواهی های دیجیتال صحبت خواهیم کرد، اما در حال حاضر مهمترین چیزی که باید در مورد آنها بدانید این است که آنها دارای کلید رمزنگاری عمومی سرور هستند. مشتری پس از دریافت گواهی، اصالت گواهی را تأیید می کند.
- با استفاده از کلید عمومی سرور، سرویس گیرنده و سرور یک کلید جلسه ایجاد می کنند که هر دو برای بقیه جلسه برای رمزگذاری ارتباطات از آن استفاده می کنند. چندین روش برای انجام این کار وجود دارد. مشتری می تواند از کلید عمومی برای رمزگذاری یک عدد تصادفی استفاده کند که سپس برای رمزگشایی به سرور ارسال می شود و سپس هر دو طرف از آن شماره برای ایجاد کلید جلسه استفاده می کنند. متناوباً، دو طرف ممکن است از آنچه که مبادله کلید Diffie – Hellman نامیده می شود، برای ایجاد کلید جلسه استفاده کنند.
همانطور که از نام آن مشخص است، کلید جلسه فقط برای یک جلسه ارتباطی خوب است. اگر به هر دلیلی ارتباطات بین سرویس گیرنده و سرور قطع شده باشد – به عنوان مثال به دلیل مشكل شبکه، یا به دلیل طولانی بودن بیكار بودن سرویس گیرنده – برای برقراری كلید جلسه جدید هنگام برقراری مجدد ارتباط، نیاز به یک SSL handshake جدید است.
گواهی SSL چیست؟
بیایید به مفهوم گواهی SSL برگردیم. همانطور که توضیح دادیم، این گواهینامه ها در قلب پروتکل SSL/TLS قرار دارند: آنها کلید رمزنگاری عمومی لازم برای راه اندازی اتصالات ایمن را به مشتری می دهند. اما هدف آنها فراتر از تأمین کلید است. آنها همچنین تأیید می کنند که کلید در واقع با سازمانی که آن را به مشتری ارائه می دهد مرتبط است.
این چطوری کار میکنه؟ گواهینامه ها توسط مقامات صدور گواهینامه (CA) صادر می شوند، که هنگام تأیید هویت به عنوان مرکز صدور گواهینامه کار می کند. سازمان هایی که می خواهند خدمات رمزگذاری شده توسط TLS را ارائه دهند باید گواهینامه ها را از CA خریداری کنند، و آنها به نوبه خود تأیید می کنند که سازمان ها همان کسانی هستند که ادعا می کنند. به عنوان مثال، اگر می خواهید برای ایمن سازی یک وب سایت با آدرس دامنه cynetco.com یک گواهینامه بخرید، باید اقدامات لازم را انجام دهید تا به CA اثبات کنید دامنه cynetco.com متعلق به شماست. به این ترتیب، اگر کسی به cynetco.com متصل شود و یک گواهینامه SSL معتبر صادر شده توسط CA معتمد دریافت کند، می تواند مطمئن باشد که با مالک قانونی example.com ارتباط برقرار می کند. این می تواند مانع حملات Man in the middle شود.
توجه داشته باشید که ما در آن پاراگراف آخر از عبارت “CA=Certificate Authorities ” استفاده کردیم. هرکسی می تواند خود را به عنوان مرجع صدور گواهینامه تنظیم کند. چگونه می توانید بگویید کدام یک از آنها دقت لازم را برای احراز هویت مشتری خود انجام می دهند؟ خوشبختانه، کار کشف این مسئله بیشتر توسط سازندگان نرم افزار انجام می شود. بنیاد موزیلا لیستی از CA هایی را که Firefox به آنها اعتماد دارد، نگهداری می کند. اپل و مایکروسافت همچنین لیست هایی را که در سطح سیستم عامل برای ویندوز، macOS و iOS پیاده سازی می کنند حفظ می کنند، کروم از لیست این سیستم عامل ها استفاده می کند.
استانداردی که گواهینامه های SSL را تعریف می کند X.509 نامیده می شود. این استاندارد به گواهینامه ها اجازه می دهد اطلاعات زیادی بیش از کلید عمومی و هویت تأیید شده مالک گواهی حمل کنند.
آسیب پذیری TLS 1.2
TLS 1.2 آخرین نسخه تعریف شده پروتکل است و چندین سال است که وجود دارد. این مجموعه ای از گزینه های رمزنگاری جدید برای برقراری ارتباط ایجاد کرده است. با این حال، مانند برخی از نسخه های قبلی پروتکل، این نرم افزار همچنین اجازه استفاده از روش های رمزنگاری قدیمی را برای پشتیبانی از رایانه های قدیمی تر داد. متأسفانه، این مسئله باعث وجود آسیب پذیری های مختلف می شود، زیرا با گذشت زمان و ارزان شدن قدرت محاسبات، این تکنیک های قدیمی آسیب پذیرتر شده اند.
به طور خاص ، TLS 1.2 به طور فزاینده ای در معرض حملات موسوم به “مرد میانی MITM” قرار می گیرد ، در این حمله هکر بسته هایی را در اواسط ارتباط رهگیری می کند و پس از خواندن یا تغییر آنها را ارسال می کند. همچنین برای حملات POODLE ، SLOTH و DROWN باز است. بسیاری از این مشکلات در دو سال گذشته بوجود آمده است و باعث افزایش احساس اضطرار برای به روزرسانی پروتکل می شود.
TLS 1.3
خوشبختانه کمک در راه است. نسخه ۱.۳ پروتکل TLS که در حال حاضر به صورت پیش نویس در آمده است اما به زودی نهایی می شود، با پشتیبانی از سیستم های رمزنگاری قدیمی ، بسیاری از این سوراخ ها را متصل می کند. اگر یک طرف قادر به استفاده از سیستم های رمزگذاری جدیدتر در لیست تایید شده ۱.۳ نباشد، سازگاری معکوس وجود دارد. با این حال، اگر به عنوان مثال، یک حمله مرد در میانه سعی در بازگشت مجدد به ۱.۲ داشته باشد تا بتواند بسته ها را رد کند، این امر شناسایی شده و اتصال قطع می شود.
هنوز سرورهایی وجود دارند که از نسخه های TLS حتی قدیمی تر از ۱.۲ استفاده می کنند – بعضی از آنها هنوز از پروتکل SSL اصلی استفاده می کنند.
TLS crimeware
آخرین یادداشت در مورد TLS و امنیت: افراد خوب تنها کسانی نیستند که از آن استفاده می کنند! بسیاری از مجرمان اینترنتی از TLS برای رمزگذاری ترافیک با فرمان و کنترل بین سرورها و بدافزارهای نصب شده در رایانه های قربانی خود استفاده می کنند. این کار در نهایت وضعیت معمول را معکوس می کند و قربانیان جرایم اینترنتی را به دنبال راهی برای رمزگشایی از ترافیک می گذارد. تعدادی از تکنیک ها برای مقابله با این نوع حمله رمزگذاری شده وجود دارد، از جمله استفاده از فراداده شبکه در مورد ترافیک رمزگذاری شده برای درک اینکه مهاجمان چه کاری انجام می دهند بدون اینکه واقعاً هیچ یک از آنها را بخوانند.
مطالب زیر را حتما بخوانید
-
اکتیو دایرکتوری (Active Directory) چیست و چگونه کار می کند؟
119 بازدید
-
بخش بندی شبکه (Network Segmentation) چیست؟
183 بازدید
-
۸ راه برای افزایش امنیت شبکه
2.66k بازدید
-
۲۰ اصطلاح مهم امنیت شبکه که باید بدانید
3.16k بازدید
-
SOC چیست؟ تکنولوژی، اهداف و ابزارهای مرکز عملیات امنیت
6.38k بازدید
-
فیشینگ (Phishing) چیست؟ بررسی و نحوه پیشگیری از آن چگونه است
2.55k بازدید
دیدگاهتان را بنویسید
برای نوشتن دیدگاه باید وارد بشوید.