• پروتکل های IPSec آناتومی IPsec. بررسی قدرت پروتکل افسانه ای

    پروتکل Encapsulating Security Payload (ESP) محرمانه بودن داده ها را تضمین می کند. علاوه بر این، به شما امکان می دهد فرستنده داده ها را شناسایی کنید و همچنین از یکپارچگی داده ها و محافظت در برابر بازتولید اطلاعات اطمینان حاصل کنید.

    تفاوت بین پروتکل ESP و پروتکل Authentication Header (AH) این است که ESP رمزگذاری داده ها را انجام می دهد. در همان زمان، هر دو پروتکل شناسایی، بررسی یکپارچگی و محافظت در برابر بازتولید اطلاعات را فراهم می کنند. هنگام کار با ESP، هر دو سیستم نهایی از یک کلید مشترک برای رمزگذاری و رمزگشایی داده ها استفاده می کنند.

    اگر رمزگذاری و شناسایی داده ها به طور همزمان استفاده شوند، سیستم پاسخ دهنده ابتدا بسته را شناسایی می کند و اگر شناسایی موفقیت آمیز باشد، بسته را رمزگشایی می کند. این روش پردازش بسته ها، بار روی سیستم را کاهش می دهد و خطر نقض امنیت را از طریق حمله انکار سرویس کاهش می دهد.

    دو روش برای استفاده از ESP

    پروتکل ESP را می توان به دو صورت استفاده کرد: در حالت انتقال باز و در حالت تونل. در حالت ارسال باز، هدر ESP بعد از هدر IP دیتاگرام مشخص می شود. اگر دیتاگرام از قبل یک هدر IPSec داشته باشد، هدر ESP قبل از آن هدر قرار می گیرد. تریلر ESP و داده های شناسایی، در صورت وجود، بعد از فیلد داده نشان داده می شوند.

    در حالت انتقال شفاف، هدر IP شناسایی یا رمزگذاری نمی شود. در این حالت، آدرس های مشخص شده در هدر ممکن است در حین انتقال دیتاگرام از طریق شبکه رهگیری شوند. ارتباط در حالت انتقال باز به منابع کمتری نسبت به هنگام کار در حالت تونل نیاز دارد. با این حال، این حالت بیشتر فراهم می کند سطح پایینحفاظت. در بیشتر موارد هنگام کار با پروتکل ESP از حالت انتقال باز استفاده می شود.

    در حالت تونل، یک هدر IP جدید ایجاد می شود و به بیرونی ترین هدر دیتاگرام تبدیل می شود. به دنبال آن هدر ESP و سپس خود دیتاگرام (سرآیند IP و داده) قرار می گیرد. تریلر ESP و داده‌های شناسایی، در صورت وجود، به انتهای فیلد داده اضافه می‌شوند. اگر رمزگذاری و احراز هویت همزمان استفاده شوند، ESP به طور کامل از دیتاگرام اصلی محافظت می کند، زیرا این دیتاگرام به فیلد داده در بسته جدید ESP تبدیل می شود. هدر IP جدید محافظت نمی شود. هنگام برقراری ارتباط بین دروازه ها، از ESP در حالت تونل استفاده کنید.

    الگوریتم امنیت اطلاعات مورد استفاده توسط ESP

    ESP از یک کلید متقارن برای رمزگذاری و رمزگشایی داده ها استفاده می کند. سیستم های پایانی. قبل از مبادله داده ها، فرستنده و گیرنده باید در مورد کلیدی که استفاده خواهند کرد به توافق برسند. ویژگی VPN از روش های رمزگذاری DES، Triple DES (3DES)، RC5، RC4، AES یا AES-CBC پشتیبانی می کند.

    هنگام استفاده از الگوریتم رمزگذاری AES، می توانید Extended Sequence Number (ESN) را فعال کنید. ESN به شما اجازه می دهد تا حجم زیادی از داده ها را با سرعت بالا انتقال دهید. اتصال VPN از اعداد دنباله ای 64 بیتی به جای اعداد 32 بیتی از طریق IPSec استفاده می کند. استفاده از اعداد ترتیبی 64 بیتی زمان قبل از کلید زدن مجدد را افزایش می دهد، که از پایان مجموعه اعداد دنباله جلوگیری می کند و مصرف منابع سیستم را کاهش می دهد.

    گروه کاری اینترنت (IETF) به طور رسمی الگوریتم ها را در RFC های زیر توصیف می کند:

    این و سایر RFC ها را می توان در اینترنت در وب سایت زیر یافت: http://www.rfc-editor.org.

    پروتکل ESP از الگوریتم های احراز هویت HMAC-MD5، HMAC-SHA، HMAC-SHA-256 و AES-XCBC-MAC پشتیبانی می کند. هر دو الگوریتم داده های با طول متغیر و یک کلید خصوصی را به عنوان ورودی می گیرند و از آنها برای تولید داده های با طول ثابت (یا مقدار هش یا MAC) استفاده می کنند. اگر مقادیر هش محاسبه شده برای دو پیام یکسان باشد، به احتمال زیاد این پیام ها یکسان هستند.

    گروه کاری اینترنت (IETF) به طور رسمی الگوریتم ها را در RFC های زیر توصیف می کند:

    این RFC ها را می توان در وب سایت زیر مشاهده کرد: http://www.rfc-editor.org.

    VPN های دارای IPsec اتصال انعطاف پذیر و مقیاس پذیر را ارائه می دهند. اتصالات بین شعبه ای می توانند ارتباطات راه دور ایمن، پرسرعت و قابل اعتماد را فراهم کنند. با یک VPN با IPsec، اطلاعات یک شبکه خصوصی به صورت ایمن منتقل می شود شبکه عمومی. این به شما این امکان را می دهد که به جای استفاده از یک اتصال اختصاصی لایه 2، همانطور که در شکل نشان داده شده است، یک شبکه مجازی ایجاد کنید. برای اطمینان از محرمانه بودن داده ها، ترافیک رمزگذاری می شود.

    IPsec یک استاندارد IETF است که نحوه پیکربندی VPN را در حالت امن با استفاده از پروتکل IP تعریف می کند.

    IPsec یک چارچوب استاندارد باز است که قوانینی را برای ایجاد ارتباطات امن تعریف می کند. IPsec با روش‌های رمزگذاری و احراز هویت، الگوریتم‌های امنیتی یا فناوری تبادل کلید مرتبط نیست. IPsec از الگوریتم های موجود برای ارائه ارتباطات ایمن استفاده می کند. IPsec به شما امکان می دهد الگوریتم های جدید و بهتری ایجاد کنید که برای توسعه آنها نیازی به تنظیم استانداردهای IPsec موجود نیست.

    IPsec در لایه شبکه عمل می کند و محافظت و احراز هویت بسته های IP را بین دستگاه های IPsec در حال ارتباط که همتا نامیده می شوند، فراهم می کند. IPsec به شما امکان می دهد مسیری بین یک جفت دروازه، یک جفت کامپیوتر یا بین یک دروازه و یک کامپیوتر را ایمن کنید. در نتیجه، IPsec می تواند تقریباً از هر ترافیک برنامه ای محافظت کند، زیرا لایه های 4 تا 7 را می توان پیاده سازی کرد.

    تمام راه حل های IPsec پیاده سازی شده از یک هدر لایه 3 رمزگذاری نشده استفاده می کنند، بنابراین هیچ مشکلی در مسیریابی وجود ندارد. IPsec در بالای هر پروتکل لایه 2 مانند اترنت، ATM و Frame Relay اجرا می شود.

    ویژگی های اصلی پروتکل IPsec به شرح زیر است:

    • IPsec یک چارچوب استاندارد باز است که مستقل از الگوریتم است.
    • IPsec محرمانه بودن و یکپارچگی داده ها و همچنین احراز هویت منبع را فراهم می کند.
    • IPsec به عنوان یک پروتکل لایه شبکه عمل می کند و از بسته های IP محافظت می کند و صحت آنها را تأیید می کند.
    • حفاظت از IP

    • شکل نشان می دهد که سرویس های امنیتی IPsec وظایف مهم زیر را انجام می دهند:


      • حریم خصوصی (رمزگذاری)- برخط vpn خصوصیداده ها از طریق یک شبکه عمومی منتقل می شود. بنابراین، وظیفه اصلی اطمینان از محرمانه بودن داده ها است. برای انجام این کار، داده ها قبل از انتقال از طریق شبکه رمزگذاری می شوند. رمزگذاری فرآیند رمزگذاری تمام داده های ارسال شده از یک رایانه به رایانه دیگر به شکلی است که فقط رایانه گیرنده می تواند رمزگشایی کند. اگر پیام رهگیری شود، مهاجم (هکر) قادر به خواندن آن نخواهد بود. IPsec ویژگی های امنیتی پیشرفته (مانند الگوریتم های رمزگذاری قوی) را فراهم می کند.
      • یکپارچگی داده- گیرنده می تواند تأیید کند که داده ها به طور معمول از طریق اینترنت منتقل شده اند و به هیچ وجه تغییر نکرده اند. مهم است که نه تنها اطمینان حاصل شود که داده های یک شبکه عمومی رمزگذاری شده است، بلکه باید اطمینان حاصل شود که در حین انتقال تغییر نکرده است. IPsec مکانیزمی را برای بررسی اینکه آیا هیچ تغییری در بخش رمزگذاری شده بسته، در کل هدر یا در بدنه داده بسته ایجاد نشده است ارائه می دهد. IPsec یکپارچگی داده ها را با استفاده از چک جمع ها تضمین می کند (یک بررسی ساده با استفاده از افزونگی اعمال می شود). در صورت مشاهده فساد، بسته حذف می شود.
      • احراز هویت- به شما امکان می دهد بررسی کنید که منبع داده های ارسالی چه کسی بوده است. این برای محافظت در برابر حملاتی که از جعل استفاده می کنند (جایگزینی فرستنده) ضروری است. احراز هویت تضمین می کند که یک ارتباط با شریک ارتباطی صحیح برقرار می شود. گیرنده می تواند منبع بسته را با تأیید منبع اطلاعات تأیید کند. IPsec از فناوری تبادل کلید اینترنت (IKE) برای احراز هویت کاربران و دستگاه هایی که می توانند به طور مستقل ارتباط برقرار کنند، استفاده می کند. IKE از انواع مختلف احراز هویت مانند نام کاربری و رمز عبور، رمز عبور یک بار مصرف، بیومتریک، کلید پیش مشترک (PSK) و گواهی های دیجیتال استفاده می کند.
      • محافظت از پخش مجدد- به شما امکان می دهد بسته های مکرر را شناسایی و رد کنید و همچنین از جعل جلوگیری کنید. با محافظت از پخش مجدد، می توانید اطمینان حاصل کنید که بسته منحصر به فرد است و تکراری نیست. بسته های IPsec با مقایسه تعداد توالی بسته های دریافتی با یک پنجره کشویی در میزبان مقصد یا دروازه امنیتی محافظت می شوند. بسته ای با شماره ترتیبی که قبل از پنجره کشویی قرار می گیرد، با تاخیر یا تکراری در نظر گرفته می شود. بسته های تاخیری و تکراری حذف می شوند.

      مخفف CIA در بسیاری از موارد این سه عملکرد را به ذهن متبادر می کند: محرمانگی (محرمانه بودن)، صداقت (یکپارچگی) و احراز هویت (احراز هویت).

    • ساختار پروتکل IPsec

    • محرمانه بودن

      محرمانه بودن ترافیک VPNتوسط رمزگذاری پشتیبانی می شود. داده های پاک (غیر رمزگذاری نشده) منتقل شده از طریق اینترنت را می توان رهگیری و خواند. از رمزگذاری برای خصوصی نگه داشتن داده ها استفاده می شود. به دلیل رمزگذاری دیجیتالی داده ها، تا زمانی که توسط گیرنده مجاز رمزگشایی نشده باشند، غیرقابل خواندن باقی می مانند.

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


    • شکل نشان می دهد که گیل می خواهد یک انتقال الکترونیکی انجام دهد پولاز طریق اینترنت به جرمی. در سمت محلی، سند با یک کلید ترکیب شده و تحت یک روش رمزگذاری قرار می گیرد. خروجی یک متن رمزی است. سپس این متن رمزی از طریق اینترنت ارسال می شود. در سمت راه دور، پیام دوباره با کلید ترکیب می شود و از طریق الگوریتم رمزگذاری در جهت مخالف عبور می کند. خروجی اصل سند مالی است.

      محرمانه بودن با رمزگذاری ترافیک در حین انتقال از طریق VPN به دست می آید. درجه امنیت به طول کلید در الگوریتم رمزگذاری و پیچیدگی خود الگوریتم بستگی دارد. اگر یک هکر سعی کند کلید را از طریق حمله brute force بشکند، تعداد گزینه‌های brute force به طول کلید بستگی دارد. زمان پردازش همه گزینه های ممکن به قدرت پردازش کامپیوتر مهاجم بستگی دارد. بنابراین، هر چه کلید کوتاه‌تر باشد، شکستن آن آسان‌تر است. به عنوان مثال، اگر یک رایانه نسبتاً قدرتمند تقریباً یک سال طول بکشد تا یک کلید 64 بیتی را شکست دهد، ممکن است همان رایانه برای شکستن یک کلید 128 بیتی 10 تا 19 سال طول بکشد.

    الگوریتم های رمزگذاری IPsec

    درجه امنیت به طول کلید در الگوریتم رمزگذاری بستگی دارد. با افزایش طول کلید، احتمال شکستن رمز کاهش می یابد. با این حال، هر چه کلید طولانی تر باشد، منابع CPU بیشتری برای رمزگذاری و رمزگشایی داده ها مورد نیاز خواهد بود.

    DES و 3DES دیگر امن در نظر گرفته نمی شوند، بنابراین AES برای رمزگذاری IPsec توصیه می شود. بالاترین سطح امنیت برای رمزگذاری VPN بین دستگاه های سیسکو با استفاده از IPsec توسط AES 256 بیتی ارائه می شود. علاوه بر این، با توجه به شکستن کلیدهای 512 بیتی و 768 بیتی Rivest-Shamir-Edleman (RSA)، سیسکو استفاده از کلیدهای 2048 بیتی را در نوع RSA (در صورت استفاده در مرحله تأیید اعتبار IKE) توصیه می کند.

    رمزگذاری متقارن

    الگوریتم های رمزگذاری مانند AES برای انجام رمزگذاری و رمزگشایی به یک راز مشترک نیاز دارند. هر دو دستگاه شبکه باید کلید رمزگشایی اطلاعات را بدانند. با رمزگذاری کلید متقارن (همچنین به عنوان رمزگذاری کلید مخفی شناخته می شود)، هر دستگاه داده ها را قبل از ارسال از طریق شبکه به دستگاه دیگر رمزگذاری می کند. با رمزگذاری کلید متقارن، باید بدانید که کدام دستگاه ها با یکدیگر صحبت می کنند تا بتوان کلید یکسانی را در هر دستگاه پیکربندی کرد (شکل 1 را ببینید).

    به عنوان مثال، فرستنده یک پیام رمزگذاری شده ایجاد می کند که در آن هر حرف به حرف دو حرف پایین تر در الفبا تغییر می کند (یعنی A تبدیل به C، B تبدیل به D و غیره می شود). در این صورت کلمه SECRET تبدیل به UGETGV می شود. فرستنده قبلاً به گیرنده گفته است که کلید مخفی با 2 آفست شده است. هنگامی که گیرنده یک پیام UGETGV را دریافت می کند، رایانه او پیام را با تغییر دو حرف رمزگشایی می کند و کلمه SECRET را دریافت می کند. هر کاربر دیگری که به این پیام نگاه می کند آن را به صورت رمزگذاری شده می بیند. برای اینکه چنین پیامی شبیه abracadabra نباشد، باید کلید مخفی را بدانید.

    ویژگی های الگوریتم های متقارن به شرح زیر است:

    • رمزنگاری کلید متقارن استفاده می شود.
    • همان کلید برای رمزگذاری و رمزگشایی استفاده می شود.
    • معمولاً برای رمزگذاری محتوای یک پیام استفاده می شود.
    • مثال: DES، 3DES و AES

    چگونه دستگاه های رمزگذاری و رمزگشایی می توانند اطلاعاتی درباره کلید مخفی مشترک به دست آورند؟ البته اسرار مشترک را می توان از طریق ایمیل، پست معمولی یا پیک برای مدیران دستگاه ارسال کرد. اما روش دیگر و قابل اطمینان تر، رمزگذاری نامتقارن است.

    رمزگذاری نامتقارن

    رمزگذاری نامتقارن از کلیدهای مختلفی برای رمزگذاری و رمزگشایی استفاده می کند. دانستن یکی از کلیدها به هکر اجازه محاسبه کلید دوم و رمزگشایی اطلاعات را نمی دهد. یک کلید برای رمزگذاری پیام و کلید دوم برای رمزگشایی آن استفاده می شود (شکل 2 را ببینید). با استفاده از یک کلید نمی توانید عملیات رمزگذاری و رمزگشایی را انجام دهید.

    یکی از گزینه ها رمزگذاری نامتقارنرمزگذاری کلید عمومی است که از ترکیب کلیدهای مخفی و عمومی (عمومی) استفاده می کند. گیرنده کلید عمومی را در اختیار هر فرستنده ای قرار می دهد که گیرنده باید با آن ارتباط برقرار کند. برای رمزگذاری پیام، فرستنده از یک کلید خصوصی استفاده می کند که با کلید عمومی گیرنده ترکیب می شود. علاوه بر این، فرستنده باید کلید عمومی خود را به گیرنده اطلاع دهد. برای رمزگشایی پیام، گیرنده از کلید عمومی فرستنده به همراه کلید خصوصی خود استفاده می کند.

    ویژگی های الگوریتم های نامتقارن به شرح زیر است:

    • رمزنگاری کلید عمومی استفاده می شود.
    • کلیدهای مختلف برای رمزگذاری و رمزگشایی استفاده می شود.
    • معمولاً هنگام مدیریت گواهینامه ها و کلیدهای دیجیتال استفاده می شود.

    یکپارچگی و الگوریتم های هش

    الگوریتم های هش برای اطمینان از یکپارچگی و احراز هویت ترافیک VPN استفاده می شود. یکپارچگی و احراز هویت داده ها توسط کدهای هش ارائه می شود، که تضمین می کند پیام های ارسال شده توسط افراد غیرمجاز دستکاری نمی شوند. کد هش که خلاصه پیام نیز نامیده می شود، عددی است که از یک رشته متن تولید می شود. کد هش کوچکتر از خود متن است. با استفاده از یک فرمول به گونه ای ایجاد می شود که بعید به نظر می رسد همان مقدار هش را از متن دیگری دریافت کنید.

    فرستنده اصلی یک هش از پیام تولید می کند و آن را همراه با خود پیام ارسال می کند. گیرنده پیام و کد هش را تجزیه می کند، کد هش دیگری را بر اساس پیام های دریافتی تولید می کند و هر دو کد هش را با هم مقایسه می کند. اگر مطابقت داشته باشند، گیرنده می تواند به طور منطقی از صحت پیام اصلی مطمئن باشد.

    شکل نشان می دهد که گیل یک ایمیل برای الکس ارسال کرده است. حوالهبه مبلغ 100 دلار جرمی این انتقال را رهگیری و تغییر داد تا نشان دهد که او گیرنده است و مبلغ انتقال 1000 دلار است. در این حالت، اگر از الگوریتم یکپارچگی داده استفاده شده باشد، کدهای هش با یکدیگر مطابقت ندارند و تراکنش نامعتبر خواهد بود.

    داده های VPN از طریق اینترنت عمومی منتقل می شود. همانطور که در شکل نشان داده شده است، امکان رهگیری و اصلاح این داده ها وجود دارد. برای محافظت از رایانه ها در برابر این تهدید، کدهای هش را می توان به پیام اضافه کرد. اگر کد هش ارسالی با کد هش دریافتی مطابقت داشته باشد، به این معنی است که یکپارچگی پیام تضمین شده است. با این حال، اگر کدهای هش مطابقت نداشته باشند، پیام اصلاح شده است.

    VPN ها از یک کد احراز هویت برای تأیید صحت و صحت یک پیام بدون استفاده از مکانیزم های اضافی استفاده می کنند.

    کد احراز هویت پیام مبتنی بر هش (HMAC) مکانیزمی برای احراز هویت پیام ها با استفاده از توابع هش است. HMAC با تبادل کلید یک الگوریتم یکپارچگی داده است که یکپارچگی پیام را تضمین می کند. HMAC دو پارامتر دارد: پیامی که باید وارد شود و یک کلید مخفی که فقط نویسنده پیام و گیرندگان مورد نظر می‌شناسند. فرستنده پیام از تابع HMAC برای تولید یک مقدار (کد احراز هویت پیام) استفاده می کند که با پردازش کلید مخفی و پیام ورودی تولید می شود. کد احراز هویت پیام به همراه پیام ارسال می شود. گیرنده یک کد احراز هویت پیام را در پیام دریافتی با استفاده از همان کلید و عملکرد HMAC مورد استفاده فرستنده محاسبه می کند. سپس گیرنده نتیجه محاسبه شده را با کد احراز هویت پیام دریافتی مقایسه می کند. اگر هر دو مقدار مطابقت داشته باشند، به این معنی است که یک پیام معتبر دریافت شده است و گیرنده می تواند مطمئن شود که فرستنده عضوی از جامعه کاربران با استفاده از کلید از پیش به اشتراک گذاشته شده است. قدرت رمزنگاری الگوریتم HMAC به قدرت رمزنگاری تابع هش زیربنایی، اندازه و کیفیت کلید و طول نتیجه هش (به بیت) بستگی دارد.

    دو الگوریتم رایج HMAC وجود دارد:

    • MD5- از یک راز مشترک 128 بیتی استفاده می شود. یک پیام طول دلخواه و یک راز مشترک 128 بیتی با یکدیگر ترکیب شده و توسط الگوریتم هش HMAC-MD5 پردازش می‌شوند. نتیجه یک کد هش 128 بیتی است. کد هش به پیام اصلی اضافه شده و به سمت راه دور ارسال می شود.
    • SHA- SHA-1 از یک کلید مخفی مشترک 160 بیتی استفاده می کند. پیام طول متغیر و راز مشترک 160 بیتی با یکدیگر ترکیب شده و توسط الگوریتم هش HMAC-SHA1 پردازش می شوند. نتیجه یک کد هش 160 بیتی است. کد هش به پیام اصلی اضافه شده و به سمت راه دور ارسال می شود.

    توجه داشته باشید. Cisco IOS همچنین از گزینه های 256 بیتی، 384 بیتی و 512 بیتی SHA پشتیبانی می کند.

    احراز هویت IPsec

    یک تابع احراز هویت در شبکه های IPsec VPN پشتیبانی می شود. اگر شرکای تجاری شما در فاصله زیادی از شما هستند، مهم است که بدانید با چه کسی تلفنی صحبت می کنید، چه کسی برای شما ایمیل یا فکس می فرستد. همین امر در مورد شبکه های VPN نیز صادق است. همانطور که در شکل نشان داده شده است، قبل از اینکه کانال ارتباطی امن در نظر گرفته شود، باید هویت دستگاه در انتهای دیگر تونل VPN تأیید شود. دو روش برای احراز هویت یک همکار وجود دارد:

    • PSK- یک کلید مخفی که از قبل برای دو کاربر که از طریق یک کانال امن ارتباط برقرار می کنند شناخته شده است. روش کلید مشترک (PSK) از الگوریتم های رمزنگاری کلید متقارن استفاده می کند. کلید PSK به صورت دستی در هر یک از گره های تعاملی (همتایان) وارد می شود و برای احراز هویت یکدیگر استفاده می شود. در هر طرف، PSK با اطلاعات دیگر ترکیب می شود تا یک کلید احراز هویت را تشکیل دهد.

    الگوریتم IPsec از الگوریتم RSA (سیستم رمزنگاری کلید عمومی) برای احراز هویت در زمینه IKE استفاده می کند. RSA از این طرح استفاده می کند امضای دیجیتالی، که از طریق آن هر دستگاه یک امضای دیجیتالی را به یک مجموعه داده متصل می کند و آن را به کاربر دیگری منتقل می کند. الگوریتم امضای RSA از یک مرجع گواهی (CA) برای ایجاد یک گواهی دیجیتال با یک شناسه منحصر به فرد استفاده می کند که برای احراز هویت به هر همتا اختصاص داده می شود. گواهی هویت دیجیتال خود مشابه کلید PSK است، اما سطح امنیتی بسیار بالاتری را ارائه می دهد. هر آغازگر و پاسخ دهنده در یک جلسه IKE با استفاده از امضاهای RSA مقدار هویت خود، گواهی هویت دیجیتال خود و یک مقدار امضای RSA متشکل از مقادیر متعدد IKE را ارسال می کند. همه این داده ها با استفاده از روش رمزگذاری مذاکره شده IKE (مانند AES) رمزگذاری می شوند.

    روش دیگر احراز هویت، الگوریتم امضای دیجیتال (Digital الگوریتم امضا، DSA).

    ساختار پروتکل IPsec

    همانطور که در بالا ذکر شد، مجموعه پروتکل IPsec روشی را برای تبادل پیام برای ارتباطات ایمن توصیف می کند، اما بر الگوریتم های موجود متکی است.

    شکل 1 دو پروتکل اصلی IPsec را نشان می دهد:

    • سربرگ احراز هویت (AH)- AH یک پروتکل ویژه است که در مواقعی که محرمانه بودن مورد نیاز یا ممنوع نیست استفاده می شود. احراز هویت و یکپارچگی داده ها را برای بسته های IP ارسال شده بین دو سیستم فراهم می کند. با این حال، AH محرمانگی (رمزگذاری) داده ها در بسته ها را فراهم نمی کند. تمام متن در متن واضح (بدون رمزگذاری) منتقل می شود. اگر فقط از پروتکل AH استفاده شود (و هیچ مکانیزم دیگری استفاده نشود)، پس محافظت ضعیفی را ارائه می دهد.
    • پروتکل رمزگذاری محفظه بار امنیتی (ESP).یک پروتکل امنیتی است که با رمزگذاری یک بسته IP، حریم خصوصی و احراز هویت را فراهم می کند. فرآیند رمزگذاری یک بسته IP، داده های مبدا و مقصد و شناسه ها را پنهان می کند. ESP بسته IP داخلی و هدر ESP را احراز هویت می کند. احراز هویت، احراز هویت منبع داده و یکپارچگی داده را فراهم می کند. اگرچه رویه های رمزگذاری و احراز هویت در ESP اختیاری هستند، شما باید حداقل یکی از آنها را انتخاب کنید.

    روی انجیر شکل 2 اجزای یک پیکربندی IPsec را نشان می دهد. چهار بلوک اصلی برای چارچوب IPsec وجود دارد که باید از بین آنها انتخاب کنید.


    • حریم خصوصی (اگر می خواهید از IPsec با ESP استفاده کنید)- الگوریتم رمزگذاری انتخاب شده باید بهترین راهسطح مورد نیاز امنیت را فراهم کنید: DES، 3DES یا AES. AES بسیار توصیه می شود (AES-GCM بالاترین سطح امنیت را ارائه می دهد).
    • تمامیت- تضمین می کند که محتوا در حین انتقال تغییر نکرده است. برای انجام این تابع از الگوریتم های هش استفاده می شود. شما می توانید MD5 و SHA را انتخاب کنید.
    • احراز هویت- نحوه احراز هویت دستگاه های دو سر تونل VPN را مشخص می کند. گزینه های موجود: PSK یا RSA.
    • گروه الگوریتم DH- راهی برای تولید یک کلید مخفی مشترک بین گره ها تعریف می کند. گزینه های مختلفی وجود دارد، اما DH24 بالاترین سطح امنیت را ارائه می دهد.

    ترکیبی از این بلوک های ساختمانی، محرمانه بودن، یکپارچگی و احراز هویت VPN ها را از طریق IPsec تضمین می کند.

    توجه داشته باشید. این بخش یک توضیح کلی از پروتکل IPsec ارائه می دهد تا به شما کمک کند بفهمید IPsec چگونه تونل های VPN را ایمن می کند. فرآیند پیکربندی VPN های IPsec در این دوره پوشش داده نمی شود.

    (امنیت اینترنتانجمن و پروتکل مدیریت کلید (ISAKMP)) - مدیریت کلیدها و احراز هویت اتصالات امن.

  • RFC 2409 (The Internet Key Exchange (IKE)) - مبادله کلید.
  • RFC 2410 (الگوریتم رمزگذاری NULL و استفاده از آن با IPsec) - الگوریتم رمزگذاری NULL و استفاده از آن.
  • RFC 2411 (نقشه راه سند امنیت IP) - پیشرفتهای بعدیاستاندارد
  • RFC 2412 (پروتکل تعیین کلید OAKLEY) - بررسی انطباق کلید.
  • معماری IPsec

    پروتکل های IPsec، بر خلاف سایر پروتکل های معروف SSL و TLS، در لایه شبکه (لایه 3 مدل OSI) عمل می کنند. این باعث می شود IPsec انعطاف پذیرتر شود به طوری که می توان از آن برای ایمن سازی هر پروتکل مبتنی بر TCP و UDP استفاده کرد. IPsec می تواند برای تامین امنیت بین دو میزبان IP، بین دو دروازه امنیتی یا بین یک میزبان IP و یک دروازه امنیتی استفاده شود. این پروتکل یک "افزونه" بر روی پروتکل IP است و بسته های IP تولید شده را به روشی که در زیر توضیح داده شده پردازش می کند. IPsec می تواند یکپارچگی و/یا محرمانه بودن داده های منتقل شده از طریق شبکه را اعمال کند.

    IPsec از پروتکل های زیر برای انجام عملکردهای مختلف استفاده می کند:

    • Authentication Header (AH) یکپارچگی اتصال مجازی (داده های ارسالی)، احراز هویت منبع اطلاعات و عملکرد اضافیبرای جلوگیری از ارسال مجدد بسته ها
    • محفظه بار امنیتی (ESP) می تواند محرمانه بودن (رمزگذاری) اطلاعات ارسال شده را فراهم کند و جریان ترافیک محرمانه را محدود کند. علاوه بر این، می تواند یکپارچگی اتصال مجازی (داده های ارسال شده)، احراز هویت منبع اطلاعات و عملکرد اضافی جلوگیری از ارسال مجدد بسته ها را تضمین کند (هر زمان که ESP اعمال شود، در بدون شکستباید از یک مجموعه داده سرویس امنیتی یا دیگری استفاده شود)
    • انجمن امنیت (SA) مجموعه ای از الگوریتم ها و داده ها را ارائه می دهد که پارامترهای لازم برای عملکرد AH و/یا ESP را فراهم می کند. انجمن امنیت اینترنت و پروتکل مدیریت کلید (ISAKMP) چارچوبی را برای احراز هویت و تبادل کلید، احراز هویت کلید فراهم می کند.

    انجمن امنیت

    مفهوم "Security Association" (SA) برای معماری IPsec اساسی است. SA یک اتصال سیمپلکس است که برای انتقال ترافیک مربوطه بر روی آن تشکیل شده است. هنگام اجرای سرویس های امنیتی، یک SA بر اساس استفاده از پروتکل های AH یا ESP (یا هر دو به طور همزمان) تشکیل می شود. SA مطابق با مفهوم اتصال نقطه به نقطه تعریف شده است و می تواند در دو حالت کار کند: حالت حمل و نقل (PTP) و حالت تونل زدن (RTU). حالت انتقال با SA بین دو گره IP پیاده سازی می شود. در حالت تونل، SA یک تونل IP را تشکیل می دهد.

    همه SA ها در پایگاه داده های امنیتی (SADB) ماژول IPsec ذخیره می شوند. هر SA دارای یک نشانه منحصر به فرد است که از سه عنصر تشکیل شده است:

    • شاخص پارامتر امنیتی (SPI)
    • آدرس های IP مقصد
    • شناسه پروتکل امنیتی (ESP یا AH)

    ماژول IPsec، با توجه به این سه پارامتر، می تواند ورودی SADB را برای یک SA خاص جستجو کند. لیست اجزای SA شامل:

    شماره سریالمقدار 32 بیتی که برای تشکیل فیلد استفاده می شود شماره ترتیبدر سرفصل های AH و ESP. سرریز شمارنده توالیپرچمی که سرریز شدن شمارنده شماره دنباله را نشان می دهد. بازپخش پنجره سرکوب حملهبرای تعیین ارسال مجدد بسته ها استفاده می شود. اگر مقدار در فیلد شماره ترتیبدر محدوده مشخص شده قرار نمی گیرد، سپس بسته از بین می رود. اطلاعات قالگوریتم احراز هویت مورد استفاده، کلیدهای مورد نیاز، طول عمر کلیدها و سایر پارامترها. اطلاعات ESPالگوریتم های رمزگذاری و احراز هویت، کلیدهای مورد نیاز، پارامترهای اولیه (به عنوان مثال، IV)، طول عمر کلید و سایر پارامترها حالت عملکرد IPsecتونل یا حمل و نقل MTU حداکثر اندازهبسته ای که می تواند از طریق یک مدار مجازی بدون تکه تکه شدن منتقل شود.

    از آنجایی که اتصالات مجازی امن (SA) ساده هستند، حداقل دو SA برای سازماندهی یک کانال دوبلکس مورد نیاز است. علاوه بر این، هر پروتکل (ESP/AH) باید SA مخصوص به خود را برای هر جهت داشته باشد، یعنی AH+ESP به چهار SA نیاز دارد. همه این داده ها در SADB قرار دارند.

    • AH: الگوریتم احراز هویت.
    • AH: کلید مخفی برای احراز هویت
    • ESP: الگوریتم رمزگذاری
    • ESP: کلید رمزگذاری مخفی.
    • ESP: از احراز هویت (بله/خیر) استفاده کنید.
    • گزینه های تعویض کلید
    • محدودیت های مسیریابی
    • سیاست فیلتر IP

    علاوه بر پایگاه داده SADB، پیاده سازی IPsec از SPD (سیاست امنیتی) پشتیبانی می کند پایگاه دادهداده های سیاست امنیتی). یک ورودی در یک SPD شامل مجموعه ای از مقادیر فیلد هدر IP و فیلدهای هدر پروتکل لایه بالایی است. این فیلدها انتخابگر نامیده می شوند. انتخابگرها برای فیلتر کردن بسته های خروجی به منظور تطبیق هر بسته با یک SA خاص استفاده می شوند. هنگامی که یک بسته تشکیل می شود، مقادیر فیلدهای مربوطه در بسته (فیلدهای انتخابگر) با موارد موجود در SPD مقایسه می شود. SAهای مربوطه یافت می شوند. SA (در صورت وجود) برای بسته و شاخص پارامتر امنیتی مرتبط با آن (SPI) سپس تعیین می شود. پس از آن، عملیات IPsec (عملیات پروتکل AH یا ESP) انجام می شود.

    نمونه هایی از انتخابگرهایی که در SPD موجود هستند:

    • نشانی آی پی مقصد
    • آدرس IP فرستنده
    • پروتکل IPsec (AH، ESP یا AH+ESP)
    • پورت های مبدا و مقصد

    سربرگ احراز هویت

    سربرگ احراز هویتقالب
    جبران می کند 16 اکتبر 0 1 2 3
    16 اکتبر بیت 10 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
    0 0 هدر بعدی بار لن رزرو شده است
    4 32
    8 64 شماره ترتیب
    سی 96 ارزش بررسی یکپارچگی (ICV)
    هدر بعدی(8 بیت) نوع هدر پروتکل به دنبال هدر AH. این فیلد توسط ماژول IP-sec دریافت کننده برای آشنایی با پروتکل لایه بالایی محافظت شده استفاده می شود. برای اطلاع از معنای این فیلد برای پروتکل های مختلف، به RFC 1700 مراجعه کنید. بار لن(8 بیت) این فیلد اندازه کل هدر AH را در کلمات 32 بیتی منهای 2 مشخص می کند. اما هنگام استفاده از IPv6، طول هدر باید مضربی از 8 بایت باشد. رزرو شده است(16 بیت) رزرو شده است. پر از صفر شاخص پارامتر امنیتی(32 بیت) فهرست پارامترهای امنیتی. مقدار این فیلد به همراه آدرس IP مقصد و پروتکل امنیتی (پروتکل AH) به طور منحصر به فرد یک اتصال مجازی امن (SA) را برای این بسته. محدوده مقدار SPI 1...255 توسط IANA محفوظ است. شماره ترتیب(32 بیت) شماره سریال. برای محافظت در برابر ارسال مجدد خدمت می کند. فیلد حاوی یک مقدار پارامتر یکنواخت در حال افزایش است. اگرچه گیرنده ممکن است از سرویس حفاظتی ارسال مجدد بسته انصراف دهد، اما اجباری است و همیشه در هدر AH وجود دارد. ماژول IPsec فرستنده همیشه از این فیلد استفاده می کند، اما گیرنده ممکن است آن را پردازش نکند. ارزش بررسی یکپارچگی

    پروتکل AH برای احراز هویت استفاده می‌شود، یعنی تأیید می‌کند که ما دقیقاً با کسی که فکر می‌کنیم در ارتباط هستیم و داده‌هایی که دریافت می‌کنیم در حین انتقال دستکاری نشده‌اند.

    پردازش بسته های IP خروجی

    اگر ماژول IPsec ارسال کننده تشخیص دهد که بسته با یک SA مرتبط است که به پردازش AH نیاز دارد، پردازش را آغاز می کند. بسته به حالت (حالت حمل و نقل یا تونل)، هدر AH را به صورت متفاوتی در بسته IP وارد می کند. در حالت انتقال، هدر AH بعد از هدر پروتکل IP و قبل از هدر پروتکل لایه بالایی (معمولا TCP یا UDP) ظاهر می شود. در حالت تونل، کل بسته IP منبع ابتدا با هدر AH و سپس با هدر پروتکل IP قاب می شود. چنین هدر بیرونی و هدر بسته IP اصلی درونی نامیده می شود. پس از آن، ماژول IPsec فرستنده باید یک شماره سریال تولید کند و آن را در فیلد بنویسد شماره ترتیب. هنگامی که یک SA ایجاد می شود، شماره دنباله روی 0 تنظیم می شود و قبل از ارسال هر بسته IPsec یک عدد افزایش می یابد. علاوه بر این، بررسی می شود که آیا شمارنده در چرخه قرار گرفته است یا خیر. اگر به حداکثر مقدار خود رسیده باشد، آنگاه به 0 بازنشانی می شود. اگر از سرویس جلوگیری از ارسال مجدد استفاده شود، هنگامی که شمارنده به حداکثر مقدار خود رسید، ماژول IPsec فرستنده SA را بازنشانی می کند. این محافظت در برابر ارسال مجدد بسته را فراهم می کند - ماژول IPsec دریافت کننده فیلد را بررسی می کند شماره ترتیبو بسته ها را دوباره امتحان کنید. در مرحله بعد، چک جمع ICV محاسبه می شود. لازم به ذکر است که در اینجا چک‌سام با استفاده از یک کلید مخفی محاسبه می‌شود که بدون آن مهاجم می‌تواند هش را مجدداً محاسبه کند، اما بدون دانستن کلید، نمی‌تواند چک‌سام صحیح را تشکیل دهد. الگوریتم های خاص مورد استفاده برای محاسبه ICV را می توان در RFC 4305 یافت. در حال حاضر به عنوان مثال می توان از الگوریتم های HMAC-SHA1-96 یا AES-XCBC-MAC-96 استفاده کرد. پروتکل AH جمع چک (ICV) را از فیلدهای زیر بسته IPsec محاسبه می کند:

    • فیلدهایی در هدر IP که در طول فرآیند ترجمه تغییر نکرده اند یا مهمترین آنها مشخص شده است
    • هدر AH (فیلدهای: "Next Header"، "Payload Len، "Reserved"، "SPI"، "Sequence Number"، "Integrity Check Value". فیلد "Integrity Check Value" هنگام محاسبه ICV روی 0 تنظیم می شود.
    • داده های پروتکل لایه بالایی
    اگر فیلد در حین حمل و نقل تغییر کند، مقدار آن قبل از محاسبه ICV روی 0 تنظیم می شود. استثناها فیلدهایی هستند که می توانند تغییر کنند، اما مقدار آنها را می توان پس از دریافت پیش بینی کرد. هنگام محاسبه ICV، آنها با صفر پر نمی شوند. یک مثال از یک فیلد قابل تغییر، یک فیلد جمع کنترلی است، یک نمونه از یک فیلد قابل تغییر اما از پیش تعریف شده، آدرس IP گیرنده خواهد بود. بیشتر توصیف همراه با جزئیاتبرای جزئیات بیشتر در مورد اینکه کدام فیلدها هنگام محاسبه ICV در نظر گرفته می شوند، به RFC 2402 مراجعه کنید.

    پردازش بسته های IP ورودی

    به محض دریافت بسته ای حاوی پیام پروتکل AH، ماژول IPsec دریافت کننده اتصال مجازی امن مربوط به SADB (Security Associations Database) (SA) را با استفاده از آدرس IP مقصد، پروتکل امنیتی (AH) و شاخص SPI جستجو می کند. اگر SA منطبقی یافت نشد، بسته دور انداخته می شود. اتصال مجازی امن یافت شده (SA) نشان می دهد که آیا از سرویس پیشگیری از ارسال مجدد بسته استفاده می شود یا خیر. در مورد نیاز به بررسی میدان شماره ترتیب. اگر سرویس در حال استفاده است، فیلد بررسی می شود. برای این کار از روش پنجره کشویی استفاده می شود. ماژول IPsec دریافت کننده پنجره ای با عرض W تشکیل می دهد. لبه سمت چپ پنجره با حداقل تعداد دنباله مطابقت دارد ( شماره ترتیب) N بسته به درستی دریافت شده است. بسته با جعبه شماره ترتیبکه حاوی مقداری از N+1 تا N+W است، به درستی پذیرفته شده است. اگر بسته دریافتی در حاشیه سمت چپ پنجره باشد، از بین می رود. سپس ماژول IPsec دریافت کننده ICV را از فیلدهای مناسب بسته دریافتی با استفاده از الگوریتم احراز هویت که از رکورد SA یاد می گیرد محاسبه می کند و نتیجه را با مقدار ICV واقع در فیلد "Integrity Check Value" مقایسه می کند. اگر مقدار ICV محاسبه شده با مقدار دریافتی مطابقت داشته باشد، بسته دریافتی معتبر تلقی می شود و برای پردازش IP بیشتر پذیرفته می شود. اگر چک ناموفق باشد، بسته دریافتی دور ریخته می شود.

    محصور کردن محموله امنیتیقالب
    جبران می کند 16 اکتبر 0 1 2 3
    16 اکتبر بیت 10 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
    0 0 شاخص پارامترهای امنیتی (SPI)
    4 32 شماره ترتیب
    8 64 داده های بار
    بالشتک (0-255 هشتت)
    طول پد هدر بعدی
    ارزش بررسی یکپارچگی (ICV)
    شاخص پارامتر امنیتی(32 بیت) فهرست پارامترهای امنیتی. مقدار این فیلد به همراه آدرس IP مقصد و پروتکل امنیتی (پروتکل AH)، اتصال مجازی امن (SA) را برای این بسته مشخص می کند. محدوده مقدار SPI 1...255 توسط IANA برای استفاده در آینده رزرو شده است. شماره ترتیب(32 بیت) شماره سریال. برای محافظت در برابر ارسال مجدد خدمت می کند. فیلد حاوی یک مقدار پارامتر یکنواخت در حال افزایش است. اگرچه ممکن است گیرنده از خدمات حفاظتی بازپخش انصراف دهد، اما همیشه در هدر AH وجود دارد. فرستنده (ماژول IPsec ارسال کننده) باید همیشه از این فیلد استفاده کند، اما گیرنده ممکن است نیازی به پردازش آن نداشته باشد. داده های بار(متغیر) این فیلد حاوی داده هایی مطابق با فیلد Next Header است. این فیلد ضروری است و از تعداد صحیح بایت تشکیل شده است. اگر الگوریتمی که برای رمزگذاری این فیلد استفاده می‌شود به داده‌هایی برای همگام‌سازی فرآیندهای رمزنگاری نیاز دارد (به عنوان مثال، یک بردار اولیه - "بردار اولیه")، ممکن است این فیلد به طور صریح حاوی این داده باشد. لایه گذاری(0-255 هشتت) اضافه. برای مثال، برای الگوریتم‌هایی که نیاز دارند متن ساده مضربی از تعدادی بایت باشد، مانند اندازه بلوک برای رمزگذاری بلوک، ضروری است. طول پد(8 بیت) اندازه پد (به بایت). هدر بعدی(8 بیت) این فیلد نوع داده های موجود در قسمت "Payload data" را مشخص می کند. ارزش بررسی یکپارچگیجمع را بررسی کنید. برای IPv6 باید مضرب 8 بایت و برای IPv4 4 بایت باشد.

    پردازش بسته های IPsec خروجی

    اگر ماژول IPsec ارسال کننده تشخیص دهد که بسته با یک SA مرتبط است که به پردازش ESP نیاز دارد، سپس پردازش را آغاز می کند. بسته به حالت (حالت حمل و نقل یا تونل)، بسته IP اصلی متفاوت پردازش می شود. در حالت انتقال، ماژول IPsec فرستنده، پروتکل لایه بالایی (به عنوان مثال، TCP یا UDP) را با استفاده از هدر ESP و تریلر ESP بدون تأثیر بر هدر بسته IP اصلی کپسوله می کند. در حالت تونل، بسته IP با یک هدر ESP و یک تریلر ESP قاب می شود و پس از آن با یک هدر IP خارجی قاب می شود. در مرحله بعد، رمزگذاری انجام می شود - در حالت انتقال، فقط پیام پروتکل بالای لایه زیرین رمزگذاری می شود (یعنی هر چیزی که بعد از هدر IP در بسته منبع بود)، در حالت تونل، کل بسته IP منبع. ماژول IPsec ارسال کننده از ورودی SA، الگوریتم رمزگذاری و کلید مخفی را تعیین می کند. استانداردهای IPsec امکان استفاده از الگوریتم‌های رمزگذاری سه‌گانه، AES و Blowfish را می‌دهد. از آنجایی که اندازه متن ساده باید مضربی از تعداد معینی از بایت ها باشد، مانند اندازه بلوک برای الگوریتم های بلوک، قبل از رمزگذاری، افزودن ضروری پیام رمزگذاری شده نیز انجام می شود. پیام رمزگذاری شده در فیلد قرار می گیرد داده های بار. در زمینه طول پدطول پد قرار داده شده است. سپس، مانند ق، فرد محاسبه می کند شماره ترتیب. پس از آن، چک جمع (ICV) محاسبه می شود. چک‌سوم، برخلاف پروتکل AH، که در آن برخی از فیلدهای هدر IP نیز در هنگام محاسبه آن در نظر گرفته می‌شود، در ESP فقط با فیلدهای بسته ESP منهای فیلد ICV محاسبه می‌شود. قبل از محاسبه چک‌سوم، با صفر پر می‌شود. الگوریتم محاسبه ICV، مانند پروتکل AH، ماژول IPsec فرستنده از رکورد SA که بسته پردازش شده با آن مرتبط است، یاد می گیرد.

    مدیریت بسته های IPsec ورودی

    پس از دریافت بسته ای حاوی پیام پروتکل ESP، ماژول IPsec دریافت کننده اتصال مجازی امن (SA) مربوطه را در پایگاه داده انجمن های امنیتی (SADB) با استفاده از آدرس IP مقصد، پروتکل امنیتی (ESP) و SPI جستجو می کند. اگر SA منطبقی یافت نشد، بسته دور انداخته می شود. اتصال مجازی امن یافت شده (SA) نشان می دهد که آیا از سرویس پیشگیری از ارسال مجدد بسته استفاده می شود یا خیر. نیاز به بررسی فیلد Sequence Number. اگر سرویس در حال استفاده است، فیلد بررسی می شود. برای این کار همانند هجری قمری از روش پنجره کشویی استفاده می شود. ماژول IPsec دریافت کننده پنجره ای با عرض W تشکیل می دهد. لبه سمت چپ پنجره با حداقل شماره دنباله N یک بسته به درستی دریافت شده مطابقت دارد. بسته ای با فیلد Sequence Number حاوی مقدار N+1 تا N+W به درستی دریافت می شود. اگر بسته دریافتی در حاشیه سمت چپ پنجره باشد، از بین می رود. سپس، در صورت استفاده از سرویس احراز هویت، ماژول IPsec دریافت کننده، ICV را از فیلدهای مربوط به بسته دریافتی با استفاده از الگوریتم احراز هویتی که از رکورد SA یاد می گیرد، محاسبه می کند و نتیجه را با مقدار ICV واقع در فیلد "Integrity Check Value" مقایسه می کند. اگر مقدار ICV محاسبه شده با مقدار دریافتی مطابقت داشته باشد، بسته دریافتی معتبر در نظر گرفته می شود. اگر چک ناموفق باشد، بسته دریافتی دور ریخته می شود. بعد، بسته رمزگشایی می شود. ماژول IPsec دریافت کننده از ورودی SA یاد می گیرد که کدام الگوریتم رمزگذاری و کلید مخفی استفاده شده است. لازم به ذکر است که بررسی چک جمع و روش رمزگشایی می تواند نه تنها به صورت متوالی، بلکه به صورت موازی نیز انجام شود. در مورد دوم، روال تأیید جمع‌بندی چک باید قبل از روال رمزگشایی خاتمه یابد، و اگر تأیید ICV با شکست مواجه شود، روال رمزگشایی نیز باید خاتمه یابد. این امکان شناسایی سریعتر بسته های خراب را فراهم می کند که به نوبه خود سطح محافظت در برابر حملات انکار سرویس (حملات DOS) را افزایش می دهد. بعد، پیام رمزگشایی شده مطابق با فیلد هدر بعدیبرای پردازش بیشتر ارائه شده است.

    استفاده

    پروتکل IPsec عمدتا برای سازماندهی تونل های VPN استفاده می شود. در این حالت پروتکل های ESP و AH در حالت تونل عمل می کنند. علاوه بر این، با پیکربندی سیاست های امنیتی به روشی خاص، می توان از پروتکل برای ایجاد یک فایروال استفاده کرد. منظور از فایروال این است که بسته های عبوری از آن را مطابق با قوانین داده شده کنترل و فیلتر می کند. مجموعه ای از قوانین تنظیم می شود و صفحه به تمام بسته هایی که از آن عبور می کنند نگاه می کند. اگر بسته های ارسال شده تحت این قوانین قرار می گیرند، دیواره آتشآنها را به درستی مدیریت می کند. به عنوان مثال، می تواند بسته های خاصی را رد کند و در نتیجه اتصالات ناامن را خاتمه دهد. با پیکربندی سیاست امنیتی بر این اساس، می توانید برای مثال، ترافیک اینترنت را مسدود کنید. برای این کار کافی است ارسال بسته هایی که حاوی پیام های پروتکل HTTP و HTTPS هستند را ممنوع کنید. IPsec همچنین می تواند برای محافظت از سرورها استفاده شود - برای این کار، همه بسته ها دور ریخته می شوند، به جز بسته های لازم برای عملکرد صحیح عملکرد سرور. به عنوان مثال، برای یک وب سرور، می توانید تمام ترافیک را مسدود کنید، به جز اتصالات از طریق پورت 80 پروتکل TCP، یا در مواردی که از HTTPS استفاده می شود، روی پورت TCP 443.

    همچنین ببینید

    پیوندها

    • شرح پیکربندی IPSec (cisco.com)

    که در دنیای مدرنفن آوری های مختلف VPN در همه جا استفاده می شود. برخی (به عنوان مثال، PPTP) در طول زمان به عنوان ناامن شناخته می شوند و به تدریج از بین می روند، در حالی که برخی دیگر (OpenVPN)، برعکس، هر سال شتاب بیشتری به دست می آورند. اما رهبر بلامنازع و قابل تشخیص ترین فناوری برای ایجاد و حفظ کانال های خصوصی امن هنوز IPsec VPN است. گاهی اوقات، هنگام پنتست کردن، می توانید یک شبکه کاملاً محافظت شده را پیدا کنید که تنها 500 امین پورت UDP بیرون زده است. هر چیز دیگری را می توان بسته، وصله کرد و به طور قابل اعتماد فیلتر کرد. در چنین شرایطی ممکن است این فکر به وجود بیاید که در اینجا کار خاصی وجود ندارد. اما همیشه اینطور نیست. علاوه بر این، به طور گسترده اعتقاد بر این است که IPsec، حتی در تنظیمات پیش فرض، غیرقابل نفوذ است و سطح مناسبی از امنیت را فراهم می کند. این دقیقاً همان وضعیتی است که امروز قرار است به آن نگاه کنیم. اما ابتدا، برای مبارزه با IPsec تا حد امکان مؤثر، باید بفهمید که چیست و چگونه کار می کند. این کاری است که ما انجام خواهیم داد!

    IPsec از داخل

    قبل از رفتن مستقیم به خود IPsec، خوب است به یاد بیاورید که به طور کلی چه نوع VPN وجود دارد. دسته‌بندی‌های VPN زیادی وجود دارد، اما ما عمیقاً در فناوری‌های شبکه فرو نمی‌رویم و ساده‌ترین آن‌ها را در نظر نمی‌گیریم. بنابراین، ما VPN را به دو نوع اصلی تقسیم می کنیم - اتصالات VPN سایت به سایت (همچنین می توان آنها را دائمی نامید) و VPN دسترسی از راه دور (RA، آنها نیز موقتی هستند).
    نوع اول برای پیوند دائمی جزایر شبکه های مختلف، به عنوان مثال، یک دفتر مرکزی با بسیاری از شاخه های پراکنده عمل می کند. خوب، RA VPN سناریویی است که یک کلاینت برای مدت کوتاهی متصل می شود، به منابع شبکه خاصی دسترسی پیدا می کند و پس از اتمام کار، به طور ایمن قطع می شود.

    ما به گزینه دوم علاقه مند خواهیم بود، زیرا در صورت حمله موفقیت آمیز، امکان دسترسی فوری به شبکه داخلی شرکت وجود دارد که یک دستاورد کاملاً جدی برای یک پنتستر است. IPsec به نوبه خود به شما این امکان را می دهد که VPN را هم سایت به سایت و هم از راه دور پیاده سازی کنید. این فناوری چیست و از چه اجزایی تشکیل شده است؟

    شایان ذکر است که IPsec یکی نیست، بلکه مجموعه ای کامل از پروتکل های مختلف است که حفاظت شفاف و ایمن از داده ها را فراهم می کند. ویژگی IPsec این است که در لایه شبکه پیاده سازی می شود و آن را به گونه ای تکمیل می کند که همه چیز به طور نامحسوس برای لایه های بعدی اتفاق می افتد. مشکل اصلی در این واقعیت نهفته است که در فرآیند برقراری ارتباط، دو شرکت کننده در یک کانال امن نیاز به توافق نسبتاً دارند. تعداد زیادی ازگزینه های مختلف یعنی، آنها باید یکدیگر را احراز هویت کنند، کلیدها را تولید و مبادله کنند (و از طریق یک رسانه نامعتبر)، و همچنین توافق کنند که با کدام پروتکل ها داده ها را رمزگذاری کنند.

    به همین دلیل است که IPsec از مجموعه ای از پروتکل ها تشکیل شده است که مسئولیت آن اطمینان از برقراری، اجرا و مدیریت یک اتصال ایمن است. کل فرآیند برقراری اتصال شامل دو مرحله است: فاز اول برای اطمینان از تبادل امن پیام‌های ISAKMP در فاز دوم استفاده می‌شود. ISAKMP (انجمن امنیت اینترنت و پروتکل مدیریت کلید) پروتکلی است که برای مذاکره و به روز رسانی سیاست های امنیتی (SA) بین شرکت کنندگان در اتصال VPN استفاده می شود. این خط مشی ها فقط مشخص می کنند که با کدام پروتکل رمزگذاری شود (AES یا 3DES) و با کدام پروتکل احراز هویت شود (SHA یا MD5).

    دو فاز اصلی IPsec

    بنابراین، متوجه شدیم که در ابتدا شرکت کنندگان باید در مورد مکانیسم هایی که برای ایجاد یک اتصال امن استفاده می شود توافق کنند، بنابراین اکنون پروتکل IKE وارد عمل می شود. IKE (مبادله کلید اینترنت) برای تشکیل IPsec SA (انجمن امنیتی، همان سیاست های امنیتی)، به عبارت دیگر، برای هماهنگ کردن کار شرکت کنندگان در یک اتصال امن استفاده می شود. از طریق این پروتکل، شرکت کنندگان در مورد اینکه کدام الگوریتم رمزگذاری استفاده خواهد شد، کدام الگوریتم برای بررسی یکپارچگی و نحوه احراز هویت یکدیگر به توافق می رسند. لازم به ذکر است که امروزه دو نسخه از پروتکل وجود دارد: IKEv1 و IKEv2. ما فقط به IKEv1 علاقه مند خواهیم بود: علیرغم این واقعیت که IETF (گروه وظیفه مهندسی اینترنت) برای اولین بار آن را در سال 1998 معرفی کرد، هنوز هم بسیار رایج است، به خصوص برای RA VPN ها (شکل 1 را ببینید).

    در مورد IKEv2، اولین پیش نویس آن در سال 2005 ساخته شد، به طور کامل در RFC 5996 (2010) توضیح داده شد و تنها در پایان سال گذشته به عنوان یک استاندارد اینترنتی (RFC 7296) اعلام شد. می توانید در مورد تفاوت های IKEv1 و IKEv2 در نوار کناری بیشتر بخوانید. پس از پرداختن به IKE، به مراحل IPsec برمی گردیم. در مرحله اول، شرکت‌کنندگان یکدیگر را احراز هویت می‌کنند و بر روی پارامترهای ایجاد یک اتصال ویژه که فقط برای تبادل اطلاعات در مورد الگوریتم‌های رمزگذاری مورد نظر و سایر جزئیات تونل IPsec آینده طراحی شده است، توافق می‌کنند. پارامترهای این تونل اول (که تونل ISAKMP نیز نامیده می شود) توسط خط مشی ISAKMP تعیین می شود. اول از همه، هش ها و الگوریتم های رمزگذاری توافق می شوند، سپس یک تبادل کلید Diffie-Hellman (DH) وجود دارد، و تنها پس از آن مشخص می شود که چه کسی چه کسی است. یعنی آخرین مرحله فرآیند احراز هویت یا توسط PSK- یا با کلید RSA است. و اگر طرفین به توافق برسند، یک تونل ISAKMP ایجاد می شود که فاز دوم IKE قبلاً از آن عبور می کند.

    در مرحله دوم، شرکت کنندگانی که قبلاً به یکدیگر اعتماد دارند، در مورد چگونگی ساخت تونل اصلی برای انتقال مستقیم داده ها توافق می کنند. آنها گزینه های مشخص شده در پارامتر transform-set را به یکدیگر پیشنهاد می کنند و در صورت موافقت، تونل اصلی را بالا می برند. مهم است که تأکید کنیم که پس از ایجاد، تونل ثانویه ISAKMP به جایی نمی‌رسد - از آن برای به‌روزرسانی دوره‌ای SA تونل اصلی استفاده می‌شود. در نتیجه، IPsec به نوعی نه یک، بلکه دو تونل کامل ایجاد می کند.

    نحوه پردازش داده ها

    حالا چند کلمه در مورد transform-set. از این گذشته ، لازم است به نحوی داده هایی که از طریق تونل عبور می کنند رمزگذاری شوند. بنابراین، در یک پیکربندی معمولی، transform-set مجموعه ای از پارامترها است که به صراحت نحوه پردازش بسته را مشخص می کند. بر این اساس، دو گزینه برای چنین پردازش داده وجود دارد - اینها پروتکل های ESP و AH هستند. ESP (Encapsulating Security Payload) به طور مستقیم با رمزگذاری داده ها سر و کار دارد و همچنین می تواند یکپارچگی داده ها را بررسی کند. AH (Authentication Header)، به نوبه خود، تنها مسئول احراز هویت منبع و بررسی صحت داده ها است.

    به عنوان مثال، دستور crypto ipsec transform-set SET10 esp-aes به روتر می گوید که مجموعه تبدیل به نام SET10 فقط باید روی پروتکل ESP و با رمزگذاری روی آن کار کند. الگوریتم AES. با نگاهی به آینده، می گویم که از این پس از روترها و فایروال های سیسکو به عنوان هدف استفاده خواهیم کرد. در واقع، همه چیز با ESP کم و بیش روشن است، وظیفه آن رمزگذاری و در نتیجه اطمینان از محرمانگی است، اما چرا ما به AH نیاز داریم؟ AH احراز هویت داده ها را ارائه می دهد، یعنی تأیید می کند که این داده ها از کسی است که ما با او ارتباط برقرار کرده ایم و در طول مسیر تغییر نکرده است. چیزی که گاهی اوقات محافظت ضد پخش نامیده می شود را فراهم می کند. که در شبکه های مدرن AH عملا استفاده نمی شود، فقط ESP را می توان در همه جا پیدا کرد.

    پارامترهای (با نام مستعار SA) که برای رمزگذاری اطلاعات در یک تونل IPsec انتخاب می‌شوند، یک عمر دارند که پس از آن باید جایگزین شوند. طول عمر پیش فرض IPsec SA 86400 ثانیه یا 24 ساعت است.
    در نتیجه، شرکت کنندگان یک تونل رمزگذاری شده با پارامترهای مناسب برای همه آنها دریافت کردند و جریان های داده را برای رمزگذاری در آنجا ارسال کردند. به طور دوره ای، مطابق با طول عمر، کلیدهای رمزگذاری برای تونل اصلی به روز می شوند: شرکت کنندگان از طریق تونل ISAKMP مجدداً متصل می شوند، مرحله دوم را طی می کنند و SA را مجدداً ایجاد می کنند.

    حالت های IKEv1

    ما مکانیک های اساسی نحوه عملکرد IPsec را به عنوان اولین تقریب بررسی کرده ایم، اما چند چیز دیگر وجود دارد که باید روی آنها تمرکز کرد. فاز اول، از جمله موارد دیگر، می تواند در دو حالت کار کند: حالت اصلی یا حالت تهاجمی. ما قبلاً اولین گزینه را در بالا در نظر گرفته ایم، اما به حالت تهاجمی علاقه مندیم. در این حالت از سه پیام (به جای شش پیام در حالت اصلی) استفاده می شود. در همان زمان، کسی که اتصال را آغاز می کند، تمام داده های خود را به یکباره می دهد - آنچه را که می خواهد و می تواند انجام دهد، و همچنین بخشی از تبادل DH خود را. سپس طرف دیگر بلافاصله بخش خود را از نسل DH تکمیل می کند. در نتیجه در این حالت در واقع فقط دو مرحله وجود دارد. یعنی دو مرحله اول از حالت اصلی (هماهنگی هش ها و تبادل DH) به طور معمول در یکی فشرده می شوند. در نتیجه، این حالت بسیار خطرناک تر است به این دلیل که بسیاری از اطلاعات فنیدر متن ساده و مهمتر از همه، دروازه VPN می تواند یک هش از رمز عبوری که برای احراز هویت در مرحله اول استفاده می شود را ارسال کند (این رمز عبور معمولاً کلید مشترک یا PSK نامیده می شود).

    خوب، تمام رمزگذاری های بعدی، طبق معمول، بدون تغییر رخ می دهد. پس چرا هنوز از این رژیم استفاده می شود؟ واقعیت این است که سرعت آن بسیار بیشتر است، تقریباً دو برابر سریعتر. جالب توجه خاص برای pentester این واقعیت است که حالت تهاجمی اغلب در RA IPsec VPN استفاده می شود. یکی دیگر از ویژگی های کوچک RA IPsec VPN در هنگام استفاده از حالت تهاجمی: هنگامی که مشتری به سرور دسترسی پیدا می کند، یک شناسه (نام گروه) برای آن ارسال می کند. نام گروه تونل (نگاه کنید به شکل 2) نام ورودی است که شامل مجموعه ای از سیاست ها برای این اتصال IPsec است. این یکی از ویژگی های خاص تجهیزات سیسکو است.


    دو فاز کافی نبود

    به نظر می رسد که نتیجه یک طرح کار بسیار ساده نیست، اما در واقعیت هنوز کمی پیچیده تر است. با گذشت زمان مشخص شد که تنها یک PSK برای تضمین امنیت کافی نیست. مثلاً در صورت مصالحه ایستگاه کاریکارمند، مهاجم می تواند بلافاصله به کل شبکه داخلی شرکت دسترسی پیدا کند. بنابراین، فاز 1.5 درست بین فازهای کلاسیک اول و دوم توسعه یافت. به هر حال، این مرحله معمولاً در یک اتصال VPN استاندارد سایت به سایت استفاده نمی شود، اما هنگام سازماندهی اتصالات VPN از راه دور (مورد ما) استفاده می شود. این مرحله شامل دو افزونه جدید است - احراز هویت گسترده (XAUTH) و حالت پیکربندی (MODECFG).

    XAUTH یک احراز هویت اضافی کاربر در پروتکل IKE است. گاهی اوقات از این احراز هویت به عنوان دومین عامل IPsec یاد می شود. خوب، MODECFG در خدمت انتقال است اطلاعات اضافیمشتری، می تواند یک آدرس IP، یک ماسک، یک سرور DNS و غیره باشد. مشاهده می شود که این مرحله به سادگی مکمل مواردی است که قبلاً در نظر گرفته شده بود، اما مفید بودن آن غیرقابل انکار است.

    IKEv2 در مقابل IKEv1

    هر دو پروتکل روی پورت UDP شماره 500 کار می کنند، اما با یکدیگر ناسازگار هستند، این وضعیت برای IKEv1 در یک انتهای تونل و IKEv2 در انتهای دیگر مجاز نیست. در اینجا تفاوت های اصلی بین نسخه دوم و اول وجود دارد:

    • در IKEv2 دیگر مفهومی به عنوان حالت تهاجمی یا اصلی وجود ندارد.
    • در IKEv2، اصطلاح فاز اول با IKE_SA_INIT (مبادله دو پیام که مذاکره پروتکل های رمزگذاری / هش و تولید کلیدهای DH را تضمین می کند) و فاز دوم با IKE_AUTH (همچنین دو پیام که احراز هویت واقعی را اجرا می کنند) جایگزین می شود.
    • Mode Config (آنچه در IKEv1 فاز 1.5 نامیده می شد) اکنون مستقیماً در مشخصات پروتکل توضیح داده شده است و بخشی جدایی ناپذیر از آن است.
    • IKEv2 یک مکانیسم اضافی برای محافظت در برابر حملات DoS اضافه می کند. ماهیت آن این است که قبل از پاسخ به هر درخواست در ایجاد یک اتصال ایمن (IKE_SA_INIT) IKEv2، دروازه VPN یک کوکی به منبع چنین درخواستی ارسال می کند و منتظر پاسخ می ماند. اگر منبع پاسخ داد - همه چیز مرتب است، می توانید با آن شروع به تولید DH کنید. اگر منبع پاسخ ندهد (در مورد حمله DoS، این اتفاق می افتد، این تکنیک شبیه یک سیل TCP SYN است)، سپس دروازه VPN به سادگی آن را فراموش می کند. بدون این مکانیسم، با هر درخواستی از هر کسی، دروازه VPN سعی می کند یک کلید DH (که یک فرآیند نسبتاً فشرده منابع است) تولید کند و به زودی با مشکل مواجه می شود. در نتیجه، با توجه به این واقعیت که اکنون همه عملیات ها نیاز به تأیید از طرف دیگر اتصال دارند، ایجاد تعداد زیادی جلسه نیمه باز در دستگاه مورد حمله غیرممکن است.

    به سمت مرز می رویم

    پس از فهمیدن ویژگی‌های نحوه عملکرد IPsec و اجزای آن، می‌توانیم به موضوع اصلی برویم - به حملات عملی. توپولوژی بسیار ساده و در عین حال نزدیک به واقعیت خواهد بود (شکل 3 را ببینید).


    اولین قدم تعیین وجود یک دروازه IPsec VPN است. شما می توانید این کار را با انجام اسکن پورت انجام دهید، اما یک پیچ کوچک در اینجا وجود دارد. ISAKMP استفاده می کند پروتکل UDP، پورت 500 و در عین حال اسکن پیش فرض با Nmap فقط بر پورت های TCP تأثیر می گذارد. و نتیجه یک پیام خواهد بود: همه 1000 پورت اسکن شده در 37.59.0.253 فیلتر شده اند.

    به نظر می رسد همه پورت ها فیلتر هستند و هیچ پورت باز وجود ندارد. اما پس از اجرای دستور

    Nmap -sU --top-ports=20 37.59.0.253 شروع Nmap 6.47 (http://nmap.org) در 2015-03-21 ساعت 12:29 GMT گزارش اسکن Nmap برای 37.59.0.253 Host فعال است (0.066slatency). PORT STATE SERVICE 500/udp open isakmp

    ما مطمئن می شویم که اینطور نیست و ما واقعاً یک دستگاه VPN در مقابل خود داریم.

    حمله به فاز اول

    اکنون ما به مرحله اول، حالت تهاجمی و احراز هویت کلید مشترک (PSK) علاقه مند خواهیم بود. در این سناریو، به یاد داشته باشید، دستگاه VPN یا پاسخ دهنده یک PSK هش شده را برای آغازگر ارسال می کند. یکی از معروف ترین ابزارهای آزمایشی برای آزمایش پروتکل IKE ike-scan است که در توزیع گنجانده شده است. کالی لینوکس. Ike-scan به شما امکان می دهد پیام های IKE را با پارامترهای مختلف ارسال کنید و بر این اساس بسته های پاسخ را رمزگشایی و تجزیه کنید. تلاش برای بررسی دستگاه مورد نظر:

    [ایمیل محافظت شده]:~# ike-scan -M -A 37.59.0.253 0 handshake return; 0 برگشته اطلاع دهید

    سوئیچ -A نشان می دهد که باید از حالت تهاجمی استفاده شود و -M نشان می دهد که نتایج باید خط به خط (چند خطی) نمایش داده شوند. خواندن راحت. مشاهده می شود که نتیجه ای حاصل نشده است. دلیلش این است که باید همان شناسه یعنی نام گروه VPN را مشخص کنید. البته، ابزار ike-scan به شما این امکان را می دهد که این شناسه را به عنوان یکی از پارامترهای آن مشخص کنید. اما از آنجایی که هنوز برای ما ناشناخته است، بیایید یک مقدار دلخواه را برای مثال 0000 در نظر بگیریم.

    [ایمیل محافظت شده]:~# ike-scan -M -A --id=0000 37.59.0.253 37.59.0.253 حالت تهاجمی Handshake بازگشت

    این بار می بینیم که پاسخ دریافت شده است (نگاه کنید به شکل 5) و بسیار زیاد به ما ارائه شده است اطلاعات مفید. یک قطعه نسبتاً مهم از اطلاعات دریافتی، مجموعه تبدیل است. در مورد ما، می گوید "Enc=3DES Hash=SHA1 Group=2:modp1024 Auth=PSK".

    همه این گزینه ها را می توان برای ابزار ike-scan با استفاده از سوئیچ --trans نیز مشخص کرد. برای مثال --trans=5،2،1،2 الگوریتم رمزگذاری 3DES، هش HMAC-SHA، روش احراز هویت PSK، و نوع دوم گروه DH (MODP 1024 بیتی) را می‌گویند. می توانید جداول نگاشت ارزش را در این آدرس مشاهده کنید. بیایید یک کلید دیگر (-P) اضافه کنیم تا محموله بسته را مستقیماً یا بهتر بگوییم هش PSK را نمایش دهیم.

    [ایمیل محافظت شده]:~# ike-scan -M -A --id=0000 37.59.0.253 -P

    غلبه بر اولین مشکلات

    به نظر می رسد که هش دریافت شده است و می توانید سعی کنید آن را بی رحم کنید، اما همه چیز به این سادگی نیست. روزی روزگاری، در سال 2005، یک آسیب‌پذیری در برخی از سخت‌افزارهای سیسکو وجود داشت: این دستگاه‌ها تنها در صورتی هش را برمی‌گردانند که مهاجم مقدار ID صحیح را ارسال کند. در حال حاضر، البته، تقریباً غیرممکن است که چنین تجهیزاتی را برآورده کنید و مقدار هش شده همیشه ارسال می شود، صرف نظر از اینکه مهاجم مقدار ID صحیح را ارسال کرده است یا خیر. بدیهی است که هش اشتباه بی معنی است. بنابراین، اولین کار تعیین مقدار ID صحیح برای به دست آوردن هش صحیح است. و آسیب پذیری اخیراً کشف شده به ما در این امر کمک می کند. نکته این است که در هنگام تبادل اولیه پیام ها تفاوت جزئی بین پاسخ ها وجود دارد. به طور خلاصه، هنگام استفاده از نام گروه صحیح، چهار تلاش برای ادامه برقراری اتصال VPN، به علاوه دو بسته فاز 2 رمزگذاری شده وجود دارد. در حالی که در مورد یک شناسه نادرست، تنها دو بسته در پاسخ می‌رسند. همانطور که می بینید، تفاوت بسیار قابل توجه است، بنابراین SpiderLabs (نویسنده ابزار به همان اندازه جالب Responder) ابتدا PoC و سپس ابزار IKEForce را برای سوء استفاده از این آسیب پذیری توسعه داد.

    قدرت IKE چیست؟

    با اجرای دستور می توانید IKEForce را در یک دایرکتوری دلخواه نصب کنید

    Git clone https://github.com/SpiderLabs/ikeforce

    این در دو حالت اصلی کار می کند - حالت محاسبه -e (شمارش) و حالت brute force -b (bruteforce). وقتی به حملات بر روی عامل دوم نگاه می کنیم به دومی می رسیم، اما اکنون به عامل اول خواهیم پرداخت. قبل از شروع فرآیند واقعی تعیین ID، باید مقدار دقیق Transform-set را تنظیم کنید. قبلاً آن را تعریف کرده بودیم، بنابراین با گزینه -t 5 2 1 2 آن را مشخص می کنیم. در نتیجه، روند پیدا کردن شناسه به صورت زیر خواهد بود:

    Python ikeforce.py 37.59.0.253 -e -w wordlists/group.txt -t 5 2 1 2

    در نتیجه، مقدار ID صحیح به سرعت به دست آمد (شکل 7). مرحله اول گذشت، می توانید ادامه دهید.

    PSK را دریافت کنید

    اکنون لازم است با استفاده از نام گروه صحیح، هش PSK را در یک فایل ذخیره کنید، این کار را می توان با استفاده از ike-scan انجام داد:

    Ike-scan -M -A --id=vpn 37.59.0.253 -Pkey.psk

    و اکنون که مقدار شناسه صحیح انتخاب شده است و هش PSK صحیح به دست آمده است، در نهایت می توانیم brute force آفلاین را شروع کنیم. گزینه های زیادی برای چنین نیروی بی رحمانه ای وجود دارد - این ابزار کلاسیک psk-crack و John the Ripper (با یک پچ جمبو) و حتی oclHashcat است که همانطور که می دانید به شما امکان می دهد از قدرت GPU استفاده کنید. برای سادگی، از psk-crack استفاده می کنیم که از حملات مستقیم brute force و دیکشنری پشتیبانی می کند:

    Psk-crack -d /usr/share/ike-scan/psk-crack-dictionary key.psk

    اما حتی بازیابی موفقیت آمیز PSK (نگاه کنید به شکل 8) تنها نیمی از کار است. در این مرحله، باید به یاد داشته باشیم که XAUTH و دومین فاکتور IPsec VPN منتظر ما هستند.

    مقابله با فاکتور دوم IPsec

    بنابراین، اجازه دهید به شما یادآوری کنم که XAUTH یک حفاظت اضافی، دومین عامل احراز هویت است و در فاز 1.5 است. گزینه های مختلفی برای XAUTH وجود دارد - این یک بررسی با استفاده از پروتکل RADIUS و رمزهای عبور یک بار مصرف (OTP) و پایگاه داده معمول کاربر محلی است. ما روی وضعیت استانداردی که از پایگاه کاربر محلی برای بررسی عامل دوم استفاده می‌شود، تمرکز خواهیم کرد. تا همین اواخر، هیچ ابزار brute force XAUTH در دسترس عموم نبود. اما با ظهور IKEForce، این کار راه حل شایسته ای دریافت کرده است. نیروی بی رحم XAUTH به سادگی راه اندازی می شود:

    Python ikeforce.py 37.59.0.253 -b -i vpn -k cisco123 -u admin -w wordlists/passwd.txt -t 5 2 1 2 [+]برنامه شروع شده در XAUTH Brute Force Mode [+]تک کاربر ارائه شده - brute forcing admin گذرواژه* نام کاربری: admin رمز عبور: cisco

    در این مورد، تمام مقادیر قبلاً یافت شده نشان داده می شوند: ID (کلید -i)، PSK بازیابی شده (کلید -k) و ورود فرضی (کلید -u). IKEForce هم از جستجوی brute-force ورود و هم از تکرار در لیست ورودها پشتیبانی می کند که می تواند با پارامتر -U مشخص شود. در صورت مسدود شدن احتمالی مسابقه، گزینه -s وجود دارد که به شما امکان می دهد سرعت brute force را کاهش دهید. به هر حال، این ابزار دارای چندین فرهنگ لغت خوب است، به ویژه برای تنظیم مقدار پارامتر ID مفید است.

    ورود به شبکه داخلی

    اکنون که همه داده ها را در اختیار داریم، آخرین مرحله باقی می ماند - نفوذ واقعی به شبکه محلی. برای انجام این کار، ما به نوعی مشتری VPN نیاز داریم که تعداد زیادی از آنها وجود دارد. اما در مورد کالی، می توانید به راحتی از از پیش نصب شده - VPNC استفاده کنید. برای اینکه کار کند، باید یک فایل پیکربندی - /etc/vpnc/vpn.conf را تصحیح کنید. اگر وجود ندارد، باید تعدادی پارامتر واضح را ایجاد و پر کنید:

    IPSec gateway 37.59.0.253 IPSec ID vpn IPSec secret cisco123 IKE Authmode psk Xauth نام کاربری admin Xauth رمز عبور سیسکو

    در اینجا می بینیم که کاملاً از تمام داده های موجود در مراحل قبلی استفاده شده است - مقدار ID، PSK، ورود به سیستم و رمز عبور فاکتور دوم. پس از آن، خود اتصال با یک دستور رخ می دهد:

    [ایمیل محافظت شده]:~# vpnc vpn

    غیرفعال کردن نیز بسیار ساده است:

    [ایمیل محافظت شده]:~# vpnc-disconnect

    با استفاده از دستور ifconfig tun0 می توانید بررسی کنید که آیا اتصال کار می کند یا خیر.

    نحوه ساخت حفاظ قوی

    محافظت در برابر حملاتی که امروز در نظر گرفته می شود باید جامع باشد: باید وصله ها را به موقع نصب کنید، از کلیدهای از پیش مشترک دائمی استفاده کنید، که در صورت امکان، باید به طور کامل با گواهی های دیجیتال جایگزین شوند. خط مشی رمز عبور و سایر عناصر آشکار امنیت اطلاعات نیز نقش مهمی در تضمین امنیت دارند. همچنین لازم به ذکر است که وضعیت به تدریج در حال تغییر است و به مرور زمان فقط IKEv2 باقی خواهد ماند.

    چه نتیجه ای دارد

    ما فرآیند ممیزی IPsec VPN RA را با جزئیات پوشش داده ایم. بله، البته، این وظیفه به دور از اهمیت است. گام‌های زیادی باید برداشته شود و مشکلاتی ممکن است در انتظار هر یک از آنها باشد، اما در صورت موفقیت، نتیجه بیش از چشم‌گیر است. دستیابی به منابع داخلی شبکه گسترده ترین زمینه را برای اقدامات بعدی باز می کند. بنابراین، کسانی که مسئولیت حفاظت از محیط شبکه را بر عهده دارند، نباید به قالب های پیش فرض آماده تکیه کنند، بلکه هر لایه امنیتی را به دقت در نظر بگیرند. خوب، برای کسانی که تست های نفوذ را انجام می دهند، پورت UDP شناسایی شده 500 فرصتی است برای انجام تجزیه و تحلیل عمیق امنیت IPsec VPN و احتمالاً نتایج خوب.

    امنیت پروتکل اینترنت (IPSec) در استانداردهای اینترنت به عنوان یک سیستم نامیده می شود. در واقع، IPSec مجموعه ای منسجم از استانداردهای باز است که امروزه دارای یک هسته کاملاً تعریف شده است و در عین حال، می توان آن را به سادگی با پروتکل ها، الگوریتم ها و توابع جدید تکمیل کرد.

    هدف اصلی پروتکل های IPSec ارائه انتقال امن داده ها از طریق شبکه های IP است. استفاده از تضمین های IPSec:

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

    (توجه داشته باشید که مطابق با تعریف کلاسیک، مفهوم امنیت داده شامل یک نیاز دیگر است - در دسترس بودن داده ها، که در زمینه در نظر گرفته شده می تواند به عنوان تضمین تحویل آنها تفسیر شود. پروتکل های IPSec این مشکل را حل نمی کنند و آن را به پروتکل لایه انتقال TCP واگذار می کنند.)

    کانال های ایمن در سطوح مختلف

    IPSec تنها یکی از فناوری‌های متعدد، اگرچه امروزه محبوب‌ترین، برای انتقال امن داده‌ها از طریق یک شبکه عمومی (ناامن) است. برای فناوری های این منظور، از یک نام کلی استفاده می شود - یک کانال امن (کانال امن). اصطلاح "کانال" بر این واقعیت تأکید دارد که حفاظت از داده ها بین دو گره شبکه (میزبان یا دروازه) در امتداد برخی ارائه می شود. مسیر مجازیدر یک شبکه سوئیچ بسته قرار داده شده است.

    یک کانال امن را می توان با استفاده از ابزارهای سیستمی پیاده سازی شده در سطوح مختلف مدل OSI ساخت (شکل 1 را ببینید). اگر از پروتکل یکی از لایه های بالایی (برنامه، ارائه یا جلسه) برای محافظت از داده ها استفاده شود، این روش حفاظت بستگی به این ندارد که از کدام شبکه ها (IP یا IPX، اترنت یا ATM) برای انتقال داده ها استفاده شود، که می تواند یک مزیت بدون شک در نظر گرفته شود. از طرف دیگر، برنامه به یک پروتکل امنیتی خاص وابسته می شود، یعنی برای برنامه ها چنین پروتکلی شفاف نیست.

    یک کانال امن در بالاترین سطح برنامه، یک نقطه ضعف دیگر نیز دارد - دامنه محدود. این پروتکل فقط از یک سرویس شبکه کاملاً تعریف شده - فایل، فرامتن یا ایمیل محافظت می کند. به عنوان مثال، پروتکل S/MIME فقط از پیام های ایمیل محافظت می کند. بنابراین، برای هر سرویس، لازم است یک نسخه امن مناسب از پروتکل ایجاد شود.

    شناخته شده ترین پروتکل کانال ایمن که در سطح بعدی ارائه می شود، پروتکل لایه سوکت امن (SSL) و اجرای باز جدید امنیت لایه حمل و نقل (TLS) است. کاهش سطح پروتکل آن را به یک ابزار حفاظتی بسیار متنوع تر تبدیل می کند. اکنون هر برنامه کاربردی و هر پروتکل لایه کاربردی می تواند از یک پروتکل امنیتی استفاده کند. با این حال، برنامه‌ها هنوز باید بازنویسی شوند - فراخوان‌های صریح برای ایمن کردن عملکردهای پروتکل کانال باید در آنها تعبیه شود.

    هرچه امکانات کانال ایمن در پشته پایین‌تر پیاده‌سازی شوند، شفاف‌سازی آنها برای برنامه‌ها و برنامه‌ها آسان‌تر است پروتکل های کاربردی. در لایه‌های پیوند شبکه و داده، وابستگی برنامه‌ها به پروتکل‌های امنیتی به کلی از بین می‌رود. با این حال، در اینجا ما با مشکل دیگری روبرو هستیم - وابستگی پروتکل امنیتی به یک خاص فناوری شبکه. در واقع، در بخش‌های مختلف یک شبکه مرکب بزرگ، به‌طور کلی، از پروتکل‌های کانال متفاوتی استفاده می‌شود، بنابراین نمی‌توان یک کانال امن را از طریق این محیط ناهمگن با استفاده از یک پروتکل لایه پیوند واحد ایجاد کرد.

    به عنوان مثال، کانال امن پروتکل تونل زنی نقطه به نقطه (PPTP) را در نظر بگیرید که در حال اجرا است. لایه پیوند. این پروتکل مبتنی بر پروتکل PPP است که به طور گسترده برای اتصالات نقطه به نقطه مانند خطوط اجاره ای استفاده می شود. پروتکل PPTP نه تنها شفافیت حفاظتی را برای برنامه ها و سرویس های لایه کاربردی فراهم می کند، بلکه از پروتکل لایه شبکه اعمال شده نیز مستقل است: به ویژه، پروتکل PPTP می تواند بسته ها را هم در شبکه های IP و هم در شبکه های مبتنی بر پروتکل های IPX، DECnet یا NetBEUI حمل کند. با این حال، از آنجایی که پروتکل PPP در همه شبکه ها استفاده نمی شود (در بیشتر شبکه های محلیپروتکل اترنت در لایه پیوند داده و پروتکل های ATM و فریم رله در سطح جهانی کار می کند، پس PPTP را نمی توان یک ابزار جهانی در نظر گرفت.

    IPSec، که در لایه شبکه عمل می کند، یک مصالحه است. از یک طرف برای برنامه ها شفاف است و از طرف دیگر می تواند تقریباً در همه شبکه ها کار کند، زیرا بر اساس پروتکل IP پرکاربرد است: در حال حاضر فقط 1٪ از رایانه های جهان از IP پشتیبانی نمی کنند، 99٪ باقی مانده از آن به عنوان تنها پروتکل یا به عنوان یکی از چندین پروتکل استفاده می کنند.

    توزیع توابع بین پروتکل های IPSEC

    سه پروتکل در هسته IPSec وجود دارد: Authenti-cation Header (AH)، Encapsulation Security Payload (ESP) و Internet Key Exchange (IKE). توابع برای حفظ یک کانال امن بین این پروتکل ها به شرح زیر توزیع می شود:

    • پروتکل AH یکپارچگی و صحت داده ها را تضمین می کند.
    • پروتکل ESP داده های ارسال شده را رمزگذاری می کند و محرمانه بودن را تضمین می کند، اما همچنین می تواند از احراز هویت و یکپارچگی داده ها پشتیبانی کند.
    • پروتکل IKE وظیفه کمکی ارائه خودکار نقاط انتهایی کانال با کلیدهای مخفی لازم برای عملکرد پروتکل های احراز هویت و رمزگذاری داده را حل می کند.

    همانطور که از توضیح مختصر توابع مشاهده می شود، قابلیت های پروتکل های AH و ESP تا حدی همپوشانی دارند. پروتکل AH فقط وظیفه اطمینان از یکپارچگی و احراز هویت داده ها را بر عهده دارد، در حالی که پروتکل ESP قدرتمندتر است، زیرا می تواند داده ها را رمزگذاری کند و علاوه بر این، عملکردهای پروتکل AH را انجام دهد (اگرچه همانطور که در ادامه خواهیم دید، احراز هویت و یکپارچگی توسط آن به شکلی تا حدی کوتاه شده ارائه می شود). پروتکل ESP می تواند توابع رمزگذاری و احراز هویت/یکپارچگی را در هر ترکیبی پشتیبانی کند، یعنی هر دو گروه از توابع، یا فقط احراز هویت/یکپارچگی، یا فقط رمزگذاری.

    هر الگوریتم رمزگذاری متقارن که از کلیدهای مخفی استفاده می کند می تواند برای رمزگذاری داده ها در IPSec استفاده شود. یکپارچگی و احراز هویت داده ها نیز بر اساس یکی از تکنیک های رمزگذاری است - رمزگذاری با استفاده از یک تابع یک طرفه که تابع هش یا تابع هضم نیز نامیده می شود.

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

    خلاصه نوعی چک جمع برای پیام اصلی است. با این حال، یک تفاوت قابل توجه نیز وجود دارد. استفاده از چک‌سوم ابزاری برای تأیید صحت پیام‌های ارسال شده از طریق پیوندهای غیرقابل اعتماد است و هدف آن مبارزه با فعالیت‌های مخرب نیست. در واقع، وجود یک چک‌سوم در بسته ارسالی، مانع از این نمی‌شود که مهاجم بتواند پیام اصلی را با افزودن یک مقدار کنترلی جدید به آن جایگزین کند. برخلاف چک‌سوم، یک کلید مخفی برای محاسبه خلاصه استفاده می‌شود. اگر از یک تابع یک طرفه برای دریافت خلاصه استفاده می شد، با یک پارامتر (که کلید مخفی است) فقط برای فرستنده و گیرنده شناخته شده است، هر گونه تغییر در پیام اصلی بلافاصله شناسایی می شود.

    جداسازی عملکردهای امنیتی بین دو پروتکل AH و ESP به دلیل رویه در بسیاری از کشورها برای محدود کردن صادرات و / یا واردات وسایلی است که محرمانه بودن داده ها را از طریق رمزگذاری تضمین می کند. هر یک از این دو پروتکل را می توان به طور مستقل و همزمان با دیگری استفاده کرد، به طوری که در مواردی که رمزگذاری به دلیل محدودیت های موجودقابل استفاده نیست، سیستم فقط می تواند با پروتکل AH عرضه شود. طبیعتاً محافظت از داده ها فقط با کمک پروتکل AH در بسیاری از موارد ناکافی خواهد بود، زیرا در این حالت طرف گیرنده فقط مطمئن می شود که داده ها توسط گره ای که از آن انتظار می رود ارسال شده و به شکلی که ارسال شده است رسیده است. پروتکل AH نمی تواند از مشاهده غیرمجاز در طول مسیر داده ها محافظت کند، زیرا آنها را رمزگذاری نمی کند. برای رمزگذاری داده ها، استفاده از پروتکل ESP ضروری است که می تواند یکپارچگی و صحت آنها را نیز بررسی کند.

    انجمن ایمن

    برای اینکه پروتکل های AH و ESP وظیفه حفاظت از داده های ارسالی را انجام دهند، پروتکل IKE یک ارتباط منطقی بین دو نقطه پایانی برقرار می کند که در استانداردهای IPSec به آن "Security Association" (Security Association, SA) می گویند. تأسیس SA با احراز هویت متقابل طرفین شروع می شود، زیرا در صورت ارسال یا دریافت داده ها توسط شخص اشتباه یا از شخص اشتباه، تمام اقدامات امنیتی معنای خود را از دست می دهند. پارامترهای SA که بعداً انتخاب می‌کنید تعیین می‌کنند که کدام یک از دو پروتکل، AH یا ESP، برای محافظت از داده‌ها استفاده می‌شود، پروتکل امنیتی چه عملکردهایی را انجام می‌دهد: به عنوان مثال، فقط تأیید اعتبار و بررسی یکپارچگی، یا علاوه بر این، همچنین محافظت در برابر بازتولید نادرست. یک پارامتر بسیار مهم یک ارتباط امن، مواد رمزنگاری نامیده می شود، یعنی کلیدهای مخفی که در عملکرد پروتکل های AH و ESP استفاده می شوند.

    سیستم IPSec همچنین یک روش دستی برای ایجاد یک ارتباط ایمن را امکان پذیر می‌کند، که در آن مدیر هر گره انتهایی را به گونه‌ای پیکربندی می‌کند که آنها پارامترهای ارتباط مذاکره شده، از جمله کلیدهای مخفی را حفظ کنند.

    پروتکل AH یا ESP از قبل در اتصال منطقی SA کار می کند، با کمک آن، حفاظت مورد نیاز از داده های ارسال شده با استفاده از پارامترهای انتخاب شده انجام می شود.

    پارامترهای ارتباط امن باید با هر دو نقطه پایانی کانال امن مطابقت داشته باشند. بنابراین، هنگام استفاده از روش ایجاد خودکار SA، پروتکل های IKE در حال اجرا هستند طرف های مختلفکانال، پارامترها را در طول فرآیند مذاکره انتخاب کنید، همانطور که دو مودم حداکثر نرخ ارز قابل قبول را برای هر دو طرف تعیین می کنند. برای هر وظیفه ای که توسط پروتکل های AH و ESP حل می شود، چندین طرح احراز هویت و رمزگذاری ارائه می شود - این باعث می شود IPSec یک ابزار بسیار انعطاف پذیر باشد. (توجه داشته باشید که انتخاب تابع خلاصه برای حل مشکل احراز هویت تأثیری بر انتخاب الگوریتم برای رمزگذاری داده ندارد.)

    برای اطمینان از سازگاری، نسخه استاندارد IPsec مجموعه "ابزار" اجباری خاصی را تعریف می کند: به ویژه، یکی از توابع رمزگذاری یک طرفه MD5 یا SHA-1 همیشه می تواند برای احراز هویت داده ها استفاده شود، و DES مطمئناً در میان الگوریتم های رمزگذاری است. در عین حال، تولیدکنندگان محصولاتی که شامل IPSec هستند، آزادند که پروتکل را با سایر الگوریتم‌های احراز هویت و رمزگذاری گسترش دهند، که با موفقیت انجام می‌دهند. به عنوان مثال، بسیاری از پیاده سازی های IPSec از الگوریتم رمزگذاری محبوب Triple DES و همچنین الگوریتم های نسبتاً جدید - Blowfish، Cast، CDMF، Idea، RC5 پشتیبانی می کنند.

    استانداردهای IPSec به دروازه‌ها اجازه می‌دهند که از یک SA برای انتقال ترافیک از تمام میزبان‌هایی که از طریق اینترنت در ارتباط هستند استفاده کنند، یا تعداد دلخواه SA را برای این منظور ایجاد کنند، به عنوان مثال، یک عدد برای هر اتصال TCP. یک SA یک اتصال منطقی یک طرفه (ساده) در IPSec است، بنابراین باید دو SA برای ارتباطات دو طرفه ایجاد شود.

    حالت های حمل و نقل و تونل

    پروتکل های AH و ESP می توانند داده ها را در دو حالت حمل و نقل و تونل محافظت کنند. در حالت انتقال، انتقال یک بسته IP از طریق شبکه با استفاده از هدر اصلی این بسته انجام می شود، در حالی که در حالت تونل، بسته اصلی در یک بسته IP جدید قرار می گیرد و انتقال داده از طریق شبکه بر اساس هدر بسته IP جدید انجام می شود. استفاده از یک یا حالت دیگر به الزامات حفاظت از داده ها و همچنین به نقشی که گره ای که کانال امن را خاتمه می دهد در شبکه ایفا می کند. بنابراین، یک گره می تواند یک میزبان (گره پایانی) یا یک دروازه (گره میانی) باشد. بر این اساس، سه الگوی پیاده سازی IPSec وجود دارد: میزبان به میزبان، دروازه به دروازه و میزبان به دروازه.

    در طرح اول، یک کانال امن، یا در این زمینه، همان چیزی، یک ارتباط امن، بین دو گره انتهایی شبکه برقرار می‌شود (شکل 2 را ببینید). پروتکل IPSec در این مورد روی گره انتهایی اجرا می شود و از داده هایی که به آن می رسد محافظت می کند. برای طرح میزبان به میزبان، حالت حمل و نقل بیشتر مورد استفاده قرار می گیرد، اگرچه حالت تونل نیز مجاز است.

    مطابق با طرح دوم، یک کانال امن بین دو گره میانی، به اصطلاح دروازه‌های امنیتی (Security Gateway، SG) ایجاد می‌شود که هر کدام پروتکل IPSec را اجرا می‌کنند (شکل 3 را ببینید). ارتباط ایمن می تواند بین هر دو گره انتهایی متصل به شبکه هایی که در پشت دروازه های امنیتی قرار دارند، رخ دهد. گره های پایانی برای پشتیبانی از IPSec و عبور ترافیک خود به صورت ناامن از اینترانت های سازمانی مورد اعتماد لازم نیستند. ترافیک هدایت شده به شبکه عمومی، از دروازه امنیتی عبور می کند، که با استفاده از IPSec، از طرف خودش محافظت می کند. دروازه‌ها فقط می‌توانند از حالت تونل استفاده کنند.