IPSec یا همان Internet Protocol Security عبارت است از مجموعهای از چندین پروتکل که برای ایمن سازی پروتکل اینترنت در ارتباطات بوسیله احراز هویت و رمز گذاری در هر بسته (packet) در یک سير داده به کار میرود. این پروتکل محصول مشترک مایکروسافت و سیسکو سیستمز میباشد که در نوع خود جالب توجه است .
مزایا
IPsec بر خلاف دیگر پروتکلهای امنیتی نظیر SSL, TSL, SSH که در لایه انتقال (لایه ۴) به بالا قرار دارند در لایه شبکه یا همان لایه ۳ مدل مرجع OSI کار میکند یعنی لایه ای که IP در آن قرار دارد. که باعث انعطاف بیشتر این پروتکل میشود به طوری که میتواند از پروتکل های لایه ۴ نظیر TCP و UDP محافظت کند.
مزیت بعدی IPsec به نسبت بقیه پروتکلهای امنیتی نظیر SSL این است که نیازی نیست که برنامه بر طبق این پروتکل طراحی شود.
کاربرد:
Ipsec معمولا" برای ایجاد و راه اندازی شبکه خصوصی مجازی (VPNs) مورد استفاده قرار می گیرد.

موقعیت یک شبکه VPN در اینترنت
ساختار
خانواده پروتکل IPSec شامل دو پروتکل است:
Authentication
Header
(AH) و
ESP که هر دوی این پروتکل ها از IPSec مستقل می باشد.
پروتکل AH
بطور خلاصه پروتکل AH در واقع تأمین کننده سرویسهای امنیتی زیر خواهد بود:
- تمامیت داده ارسالی
- احراز هویت مبدا داده ارسالی
- رد بستههای دوباره ارسال شده
این پروتکل برای تمامیت داده ارسالی از HMAC استفاده میکند و برای انجام این کار مبنای کارش را مبتنی بر کلید سری قرار میدهد که payload پکت و بخشهایی تغییر ناپذیر سرآیند IP شبیه IP آدرس خواهد بود. بعد از اینکار این پروتکل سرآیند خودش را به آن اضافه میکند در شکل زیرسرآیند ها و فیلدهای AH نمایش داده شده است.
پروتکل AH، 24 بایت طول دارد.
| 0 - 7 بیت |
8 - 15 بیت |
16 - 23 بیت |
24 - 31 بیت |
| Next Header |
Payload طول |
رزرو |
| Security Parameters Index (SPI) |
| Sequence Number |
| (متغیر) Authentication Data |
فیلدهای پروتکل AH:
- اولین فیلد همان Next Header میباشد. این فیلد پروتکلهای بعدی را تعیین میکند. در حالت Tunnel یک دیتاگرام کامل IP کپسوله میشود بنابراین مقدار این فیلد برابر 4 است. وقتی که کپسوله کردن یک دیتا گرام TCP در حالت انتقال (Transport Mode ) باشد، مقدار این فیلد برابر 6 خواهد شد
- فیلد Payload Length همانطوریکه از نامش پیداست طول Payload را تعیین میکند.
- فیلد Reserved از دو بایت تشکیل شده است.برای آینده در نظر گرفته شده است.
- فیلد security parameter Index یا SPI از 32 بیت تشکیل شده است. این فیلد از SA تشکیل شده که جهت باز کردن پکت های کپسوله شده بکار میرود. نهایتاً 96 بیت نیز جهت نگهداری احراز هویت پیام Hash یا (HMAC) بکار میرود.
- HMAC حفاظت تمامیت دادهء ارسالی را برعهده دارد. زیرا فقط نقاط نظیر به نظیر از کلید سری اطلاع دارند که توسط HMAC بوجود آمده و توسط همان چک میشود. چون پروتکل HA حفاظت دیتاگرام IP شامل بخشهای تغییر ناپذیری مثل IP آدرسها نیز هست، پروتکل AH اجازه ترجمه آدرس شبکه را نمیدهد. NAT یا ترجمه آدرس شبکه در فیلد IP آدرس دیگری (که معمولاً IP آدرس بعدا میباشد) قرار میگیرد. وبه این جهت تغییر بعدی HMAC معتبر نخواهد بود. در شکل زیر حالتهای انتقال و تونل در پروتکل AH به نمایش در آمده است.همان طور که می بینید این پروتکل در این دو حالت ارتباط امن بین دو نقطه انتهائی که در دو شبکه مجزا قرار دارند را فراهم میآورد ،همچنین ارتباط امن بین دو نقطه در یک شبکه داخلی و یک نقطه انتهائی و یک مسیر یاب یا حفاظ دیواره آتش (Firewall) را ممکن می سازد.
پروتکل Encapsulation Security Payload (ESP)
پروتکل ESP سرویسهای امنیتی زیر را ارائه میکند:
- محرمانه بودن
- احراز هویت مبدا داده ارسالی
- رد بستههای دوباره ارسال شده
در واقع پروتکل ESP هم امنیت تمامیت داده (سلامت دادههای ارسالی) پکت هایی که از HMAC استفاده میکنند را تامین کنید و هم محرمانگی از طریق اصول رمزنگاری (Encryption principle ) بکار گرفته شده .بعد از رمزنگاری پکت و محاسبات مربوط به HMAC ، سرآیند ESP محاسبه و به پکت اضافه میشود. سرآیند ESP شامل دو بخش است که مطابق شکل زیر نمایش داده شده است.
| 0 - 7 بیت |
8 - 15 بیت |
16 - 23 بیت |
24 - 31 بیت |
| Security parameters index |
| Sequence number |
| Payload data (متغیر) |
| |
میان گذاری ( ۲۵۵-۰ بایت ) |
|
| |
|
Pad Length |
Next Header |
| Authentication Data (متغیر) |
فیلدهای پروتکل ESP:
- اولین 32 بیت سرآیند ESP همان SPI است که درSA بکار گرفته شده و جهت بازگشایی پکت کپسوله شده ESP بکار میرود.
- دومین فیلد همان شماره توالی یا Sequence Number میباشد که به جهت حفاظت از تهاجمات دادههای بازگشتی استفاده میشود.
- سومین فیلد همان بردار مقدار اولیه یا IV یا همان initial vector میباشد. این فیلد نیز برای پردازش رمزنگاری بکار میرود. الگوریتمهای رمزنگاری متقارن اگر از IV استفاده نکنند، مورد تهاجم متوالی روی پکت قرار میگیرد. IV این اطمینان را میدهد تا دو مشخصه Payload روی دو Payload رمز شده مختلف قرار گیرد.
پردازش رمزنگاری در IPSec در دو بلوک رمز (Cipher) بکار میرود. بنابراین اگر طول Payload ها تک تک باشند. Payload , IPSec ها را به شکل لایه لایه قرار میدهد. و از اینرو طول این لایهها همواره در حال اضافه شدن است. طول لایه (Pad length) 2 بایت است.
- فیلد بعدی که همان Next header میباشد، سرآیند بعدی را مشخص میکند.
- این پروتکل HMAC است که مانند پروتکل HA از تمامیت و سلامت دادههای ارسالی حفاظت میکند. فقط این سرآیند است که میتواند به Payload اعتبار دهد. سرآیند IP شامل پروسه محاسبه نمیباشد.
NAT هیچ دخلی به کار ESP ندارد و این بخش هنوز هم ممکن است بخشی از IPSec باشد و با آن ترکیب گردد. NAT پیمایشی (NAT-Traversal ) راه حلی است در کپسوله کردن پکتهای ESP به همراه پکت های UDP. در شکل زیر حالتهای انتقال و تونل در پروتکلESP به نمایش در آمده است.
همان طور که می بینید این پروتکل در این دو حالت ارتباط امن بین دو نقطه انتهائی که در دو شبکه مجزا قرار دارند را فراهم میآورد ،همچنین ارتباط امن بین دو نقطه در یک شبکه داخلی و یک نقطه انتهائی و یک مسیر یاب یا حفاظ دیواره آتش (Firewall) را ممکن می سازد.
مقالات مرتبط:
آشنایی با پروتکل امنیت لایه انتقال (Transport Layer Security)
مقدمه ای بر Firewall
IP چیست؟
آشنایی با پروتکل SSL و عملکرد آن
منابع:
http://fa.wikipedia.org
http://www.fx.dk/firewall/vpn-info.html