IPsec چیست؟ مفاهیم، اجزا و عملیات IPsec
اردیبهشت 11, 1403 1403-02-16 12:54IPsec چیست؟ مفاهیم، اجزا و عملیات IPsec
IPsec چیست؟
IPsec یا Internet Protocol Security مجموعه ای از پروتکل ها و خدماتی است که امنیت شبکه های IP را تامین می کند. این پروتکل یک فناوری virtual private network یا VPN است که به طور گسترده مورد استفاده قرار می گیرد. بستههای IP فاقد مکانیسمهای امنیتی مؤثر هستند و ممکن است هنگام انتقال در یک شبکه عمومی مانند اینترنت جعل، سرقت یا دستکاری شوند. برای حل این مشکل، طرف های ارتباطی یک تانل IPsec برای انتقال رمزگذاری شده بسته های IP ایجاد می کنند. این امر انتقال امن بسته های IP را در یک شبکه ناامن مانند اینترنت تضمین می کند.
شبکه خصوصی مجازی یا VPN چیست؟
شبکه خصوصی مجازی (VPN) یک فناوری برای ایجاد یک شبکه خصوصی در یک شبکه عمومی است. این یک شبکه مجازی بر روی یک شبکه عمومی مانند اینترنت است که به داده های کاربر اجازه می دهد از طریق یک لینک مجازی منتقل شود. این با یک شبکه خصوصی سنتی، که در آن داده های کاربر از طریق یک لینک End to End فیزیکی منتقل می شود، متفاوت است.
پروتکل های رایج VPN
پروتکل های رایج VPN عبارتند از IPsec، Secure Sockets Layer (SSL)، Generic Routing Encapsulation (GRE)، Point-to-Point Tunneling Protocol (PPTP) و Layer 2 Tunneling Protocol (L2TP) است.
IPsec یک فناوری VPN است که معمولاً برای سناریوهایmultiple access به شبکه استفاده می شود.
IPsec VPN یک فناوری VPN است که از پروتکل IPsec برای دسترسی از راه دور استفاده می کند. این فناوری به ایجاد یک تانل IPsec بین دو یا چند شبکه خصوصی در یک شبکه عمومی و استفاده از الگوریتمهای رمزگذاری و احراز هویت برای اطمینان از امنیت اتصالات VPN می پردازد.
IPsec VPN با ایجاد تانل های امن بین Host ها، بین Host ها و Gateway های امنیتی شبکه یا بین دو Gateway امنیتی شبکه (مانند روترها و فایروال ها) از ارتباط Point to Point محافظت می کند. در لایه IP برای رمزگذاری و احراز هویت Data Packageها عمل می کند.
در مقایسه با سایر فناوری های VPN، IPsec VPN امن تر است زیرا داده ها برای انتقال در تانل های IPsec رمزگذاری شده اند. با این حال، پیکربندی و استقرار شبکه IPsec VPN پیچیده تر است.
اهداف IPsec و روش های مورد استفاده برای اجرای آنها
روش های مورد استفاده | اهداف |
Encryption | Confidentiality |
Hashing | Data integrity |
Pre-shared keys, RSA digital signatures | Peer authentication |
Integrated into IPsec, basically applying serial numbers to packets | Antireplay |
در ادامه به شرح اهدا می پردازم:
- محرمانگی یا Confidentiality:
با رمزگذاری داده ها، هیچ کس به جز فرستنده و گیرنده قادر به خواندن داده ها نخواهد بود.
- یکپارچگی داده یا Data integrity:
از طریق هش کردن و یا از طریقHashed Message Authentication Code(HMAC) برای تأیید اینکه داده ها در طول انتقال آن از طریق شبکه دستکاری نشده اند ارائه می شود.
- احراز هویت یا Authentication:
احراز هویت VPN Peerها در ابتدای Session VPN با استفاده از pre-shared keys (PSK) یا امضاهای دیجیتال (با استفاده از گواهینامه های دیجیتال) ارائه می شود. احراز هویت همچنین می تواند به طور مداوم از طریق استفاده از HMAC انجام شود، که شامل یک Secret است که فقط برای دو سر VPN شناخته شده است.
- محافظت از پخش مجدد یا :Antireplay protection
هنگامی که VPN ها ایجاد می شوند، Peerها می توانند بسته ها را به صورت متوالی شماره گذاری کنند و اگر سعی شود یک بسته دوباره پخش شود (توسط یک مهاجم)، بسته پذیرفته نخواهد شد زیرا دستگاه VPN معتقد است که قبلاً آن بسته را پردازش کرده است.
سه پروتکل اصلی در IPsec
یکی از محدودیتهای مهم IPSEC VPN سنتی این است که فقط ترافیک IP unicast میتواند از تونل VPN عبور کند. این بدان معنی است که اگر دو یا چند سایت از طریق اینترنت با یک VPN IPSEC متصل شدهاید، نمیتوانید پروتکلهای چندپخشی یا سایر پروتکلهای غیر IP (مانند IPX یا AppleTalk) را از طریق VPN ارسال کنید. به عنوان مثال، عبور پروتکل های مسیریابی (مانند OSPF و EIGRP که از چندپخشی استفاده می کنند) از طریق یک تونل IPSEC امکان پذیر نیست. برای پشتیبانی از ترافیک چندپخشی باید از سایر فناوریهای پروتکل VPN (مانند GRE یا VTI با استفاده از پیکربندی VPN مبتنی بر مسیر) استفاده کنید. پروتکل ها و استانداردهای IPSec زیر بعداً در بحث ما مورد استفاده قرار خواهند گرفت، بنابراین ایده خوبی است که به طور مختصر عملکرد و کاربرد آنها را توضیح دهیم:
Internet Key Exchange (IKE): IPsec از Internet Key Exchange (IKE) برای مذاکره و ایجاد تانل های ایمن سایت site to site یا Remote Access VPN استفاده می کند. IKE چارچوبی است که توسط Internet Security Association and Key Management Protocol (ISAKMP) و بخشی از دو پروتکل مدیریت کلید دیگر، یعنی Oakley و Secure Key Exchange Mechanism (SKEME) ارائه شده است.
در فاز 1 IKE، IPsec Peerها با یکدیگر مذاکره و احراز هویت می کنند. در فاز 2 آنها مواد کلیدی و الگوریتمها را برای رمزگذاری دادههایی که از طریق تانل IPsec منتقل میشوند، مذاکره میکنند.
آموزش راه اندازی VPN Server با تمام پروتوکل های امنیتی در دوره آموزشی MCSA/MCSE 2022
دو نسخه از IKE وجود دارد:
- IKEv1: تعریف شده در RFC 2409، Internet Key Exchange
- IKEv2: تعریف شده در RFC 4306، Internet Key Exchange (IKEv2)
IKEv2 عملکرد تبادل کلید داینامیک و احراز هویت Peer را افزایش می دهد. IKEv2 جریان تبادل کلید را ساده می کند و اقداماتی را برای رفع آسیب پذیری های موجود در IKEv1 معرفی می کند. هر دو پروتکل IKEv1 و IKEv2 در دو فاز عمل می کنند. IKEv2 یک تبادل ساده تر و کارآمدتر را فراهم می کند.
فاز 1 در IKEv2، IKE_SA است که از جفت پیام IKE_SA_INIT تشکیل شده است. IKE_SA_INIT برای شروع مذاکره IKE استفاده می شود. IKE_SA با فاز 1 IKEv1 قابل مقایسه است. SA نوع کلیدی است که بسته ها را روی تانل VPN رمزگذاری می کند. ویژگی های فاز IKE_SA در key exchange policy تعریف شده است. فاز دوم در IKEv2 CHILD_SA است. اولین CHILD_SA (فاز 2 SA) جفت پیام IKE_AUTH است. این مرحله با فاز 2 IKEv1 قابل مقایسه است. ویژگی های CHILD_SA در خط مشی داده تعریف شده است.
تفاوت های IKEv1 شامل موارد زیر است:
- IKEv1 فاز 1 دارای دو تبادل ممکن است: حالت اصلی و حالت تهاجمی. یک جفت پیام برای IKEv2 IKE_SA مبادله می شود.
- IKEv2 یک تبادل ساده از دو جفت پیام برای CHILD_SA دارد. IKEv1 حداقل از یک تبادل جفت سه پیام برای فاز 2 استفاده می کند.
ESP (Encapsulating Security Payload): ESP می تواند داده ها را رمزگذاری کند، منبع داده را احراز هویت کند و یکپارچگی بسته های IP را بررسی کند. یک هدر ESP به هدر IP استاندارد در هر بسته داده و فیلدهای داده ESP Trailer و ESP Auth به هر بسته داده اضافه می شود. ESP در حالت انتقال، یکپارچگی هدرهای IP را بررسی نمی کند. بنابراین، ESP نمی تواند اطمینان حاصل کند که هدرهای IP دستکاری نشده اند.
AH و ESP را می توان به طور مستقل یا با هم استفاده کرد. وقتی AH و ESP با هم استفاده می شوند، کپسوله سازی ESP قبل از کپسوله سازی AH انجام می شود و کپسوله سازی AH قبل از کپسوله سازی ESP انجام می شود.
AH (Authentication Header): AH برای احراز هویت منبع داده و بررسی یکپارچگی بسته های IP استفاده می شود. یعنی AH اطمینان حاصل می کند که منبع بسته های IP قابل اعتماد است و داده ها دستکاری نمی شوند. با این حال، AH عملکرد رمزگذاری را ارائه نمی دهد. یک هدر AH به هدر IP استاندارد در هر بسته داده اضافه می شود. AH یکپارچگی کل بسته IP را بررسی می کند.
IPsec چگونه کار می کند؟
IPsec از چهار مرحله عبور می کند:
- علاقه مند به شناسایی ترافیک: پس از اینکه یک دستگاه شبکه یک بسته را دریافت کرد، HAGLE بسته را با خط مشی IPsec پیکربندی شده مطابقت می دهد تا مشخص شود که آیا بسته باید از طریق یک تونل IPsec منتقل شود یا خیر. ترافیکی که باید از طریق یک تانل IPsec منتقل شود به عنوان ترافیک علاقه مند شناخته می شود.
- Security association (SA) :SA عناصری را برای انتقال ایمن داده بین طرفین ارتباط تعریف می کند. این عناصر شامل پروتکلهای امنیتی، حالتهای کپسولهسازی دادهها، الگوریتمهای رمزگذاری و احراز هویت و کلیدهای مورد استفاده برای انتقال دادهها هستند.
پس از شناسایی ترافیک علاقه مند، دستگاه شبکه محلی مذاکره SA را با دستگاه شبکه همتا آغاز می کند. در این مرحله، طرفهای ارتباطی از پروتکل تبادل کلید اینترنت (IKE) برای ایجاد IKE SA برای احراز هویت و تبادل اطلاعات کلیدی استفاده میکنند و سپس IPsec SA را برای انتقال امن دادهها بر اساس IKE SA ایجاد میکنند.
- انتقال داده ها: پس از ایجاد IPsec SA بین طرفین در ارتباط، آنها می توانند داده ها را از طریق یک تونل IPsec انتقال دهند.برای اطمینان از امنیت انتقال دادهها، از یک سربرگ احراز هویت (AH) یا محفظهی بار امنیتی (ESP) برای رمزگذاری و احراز هویت دادهها استفاده میشود. مکانیسم رمزگذاری محرمانه بودن داده ها را تضمین می کند و از رهگیری داده ها در حین انتقال جلوگیری می کند. مکانیزم احراز هویت یکپارچگی و قابلیت اطمینان داده ها را تضمین می کند و از جعل یا دستکاری داده ها در حین انتقال جلوگیری می کند.
در شکل زیر فرستنده IPsec از الگوریتم رمزگذاری و کلید رمزگذاری برای رمزگذاری بسته IP استفاده می کند، یعنی داده های اصلی را کپسوله می کند. سپس فرستنده و گیرنده از همان الگوریتم احراز هویت و کلید احراز هویت برای پردازش بسته های رمزگذاری شده برای به دست آوردن integrity check value (ICV) استفاده می کنند. اگر ICV های بدست آمده در هر دو طرف یکسان باشند، بسته در حین انتقال دستکاری نمی شود و گیرنده بسته را رمزگشایی می کند. اگر ICV ها متفاوت باشند، گیرنده بسته را دور می اندازد.
تخریب تونل: در بیشتر موارد، قدیمی شدن Session (قطع اتصال) بین دو طرف ارتباطی نشان می دهد که تبادل داده بین دو طرف ارتباط کامل شده است. برای صرفه جویی در منابع سیستم، تانل بین دو طرف ارتباط به طور خودکار با رسیدن به مدت زمان بیکاری تانل از بین می رود.
به طور خلاصه، VPN Peerها یا gateway ها با استفاده از حالت aggressive یا Main، تانل فاز 1 IKE را مورد مذاکره قرار میدهند و سپس از حالت Quick برای ایجاد تونل فاز 2 IKE استفاده میکنند. آنها از تانل فاز 2 IKE برای رمزگذاری و رمزگشایی بسته های کاربر استفاده می کنند. در پشت صحنه، تانل فاز 2 IKE دو تانل یک طرفه ایجاد می کند: یکی از R1 به R2 و دیگری از R2 به R1. کاربر نهایی فرآیند را با جزئیات نمی بیند و کاربران نهایی نمی دانند که رمزگذاری حتی روی بسته های آنها اعمال شده است. بنابراین، می توانیم بگوییم که یک تانل دو طرفه فاز 1 برای مدیریت بین دو Peer VPN و دو تانل یک طرفه فاز 2 داریم که برای رمزگذاری و رمزگشایی بسته های کاربر نهایی استفاده می شود. این تانل ها اغلب به عنوان توافق نامه های امنیتی بین دو Peer VPN شناخته می شوند. در بسیاری از مواقع به این قراردادها security associations (SA) می گویند. به هر SA یک شماره منحصر به فرد برای ردیابی اختصاص داده می شود.
در قسمت بعدی این مقاله به توضیحات بیشتر و دقیقتر در خصوص نجوه عملکرد IPsec پرداخته می شود، همچنین در مورد نحوه پیکربندی IPsec Tunnel بین دو دستگاه Cisco Router بعنوان Site to Site VPN خواهم پرداخت.
نویسنده : مهدی میاحی