پروتکل IPsec مجموعهای از پروتکلهای شبکه است که برای ایجاد ارتباطات رمزنگاری شده یا encrypt شده در بین دستگاههای مختلف از آن استفاده میشود. این کمک می کند تا دیتا های ارسال شده از طریق شبکه های عمومی را ایمن نگه دارد.وظیفه اصلی آن امنیت دادن به فرآیند انتقال اطلاعات در یک شبکه عمومی یا public است. IPsec به صورت معمول برای راه اندازی VPN مورد استفاده قرار میگیرد، و با رمزگذاری packet های IP، همراه با احراز هویت منبعی که packet ها از آنجا آمده اند، کار می کند. در این عبارت IP مخفف Internet Protocol و sec کوتاه شده Secure است. پروتکل اینترنت پروتکل اصلی مسیریابی استفاده شده در اینترنت بر اساس یافتن مقصد دیتا ها بر اساس آی پی آدرس ها است. پروتکل IPsec با رمزنگاری پکتهای IP، همراه با اعتبارسنجی منبع ارسال پکتها فرآیند انتقال اطلاعات را امن میسازد.
*Encryption، فرآیند پنهان کردن اطلاعات با تغییر ریاضی داده ها به گونه ای است که تصادفی به نظر برسد. به عبارت ساده تر، رمزگذاری استفاده از یک «کد مخفی» است که فقط اشخاص مجاز می توانند آن را تفسیر کنند.
VPN چیست؟ IPsec VPN چیست؟
virtual private network که مخفف آن (VPN)هست، یک اتصال رمزگذاری شده بین دو یا چند کامپیوتر است. اتصالات VPN از طریق شبکه های عمومی انجام می شود، اما داده های مبادله شده از طریق VPN همچنان خصوصی هستند زیرا رمزگذاری شده است.
خیلی از VPN ها از مجموعه پروتکل IPsec برای ایجاد و اجرای این اتصالات رمزگذاری شده استفاده می کنند. با این حال، همه VPN ها از IPsec استفاده نمی کنند. پروتکل دیگر برای VPN ها SSL/TLS است که در مدل OSI در لایه ای متفاوت از IPsec عمل می کند.
نحوه عملکرد پروتکل IPsec
اتصالات IPsec شامل گامهای زیر میشود:
- Key exchange: کلیدهای رمزنگاری یک عامل مهم در این فرآیند محسوب میشوند. یک کلید رشتهای از کاراکترهای تصادفی است که برای قفل کردن یا رمزگذاری و یا باز کردن قفل یا رمزگشایی پیامها از آن استفاده میشود. IPsec کلیدهایی را با تبادل کلید بین دستگاه های متصل تنظیم می کند، به طوری که هر دستگاه می تواند پیام های دستگاه دیگر را رمزگشایی کند و همچنین یک کلید را بین دستگاه و سیستمهای متصل به یکدیگر به اشتراک میگذارد تا به این ترتیب امکان رمزگذاری و رمزگشایی دادههای منتقل شده بین همدیگر را داشته باشند.
- Packet headers: تمام داده هایی که از طریق یک شبکه ارسال می شوند به قطعات کوچکتری به نام packet تقسیم می شوند. packet ها شامل یک بار یا داده های واقعی ارسال شده و سربرگ ها یا اطلاعات مربوط به آن داده ها هستند تا رایانه های دریافت کننده packet ها بدانند که با آنها چه کاری انجام دهند. IPsec چندین هدر به بسته های داده حاوی اطلاعات احراز هویت و رمزگذاری اضافه می کند. IPsec همچنین تریلرهایی را اضافه می کند که به جای قبل از هر بسته، پس از بارگیری هر بسته می روند
- اعتبارسنجی: IPsec مانند یک مهر اعتباربخشی، اعتبارسنجی تمامی پکتهای تحت انتقال را انجام میدهد. این مورد به مقصد اطمینان میدهد که پکت درحال دریافت از یک منبع قابل اطمینان ارسال شده است، نه یک هکر یا حمله کننده.
- رمزنگاری: IPsec بخش اصلی(payload) و آی پی هدر هر پکت را رمزنگاری میکند. این مورد به امن و خصوصی بودن اطلاعات کمک شایانی مینماید.
- انتقال: پکتهای رمزنگاری شده IPsec از طریق یک پروتکل انتقال اطلاعات توسط یک یا چند شبکه ارتباطی به مقصد خود سفر میکنند. در این مرحله ترافیک IPsec از ترافیک IP معمولی تمایز پیدا میکند و به جای استفاده از TCP از UDP استفاده میشود. TCP برخلاف UDP پروتکلی است که ارتباطات اختصاصی بین دستگاههای مختلف ایجاد میکند. IPsec از این جهت از UDP استفاده میکند که پکتها اجازه عبور از فایروالها را داشته باشند.
- رمزگشایی: نهایتا در مقصد ارتباطات پکتهای دریافت شده توسط کلید موجود در هدر رمزگشایی و اطلاعات موجود در پکت قابل استفاده میگردد.
پروتکلهای استفاده شده در IPsec
در شبکه، پروتکل یک روش مشخص برای قالببندی دیتاها است به طوری که هر شبکهای میتواند دیتاها را تفسیر کند. IPsec یک پروتکل نیست، بلکه مجموعه ای از پروتکل ها است. پروتکل های زیر مجموعه IPsec را تشکیل می دهند:
- Authentication Header یا (AH): پروتکل AH تضمین می کند که پکت های داده از یک منبع قابل اعتماد هستند و داده ها دستکاری نشده اند، این header ها هیچ رمزگذاری ارائه نمی دهند. آنها به پنهان کردن داده ها از attacker ها کمک نمی کنند
- Encapsulating Security Protocol یا (ESP): این پروتکل آی پی هدر و payload هر پکت را رمزنگاری مینماید. ESP هدر و تریلر مخصوص خود را به هر پکت اضافه میکند.
- Security Association یا (SA): SA به تعدادی از پروتکل های مورد استفاده برای مذاکره کلیدهای رمزگذاری و الگوریتم ها اشاره دارد. یکی از رایج ترین پروتکل های SA پروتکل IKE یا Internet Key Exchange است.
در نهایت در حالیکه IP یا پروتکل اینترنت بخشی از پروتکل IPsec نیست، IPsec مستقیما بر روی IP اجرا میشود.
تفاوت بین IPsec tunnel mode و IPsec transport mode:
حالت IPsec tunnel بین دو روتر اختصاصی استفاده می شود که هر روتر به عنوان انتهای یک “تونل” مجازی از طریق یک شبکه عمومی عمل می کند. در حالت IPsec tunnel، هِدِر IP اصلی حاوی مقصد نهایی بسته، علاوه بر محموله بسته، رمزگذاری می شود. برای اینکه به روترهای واسطه بگوید کجا بسته ها را ارسال کنند، IPsec یک هِدِر IP جدید اضافه می کند. در هر انتهای تونل، روترها هِدِرهای IP را رمزگشایی می کنند تا بسته ها را به مقصد تحویل دهند.
در transport mode، محموله هر بسته رمزگذاری شده است، اما هِدِر IP اصلی رمزگذاری نشده است. بنابراین روترهای واسطه می توانند مقصد نهایی هر بسته را مشاهده کنند – مگر اینکه از یک پروتکل تونل زنی جداگانه (مانند GRE) استفاده شود.
IPsec از چه پورتی استفاده می کند؟
پورت شبکه مکانی مجازی است که داده ها در یک کامپیوتر در آنجا قرار می گیرند. پورت ها نحوه پیگیری فرآیندها و اتصالات مختلف توسط کامپیوترها هستند. اگر داده ها به پورت خاصی بروند، سیستم عامل کامپیوتر می داند که به کدام فرآیند تعلق دارد. IPsec معمولا از پورت 500 استفاده می کند.
IPsec چگونه بر MSS و MTU تأثیر می گذارد؟
MSS و MTU دو واحد اندازه گیری بسته ها هستند. بسته ها فقط می توانند به اندازه معینی برسند (بر حسب بایت اندازه گیری می شود) قبل از اینکه رایانه ها، روترها و سوئیچ ها نتوانند آنها را مدیریت کنند. MSS اندازه محموله هر بسته را اندازه گیری می کند، در حالی که MTU کل بسته، از جمله هدرها را اندازه گیری می کند. بسته هایی که از MTU شبکه فراتر می روند ممکن است تکه تکه شوند، به این معنی که به بسته های کوچکتر تقسیم شده و سپس دوباره سرهم می شوند. بسته هایی که بیش از MSS هستند به سادگی حذف می شوند.
معمولا MTU برای یک شبکه 1500 بایت است. یک هدر IP معمولی 20 بایت طول دارد و یک هدر TCP نیز 20 بایت طول دارد، به این معنی که هر بسته می تواند حاوی 1460 بایت بار بار باشد. با این حال، IPsec یک سربرگ احراز هویت، یک هدر ESP و تریلرهای مرتبط اضافه می کند. اینها 50-60 بایت به یک بسته یا بیشتر اضافه می کنند.