امروزه اينترنت به يکي از ارکان ارتباطي بين افراد و سازمان ها تبديل شده است. بسياري از ما روزانه اطلاعاتي از اين طريق مي گيريم يا مي فرستيم. اين اطلاعات از نظر اهميت با هم تفاوت زيادي دارند. برخي از اين اطلاعات مانند اخبار يک سايت اهميت امنيتي چنداني ندارند، اما در طرف ديگر اسناد شخصي مثل ايميل ها، رمز حساب هاي بانکي و ... قرار دارند که دوست نداريم به دست ديگران بيافتند.
اطلاعاتي که در حالت عادي بين کاربران و دنياي اينترنت رد و بدل مي شوند، به گونه اي هستند که يک هکر يا خراب کار حرفه اي مي تواند آنها را ببيند و براي اهداف خود مورد سواستفاده قرار دهد. مثلا در يک خريد اينترنتي، زماني که قصد داريد براي پرداخت به حساب بانکي خود وارد شويد، سايت از شما رمزعبور مي خواهد. حال اگر سايت مورد نظر فاقد برنامه هاي امنيتي لازم باشد، ممکن است اطلاعات شما در ميانه راه بدون آنکه متوجه شويد، دزديده شوند و اگر بد شانس باشيد چند روز بعد که به حساب تان سر مي زنيد آن را خالي شده مي يابيد. البته زياد نگران نباشيد چون احتمال اين اتفاق بسيار اندک است، زيرا اکثر حساب هاي بانکي و سايت هايي از اين قبيل که با اطلاعات حساس و مهم در ارتباط اند، معمولا از روش هايي براي رمزگذاري (Encrypt) اطلاعات استفاده مي کنند. در اين حالت اگر اطلاعات در ميان راه دزديده شوند جاي نگراني نخواهد بود، زيرا شکستن رمز آنها تقريبا غيرممکن است.
اطلاعات معمولاً کي و کجا دزديده مي شوند؟
زماني که آدرس يک سايت را در مرورگر وارد مي کنيم اطلاعات بين کامپيوتر ما و کامپيوتري که سايت روي آن قرار دارد (سرور) در حال رد و بدل هستند. پس اگر بتوانيم به طريقي ارتباط بين کامپيوتر خود و کامپيوتر سرور را امن کنيم اطلاعات ما دزديده نخواهند شد.
اطلاعات در اينترنت چگونه جابجا مي شوند؟
اطلاعات در اينترنت - درست مثل فرستادن يک نامه- به صورت فايل هاي متني جابجا مي شوند. همان طور که يک نامه از زماني که در صندوق پست گذاشته مي شود تا زماني که به صاحبش مي رسد در دست افراد مختلفي قرار مي گيرد، به همان صورت نيز اطلاعات ما توسط سيستم هاي زيادي دست به دست مي شود تا به سايت يا شخص مورد نظر مي رسد. اگر اطلاعات به صورت عادي فرستاده شوند، هر کدام از سيستم هاي بين راه مي توانند آنها را ببينند. پس براي جلوگيري از خوانده شدن و سرقت احتمالي، بايد آنها را رمزگذاري کرد. يکي از راه ها اين است که نوشته ها را به رمز بنويسيد، در اينترنت هم براي اينکه هکرها نتوانند اطلاعات را بفهمند، آنها را به رمز در مي آورند. يکي از بهترين و متداول ترين روشهاي رمز گذاري اينترنتي، استفاده از پروتکل SSL است.
SSL چيست؟
SSL مخفف کلمه Layer Secure Socket به معني «لايه اتصال امن» و پروتکلي(مجموعه اي از قوانين) جهت برقراري ارتباطات ايمن ميان سرويس دهنده و سرويس گيرنده در اينترنت است و در واقعSSL عنوانی برای یك فناوری استاندارد و به ثبت رسیده برای ایجاد ارتباطات امن بین وب سرورها و مرورگرهای اینترنت است. استاندارد مذكور، یك استاندارد فنی بوده و در حال حاضر توسط میلیون ها وب سایت در سراسر دنیا مورد استفاده قرار می گیرد.
پروتكل SSL برای اولین بار توسط شركت Netscape به منظور انتقال اطلاعات به صورت امن بین دو نقطه در اینترنت تهیه شد و سپس توسط دیگر مرورگرها از جمله IE نیز مورد استفاده قرار گرفت. سپس پروتكل مذكور توسط شركت Internet Engineering Task Force(IETF) به عنوان استاندارد تعریف شده و به ثبت رسید.
از اين پروتکل براي امن کردن پروتکل هاي غيرامن نظيرHTTP ،LDAP ، IMAP و ... استفاده مي شود. بر اين اساس يکسري الگوريتم هاي رمزنگاري بر روي داده هاي خام که قرار است از يک کانال ارتباطي غيرامن مثل اينترنت عبور کنند، اعمال ميشود و محرمانه ماندن دادهها را در طول انتقال تضمين ميکند.
به بيان ديگر شرکتي که صلاحيت صدور و اعطاء گواهي هاي ديجيتال SSL را دارد، براي هر کدام از دو طرفي که قرار است ارتباطات ميان شبکهاي امن داشته باشند، گواهيهاي مخصوص سرويس دهنده و سرويس گيرنده را صادر ميکند و با مکانيزم هاي احراز هويت خاص خود، هويت هر کدام از طرفين را براي طرف مقابل تأييد ميکند. البته علاوه بر اين تضمين مي کند، گواهینامههای دیجیتال یك ارتباط امن را بر مبنای پروتكل SSL تضمین می كنند و این كار را اولاً از طریق رمزنگاری بسته های اطلاعاتی و ثانیاً از طریق تأیید هویت وب سایت و یا سرویس نرم افزاری دارای گواهینامه انجام میدهند.
همان طور كه در بالا گفته شد، رمزنگاری بسته های اطلاعاتی در هنگام تبادل آنها این امكان را به طرفین میدهد كه ارتباط خود را در بستری امن و به دور از مداخله شخص ثالث، به صورت رمز شده و غیر قابل خواندن برای دیگران برقرار سازند و از صحت اطلاعات رد و بدل شده اطمینان حاصل كنند. قابل ذكر است كه اطلاعاتی كه بدون وجود این پروتكل رد و بدل می شوند، به سادگی توسط افراد ثالث در گره های(Node) بین راه قابل رویت، تغییر و سوء استفاده هستند.
مورد دیگری كه گواهینامه های دیجیتال تضمین می كنند، تأیید هویت وبسایت و یا سرویس نرم افزاری است كه گواهینامه دیجیتال بر روی آن نصب گردیده است. به عبارت دیگر، كاربر وبسایتی كه دارای گواهینامه دیجیتال معتبر است می تواند از جعلی نبودن وبسایت مذكور و هویت حقیقی آن اطمینان حاصل كند و مطمئن باشد كه این وبسایت با توجه به گواهینامهی معتبری كه دارد، واقعآً همان است كه ادعا می نماید، نه یك وبسایت جعلی كه شبیه به وبسایت اصلی ایجاد شده و با روشهای متعددی كه برای انحراف مسیر و هك كردن وجود دارد كاربر را به سمت خود هدایت كرده است
رمزنگاري
رمزنگاري (Cryptography) علم به رمز در آوردن (encryption) اطلاعات است. توضيح روش هاي بسيار پيچيده اي که امروزه براي رمزنگاري استفاده مي شود از حوصله اين مطلب خارج است، اما براي رفع ابهام، در زير به يکي از ساده ترين روش هاي رمزنگاري مي پردازيم:
مي دانيم که هر حرف در الفبا جايگاهي دارد. مثلا حرف «الف قبل از ب» و «حرف م قبل از ن» قرار دارد.
حال، اگر بخواهيد يک جمله را به رمز در آوريد. در ساده ترين شکل ممکن، هر حرف را با حرف بعدي خود در الفبا جايگزين مي کنيد.
يعني به جاي «الف» حرف «ب»، به جاي «ب» حرف «پ»، ... ، به جاي «ه» حرف «ي» و به جاي حرف «ي» حرف «الف» را مي گذاريد.
با اين کار مي توان جمله «بابا آب داد» را به جمله بي معني «پبپب بپ ذبذ» تبديل کرد که اگر فردي کليد رمز را نداشته باشد، به هيچ وجه از آن سر در نمي آورد.
SSL چگونه کار مي کند؟
SSL در واقع پروتکلي است که در آن ارتباطات بوسيله يک کليد، رمزگذاري(Encryption) مي شوند. زماني که قرار است يکسري اطلاعات را به صورت SSL به يک سايت که سرور (server) اش گواهي نامه SSL را دارد (در آدرس سايت https است) ارسال شود. ابتدا بايد از يک کليد به عنوان قالبي براي به رمز در آوردن اطلاعات بين خدمات گيرنده (کاربر) و خدمات دهنده (سرور) استفاده شود. براي ساخت اين کليد نياز به چند مرحله هماهنگي به شرح زير است.
1. وقتي سروري بخواهد پروتکل SSL را فعال کند. ابتدا يک کليد عمومي (Public Key) مي سازد.
2. سپس کليد عمومي را همراه با يک درخواست گواهي نامه SSL به يکي از صادرکنندگان اين گواهي نامه ها مثل وريساين (Verisign) مي فرستد.
3. وريساين نيز ابتدا مشخصات و ميزان قابل اعتماد بودن و امنيت سرور را ارزيابي کرده و کليد عمومي را دوباره رمزگذاري مي کند و براي سرور مي فرستد تا در انتقال اطلاعات خود از آن استفاده کند. به کليد جديد کليد امنيتي (private key) مي گويند.
4. حال هر زمان که کاربر بخواهد از طريق پروتکل SSL به اين سايت دست يابد، ابتدا کامپيوتر کاربر يک کليد عمومي براي سرور مي فرستد (هر کامپيوتري کليد مخصوص به خود را دارد).
5. سرور نيز اين کليد عمومي را با کليد امنيتي خود مخلوط کرده و از آن کليد جديدي مي سازد. سپس آن را به کامپيوتر کاربر مي فرستد.
6. از اين به بعد تمامي اطلاعاتي که بين کاربر و سرور جابجا مي شوند با اين کليد جديد رمز گذاري مي شوند.
چگونه مي توان مطمئن شد، يک سايت از SSL استفاده مي کند؟
اين بخش بسيار ساده اما مهم و حياتي است. براي اين کار ابتدا وارد آن سايت شويد. زماني که صفحه به طور کامل بارگذاري (load) شد، به ابتداي آدرس آن نگاه کنيد. مي بايست به جاي http حروف https نوشته شده باشد (منظور از حرف s در پايان http عبارت secure است). البته در اين حالت يک علامت قفل هم در مرورگر ديده مي شود. جاي اين قفل در مرورگرهاي مختلف متفاوت است. در فايرفاکس و اينترنت اکسپلورر در پايين و سمت راست صفحه، در نوار وضعيت (status bar) و در مرورگرهاي سافاري، کروم و اپرا در سمت راست آدرس ديده مي شود.
نکته جالب در خصوص اين قفل کوچک اين است که با دو بار کليک کردن بر روي آن، ميتوانيد مشخصات کامل گواهي SSL سايت مورد نظر را ببينيد. مهمترين نکته در خصوص اين اطلاعات تاريخ خريد و انقضاي اين گواهينامه است که بايد به آن توجه داشته باشيد.
حتي اگر اطلاعات چندان مهمي را رد و بدل نمي کنيد، پيشنهاد مي کنيم که از SSL استفاده کنيد. وقتي سرويسي با امنيت بالا و رايگان در اختيارتان قرار مي گيرد، چرا از آن بهره نبريد؟ در زير چند نمونه از روش هاي استفاده از اين پروتکل را مي توانيد مطالعه کنيد.
ملزومات ارتباط بر پايه SSL
براي داشتن ارتباطات امن مبتني بر SSL عموماً به دو نوع گواهي ديجيتال SSL، يکي براي سرويس دهنده و ديگري براي سرويس گيرنده و يک مرکز صدور و اعطاي گواهينامه ديجيتال(Certificate authorities) نياز است. وظيفه CA اين است که هويت طرفين ارتباط، نشاني ها، حساب هاي بانکي و تاريخ انقضاي گواهينامه را بداند و براساس آن ها هويت ها را تعيين نمايد.
چگونه SSL مرورگر و ايميل خود را فعال کنيم؟
1-در فايرفاکس 3 پروتکل SSL به صورت پيش فرض فعال است. البته براي فعال و غير فعال کردن اين امکان ميتوانيد به روش زير اقدام کنيد:
از منوي Tools فايرفاکس، گزينه Options را انتخاب کنيد. در پنجره باز شده از سربرگ Advanced بخش Encryption را باز کنيد. مي بينيد که به صورت پيش فرض Use SSL 3.0 تيک خورده است.
Firefox > Tools > Options > Advanced > Encryption
2- اگر خواهان ارتباط ايميلي امني هستيد، توصيه مي کنيم از ايميل شرکت گوگل که به اختصار جيميل ناميده مي شود، استفاده کنيد. در پايين اطلاعات لازم براي فعال کردن پروتکل SSL در جيميل آورده شده است.
• به جيميل خود وارد شويد و در کادر بالا در سمت راست دکمه Setting را پيدا کنيد (در سمت چپ کلمه Setting، نام جيميل شما و در سمت راست آن کلمه Help نوشته شده است.). روي Setting کليک کنيد.
• در پنجمين کادر تب General، عبارت Browser connection را پيدا کرده و روي عبارت Always use https کليک کنيد تا انتخاب شود
• به پايين صفحه بيايد و دکمه Save Changes را بزنيد.
• حال تمامي ايميل هاي شما طبق پروتکل SSL منتقل مي شوند.
حساب هاي بانکي
در ايران همه بانک هاي ارائه دهنده خدمات بانکداري الکترونيک، از پروتکل SSL استفاده مي کنند. براي اطمينان از اين موضوع کافي است در صفحات خدمات اينترنتي بانک خود که اطلاعات مهم (مثل حساب کاربري يا رمز ورود) را درج و ارسال مي کنيد، به آدرس نگاه کنيد. بايد https در ابتداي آدرس وجود داشته باشد. علاوه براين توصيه مي شود با مراجعه به بانک تان، نحوه استفاده امن از خدمات اينترنتي شان را سؤال کنيد.
سخن پاياني
بسيار مهم و حياتي است که هنگام اتصال به سرويس هاي مهم مانند حسابهاي بانکي، ايميل و اکانت هاي مهم تان از SSL استفاده کنيد. بنابراين هميشه به ابتداي آدرس اين سايتها نگاه کنيد و دقت کنيد که روي حالتhttps باشند. در غير اين صورت شما نميتوانيد از امنيت ارتباطات خود اطمينان داشته باشيد ، به طور خلاصه هميشه به اين موضوع توجه داشته باشيد که ارتباطات شما در اينترنت توسط هکرها و کلاهبرداران قابل خواندن و سرقت است. مگر اينکه به صورت امن و رمزنگاري شده منتقل شوند.