همزمان با گسترش نقش اینترنت در زندگی روزمره و تبدیل شدن اینترنت به جزء لاینفک زندگی افراد ، افراد سودجو نفوذ به رایانه شخصی و دسترسی به اطلاعات خصوصی و محرمانه مهم و غیر مهم افراد را مورد هدف قرار داده اند. خوشبختانه برای جلوگیری از هر دسترسی غیر مجاز راهکاری وجود دارد! استفاده از دیوارههای آتش و ضد ویروسها و رایانه شخصی و رمز عبور با حساسیت بالا و موارد امنیتی دیگر نیاز است که شما خطوط اینترنتی خود را نیز ایمن کنید !زمانی که شما در حال پر کردن فرمهای اینترنتی به منظور ورود به ایمیل یا ورود به هاست یا حتی ورود به شناسه خود در هر سایتی نظیر فیس بوک یا کلوپ هستید دادههایی که شما در فرمها درج میکنید و دکمه ورود را میفشارید.
اطلاعات وارد شده شما از گرههای گوناگونی میگذرد که در هر گره میتوان اطلاعات شخصی شما را مشاهده و ذخیره کرد بطور مثال شما در حال وارد کردن اطلاعات حساب بانکی خود هستید که در صورتی که سایت بانکی شما امنیت مربوطه را نداشته باشد حساب شما ممکن است تا دقایقی دیگر بدون حتی یک ریال موجودی باشد ! اما بانکهای اینترنتی یا سرویسهایی نظیر آن چکار میکنند که کسی سو استفاده نکند !
در سلسله مقاله های تگراهاست در اینجا با مفهوم گواهی ssl آشنا شده و همچنین توضیح می دهیم چگونه این گواهی کار می کند و چه مزیت و کاربردهایی دارد.
گواهی SSL چیست؟
Secure Sockets Layers که به اختصار SSL نامیده میشود؛ SSL راه حلی جهت برقراری ارتباطات ایمن میان یک سرویس دهنده و یک سرویس گیرنده است. این پروتکل امنیت انتقال دادهها را در اینترنت برای مقاصدی چون کار کردن با پایگاههای وب، پست الکترونیکی، نمابرهای اینتزنتی و پیامهای فوری اینترنتی به کار میرود.
در این پروتکل، دادهها بین سرویس دهنده و گیرنده رمزگذاری میشوند؛ به همین دلیل، دادهها در طول انتقال از کانال غیر امن مانند اینترنت، اینترانت و …، حفاظت شده باقی میمانند. هرچند دسترسی به این دادهها ممکن است، اما به دلیل آنکه رمزگذاری شدهاند، برای بدست آوردن دادههای رمزگشایی شده اصلی، باید کلید مورد استفاده در آن نشست ارتباطی امن (Secure connection session) را دانست. از این رو، این پروتکل عملاً غیرقابل نفوذ است.
گواهیهای SSL امنیت وب سایت شما را تضمین میکند و برچسب HTTPS را روی آن میزند. بعضی از مرورگرها سایت شما را با برچسب «ناامن» به کاربر معرفی میکنند.
اطلاعات از کدام قسمت ربوده میشود؟
هنگامیکه آدرس یک وبسایت را در مرورگر وارد میکنیم، اطلاعات بین کامپیوتر ما و کامپیوتری که سایت روی آن قرار دارد (Server) در حال رد و بدل هستند، پس اگر بتوانیم این ارتباط را امن کنیم، اطلاعات ربوده نخواهند شد. اطلاعات در اینترنت در قالب فایلهای متنی منتقل میشوند. دقیقاً مانند زمانی که قصد دارید یک نامه به دوستی در خارج از شهر خود بدهید و تمایلی ندارید کسی از محتوای آن باخبر شود. هنگامیکه نامه را در صندوق پست میاندازید تا زمانی که به دست دوست شما برسد، این نامه دست چندین نفر قرار میگیرد. حال شما میتوانید متن داخل نامه را به صورتی با رمزنگاری بنویسید که فقط خود شما و آن دوستی که آن نامه را برای او ارسال کردهاید از آن سر دربیاورید. در مورد فعالیت در اینترنت هم همینطور است میتوانید تمام اطلاعات خود را رمزنگاری کنید.
یکی از روشهای ساده و متداول برای رمزگذاری اینترنتی استفاده از پروتکل (SSL (secure socket layer است که از آن برای امن کردن پروتکلهایی با ضریب امنیت پایین مثل HTTP و IMAP و… استفاده میکنند. این پروتکل یک سری الگوریتم رمزنگاری، بر روی دادههای ورودی قرار میدهد که هنگام عبور رمزنگاری میشوند. برای این کار، به دو نوع گواهی دیجیتال SSL یکی برای سرویسگیرنده و یکی برای سرویسدهنده و نیز یک مرکز صدور گواهینامه دیجیتال نیاز است. وظیفه مرکز صدور گواهی دیجیتال، احراز هویت طرفین ارتباط، نشانیها، حسابهای بانکی و تاریخ انقضای گواهینامه است.
این گواهی موارد زیر را فراهم میکند:
1. بستههای اطلاعاتی را در هنگام تبادل در شبکه، رمزگذاری میکند.
2. ارتباط بین سرویسدهنده و کاربر را در بستری امن و بهدوراز مداخله دیگران فراهم میکند.
3. برقراری رابطه میان سرویسدهنده و کاربر را بهصورت رمز شده و غیرقابلخواندن برای دیگران، فراهم میکند.
4. کاربر میتواند از صحت تبادل اطلاعات اطمینان حاصل کند.
5. از رؤیت، تغییر و سوء استفاده اطلاعات مبادله شده توسط شخص ثالث و غیرمجاز جلوگیری میکند.
6. هویت وبسایت یا سرویسهای نرمافزاری را تأیید میکند.
7. صحت سایت را از این نظر که سایت جعلی نباشد تأیید میکند.
8. هویت مالکین سایتها، جهت تأیید اصالت آنها بر طبق ضوابط و مقررات کشور را احراز میکند.
گواهی SSL چگونه کار میکند؟
گواهی SSL دو کلید عمومی و اختصاصی دارد. این کلیدها برای برقراری یک ارتباط رمزنگاری شده با هم همکاری دارند. این گواهی همچنین شامل یک “subject” می باشد که نشان دهنده هویت صاحب گواهی/وب سایت است.
برای دریافت این گواهینامه، باید برروی سرور خود یک درخواست امضای گواهی (CSR) ایجاد کنید. این فرآیند یک کلید اختصاصی و یک کلید عمومی برروی سرور شما ایجاد می کند. فایل داده CSR که برای صادرکننده گواهی SSL (CA) ارسال می کنید، حاوی کلید عمومی می باشد. صادرکننده گواهی (CA) از فایل داده CRS برای ایجاد ساختار داده متناسب با کلید اختصاصی استفاده می کند، بدون اینکه خود کلید به خطر بیافتد. صادرکننده گواهی هرگز کلید اختصاصی را نمی بیند.
بعد از دریافت گواهی SSL، آن را برروی سرور خود نصب می کنید. همراه با آن، گواهی میانی را نصب می کنید که اعتبار گواهی SSL شما را از طریق برقراری ارتباط با گواهی root CA تامین می کند. دستورالعمل های نصب و آزمایش گواهی شما با توجه به نوع سرور متفاوت خواهد بود.
در شکل زیر، یک زنجیره گواهی را مشاهده می کنید. این زنجیره گواهی سرور شما را از طریق یک گواهی میانی به گواهی ریشه CA متصل می کند.
مهم ترین بخش گواهی SSL امضاء الکترونیکی توسط یک صادرکننده معتبر گواهی می باشد. هرکسی می تواند این گواهینامه را صادر کند، اما مرورگرها فقط به گواهینامه هایی اعتماد می کنند که از سوی سازمان های مورد تایید صادر شده باشند. مرورگرها به فهرست از پیش مشخص شده صادرکنندگان گواهی معتبر تحت عنوان مخزن root CA معتبر گواهی مراجعه می کنند. برای اینکه شرکتی به مخزن root CA گواهی معتبر اضافه شده و در نتیجه یک متصدی گواهی شود، باید مطابق با استانداردهای احراز هویت و امنیتی سازمان های نظارتی رفتار کنید.
گواهی SSL صادرشده توسط یک CA برای یک سازمان و دامنه / وب سایت آن تایید کننده آن است که طرف سوم مورد اعتماد، هویت آن سازمان را تایید کرده است. از آن جایی که مرورگر به صادرکننده گواهی اعتماد دارد، به هویت آن سازمان نیز اعتماد می کند. مرورگر به کاربر اطمینان می دهد که وب سایت امن است و کاربر می تواند در آن سایت احساس امنیت نماید و حتی وارد اطلاعات محرمانه آن شود. سازمان های معتبر فراوانی در داخل و خارج از کشور هستند که از این اعتبار برخوردارند. از جمله این موسسه ها می توان به شرکت های digicert، comodo و … اشاره کرد.
گواهی SSL چگونه امنیت دادهها را تضمین میکند؟
هنگامی که مرورگری اقدام به برقراری ارتباط با یک وب سایت ایمن شده به وسیله SSL می کند، آن مرورگر و وب سرور با استفاده از پروسه ای با عنوان “SSL Handshake” بین آنها ارتباط برقرار می نماید (به نمودار زیر توجه کنید). توجه داشته باشید که SSL Handshake برای کاربر غیر قابل رویت است و بلافاصله اتفاق می افتد.
اساسا، سه کلید برای برقراری ارتباط SSL مورد استفاده قرار می گیرند: کلیدهای عمومی، اختصاصی و session. هر چیزی که به وسیله کلید عمومی رمزنگاری شده باشد، فقط می تواند به وسیله کلید اختصاصی رمزگشایی شود و بالعکس.
از آن جایی که رمزگذاری و رمزگشایی با کلیدهای عمومی و اختصاصی نیروی عملیاتی زیادی مصرف می کند، فقط حین پروسه SSL Handshake از آنها استفاده می شود تا یک کلید session متقارن ایجاد شود. پس از برقراری این ارتباط امن، از کلید session برای رمزنگاری همه اطلاعات ارسال شده استفاده می شود.
- مرورگر به وب سروری (وب سایتی) که به وسیله SSL (https) ایمن شده است، متصل می شود. مرورگر درخواست می کند که سرور هویت خود را ابراز نماید.
- سرور یک نسخه کپی از گواهی SSL، شامل کلید عمومی سرور را ارسال می نماید.
- مرورگر root گواهی را با فهرستی از صادرکنندگان معتبر گواهی چک می کند تا ببینید گواهی مزبور منقضی و لغو نشده باشد و نام عمومی آن برای وب سایتی که به آن متصل می شود، اعتبار داشته باشد. اگر مرورگر به گواهی اعتماد کند، با استفاده از کلید عمومی، یک کلید session متقارن را ارسال می کند.
- سرور با استفاده از کلید اختصاصی خود، کلید session متقارن را رمزگشایی کرده و تایید رمزنگاری توسط کلید session را برای آغاز رمزنگاری session ارسال می کند.
- اکنون، سرور و مرورگر همه اطلاعات ارسال شده به وسیله کلید session را رمزنگاری می کند.
مزیت گواهی امنیتی ssl :
ایجاد ارتباط ایمن میان سرور و مرورگر بر روی بستر پروتکل HTTPS است. پروتکل https یک استاندارد وب برای محافظت از سرور های کاربران از طریق اتصال امن بین سرور و مشتری میباشد.
مطالعات متعدد نشان می دهد که رابطه معناداری بین سطوح اعتماد مشتری و شاخص های سایت وجود دارد ؛ از خودتان بپرسید که آیا ترجیح می دهید از یک سایت امن یا ناامن خریداری کنید؟
یکی از مهمترین اجزای کسب و کار آنلاین ، ایجاد یک محیط مورد اعتماد است بطوریکه مشتریان در هنگام خرید اطمینان خاطر داشته باشند. در رابطه با مزایای گواهینامه ssl باید گفت که استفاده از گواهی امنیتی ssl به طرز چشمگیری امنیت سایت را بهبود می بخشد و هنگامی که سایت شما با یک گواهی ssl و بر روی پروتکل HTTPS نمایش داشته باشد، مشتریان و بازدیدکنندگان سایت شما ، مطمئن میشوند که در واقع یک سایت معتبر و قابل اعتماد پیش روی آنهاست و کمتر نگران مسائل امنیتی میشوند و با آسایش خاطر نسبت به خرید خود اقدام میکنند. هیچ کس جرات نمی کند اطلاعات کارت اعتباری خود را در یک وبسایت HTTP ساده ارسال کند همچنین برای سایت های تجارت الکترونیک ، داشتن گواهینامه ssl که منطبق با استانداردهای امنیتی DSS ( Payment Card Industry Data Security Standard ) PCI باشد ، از موارد مهم به شمار میرود.
زمانی که آدرس یک وب سایت را در مرورگر وارد می کنیم ، اطلاعات بین کامپیوتر ما (Client) و کامپیوتری که سایت روی آن قرار دارد (Server) در حال رد و بدل هستند؛ پس اگر بتوانیم ارتباط بین Client و Server را امن کنیم ، ورود به اطلاعات شما بسیار سخت و هرگز دزدیده نخواهند شد.
این دقیقاً همان دلیلی است که بانکها ، موسسات مالی ، سایتهای تجارت الکترونیک و اپلیکیشن های همراه و غیره برای ورود امن اطلاعات ، مشخصات کاربری و اطلاعات کارت اعتباری از گواهی امنیتی ssl استفاده می کنند.
کاربرد گواهی ssl :
اگر یک فروشگاه مجازی دارید، یا یک وبسایت بانکداری الکترونیکی، یا هر گونه وبسایت دارای خدمات الکترونیکی، ممکن است مشتریان به سبب نگرانی از محرمانگی و امنیت اطلاعاتشان وبسایت شما را ترک کنند. یک سرور با گواهی SSL مختص خود که توسط یک مرجع رسمی صدور گواهینامه SSL که مختصراً به نام CA شناخته میشود صادر شده باشد به کاربران اطمینان میدهد که سرور، دامنه و وبسایت را همان سازمان یا شرکتی اداره میکند که در وبسایت ادعا شده و محتوا و فعالیت اقتصادی وبسایت قانونی است.
گواهی SSL را برای طیف وسیعی از تراکنشهای الکترونیکی میتوان استفاده کرد، از جمله:
- ایمیل
- تجارت الکترونیک
- اپلیکیشنهای گروهی وب
- انتقال وجه الکترونیکی
برای مثال مشترییی که در یک فروشگاه الکترونیکی خرید میکند برای تایید هویت فروشگاه یا درگاه پرداخت و محتوایی که وبسایت نمایش داده است نیاز به مشاهدهی گواهی SSL سرور دارد. بدون تأیید اعتبار سرور خریدار نمیتواند به سیستم فروش سایت اعتماد کند و اطلاعات حساسی نظیر شمارهی کارت اعتباری خود را در وبسایت و از بستر اینترنت وارد کند.
مسأله فقط تمایل مشتری و بازدیدکنندهی وبسایت به اطمینان به فرایند طی شده برای انتقال اطلاعاتش نیست. خاصیت اصلی گواهی SSL این است که با کمک یک جفت کلید رمزنگاری عمومی و خصوصی اطلاعات انتقال داده شده را به رمز در میآورد و از دسترس متجاوزان فضای آنلاین دور نگه میدارد. به همین دلیل برای هر درگاه پرداخت و وبسایت بانکداری اینترنتی نصب یک گواهی SSL معتبر روی سرور هاست ضرورت دارد.