امروزه اينترنت به يکي از ارکان ارتباطي بين افراد و سازمان ها تبديل شده است. بسياري از ما روزانه اطلاعاتي از اين طريق مي گيريم يا مي فرستيم. اين اطلاعات از نظر اهميت با هم تفاوت زيادي دارند. برخي از اين اطلاعات مانند اخبار يک سايت اهميت امنيتي چنداني ندارند، اما در طرف ديگر اسناد شخصي مثل ايميل ها، رمز حساب هاي بانکي و ... قرار دارند که دوست نداريم به دست ديگران بيافتند.
اطلاعاتي که در حالت عادي بين کاربران و دنياي اينترنت رد و بدل مي شوند، به گونه اي هستند که يک هکر يا خراب کار حرفه اي مي تواند آنها را ببيند و براي اهداف خود مورد سواستفاده قرار دهد. مثلا در يک خريد اينترنتي، زماني که قصد داريد براي پرداخت به حساب بانکي خود وارد شويد، سايت از شما رمزعبور مي خواهد. حال اگر سايت مورد نظر فاقد برنامه هاي امنيتي لازم باشد، ممکن است اطلاعات شما در ميانه راه بدون آنکه متوجه شويد، دزديده شوند و اگر بد شانس باشيد چند روز بعد که به حساب تان سر مي زنيد آن را خالي شده مي يابيد.
اما احتمال اين اتفاق بسيار اندک است، زيرا اکثر حساب هاي بانکي و سايت هايي از اين قبيل که با اطلاعات حساس و مهم در ارتباط اند، معمولا از روش هايي براي رمزگذاري (Encrypt) اطلاعات استفاده مي کنند. در اين حالت اگر اطلاعات در ميان راه دزديده شوند جاي نگراني نخواهد بود، زيرا شکستن رمز آنها تقريبا غيرممکن است.
اطلاعات معمولاً کي و کجا دزديده مي شوند؟
زماني که آدرس يک سايت را در مرورگر وارد مي کنيم اطلاعات بين کامپيوتر ما و کامپيوتري که سايت روي آن قرار دارد (سرور) در حال رد و بدل هستند. پس اگر بتوانيم به طريقي ارتباط بين کامپيوتر خود و کامپيوتر سرور را امن کنيم اطلاعات ما دزديده نخواهند شد.
اطلاعات در اينترنت چگونه جابجا مي شوند؟
اطلاعات در اينترنت - درست مثل فرستادن يک نامه- به صورت فايل هاي متني جابجا مي شوند. همان طور که يک نامه از زماني که در صندوق پست گذاشته مي شود تا زماني که به صاحبش مي رسد در دست افراد مختلفي قرار مي گيرد، به همان صورت نيز اطلاعات ما توسط سيستم هاي زيادي دست به دست مي شود تا به سايت يا شخص مورد نظر مي رسد. اگر اطلاعات به صورت عادي فرستاده شوند، هر کدام از سيستم هاي بين راه مي توانند آنها را ببينند. پس براي جلوگيري از خوانده شدن و سرقت احتمالي، بايد آنها را رمزگذاري کرد. با يک مثال مسئله را روشن تر مي کنم. فرض کنيد مي خواهيد براي نامزد خود يک نامه بنويسيد. اما دوست نداريد افراد خانواده او بتوانند آن نامه را بخوانند. يکي از راه ها اين است که نوشته ها را به رمز بنويسيد، رمزي که فقط نامزدتان از آن سر در بياورد! در اينترنت هم براي اينکه هکرها نتوانند اطلاعات را بفهمند، آنها را به رمز در مي آورند. يکي از بهترين و متداول ترين روشهاي رمز گذاري اينترنتي، استفاده از پروتکل اس ال ال است.
اس اس ال چيست؟
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 خريداري و در اختيار بازديدکنندگان خود بگذاريد.
چگونه مي توان مطمئن شد، يک سايت از اس اس ال استفاده مي کند؟
اين بخش بسيار ساده اما مهم و حياتي است. براي اين کار ابتدا وارد آن سايت شويد. زماني که صفحه به طور کامل بارگذاري (load) شد، به ابتداي آدرس آن نگاه کنيد. مي بايست به جاي http حروف https نوشته شده باشد (منظور از حرف s در پايان http عبارت secure است). البته در اين حالت يک علامت قفل هم در مرورگر ديده مي شود. جاي اين قفل در مرورگرهاي مختلف متفاوت است. در فايرفاکس و اينترنت اکسپلورر در پايين و سمت راست صفحه، در نوار وضعيت (status bar) و در مرورگرهاي سافاري، کروم و اپرا در سمت راست آدرس ديده مي شود.
نکته جالب در خصوص اين قفل کوچک اين است که با دو بار کليک کردن بر روي آن، ميتوانيد مشخصات کامل گواهي اس اس ال سايت مورد نظر را ببينيد. مهمترين نکته در خصوص اين اطلاعات تاريخ خريد و انقضاي اين گواهينامه است که بايد به آن توجه داشته باشيد.
حتي اگر اطلاعات چندان مهمي را رد و بدل نمي کنيد، پيشنهاد مي کنيم که از اس اس ال استفاده کنيد. وقتي سرويسي با امنيت بالا و رايگان در اختيارتان قرار مي گيرد، چرا از آن بهره نبريد؟ در زير چند نمونه از روش هاي استفاده از اين پروتکل را مي توانيد مطالعه کنيد.