دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۴
  • شهریور

جلسه ۰۳-۰۲ : لایه Transport – امنیت شبکه

  • دسته‌بندی‌ها :
جلسه ۰۳-۰۲ : لایه Transport – امنیت شبکه
    • جزئیات
    • نوع محتواآموزشی

      مقدمه

      با دوره ی آموزش امنیت شبکه (Network Security) از وبسایت پی وی لرن همراه هستیم.
      در جلسه ی دوم از مباحث امنیت شبکه، معماری SSL ، عملکرد اجزای پروتکل SSL و مراحل تشکیل SSL Session رو خواهیم داشت.

      بررسی امنیت لایه Transport

       معماری SSL

      SSL مختص TCP است و با UDP کار نمی کند. SSL برای برنامه ها (Application Programming Interface (API را فراهم می کند. کتابخانه ها و کلاس های C و Java SSL به راحتی در دسترس هستند.

      پروتکل SSL به منظور تعامل بین لایه application و transport همان طور که در تصویر زیر نشان داده شده است، طراحی شده است.

       

      معماری SSL

      معماری SSL

      SSL خود یک پروتکل تک لایه نیست همان طور که در تصویر نشان داده شده است. در واقع از دو زیر لایه تشکیل شده است.

      • زیر لایه زیرین از یک مؤلفه پروتکل SSL به نام SSL Record Protocol تشکیل شده است. این مؤلفه خدمات یکپارچگی و محرمانه بودن را ارائه می دهد.
      • زیر لایه فوقانی از سه مؤلفه پروتکل مربوط به SSL و یک پروتکل application تشکیل شده است. مولفه ی Application خدمات انتقال اطلاعات بین مشتری / سرور را ارائه می دهد. از لحاظ فنی ، می تواند در بالای لایه SSL نیز کار کند. سه مؤلفه پروتکل مربوط به SSL هستند:

      پروتکل SSL Handshake

      پروتکل Change Cipher Spec

      پروتکل SSL Alert

      • این سه پروتکل تمام تبادلات پیام SSL را مدیریت می کنند و بعدا در این مورد بحث خواهیم کرد.

       

      معماری SSL

      معماری SSL

      عملکرد اجزای پروتکل SSL

      چهار مؤلفه فرعی پروتکل SSL وظایف مختلفی را برای برقراری ارتباط امن بین دستگاه مشتری و سرور انجام می دهد. (عملکرد اجزای پروتکل SSL)

      Record Protocol

      • لایه Record پیام های پروتکل لایه بالایی را فرمت می کند.
      • این داده ها را در بلوک های قابل کنترل (حداکثر طول ۱۶ KB) فراگمنت می کند. به صورت اختیاری داده ها را فشرده می کند.
      • داده ها را رمزگذاری می کند.
      • در پایان یک هدر برای هر پیام و یک هش (کد تأیید اعتبار پیام (MAC)) ارائه می دهد.
      • انتقال  بلوک های قالب بندی شده به لایه TCP.

       

      عملکرد اجزای پروتکل SSL

      عملکرد اجزای پروتکل SSL

       پروتکل SSL Handshake

      • ین پیچیده ترین قسمت SSL است. قبل از انتقال هر گونه داده ی برنامه به آن استناد می شود. این SSL sessions را بین مشتری و سرور ایجاد می کند.
      • ایجاد sessions شامل احراز هویت سرور ، کلید و الگوریتم مذاکره ، ایجاد کلیدها و احراز هویت کلاینت (اختیاری) است.
      • یک sessions توسط مجموعه منحصر به فرد از پارامترهای امنیتی رمزنگاری مشخص می شود.
      • چندین اتصال TCP امن بین مشتری و سرور می توانند در همان sessions مشترک باشند.
      • اقدامات پروتکل Handshake از طریق چهار مرحله. این ها در بخش بعدی مورد بحث قرار می گیرد.

      پروتکل ChangeCipherSpec

      • ساده ترین قسمت پروتکل SSL است. این شامل یک پیام واحد است که بین دو نهاد ارتباط دهنده ، مشتری و سرور رد و بدل می شود.
      • از آن جا که هر نهاد پیام ChangeCipherSpec را ارسال می کند ، همان طور که توافق شده است ، طرف اتصال خود را به حالت امن تغییر می دهد.
      • پارامترهای cipher شده در حالت pending در حالت فعلی کپی می شوند.
      • تبادل این پیام نشان می دهد که همه تبادل داده های آینده رمزگذاری شده هستند و یکپارچگی حفظ می شود.

      پروتکل SSL Alert

      • این پروتکل برای گزارش خطاها استفاده می شود. مانند پیام غیر منتظره ، ثبت نامناسب MAC ، مذاکره در مورد پارامترهای امنیتی و غیره.
      • همچنین برای اهداف دیگر مورد استفاده قرار می گیرد.  مانند اطلاع از بسته شدن اتصال TCP ، اطلاع از دریافت گواهینامه بد یا ناشناخته و غیره.

      تشکیل SSL Session

      همان طور که در بالا گفته شد ، چهار مرحله برای تشکیل نسشت SSL وجود دارد. این موارد عمدتا توسط پروتکل SSL Handshake صورت می گیرد.

      فاز ۱ – ایجاد قابلیت های امنیتی

      این مرحله شامل تبادل دو پیام  Client_hello و Server_hello است.

       

      تشکیل SSL Session

      تشکیل SSL Session

      Client_hello حاوی لیست الگوریتم های رمزنگاری پشتیبانی شده توسط مشتری ، به منظور کاهش اولویت است.

      Server_hello شامل (Cipher Specification (CipherSpec انتخاب شده  و یک session_id جدید است.

      CipherSpec شامل زمینه هایی مانند:

      • (Cipher Algorithm (DES, 3DES, RC2, and RC4
      • (MAC Algorithm (based on MD5, SHA-1
      • (Public-key algorithm (RSA – الگوریتم کلید عمومی
      •  هر دو پیام “nonce” را برای جلوگیری از حمله replay دارند.

      فاز ۲ – احراز هویت سرور و تبادل کلید

       

      احراز هویت سرور و تبادل کلید

      احراز هویت سرور و تبادل کلید

      سرور certificate را می فرستد. نرم افزار Client همراه کلیدهای عمومی سازمان های مختلف “قابل اعتماد” (CA) برای بررسی گواهی، پیکربندی شده است.

      سرور مجموعه cipher شده را می فرستد.

      سرور ممکن است certificate مشتری را درخواست کند. معمولاً انجام نمی شود.

      سرور پایان Server_hello را نشان می دهد.

       

      فاز ۳ – احراز هویت کلاینت و تبادل کلید.

       

       احراز هویت کلاینت و تبادل کلید

      احراز هویت کلاینت و تبادل کلید

      کلاینت در صورت درخواست توسط سرور، certificate را می فرستد.

      همچنین (Pre-master Secret (PMS رمزگذاری شده با کلید عمومی سرور را ارسال می کند.

      کلاینت همچنین در صورت ارسال certificate از سوی وی پیام Certificate_verify ارسال می کند تا ثابت کند که وی کلید خصوصی در ارتباط با این گواهی را دارد. اصولاً کلاینت یک hash از پیام های قبلی را امضا می کند.

      مرحله ۴ – پایان

       

      تشکیل SSL Session

      تشکیل SSL Session

      کلاینت و سرور پیام های Change_cipher_spec را به یکدیگر ارسال می کنند تا باعث شود pending cipher در وضعیت فعلی کپی شود.

      از این پس تمام داده ها رمزگذاری شده و از یکپارچگی محافظت می شود.

      پیام “Finished” از هر پایان تأیید می کند که فرآیند تبادل کلید و تأیید اعتبار موفق بوده است.

      هر چهار مرحله ، که در بالا مورد بحث قرار گرفت، در زمان تشکیل TCP session اتفاق می افتد. برقراری SSL session پس از TCP SYN / SYNACK آغاز می شود و قبل از TCP Fin به پایان می رسد.

      کلام پایانی

      تشکیل SSL Session و عملکرد اجزای پروتکل SSL ، از مباحث آمورش امنیت شبکه رو در این قسمت بررسی نمودیم. در جلسات بعد این مبحث رو ادامه خواهیم داد.

      QR:  جلسه ۰۳-۰۲ : لایه Transport – امنیت شبکه
      به اشتراک بگذارید