SSL مخفف Secure Socket Layer به معنی «لایه اتصال امن» و پروتکلی (مجموعهای از قوانین) جهت برقراری ارتباطات ایمن میان سرویس دهنده و سرویس گیرنده در اینترنت است.
امروزه اینترنت به یکی از ارکان ارتباطی بین افراد و سازمانها تبدیل شده است. بسیاری از ما روزانه اطلاعاتی از این طریق میگیریم یا میفرستیم. این اطلاعات از نظر اهمیت با هم تفاوت زیادی دارند. برخی از این اطلاعات مانند اخبار یک سایت اهمیت امنیتی چندانی ندارند، اما در طرف دیگر اسناد شخصی مثل ایمیل ها، رمز حسابهای بانکی و ... قرار دارند که دوست نداریم به دست دیگران بیافتند.
اطلاعاتی که در حالت عادی بین کاربران و دنیای اینترنت رد و بدل میشوند، به گونهای هستند که یک هکر یا خراب کار حرفهای میتواند آنها را ببیند و برای اهداف خود مورد سواستفاده قرار دهد. مثلا در یک خرید اینترنتی، زمانی که قصد دارید برای پرداخت به حساب بانکی خود وارد شوید، سایت از شما رمزعبور میخواهد. حال اگر سایت مورد نظر فاقد برنامههای امنیتی لازم باشد، ممکن است اطلاعات شما در میانه راه بدون آنکه متوجه شوید، دزدیده شوند و اگر بد شانس باشید چند روز بعد که به حساب تان سر میزنید آن را خالی شده مییابید.
اما احتمال این اتفاق بسیار اندک است، زیرا اکثر حسابهای بانکی و سایتهایی از این قبیل که با اطلاعات حساس و مهم در ارتباط اند، معمولا از روشهایی برای رمزگذاری (Encrypt) اطلاعات استفاده میکنند. در این حالت اگر اطلاعات در میان راه دزدیده شوند جای نگرانی نخواهد بود، زیرا شکستن رمز آنها تقریبا غیرممکن است.
اطلاعات معمولاً کی و کجا دزدیده میشوند؟
زمانی که آدرس یک سایت را در مرورگر وارد میکنیم اطلاعات بین کامپیوتر ما و کامپیوتری که سایت روی آن قرار دارد (سرور) در حال رد و بدل هستند. پس اگر بتوانیم به طریقی ارتباط بین کامپیوتر خود و کامپیوتر سرور را امن کنیم اطلاعات ما دزدیده نخواهند شد.
اطلاعات در اینترنت چگونه جابجا میشوند؟
اطلاعات در اینترنت - درست مثل فرستادن یک نامه- به صورت فایلهای متنی جابجا میشوند. همان طور که یک نامه از زمانی که در صندوق پست گذاشته میشود تا زمانی که به صاحبش میرسد در دست افراد مختلفی قرار میگیرد، به همان صورت نیز اطلاعات ما توسط سیستمهای زیادی دست به دست میشود تا به سایت یا شخص مورد نظر میرسد. اگر اطلاعات به صورت عادی فرستاده شوند، هر کدام از سیستمهای بین راه میتوانند آنها را ببینند. پس برای جلوگیری از خوانده شدن و سرقت احتمالی، باید آنها را رمزگذاری کرد. با یک مثال مسئله را روشنتر میکنم. فرض کنید میخواهید برای نامزد خود یک نامه بنویسید. اما دوست ندارید افراد خانواده او بتوانند آن نامه را بخوانند. یکی از راهها این است که نوشتهها را به رمز بنویسید، رمزی که فقط نامزدتان از آن سر در بیاورد! در اینترنت هم برای اینکه هکرها نتوانند اطلاعات را بفهمند، آنها را به رمز در میآورند. یکی از بهترین و متداولترین روشهای رمز گذاری اینترنتی، استفاده از پروتکل اس ال ال است.
اس اس ال چیست؟
از این پروتکل برای امن کردن پروتکلهای غیرامن نظیر HTTP، LDAP، IMAP و ... استفاده میشود. بر این اساس یکسری الگوریتمهای رمزنگاری بر روی دادههای خام که قرار است از یک کانال ارتباطی غیرامن مثل اینترنت عبور کنند، اعمال میشود و محرمانه ماندن دادهها را در طول انتقال تضمین میکند.
ssl به بیان دیگر شرکتی که صلاحیت صدور و اعطاء گواهیهای دیجیتال اس اس ال را دارد، برای هر کدام از دو طرفی که قرار است ارتباطات میان شبکهای امن داشته باشند، گواهیهای مخصوص سرویس دهنده و سرویس گیرنده را صادر میکند و با مکانیزمهای احراز هویت خاص خود، هویت هر کدام از طرفین را برای طرف مقابل تأیید میکند. البته علاوه بر این تضمین میکند، اگر اطلاعات حین انتقال به سرقت رفت، برای رباینده قابل درک و استفاده نباشد که این کار را به کمک الگوریتمهای رمزنگاری و کلیدهای رمزنگاری نامتقارن و متقارن انجام میدهد.
ملزومات ارتباط بر پایه اس اس ال
برای داشتن ارتباطات امن مبتنی بر اس اس ال عموماً به دو نوع گواهی دیجیتال اس اس ال، یکی برای سرویس دهنده و دیگری برای سرویس گیرنده و یک مرکز صدور و اعطای گواهینامه دیجیتال (Certificate authorities) نیاز است. وظیفه CA این است که هویت طرفین ارتباط، نشانی ها، حسابهای بانکی و تاریخ انقضای گواهینامه را بداند و براساس آنها هویتها را تعیین نماید.
رمزنگاری
رمزنگاری (Cryptography) علم به رمز در آوردن (encryption) اطلاعات است. توضیح روشهای بسیار پیچیدهای که امروزه برای رمزنگاری استفاده میشود از حوصله این مطلب خارج است، اما برای رفع ابهام، در زیر به یکی از سادهترین روشهای رمزنگاری میپردازیم:
میدانیم که هر حرف در الفبا جایگاهی دارد. مثلا حرف «الف قبل از ب» و «حرف م. قبل از ن» قرار دارد.
حال، اگر بخواهید یک جمله را به رمز در آورید. در سادهترین شکل ممکن، هر حرف را با حرف بعدی خود در الفبا جایگزین میکنید.
یعنی به جای «الف» حرف «ب»، به جای «ب» حرف «پ»، ...، به جای «ه» حرف «ی» و به جای حرف «ی» حرف «الف» را میگذارید.
با این کار میتوان جمله «بابا آب داد» را به جمله بی معنی «پبپب بپ ذبذ» تبدیل کرد که اگر فردی کلید رمز را نداشته باشد، به هیچ وجه از آن سر در نمیآورد.
اس اس ال چگونه کار میکند؟
اس اس ال در واقع پروتکلی است که در آن ارتباطات بوسیله یک کلید، رمزگذاری (Encryption) میشوند. زمانی که قرار است یکسری اطلاعات را به صورت اس اس ال به یک سایت که سرور (server) اش گواهی نامه اس اس ال را دارد (در آدرس سایت https است) ارسال شود. ابتدا باید از یک کلید به عنوان قالبی برای به رمز در آوردن اطلاعات بین خدمات گیرنده (کاربر) و خدمات دهنده (سرور) استفاده شود. برای ساخت این کلید نیاز به چند مرحله هماهنگی به شرح زیر است.
۱. وقتی سروری بخواهد پروتکل اس اس ال را فعال کند. ابتدا یک کلید عمومی (Public Key) میسازد.
۲. سپس کلید عمومی را همراه با یک درخواست گواهی نامه اس اس ال به یکی از صادرکنندگان این گواهی نامهها مثل وریساین (Verisign) میفرستد.
۳. وریساین نیز ابتدا مشخصات و میزان قابل اعتماد بودن و امنیت سرور را ارزیابی کرده و کلید عمومی را دوباره رمزگذاری میکند و برای سرور میفرستد تا در انتقال اطلاعات خود از آن استفاده کند. به کلید جدید کلید امنیتی (private key) میگویند.
۴. حال هر زمان که کاربر بخواهد از طریق پروتکل اس اس ال به این سایت دست یابد، ابتدا کامپیوتر کاربر یک کلید عمومی برای سرور میفرستد (هر کامپیوتری کلید مخصوص به خود را دارد).
۵. سرور نیز این کلید عمومی را با کلید امنیتی خود مخلوط کرده و از آن کلید جدیدی میسازد. سپس آن را به کامپیوتر کاربر میفرستد.
۶. از این به بعد تمامی اطلاعاتی که بین کاربر و سرور جابجا میشوند با این کلید جدید رمز گذاری میشوند.
واضح است که نیازی به دانستن تمام این جزییات نیست و ما جهت رفع کنجکاوی آنها را آورده ایم. فقط این را بدانید که با استفاده از این سرویس اطلاعات کاملا رمزنگاری و باز کردن آنها تقریبا غیر ممکن است. تنها وظیفه شما به عنوان کاربر این است که از این امکانات استفاده کنید و پروتکل اس اس ال را در مرورگر، ایمیل و دیگر حسابهای خود که سرور آن به شما این امکان را میدهد، فعال کنید.
اگر هم یک مدیر سرور هستید، سعی کنید گواهی نامه پروتکل اس اس ال را از صادرکنندگان آن مثل Verisign و Thawte خریداری و در اختیار بازدیدکنندگان خود بگذارید.
چگونه میتوان مطمئن شد، یک سایت از اس اس ال استفاده میکند؟
این بخش بسیار ساده، اما مهم و حیاتی است. برای این کار ابتدا وارد آن سایت شوید. زمانی که صفحه به طور کامل بارگذاری (load) شد، به ابتدای آدرس آن نگاه کنید. میبایست به جای http حروف https نوشته شده باشد (منظور از حرف s. در پایان http عبارت secure است). البته در این حالت یک علامت قفل هم در مرورگر دیده میشود. جای این قفل در مرورگرهای مختلف متفاوت است. در فایرفاکس و اینترنت اکسپلورر در پایین و سمت راست صفحه، در نوار وضعیت (status bar) و در مرورگرهای سافاری، کروم و اپرا در سمت راست آدرس دیده میشود.
نکته جالب در خصوص این قفل کوچک این است که با دو بار کلیک کردن بر روی آن، میتوانید مشخصات کامل گواهی اس اس ال سایت مورد نظر را ببینید. مهمترین نکته در خصوص این اطلاعات تاریخ خرید و انقضای این گواهینامه است که باید به آن توجه داشته باشید.
حتی اگر اطلاعات چندان مهمی را رد و بدل نمیکنید، پیشنهاد میکنیم که از اس اس ال استفاده کنید. وقتی سرویسی با امنیت بالا و رایگان در اختیارتان قرار میگیرد، چرا از آن بهره نبرید؟ در زیر چند نمونه از روشهای استفاده از این پروتکل را میتوانید مطالعه کنید.
مرورگر
در فایرفاکس ۳ پروتکل اس اس ال به صورت پیش فرض فعال است. البته برای فعال و غیر فعال کردن این امکان میتوانید به روش زیر اقدام کنید:
از منوی Tools فایرفاکس، گزینه Options را انتخاب کنید. در پنجره باز شده از سربرگ Advanced بخش Encryption را باز کنید. میبینید که به صورت پیش فرض Use SSL ۳.۰ تیک خورده است.
Firefox > Tools > Options > Advanced > Encryption
چگونه اس اس ال ایمیل را فعال کنیم؟
اگر خواهان ارتباط ایمیلی امنی هستید، توصیه میکنیم از ایمیل شرکت گوگل که به اختصار جیمیل نامیده میشود، استفاده کنید. در پایین اطلاعات لازم برای فعال کردن پروتکل اس اس ال در جیمیل آورده شده است.
• به جیمیل خود وارد شوید و در کادر بالا در سمت راست دکمه Setting را پیدا کنید (در سمت چپ کلمه Setting، نام جیمیل شما و در سمت راست آن کلمه Help نوشته شده است.). روی Setting کلیک کنید.
• در پنجمین کادر تب General، عبارت Browser connection را پیدا کرده و روی عبارت Always use https کلیک کنید تا انتخاب شود
• به پایین صفحه بیاید و دکمه Save Changes را بزنید.
• حال تمامی ایمیلهای شما طبق پروتکل اس اس ال منتقل میشوند.
حسابهای بانکی
در ایران همه بانکهای ارائه دهنده خدمات بانکداری الکترونیک، از پروتکل اس اس ال استفاده میکنند. گفتیم که برای اطمینان از این موضوع کافی است در صفحات خدمات اینترنتی بانک خود که اطلاعات مهم (مثل حساب کاربری یا رمز ورود) را درج و ارسال میکنید، به آدرس نگاه کنید. باید https در ابتدای آدرس وجود داشته باشد. علاوه براین توصیه میشود با مراجعه به بانک تان، نحوه استفاده امن از خدمات اینترنتی شان را سؤال کنید.
در اینجا نگاهی اجمالی به وضعیت پروتکل اس اس ال در بانکها ایران میاندازیم.
بانکهای صادرات، ملی، ملت، تجارت، اقتصاد نوین، سامان، پارسیان، کشاورزی، صنعت و معدن، توسعه صادرات، پاسارگاد، سرمایه و پست بانک در سیستم خدمات اینترنتی خود از پروتکل اس اس ال استفاده میکنند.
البته بانکداری الکترونیک در ایران چندان هم امن نیست، برای مثال هنگام تألیف این مطلب ما در استفاده از سیستم بانک داری الکترونیک بانکهای سپه و مسکن با SSLهای منقضی شده روبرو شدیم.
لازم به ذکر است که هدف ما از بردن نام بانکها فقط کمک به اگاهی و افزایش امنیت خوانندگان گرامی است. تا توجه بیشتری به امنیت ارتباطات خود داشته باشند.
به طور خلاصه همیشه به این موضوع توجه داشته باشید که ارتباطات شما در اینترنت توسط هکرها و کلاهبرداران قابل خواندن و سرقت است. مگر اینکه به صورت امن و رمزنگاری شده منتقل شوند.
بسیار مهم و حیاتی است که هنگام اتصال به سرویسهای مهم مانند حسابهای بانکی، ایمیل و اکانتهای مهم تان از SSL استفاده کنید. بنابرای همیشه به ابتدای آدرس این سایتها نگاه کنید و دقت کنید که روی حالت https باشند. در غیر این صورت شما نمیتوانید از امنیت ارتباطات خود اطمینان داشته باشید.