امروزه اینترنت به یکی از ارکان ارتباطی بین افراد و سازمان ها تبدیل شده است. بسیاری از ما روزانه اطلاعاتی از این طریق می گیریم یا می فرستیم. این اطلاعات از نظر اهمیت با هم تفاوت زیادی دارند. برخی از این اطلاعات مانند اخبار یک سایت اهمیت امنیتی چندانی ندارند، اما در طرف دیگر اسناد شخصی مثل ایمیل ها، رمز حساب های بانکی و ... قرار دارند که دوست نداریم به دست دیگران بیافتند.

اطلاعات معمولاً کی و کجا دزدیده می شوند؟
زمانی که آدرس یک سایت را در مرورگر وارد می کنیم اطلاعات بین کامپیوتر ما و کامپیوتری که سایت روی آن قرار دارد (سرور) در حال رد و بدل هستند. پس اگر بتوانیم به طریقی ارتباط بین کامپیوتر خود و کامپیوتر سرور را امن کنیم اطلاعات ما دزدیده نخواهند شد.
اطلاعات در اینترنت چگونه جابجا می شوند؟
اطلاعات در اینترنت - درست مثل فرستادن یک نامه- به صورت فایل های متنی جابجا می شوند. همان طور که یک نامه از زمانی که در صندوق پست گذاشته می شود تا زمانی که به صاحبش می رسد در دست افراد مختلفی قرار می گیرد، به همان صورت نیز اطلاعات ما توسط سیستم های زیادی دست به دست می شود تا به سایت یا شخص مورد نظر می رسد. اگر اطلاعات به صورت عادی فرستاده شوند، هر کدام از سیستم های بین راه می توانند آنها را ببینند. پس برای جلوگیری از خوانده شدن و سرقت احتمالی، باید آنها را رمزگذاری کرد. با یک مثال مسئله را روشن تر می کنم. فرض کنید می خواهید برای نامزد خود یک نامه بنویسید. اما دوست ندارید افراد خانواده او بتوانند آن نامه را بخوانند. یکی از راه ها این است که نوشته ها را به رمز بنویسید، رمزی که فقط نامزدتان از آن سر در بیاورد! در اینترنت هم برای اینکه هکرها نتوانند اطلاعات را بفهمند، آنها را به رمز در می آورند. یکی از بهترین و متداول ترین روشهای رمز گذاری اینترنتی، استفاده از پروتکل اس ال ال است.
اس اس ال چیست؟
SSL مخفف کلمه Secure Socket Layer به معنی «لایه اتصال امن» و پروتکلی(مجموعه ای از قوانین) جهت برقراری ارتباطات ایمن میان سرویس دهنده و سرویس گیرنده در اینترنت است که توسط شرکت Netscape ابداع شده. از این پروتکل برای امن کردن پروتکل های غیرامن نظیرHTTP ،LDAP ، IMAP و ... استفاده می شود. بر این اساس یکسری الگوریتم های رمزنگاری بر روی داده های خام که قرار است از یک کانال ارتباطی غیرامن مثل اینترنت عبور کنند، اعمال میشود و محرمانه ماندن دادهها را در طول انتقال تضمین میکند. به بیان دیگر شرکتی که صلاحیت صدور و اعطاء گواهی های دیجیتال اس اس ال را دارد، برای هر کدام از دو طرفی که قرار است ارتباطات میان شبکهای امن داشته باشند، گواهیهای مخصوص سرویس دهنده و سرویس گیرنده را صادر میکند و با مکانیزم های احراز هویت خاص خود، هویت هر کدام از طرفین را برای طرف مقابل تأیید میکند. البته علاوه بر این تضمین می کند، اگر اطلاعات حین انتقال به سرقت رفت، برای رباینده قابل درک و استفاده نباشد که این کار را به کمک الگوریتم های رمزنگاری و کلیدهای رمزنگاری نامتقارن و متقارن انجام میدهد.
ملزومات ارتباط بر پایه اس اس ال
برای داشتن ارتباطات امن مبتنی بر اس اس ال عموماً به دو نوع گواهی دیجیتال اس اس ال، یکی برای سرویس دهنده و دیگری برای سرویس گیرنده و یک مرکز صدور و اعطای گواهینامه دیجیتال(Certificate authorities) نیاز است. وظیفه CA این است که هویت طرفین ارتباط، نشانی ها، حساب های بانکی و تاریخ انقضای گواهینامه را بداند و براساس آن ها هویت ها را تعیین نماید.
رمزنگاری
رمزنگاری (Cryptography) علم به رمز در آوردن (encryption) اطلاعات است. توضیح روش های بسیار پیچیده ای که امروزه برای رمزنگاری استفاده می شود از حوصله این مطلب خارج است، اما برای رفع ابهام، در زیر به یکی از ساده ترین روش های رمزنگاری می پردازیم: می دانیم که هر حرف در الفبا جایگاهی دارد. مثلا حرف «الف قبل از ب» و «حرف م قبل از ن» قرار دارد. حال، اگر بخواهید یک جمله را به رمز در آورید. در ساده ترین شکل ممکن، هر حرف را با حرف بعدی خود در الفبا جایگزین می کنید. یعنی به جای «الف» حرف «ب»، به جای «ب» حرف «پ»، ... ، به جای «ه» حرف «ی» و به جای حرف «ی» حرف «الف» را می گذارید. با این کار می توان جمله «بابا آب داد» را به جمله بی معنی «پبپب بپ ذبذ» تبدیل کرد که اگر فردی کلید رمز را نداشته باشد، به هیچ وجه از آن سر در نمی آورد.
اس اس ال چگونه کار می کند؟
اس اس ال در واقع پروتکلی است که در آن ارتباطات بوسیله یک کلید، رمزگذاری(Encryption) می شوند. زمانی که قرار است یکسری اطلاعات را به صورت اس اس ال به یک سایت که سرور (server) اش گواهی نامه اس اس ال را دارد (در آدرس سایت https است) ارسال شود. ابتدا باید از یک کلید به عنوان قالبی برای به رمز در آوردن اطلاعات بین خدمات گیرنده (کاربر) و خدمات دهنده (سرور) استفاده شود. برای ساخت این کلید نیاز به چند مرحله هماهنگی به شرح زیر است.
1. وقتی سروری بخواهد پروتکل اس اس ال را فعال کند. ابتدا یک کلید عمومی (Public Key) می سازد.
2. سپس کلید عمومی را همراه با یک درخواست گواهی نامه اس اس ال به یکی از صادرکنندگان این گواهی نامه ها مثل وریساین (Verisign) می فرستد.
3. وریساین نیز ابتدا مشخصات و میزان قابل اعتماد بودن و امنیت سرور را ارزیابی کرده و کلید عمومی را دوباره رمزگذاری می کند و برای سرور می فرستد تا در انتقال اطلاعات خود از آن استفاده کند. به کلید جدید کلید امنیتی (private key) می گویند.
4. حال هر زمان که کاربر بخواهد از طریق پروتکل اس اس ال به این سایت دست یابد، ابتدا کامپیوتر کاربر یک کلید عمومی برای سرور می فرستد (هر کامپیوتری کلید مخصوص به خود را دارد).
5. سرور نیز این کلید عمومی را با کلید امنیتی خود مخلوط کرده و از آن کلید جدیدی می سازد. سپس آن را به کامپیوتر کاربر می فرستد.
6. از این به بعد تمامی اطلاعاتی که بین کاربر و سرور جابجا می شوند با این کلید جدید رمز گذاری می شوند. واضح است که نیازی به دانستن تمام این جزییات نیست و ما جهت رفع کنجکاوی آنها را آورده ایم. فقط این را بدانید که با استفاده از این سرویس اطلاعات کاملا رمزنگاری و باز کردن آنها تقریبا غیر ممکن است. تنها وظیفه شما به عنوان کاربر این است که از این امکانات استفاده کنید و پروتکل اس اس ال را در مرورگر، ایمیل و دیگر حساب های خود که سرور آن به شما این امکان را می دهد، فعال کنید. اگر هم یک مدیر سرور هستید، سعی کنید گواهی نامه پروتکل اس اس ال را از صادرکنندگان آن مثل Verisign و Thawte خریداری و در اختیار بازدیدکنندگان خود بگذارید.

برچسب:
نویسنده: محمد رضا جوادیان