SSL چیست و چرا استفاده می‌شود !؟

به قلم مهدی آهازان

بدانیم چگونه امنیت خود و کاربران را افزایش دهیم !
از روزی که اینترنت راهی برای سرعت بخشیدن به کارهای روزمره افراد شناخته شد، نفوذ به رایانه افراد و دسترسی به اطلاعات خصوصی و داده‌های شخصی آن‌ها مورد توجه افراد سودجو بوده است. هر نفوذی راهکاری دارد ! استفاده از دیواره‌های آتش و ضد ویروس‌ها و رایانه شخصی و رمزعبور با حساسیت بالا و موارد امنیتی دیگر نیاز است که شما خطوط اینترنتی خود را نیز ایمن کنید !

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

SSL چیست !؟

مخفف Socket Secure Layer که اولین بار توسط شرکت Netscape طراحی شد و سپس مرورگرهای دیگر نیز از این پروتکل پشتیبانی کردند.

مشخصه بارز SSL بصورت HttpS می‌باشد که شاید بارها در اینترنت مشاهده کرده باشید و به سادگی از آن گذر کرده باشید.

Secure Socket Layer , یا همان SSL یک تکنولوژی استاندارد و به ثبت رسیده برای تامین ارتباطی امن مابین یک وب سرور و یک مرورگر اینترنت است. این ارتباط امن از تمامی اطلاعاتی که ما بین وب سرور و مرورگر اینترنت (کاربر) انتقال می‌یابد , محافظت می‌کند تا در این انتقال به صورت محرمانه و دست نخورده باقی بماند. SSL یک استاندارد صنعتی است و توسط ملیون‌ها وب سایت در سراسر جهان برای برقراری امنتیت انتقال اطلاعات استفاده می‌شود. برای اینکه یک وب سایت بتواند ارتباطی امن از نوع SSL را داشته باشد نیاز به یک گواهینامه SSL دارد.

حال سوالی که پیش می‌آید این است که این گواهینامه چیست !؟

زمانیکه شما می‌خواهید SSL را بر روی سرور خود فعال کنید سؤالات متعددی در مورد هویت سایت شما ( مانند آدرس سایت ) و همین طور هویت شرکت شما ( مانند نام شرکت و محل آن) از شما پرسیده می‌شود. آنگاه سرور دو کلید رمز را برای شما تولید می‌کند , یک کلید خصوصی (Private Key) و یک کلید عمومی (Public Key). کلید خصوصی به این خاطر , این نام را گرفته است , چون بایستی کاملاْ محرمانه و دور از دسترس دیگران قرار گیرد. اما در مقابل نیازی به حفاظت از کلید عمومی نیست و این کلید در قالب یک فایل درخواست گواهینامه یا Certificate Signing Request که به اختصار آنرا CSR می‌نامیم قرارداده می‌شود که حاوی مشخصات سرور و شرکت شما بصورت رمز است. آنگاه شما باسیتی که این کد CSR را برای صادرکننده گواهی‌نامه ارسال کنید. در طول مراحل سفارش یک SSL مرکز صدور گواهینامه درستی اطلاعات وارد شده توسط شما را بررسی و تایید می‌کند و سپس یک گواهینامه SSL برای شما تولید کرده و ارسال می‌کند.

این گواهی‌نامه‌ها از کجا پشتیبانی می‌شوند !؟

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

خوب با این توضیح مشخص می‌شود که چرا برخی مواقع برای سایت‌هایی که از https استفاده می‌کنند در هنگام ورود با پیغامی روبرو میشویم که مرورگر نسبت به اعتماد به این صفحه از شما پرسش می‌کند و نیاز به تایید از سمت کاربر است. (بطور مثال یکی از بانک‌های کشور هنوز این گواهینامه را تهیه نکرده‌اند و بانک پارسیان و سامان این گواهینامه را دارند!)

رمزنگاری چگونه است ؟

رمزنگاری (Cryptography) علم به رمز در آوردن (encryption) اطلاعات است. توضیح روش‌های بسیار پیچیده‌ای که امروزه برای رمزنگاری استفاده می‌شود از حوصله این مطلب خارج است، اما برای رفع ابهام، در زیر به یکی از ساده‌ترین روش‌های رمزنگاری می‌پردازیم: می‌دانیم که هر حرف در الفبا جایگاهی دارد. مثلا حرف «الف قبل از ب» و «حرف م قبل از ن» قرار دارد. حال، اگر بخواهید یک جمله را به رمز در آورید. در ساده‌ترین شکل ممکن، هر حرف را با حرف بعدی خود در الفبا جایگزین می‌کنید.یعنی به جای «الف» حرف «ب»، به جای «ب» حرف «پ»، … ، به جای «ه» حرف «ی» و به جای حرف «ی» حرف «الف» را می‌گذارید.
با این کار می‌توان جمله «بابا آب داد» را به جمله بی معنی «پبپب بپ ذبذ» تبدیل کرد که اگر فردی کلید رمز را نداشته باشد، به هیچ وجه از آن سر در نمی‌آورد.

نحوه عملکرد SSL چگونه است !؟

تبادل اطلاعات میان مرورگر و سایتی که در حال مرور شدن است، بوسیله کلیدهای خصوصی (private key) کد می‌شود و چنانچه در طول مسیر اطلاعات شنود شود، قابل استفاده نخواهد بود. بنابراین بخوبی می‌توان از این پروتکل برای کاربردهای تجاری استفاده کرد. در حال حاضر بسیاری از وب سایت ها علاوه بر پروتکل معمول http از SSL نیز حمایت می‌کنند و شما می‌توانید برای دسترسی امن به اطلاعات این سایت‌ها از طریق یک لینک SSL ، از https استفاده کنید.

اس اس ال در واقع پروتکلی است که در آن ارتباطات بوسیله یک کلید، رمزگذاری (Encryption) می‌شوند. زمانی که قرار است یکسری اطلاعات را به صورت SSL به یک سایت که سرور (Server) آن گواهی‌نامه SSL را دارد (در آدرس سایت https است) ارسال شود. ابتدا باید از یک کلید به عنوان قالبی برای به رمز در آوردن اطلاعات بین خدمات گیرنده (کاربر) و خدمات دهنده (سرور) استفاده شود. برای ساخت این کلید نیاز به چند مرحله هماهنگی به شرح زیر است.
1. وقتی سروری بخواهد پروتکل SSL را فعال کند. ابتدا یک کلید عمومی (Public Key) می‌سازد.
2. سپس کلید عمومی را همراه با یک درخواست گواهی‌نامه SSL به یکی از صادرکنندگان این گواهی‌نامه‌ها مثل وریساین (Verisign) می‌فرستد.
3. وریساین نیز ابتدا مشخصات و میزان قابل اعتماد بودن و امنیت سرور را ارزیابی کرده و کلید عمومی را دوباره رمزگذاری می‌کند و برای سرور می‌‌فرستد تا در انتقال اطلاعات خود از آن استفاده کند. به کلید جدید کلید امنیتی (private key) می‌گویند.
4. حال هر زمان که کاربر بخواهد از طریق پروتکل SSL به این سایت دست یابد، ابتدا کامپیوتر کاربر یک کلید عمومی برای سرور می‌فرستد (هر کامپیوتری کلید مخصوص به خود را دارد).
5. سرور نیز این کلید عمومی را با کلید امنیتی خود مخلوط کرده و از آن کلید جدیدی می‌سازد. سپس آن را به کامپیوتر کاربر می‌فرستد.
6. از این به بعد تمامی اطلاعاتی که بین کاربر و سرور جابجا می‌شوند با این کلید جدید رمزگذاری می‌شوند.

یکی دیگر از کاربردهای SSL چیست ؟

هنگامی که به فروشگاهی وارد می‌شوید ، می‌دانید که با چه وضعیتی روبرو هستید.کالاها ، مارک آن‌ها و راهنمای فروشگاه را می‌بینید. می توانید مطمئن باشید که اگر در خرید شما اشکالی پیش بیاید ، مدیر فروشگاه یا صاحب آن برای مراجعه در دسترس خواهند بود.
اما بر روی اینترنت ، مراجعه کنندگان به پایگاه‌های وب هیچ راه قابل اطمینانی برای آگاهی از اینکه چه کسی صاحب پایگاه “فروشگاه مجازی” است ، دردست ندارند. هنگامی که مشتریان با قصد انجام یک خرید اینترنتی ، به یک پایگاه وب وارد می شوند ، علاقه دارند بدانند که پول را به چه کسی می‌پردازند. آن‌ها خواستار اثبات هویت صاحب پایگاه بوده ، و می‌خواهند بدانند که اطلاعات شخصی ارسالی آنها به پایگاه مزبور توسط سایر کاربران اینترنتی قابل ردگیری و تداخل نیست. اینجاست که گواهینامه های الکترونیکی SSL به صحنه می‌آیند.

پانوشت : برخی مطالب این مقاله از سایت iranssl.com جمع‌آوری شده است که می‌توانید مطالب مربوطه و تکمیلی را در این سایت دریافت و مطالعه نمایید.