پنجشنبه, ۶ اردیبهشت, ۱۴۰۳ / 25 April, 2024
مجله ویستا

پروتکل امنیت در لایه شبکه IPSec


پروتکل امنیت در لایه شبکه IPSec
مقدمه
در پشته پروتکل TCP/IP هر لایه دارای یک یا چند پروتکل می باشد که هر پروتکل وظیفه خاصی را در آن لایه انجام می دهد, بر همین اساس جهت ایجاد امنیت هر لایه بنا به اصول طراحی زیر پروتکلها ، یک یا چند پروتکل امنیتی تعبیه شده است.مطابق اصول طراحی زیر لایه هر لایه وظیفه ای را بر عهده دارد که منحصر بفرد می باشد و در هر لایه نیز هر پروتکل می تواند بنا به قرارداد عملیات خاصی را برعهده بگیرد .بر همین اساس امنیت در لایه شبکه بر عهده IPSec می باشد. از این پروتکل بطور وسیعی درشبکه های مجازی خصوصی (Virtal Private Network ) VPN برای دفاترمربوط به یک شرکت یا سازمان و اساساً ایجاد ارتباط امن بین دو یا چند سازمان بکار می رود . امنیت شبکه های مجازی خصوصی((VPN از چند روش امکان پذیر می باشد که عبارت اند از استفاده از دیواره آتش ، IPsec , AAA Server و کپسوله سازی.
اما روش IPsec به علت امن بودن ، پایداری بالا ،ارزان بودن ،انعطاف پذیر بودن و مدیریت بالا، مورد توجه قرار گرفته است. این پروتکل شامل مباحث :
▪سرآیند احراز هویت (Authentication Header(AH) ) :که بحث پیرامون فرمت بسته ها و مسائل عمومی مربوط به استفاده از AH برای احراز هویت بسته می پردازد.
▪الگوریتم رمزنگاری (Encryption Algorithm ) :که به نحوی رمزنگاری های مختلف در ESP می پردازد.
▪الگوریتم احراز هویت كه نحوه استفاده از الگوریتمهای احراز هویت مختلف در ESP , AH (اختیاری) را بیان می دارد.
▪مدیریت كلید(Key Management ) :كه به مسائل مربوط به مدیریت كلید می پردازد.
▪ارتباط بین دامنه ای (Domain of Inter Predation ): یا مطالب مربوط به ارتباط بین قسمت های مختلف مانند شناسه های استفاده شده برای الگوریتم ها و پارامترهایی از قبیل طول عمر كلید.
پروتکل IPSec خود شامل اجزاء تشكیل دهنده قراردادها و نحوی تامل بین آنهاست.در پروتکل IPSecسرویسهای امنیتی در دو قرارداد ESP , AH تدارک دیده شده اند .این سرویسهای امنیتی شامل_ :كنترل دسترسی (Access Control ) ،صحت و درستی (Integrity) ، احراز هویت مبدا داده (Data Origin Authentication ) ، رد بسته های دوباره ارسال شده (Anti Replay ) ، محرمانگی (confidentially) ، محرمانگی جریان ترافیك بصورت محدود_ خواهند بود.
این سرویسها در سه نوع ترکیب IPSec ارتباط فراهم آمده اند:
پروتكلهای ESP , AH فقط بصورت رمزنگاری (Encryption) و ESP بصورت Encryption و احراز هویت (Authentication).
IPSec یك پروتكل توسعه یافته روی پروتكل IP است كه جهت امنیت IP تهیه شده است. این پروتكل از دو پروتكل AHوESP برای اطمینان بیشتر روی احراز هویت،تمامیت داده ها(سلامت داده) و محرمانگی استفاده می كند. این پروتكل می تواند،هم امنیت درلایه شبکه و هم امنیت در پروتكلهای لایه بالاتر در حالت Transport Modeرا برقرار سازد. این پروتكل از دو حالت Tunnel و Transport جهت اعمال سرویسهای امنیتی استفاده می كنند، یعنی برای امنیت لایه شبکه از حالت mode Tunnel استفاده می كند و برای امنیت لایه های بالاتر از حالت انتقال یا mode Transport استفاده می نماید.
درحالت Tunneling ؛دیتاگرام IP بطور كامل توسط دیتاگرامIP جدیدی كپسوله شده و آنرا برای پروتكل IPSec بكار می برد. ولی در حالت Transport فقط payload دیتاگرام بوسیله پروتكل IPSec فیلد سرآیند IPSec و سرآیندIP و فیلدهای لایه های بالایی درج (inserting) می شود.
مزایای حالت Tunnel این است كه آدرسها معمولاً آدرس Gateway هاست كه پس از بازگشایی آدرس واقعی بدست می آید و این موضوع از حملات شبكه جلوگیری می كند و مزیت دوم آن است كه بسته بیرونی، یك بسته IP همانند بقیه بسته هاست و قابلیت مسیریابی دارد.
در حالت Transport احراز هویت بصورت مستقیم بین Server و سرویس گیرنده (Client)توسط كلید متقارن مشترك انجام میگیرد. در این حالت كه الزاماً دو كامپیوتر در یك LAN قرار ندارند. اما در حالت Tunnel، سرویس گیرنده هویت خود را به Gateway اثبات می كند. در هر دو روش هر یك حالت خودشان (Transport mode Manuel mode) را از طریق SA استخراج کرده و مورد استفاده قرار می دهند.
●حالت های انتقال و تونل در AH
قرارداد AH در بسته IP برای حفاظت ازتمامیت داده های تبادلی دیتاگرام IP ، IPSec از كدهای هَش احراز هویت پیام hash (Hash Message Authentication Code- )و یا با اختصار HMAC استفاده می كند. برای استفاده از HMAC،پروتكلهای IPSec از الگوریتم های hash ؛SHA برای محاسبات یك hash مبنا روی یك كلید سری(secret key) و محتویات دیتاگرام IP استفاده می كند.بنابراین این كدهای هش احراز هویت پیام hash هم در سرآیند پروتكل IPSec و هم در پكت های دریافتی كه بتواند این كدها را چك نماید كه در واقع می تواند به كلید سری دسترسی داشته باشد،قرار می گیرد. برای ارائه سرویس محرمانگی دیتاگرام IP ،پروتكلهای IPSec از استانداردهای الگوریتم رمزنگاری متقارن (Symmetric Encryption Algorithm ) استفاده می كنند. IPSec از استانداردهای NULL ، DESاستفاده خواهد كرد. امروزه معمولاً یكی از الگوریتم های قوی مثل Blowfish , AES,۳DES را بكار می برد.
IPSec برای دفاع وحفاظت از تهاجمات داده های تبادلی(Denial of services) ،از روش پنجرهٔ اسلایدی sliding windows استفاده می كند. در این روش هر پكت یك شمارهٔ توالی(sequence number) را به خود اختصاص می دهد و اگر عدد آن پكت به همراه یك windowsیا newer درست شده باشد، در این صورت پكت قدیمی بلافاصله دور انداخته (dispatched) می شود(این روش همچنین برای حفاظت از تهاجمات میانه راه پاسخ (The– of- middle Response Attach) نیز دوباره بكار می آید یعنی حفاظت از مهاجمانی كه پكت های اصلی را ثبت كرده و بعد از چند لحظه تأخیر و احتمالاً تغییر دادن آن، ارسال می دارند.
برای كپسوله كردن و بازگشائی این یک پكت كپسوله شده ، با استفاده ازروشهای ذخیرهٔ سازی، كلیدهای سری،الگوریتم هاIP و آدرسها درگیر در تبادلات اینترنتی را ذخیره نمایند و بکار میگیرد. همهٔ این پارامترهای مورد نیاز جهت حفاظت دیتاگرامIP درجایی بنام مجمع امنیتی یا SA ها ذخیره می شوند. این مجمع امنیتی به نوبت در پایگاه دادهٔ مجمع امنیتی(security association database ) یا (SAD) ذخیره می شوند.
مجمع امنیتی (SA) دارای سه پارامتر یگانه (یكتا-یكه) است كه شامل :
۱-شاخص پارامتر امنیت :(Security Parameter Index) این پارامتر ۳۲ بیتی ارزش محلی داشته. این پارامتربهمراه ESP , HA حمل می شود تا سیستم دریافت كننده بتواند SA مربوط به آن را انتخاب نماید.
۲-مشخصه پارامتر امنیت (security Parameter Identifier )SPI :این پارامتر نوع پروتكل امنیتی SA را تعیین می كند، AH یا ESP طبیعتاً این مشخصه بطور همزمان هر دو پروتكل را بهمراه ندارد.
۳-آدرس مقصد : IP ، این آدرس اساساً آدرس یك نقطه انتهایی یا یك شبكه (روتر، حفاظ) خواهد بود.
با این تفاصیل، بطور کاملترو ریزتر مجمع امنیتی یا SA شامل اطلاعات و پارامترهای زیر است:
۱-آدرس مبداءو مقصد مربوط به سرآیند IPSec.اینها IP آدرسهای پكت های نظیر به نظیر مبداء و مقصد حفاظت شده توسط IPSec می باشند.
۲-الگوریتم و كلید سری بكار برده شده در IPSec ( ESP Informationو .AH Informantion)
برخی پایگاه ذخیره سازی SA ها،اطلاعات بیشتری را نیز ذخیره می كنند كه شامل:
۳-حالت های اصلی انتقال بستهIPSec(Transport یاTunnel )
۴-اندازه Sliding windows جهت حفاظت از تهاجمات بازگشتی (replay attach)
۵-زمان حیات (life time ) SA ها .فاصله زمانی است كه پس از آن SA باید پایان یابد یا باSA جدیدی عوض شود.
۶-حالت ویژه پروتكل IPSec كه در این پارامتر علاوه بر حالتهای Transport , Tunnel ، حالت wildcard نیز مشخص می شود.
Sequence Number caurter-۹ كه یك پارامتر ۳۲ بیتی كه در سرآیند ESP,AH بعنوان فیلد شمارهٔ سریال قراردارد.
sequence caunter cnerflow-۱۰ یك شمارشگر كه سرریز در شماره سریال را ثبت می كند و تعیین اینكه بسته های بعدی SA ارسال شود یا خیر؟
۱۱-Path Maximum Transportation limit یا ماكزیمم بسته ای كه در مسیر قابل انتقال است.
از آنجائیكه IP آدرس مبدأ و مقصد توسط خود SA ها تعریف می شوند. حفاظت از مسیر دو طرفه كامل IPSec بطور مستقیم فقط برای یك طرف امكان پذیر خواهد بود. برای اینكه بتوانیم حفاظت هر دو طرف را انجام دهیم نیازمند دو مجمع امنیتی غیر مستقیم (indirection ) خواهیم بود. SA ها فقط چگونگی حفاظت توسط IPSec را تعریف می كنند:
اطلاعات مقررات امنیتی راجع به هر پكت در مقررات امنیتی (Security Policy) تعریف شده است كه در پایگاه ذخیره كنندهٔ مقررات امنیتی (Database Security Policy ) ثبت ونگهداری می شود.
SP یامقررات امنیتی شامل اطلاعات زیر است:
۱-آدرس مبدأ و مقصد پكت های حفاظت شده. در حالت Transport این آدرسها درست همان آدرسهای مبدأ و مقصد SA است.
۲-پروتكل و پورت حفاظت شده . برخی IPSecها اجاره نمی دهند یك پروتكل به خصوص حفاظت شود. در این حالت تمام تبادلات ارسال و دریافت بین IP آدرسهای ذكر شده حفاظت می شوند.
۳-مجمع امنیتی(SA) (Security Associate ) برای حفاظت پكت ها مورد استفاده قرار می گردد.
تنظیم دستی SA ها همواره دچار خطا و بی دقت است. از سوی دیگر كلید سری و الگوریتم های رمزنگاری مابین همه نقاط شبكه اختصاصی مجازی (VPN) باید به اشتراك گذاشته شود. به خصوص برای مدیران سیستم , تبادل كلید مسئله بحرانی خواهد كرد. بطور مثال اینكه چطور می توانیم تشخیص دادهیم هیچ عملیات رمزنگاری انجام نمی شود تا در آن هنگام تبادل کلید متقارن سری انجام گیرد یکی از همین مسائل است.برای حل این مشکل پروتكل تبادل كلید اینترنت (Internet Key Exchange ) پیاده سازی شده است . این پروتكل احراز هویت، برای نقاط نظیر اولین گام خواهد بود. دومین گام ایجاد SA و كلید سری متقارن جهت انتخاب و بكارگیری كلی تبادلی دیفن هیلمن(Diffle – Hellman key exchange ) خواهد بود.پروتكلIKE برای اطمینان از محرمانگی بطور دوره ای بدقت كلید سری را دوباره دریافت می دارد.●پروتكلهای IPSec
خانواده پروتكل IPSec شامل دو پروتكل است. یعنی سرآیند احراز هویت(۱) یا , AH ESP هر دوی این پروتكل ها از IPSec مستقل خواهد بود.
●پروتكل AH
بطور خلاصه پروتكل AH در واقع تأمین كنندهٔ سرویسهای امنیتی زیر خواهد بود:
۱.تمامیت دادهء ارسالی
۲.احراز هویت مبدا داده ارسالی
۳.رد بسته های دوباره ارسال شده
این پروتکل برای تمامیت داده ارسالی از HMAC استفاده میکند و برای انجام این کار مبنای كارش را مبتنی بر كلید سری قرار می دهد كه payload پكت و بخشهایی تغییر ناپذیر سرآیند IP شبیه IP آدرس خواهد بود. بعد از اینكار این پروتكل سرآیند خودش را به آن اضافه می كند.
سرآیند AH،۲۴ بایت طول دارد. حال به توضیح فیلدهای این پروتكل می پردازیم.
۱.اولین فیلد همان Next Headerمی باشد. این فیلد پروتكلهای بعدی را تعیین می كند. در حالت Tunnel یک دیتاگرام كامل IP كپسوله می شود بنابراین مقدار این فیلد برابر ۴ است. وقتی كه كپسوله كردن یك دیتا گرام TCP در حالت انتقالmode) (Transport باشد، مقدار این فیلد برابر ۶ خواهد شد.
۲.فیلدpayload length همانطوریكه از نامش پیداست طول payload را تعیین می كند.
۳.فیلد Reserved از دو بایت تشكیل شده است.برای آینده در نظر گرفته شده است.
۴.فیلد security parameter Index یا SPI از ۳۲ بیت تشكیل شده است. این فیلد از SA تشكیل شده كه جهت باز كردن پكت های كپسوله شده بكار می رود. نهایتاً ۹۶ بیت نیز جهت نگهداری احراز هویت پیام Hash یا (HMAC) بكار می رود.
۵.HMAC حفاظت تمامیت دادهء ارسالی را برعهده دارد. زیرا فقط نقاط نظیر به نظیر از كلید سری اطلاع دارند كه توسط HMAC بوجود آمده و توسط همان چك میشود.
چون پروتكل HA حفاظت دیتاگرام IP شامل بخشهای تغییر ناپذیری مثل IP آدرسها نیز هست، پروتكل HA اجازه ترجمه آدرس شبكه را نمی دهد. NAT یا ترجمه آدرس شبكه در فیلد IP آدرس دیگری (كه معمولاً IP آدرس بعدا می باشد) قرار می گیرد. وبه این جهت تغییر بعدی HMAC معتبر نخواهد بود. این پروتکل در این دو حالت ارتباط امن بین دو نقطه انتهائی که در دو شبکه مجزا قرار دارند را فراهم می آورد ،همچنین ارتباط امن بین دو نقطه در یک شبکه داخلی و یک نقطه انتهائی و یک مسیر یاب یا حفاظ دیواره آتش(Firewall) را ممکن می سازد.
●پروتكل Encapsulation Security Payload) ESP )
پروتکل ESP سرویسهای امنیتی زیر را ارائه می کند:
۱.محرمانگی
۲.احراز هویت مبدا داده ارسالی
۳.رد بسته های دوباره ارسال شده
در واقع پروتكل ESP هم امنیت تمامیت داده (سلامت داده های ارسالی) پكت هایی كه از HMAC استفاده می كنند را تامین كنید و هم محرمانگی از طریق اصول رمزنگاری (Encryption principle ) بكار گرفته شده .بعد از رمزنگاری پكت و محاسبات مربوط به HMAC ، سرآیند ESP محاسبه و به پكت اضافه می شود. سرآیند ESP شامل دو بخش است كه مطابق شكل ۵ نمایش داده شده است.
۱. اولین ۳۲ بیت سرآیند ESP همان SPI است كه درSA بكار گرفته شده و جهت بازگشایی پكت كپسوله شده ESP بكار می رود.
۲. دومین فیلد همان شماره توالی یا Sequence Number می‌باشد كه به جهت حفاظت از تهاجمات داده های بازگشتی استفاده می شود.
۳. سومین فیلد همان بردار مقدار اولیه یاInitialization Vector (IV) می باشد. این فیلد نیز برای پردازش رمزنگاری بكار می رود. الگوریتمهای رمزنگاری متقارن اگر از IV استفاده نكنند، مورد تهاجم متوالی روی پكت قرار میگیرد. IV این اطمینان را میدهد تا دو مشخصه Payload روی دو Payload رمز شده مختلف قرار گیرد.
پردازش رمزنگاری در IPSec در دو بلوك رمز (Chiper) بكار می رود. بنابراین اگر طول Payload ها تك تك باشند. Payload , IPSec ها را به شكل لایه لایه قرار میدهد. و از اینرو طول این لایه ها همواره در حال اضافه شدن است. طول لایه (Pad length) ۲ بایت است.
۴.فیلد بعدی كه همان Next header می باشد، سرآیند بعدی را مشخص می كند.
۵. این پروتكل HMAC است كه مانند پروتكل HA از تمامیت و سلامت داده های ارسالی حفاظت میكند. فقط این سرآیند است كه می تواند به Payload اعتبار دهد. سرآیند IP شامل پروسه محاسبه نمی باشد.
NAT هیچ دخلی به كار ESP ندارد و این بخش هنوز هم ممكن است بخشی از IPSec باشد و با آن تركیب گردد. NAT پیمایشی (NAT-Traversal ) راه حلی است در كپسوله كردن پكت‌های ESP به همراه پكت های UDP. در شکل شماره ۶ حالتهای انتقال و تونل در پروتکل ESP به نمایش در آمده است.
همان طور که می بینید این پروتکل در این دو حالت ارتباط امن بین دو نقطه انتهائی که در دو شبکه مجزا قرار دارند را فراهم می آورد ،همچنین ارتباط امن بین دو نقطه در یک شبکه داخلی و یک نقطه انتهائی و یک مسیر یاب یا حفاظ دیواره آتش(Firewall) را ممکن می سازد.
●پروتكل IKE
IKE پروتكلی است كه چندین مسئله مهم در ارتباط امن را تنظیم می كند. احراز هویت نقاط نظیر و كلید تبادلی متقارن. این پروتكل مجمع امنیت (SA) را ایجاد كرده و درSAD یا پایگاه مجمع امنیت (Security Association data base ) قرار میدهد. IKE پروتكلی است كه عموماً نیازمند فضای كاربر فوق العاده ای است و روی سیستم های عامل پیاده سازی نمی شود. پروتكل IKE، از پورت شماره UDP/۵۰۰ استفاده می كنند.
IKE از دو مرحله تشكیل شده است. اولین مرحله همان تشكیل مجمع امنیت مدیریت كلید (Internet Security Association and key) یا (ISAKMP SA) می باشد. در مرحله دوم ISAKMPSA ، برای مذاكره و تنظیم IPSec , SA بكار می رود.
احراز هویت مرحله اول نقاط نظیر معمولاً بر مبنای كلیدهای پیش اشتراك شده (Per shared Keys )، كلیدهای RSA و گواهینامه X۵۰۹ بوجود می آید.
مرحله اول از دوحالت پشتیبانی مینماید. حالت اصلی (main mode) و حالت تهاجمی (aggressive mode) این دو حالت نقاط نظیر را احراز هویت كرده و ISAKMP SA را تنظیم می نمایند. در حالت تهاجمی تنها نصف تعداد پیامها در این مورد تحت پوشش قرار میگیرد. به هر حال این خود یك اشكال محسوب می شود، زیرا این حالت نمی تواند از هویت نقاط نظیر پشتیبانی حفاظت نماید و از این جهت است كه این حالت با داشتن كلید پیش اشتراكی (PSK) مستعد حملات میان راهی (man-in-the-middle) خواهد بود. از طرف دیگر تنها منظور از حالت تهاجمی همین است.
در حالت اصلی نه تنهااز كلید پیش شرط مختلف نمی تواند پشتیبانی نمایدبلکه نقاط نظیر به نظیر را نیز نمی شناسد. در حالت تهاجمی كه از حفاظت هویت افراد / نقاط حمایت نمی كند و هویت كاربران انتهایی را چنین شفاف انتقال میدهد. بنابراین نقاط نظیر هر چیز را خواهد دانست پیش از آنكه احراز هویتی در مورد جا و كلیدهای پیش شرط بتواند بكار برد.
در مرحله دوم پروتكل IKE كه SA های پیشنهادی تبادل می شوند و توافقاتی بر پایه ISAKMP SA برای SA انجام خواهد شد. ISAKMP SA احراز هویت برای حفاظت از تهاجمات میان راهی را تهیه می بیند. دومین مرحله از حالت سریع استفاده می كند.معمولاً دو نقطه نظیر روی SAKMP SA با هم مذاكره و توافق می كنند كه هر دو طرف معمولاً روی چندین مذاكره (حداقل ۲ تا) بطور غیر مستقیم توافق كنند
نویسنده : سید محمد حسینی
منبع : سایت اطلاع رسانی امنیت اطلاعات ایران


همچنین مشاهده کنید