گواهینامه SSL چیست

اگر در محیط اینترنت رفت و آمد داشته باشید حتما خبرهای متوالی جعل گواهی امنیتی سرویس‌هایی مانند Gmail را بارها شنیده‌اید. هشدارهای پی در پی و اخبار متفاوت از جعل گواهی امنیتی وبسایت‌هایی مانند گوگل، مایکروسافت، یاهو و … .

اما چگونه می‌توان این گواهی‌های امنیتی را جعل کرد؟ در این مقاله قصد دارم با زبانی ساده و روان به بررسی روند جعل این گواهی‌های امنیتی پرداخته و شما را با نحوه‌ی دستیابی به اطلاعات‌تان آشنا کنم.

وقتی شما برای جستجو در اینترنت وارد سایتی مثل گوگل می‌شوید و عبارت مورد نظر را در فیلد جستجو وارد کرده و کلید جستجو را می‌زنید، این عبارت توسط کامپیوتر شما به سرور گوگل فرستاده شده و نتایج حاصل از جستجو برای شما نمایش داده خواهد شد. اما این کار چگونه انجام می‌شود؟
1. ابتدا شما وارد سایت گوگل می‌شوید.
2. عبارت مورد نظر را در کادر جستجو وارد کرده و دکمه جستجو را می‌زنید.
3. این عبارت ابتدا به سرور ISP یا مرکزی که شما از آن سرویس می‌گیرید فرستاده می‌شود.
4. سپس از آنجا به سرور مرکز اصلی که در بیشتر مواقع در مراکز استانها دایر است فرستاده می‌شود.
5. سپس از شبکه کل کشور خارج می‌شود و تازه به دست آن طرفی‌ها می‌رسد که دیگر با مراحل آنجا کاری نداریم و تا همین‌جا برای توضیح کار بس است!
6. سپس سرور گوگل درخواست شما را پاسخ داده و از همین مسیر دوباره اطلاعات جدید به دست شما می‌رسد.
حالا تصور کنید یک نفر در این میان اطلاعات شما را رصد کند. یعنی شخص سومی در بین مسیر قرار گرفته و اطلاعات شما را قبل از رسیدن به سرور بعدی و در بین راه سرقت نماید. چه اتفاقی می‌افتد؟ قطعا عبارت مورد جستجو نمی‌تواند هیچگونه خطر امنیتی داشته باشد اما اگر این عبارت کلمه‌ی عبور حساب بانکی شما باشد چطور؟ اگر کلمه عبور ایمیل شما باشد چطور؟ اینجاست که امنیت اطلاعات معنی پیدا می‌کند.

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

به زبان ساده وقتی شما درخواست یک صفحه‌ی ایمن (معمولا با https) می‌کنید، سرور یک کلید عمومی (Public Key) ساخته و به همراه یک درخواست گواهینامه SSL که تمامی اطلاعات شرکت درخواست کننده در آن قرار دارد به سرویس‌دهنده‌ی خدمات SSL می‌فرستد. سرویس دهنده خدمات SSL با استفاده از الگوریتم‌های پیشرفته اقدام به رمزگذاری کلید عمومی کرده و پس از رمزگذاری آن، کلید جدیدی ساخته و آن را به سرور بازمی‌گرداند (که به این کلید جدید، کلید خصوصی یا Private Key گفته می‌شود). در مبحث امنیت شبکه، مهم‌ترین قسمت در سرویس‌دهی SSL حفظ و نگهداری همین کلید خصوصی است و در صورتی که بتوان به کلید خصوصی دسترسی پیدا کرد یعنی می‌توان اطلاعات را خواند. کلید عمومی را هر کسی می‌تواند مشاهده کند اما کلید خصوصی را نه!

پس از دریافت کلید خصوصی، ارتباط امن شما با سرور برقرار شده و می‌توانید با خیالی تقریبا راحت در وبسایت به گشت و گذار بپردازید!

SSL چگونه امنیت داده‌ها را تضمین می‌کند؟

پروتکل SSL اطلاعاتی که قرار است تبادل شود را با الگوریتم‌های پیچیده‌ای رمزنگاری می‌کند تا اگر در بین راه شخص سومی این اطلاعات را به سرقت برد نتواند آن را بخواند. این اطلاعات فقط و فقط به وسیله کدهای Private Key قابل خواندن هستند و در صورتی که این کدها در دسترس دیگری قرار بگیرد به راحتی می‌تواند اطلاعات شما را شنود کند. یک شرکت سرویس‌دهنده‌ی SSL نیز همیشه به دنبال این است که کسی نتواند به کلید خصوصی دسترسی داشته باشد.

آیا SSL قابل اعتماد است؟

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

SSL یک پروتکل امنیتی با الگوریتم‌های رمزنگاری پیشرفته است که تبادل اطلاعات بین سیستم کاربر و سرور را کنترل کرده و با رمزنگاری داده‌ها کاری می‌کند که اطلاعات در بین مسیر برای شخص سومی قابل خواندن نباشند. یا به اصطلاح، اطلاعات را در یک تونل امنیتی رد و بدل می‌کند. این پروتکل برای اولین بار در مرورگرNetscape برای انتقال امن داده‌ها میان مرورگر و سرور ایجاد گردید و امروزه به یکی از اصلی‌ترین راه‌های تامین امنیت وبسایت‌ها تبدیل شده است که هم‌اکنون میلیون‌ها وبسایت از این پروتکل استفاده می‌کنند.