SSL چیست و چگونه کار می کند؟

تصویر محمدحسن محمودی

محمدحسن محمودی

SSL که مخفف (Secured Sockets Layer) است، یه پروتکل وب است که توسط Netscape در دهه ۹۰ برای افزایش امنیت وب توسعه یافت. TLS یا همان (Transport Layer Security) توسط گروه IETF به عنوان یک بهبود در اس‌اس‌ال ایجاد شد. به طور کلی، از SSL برای اشاره به SSL و TLS استفاده می شود.

اس‌اس‌ال به کلاینت‌ها و سرورها اجازه می‌‌دهد تا:

  • هویت یکدیگر را تایید کنند.
  • پیام‌هایی را که برای یکدیگر ارسال می‌کنند رمزگذاری کنند.
  • از صحت پیام‌های ارسال شده بین یکدیگر اطمینان حاصل نمایند.

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

رمزگذاری را می توان به طور کلی به دو نوع تقسیم کرد: متقارن و نامتقارن یا همان رمزگذاری با کلید عمومی. رمزگذاری متقارن به معنای توانایی رمزگذاری یک پیام به طور خودکار است، که توانایی رمزگشایی را می‌دهد. به این دلیل که با استفاده از همان کلید مخفی رمزگذاری و رمزگشایی می‌کند. به عنوان مثال، یک از نمونه‌های رمزگذاری متقارن قدیمی رمز سزار است. 

رمزگذاری نامتقارن، با نام مستعار رمزگذاری کلید عمومی، یک طرح رمزگذاری است که از یک کلید عمومی و یک کلید خصوصی استفاده می‌کند. کلید عمومی برای رمزگذاری استفاده می‌شود در حالی که کلید خصوصی برای رمزگشایی استفاده می‌شود. بر خلاف رمزگذاری متقارن، رمزگذاری نامتقارن به طور خودکار توانایی رمزگشایی را نمی‌دهد. طرح‌های متفاوت در رمزگذاری نامتقارن مدرن وجود دارد که شامل RSA، که بر دشواری فاکتورگیری اعداد اول متکی است و Diffie-Hellman، که بر دشواری حل لگاریتم‌های گسسته متکی است.

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

گواهی اس‌اس‌ال چیست؟

گواهی اس‌اس‌ال یک سند دیجیتالی است که به یک دامنه وب وصل شده است.
این گواهی حاوی اطلاعات زیر است:

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

پروتکل اس‌اس‌ال از گواهی‌ها استفاده می کند تا:

  • اصالت سرور را بررسی کند.
  • پیام‌های ارسال شده بین کلاینت و سرور رمزگذاری کند.
  • یکپارچگی پیام های ارسال شده بین کلاینت و سرور را بررسی کند.

گواهی‌های اس‌اس‌ال از کجا می آیند؟

به‌جز گواهی‌های خودامضا، گواهی‌های اس‌اس‌ال توسط شرکت‌های شخص ثالث که هویت سازمان‌ها را در ازای دریافت گواهی تأیید می‌کنند، امضا و صادر می‌شوند. همانطور که در بالا ذکر شد، گواهی‌های خود‌ امضا وجود دارد که توسط مراجع گواهی صادر نمی‌شود. اینها معمولاً برای اهداف مختلف توسط توسعه‌دهندگان وب استفاده می‌شوند. سه تا از بزرگ‌ترین مراجع صدور گواهی، که بر اساس گواهی‌های صادر شده رتبه‌بندی می‌شوند، عبارتند از Symantec، GoDaddy و Comodo. این سه سازمان بیش از ۷۵ درصد از تمام گواهی‌های اس‌اس‌ال را صادر کرده‌اند.

گواهی‌های اس‌اس‌ال خود امضا شده چیست؟

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

Self_signed_ssl

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

اما حتی در بین گواهی‌های اس‌اس‌ال صادر شده توسط سازمان‌ها، سه نوع گواهی وجود دارد که هر کدام سطوح امنیتی و قیمت‌های متفاوتی دارند:

  • دامنه تأیید شده: اینها ۷۰ درصد از کل گواهی ها را تشکیل می دهند. این مدل از ارزان ترین گواهی‌‌ها با پایین ترین سطح امنیت هستند زیرا فقط تأیید می کنند که دامنه مرتبط با گواهی ثبت شده و متعلق به شخصی است که گواهی را درخواست کرده است. اینها تأیید نمی کنند که شخص به یک شرکت قانونی وابسته است.
  • سازمان تایید شده: این گواهی‌ها گران‌تر هستند و سطح امنیت بالاتری نسبت به اعتبار دامنه دارند. سازمان درخواست کننده گواهی باید به مرجع گواهی ثابت کند که یک شرکت معتبر است و دامنه ای را که گواهی با آن مرتبط است ثبت کرده و مالک آن است. مرورگر کروم از قفل استفاده می‌کند تا وب‌سایتی را که دارای گواهی‌های اس‌اس‌ال تأیید شده توسط دامنه یا سازمان است، را به کاربر اطلاع دهد.

secure_url_image

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

secure_bank_url_image

پروتکل اس‌اس‌ال واقعا چجوری کار می‌کنه؟

اس‌اس‌ال در واقع بر روی لایه‌ی تی‌سی‌پی ساخته شده است، بنابراین پس از برقراری ارتباط تی‌سی‌پی، کلاینت و سرور درگیر چیزی به اسم SSL handshake می‌شوند. 

در این به اصطلاح دست‌دادن، کلاینت موارد زیر را برای سرور ارسال می کند:

  • کدام نسخه از اس‌اس‌ال در حال اجرا است.
  • کدام مجموعه رمز را پشتیبانی می‌کند.
  • کدام روش های فشرده سازی را پشتیبانی می‌کند.

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

هم کلاینت و هم سرور هم اکنون این کلید مخفی تصادفی را خواهند داشت. مراحل ارتباط اس‌اس‌ال به پایان رسیده است و این دو برنامه می‌توانند با رمزگذاری متقارن پیام‌ها، با این کلید تصادفی مخفی به طور ایمن ارتباط برقرار کنند.

 


بیشتر بخوانید: 

HTTP چیست و چگونه کار می‌کند؟ 

ارسال دیدگاه