campaign-Ghorban-to-Ghadir

پروتکل SSL یا اس اس ال چیست؟



visibility  
mode_comment   ۲

Secure Sockets Layer یا به اختصار SSL ، یکی از پروتکل‌ های رمزنگاری است که به منظور برای حفظ امنیت تبادل اطلاعات از طریق اینترنت ایجاد شده‌ است. پروتکل SSL توسط شرکت Netscape به منظور نقل و انتقال امن و رمزی اطلاعات ایجاد شد. امروزه تقریبا تمام مرورگرهای استاندارد از جمله فایر فاکس، اینترنت اکسپلورر، اپرا، گوگل کروم و سافاری از این قابلیت پشتیبانی می کنند. در ادامه با این پروتکل رمزگذاری بیشتر آشنا خواهیم شد.

SSL چیست؟

پروتکل SSL

اطلاعات و داده ها در اینترنت به صورت پیشفرض در بستر پروتکل HTTP یا Hyper Text Transfer Protocol انتقال می یابند. در این پروتکل داده ها رمزگذاری نمی شوند و برای افراد دیگر قابل خواندن هستند. مثلا اگر پسورد و اطلاعات شخصی خود را در بستر این پروتکل به سروری منتقل کنید، این امکان وجود دارد که از طریق سرویس دهنده اینترنت، این اطلاعات قابل مشاهده باشند. بنابراین بسیاری از سرویس های مبتنی بر اینترنت از پروتکل دیگری جهت انتقال داده ها بین سرویس دهنده (Server) و سرویس گیرنده (Client) استفاده کردند.

این پروتکل امنیتی همان SSL است که اطلاعات را با استفاده از کلیدهای خصوصی و عمومی رمزنگاری (Encrypt) می کند. اطلاعات رمزگذاری شده توسط این پروتکل در سمت دیگر رمزگشایی (Decrypt) می‌ شوند. امنیت در این پروتکل در مبدا و مقصد اطلاعات حفظ می شود، یعنی در هر دو طرف، فرایند رمزنگاری و رمزگشایی انجام می‌ گیرد. در ابتدا از این پروتکل فقط در سایت هایی که اطلاعات حساس کاربران مانند اطلاعات شخصی، اطلاعات حساب های بانکی و... را دریافت می کردند، استفاده می شد.

more  بیشتر بخوانید : پروتکل HTTP چیست؟

اما امروزه از این پروتکل معمولا در بیشتر سایت ها استفاده می شود. زیرا موضوع امنیت اطلاعات کاربران بیش از پیش در دنیای اینترنت اهمیت پیدا کرده است. از طرفی دیگر استفاده از پروتکل امنیتی SSL در سایت ها از نظر سئو بسیار مفید خواهد بود. وب سایت‌ هایی که از این پروتکل جهت رمزگذاری داده‌ ها استفاده می‌ کنند، معمولا از طریق پروتکل HTTPS با کلاینت ها ارتباط برقرار می‌ کنند. برای داشتن یک ارتباط امن در بستر پروتکل HTTPS برای سایت خود، نیاز به تهیه یک گواهی معتبر ssl دارید.

امنیت در پروتکل SSL

پروتکل SSL

همان‌ طور که اشاره شد، در این پروتکل اطلاعات تبادل شده بین سرور و کلاینت رمزگذاری می‌ شوند؛ بر این اساس این اطلاعات توسط شخص سوم قابل مشاهده نخواهند بود. البته همچنان دسترسی به این داده‌ ها امکان پذیر است، اما با توجه به اینکه آن ها رمزگذاری شده اند، برای مشاهده داده های آن ها، نیازمند رمزگشایی هستند.رمزگشایی این داده بدون کلید مورد استفاده در نشست (session) ارتباطی امن  امکان پذیر نیست. بنابراین، این پروتکل عملاً غیرقابل نفوذ است.

این موضوع به این منظور نیست که راهی برای سرقت اطلاعات وجود ندارد. زیرا این داده‌ ها فقط در طول مسیر انتقال میان سرور و کلاینت رمزگذاری شده اند؛ اما داده‌ های اصلی، در سمت سرور و کلاینت توسط پروتکل امن SSL رمزنگاری نمی‌ شوند. به همین دلیل، ممکن است با استفاده از بدافزاری یا روش های دیگر، این اطلاعات قبل از رمزگذاری و یا پس از رمزگشایی به سرقت روند. حتی ممکن است کلیدهای رمزگشایی و رمزگذاری اطلاعات، از سمت سرویس دهنده پروتکل امن، به سرقت رفته باشند. البته تاکنون هیچ گزارشی مبنی بر سرقت اطلاعاتی که با استفاده از این پروتکل تبادل شده اند، منتشر نشده است.

more  بیشتر بخوانید : پروتکل https چیست؟

رمزگذاری اطلاعات توسط SSL

پروتکل SSL

برقراری ارتباط از طریق SSL، نیازمند پیش نیازهایی از جمله کلیدهای نامتقارن (شامل کلید عمومی و کلید خصوصی) و کلید سیشن (Session key) است. کلید عمومی همانطور که از نامش مشخص است، برای اشخاص سوم شخص قابل خواندن است. اما کلید خصوصی فقط توسط ارسال کننده و دریافت کننده اطلاعات، قابل استفاده می باشد.

 همچنین این پروتکل می تواند از ترکیب رمزنگاری متقارن و نامتقارن استفاده کند. در الگوریتم رمزنگاری متقارن کلید رمزگذاری و رمزگشایی یکسان است ولی در الگوریتم رمزگذاری نامتقارن، این کلیدها متفاوت هستند. کلیدهای نامتقارن روی سرور قرار دارند، ولی کلید سیشن توسط سرور و کلاینت برای برقراری ارتباط SSL ساخته می‌ شود. کلید سیشن ساخته شده توسط کلاینت و سرور یکسان و یا به‌ عبارتی بهتر متقارن است. در این روش پس از اینکه اتصال امن برقرار شد، داده ها به وسیله دو کلید عمومی (Public key) و خصوصی (Private key) رمزنگاری می شوند. فرآیند برقراری ارتباط در این روش به صورت زیر است :

  1. سرور یک کپی از کلید عمومی خود را برای کلاینت (مرورگر کاربر) ارسال می‌ کند.
  2. کلاینت با استفاده از کلید عمومی که دریافت کرده است، کلید سیشن ساخته شده را کدگذاری می کند و برای سرور می فرستد.
  3. سرور با استفاده از کلید خصوصی که دارد، اطلاعات دریافتی را رمز گشایی می کند تا به Session key دسترسی پیدا کند.
  4. در نهایت سرور و کلاینت هر‌ دو با استفاده از کلید سیشن، اطلاعاتی را رمزنگاری و رمزگشایی می‌ کنند. این فرآیند یک مسیر ارتباطی امن میان کلاینت و سرور ایجاد می‌ کند. زیرا تنها این دو از کلید سیشن اطلاع دارند و این کلید فقط با هدف این اتصال ایجاد شده است. در هر زمان که اتصال میان سرور و کلاینت قطع شود، این مراحل باید دوباره انجام شوند.
more  بیشتر بخوانید : DNS یا دی ان اس چیست؟
7Learn Experts
comment دیدگاه کاربران
hamid replyپاسخ

با سلام
با تشکر از مطالب مفیدتون که در سایت قرار میدید لازم دونستم دو موضوع رو بگم
یکی اینکه یه مثال عملی برای خوانندگان قرار بدین که با این مفهوم بهتر آشنا بشن
دوم اینکه منابع خوب معرفی کنین که خوانندگان بتونن دانششون رو در این زمینه تکمیل کنن
بازم تشکر از سایت خوب و مطالب آموزندتون
حمید

مهدی علامه

سلام حمید جان
مرسی از بازخوردهای بسیار خوبت
حتما در مقالات آینده سعی می کنیم این موارد را لحاظ کنیم
تشکر

add_circle ارسال دیدگاه

خوشحال میشیم دیدگاه و یا تجربیات خودتون رو با ما در میون بذارید :